Skip to content

Commit

Permalink
i#1569 AArch64: update ISA references throughout the docs
Browse files Browse the repository at this point in the history
Updates a number of references to which ISA's are supported.

Review-URL: https://codereview.appspot.com/317200043
  • Loading branch information
derekbruening committed Feb 3, 2017
1 parent 94727bc commit e25c65f
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 19 deletions.
6 changes: 3 additions & 3 deletions README
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2010-2016 Google, Inc. licensed under the terms of the BSD. All other rights reserved.
Copyright (c) 2010-2017 Google, Inc. licensed under the terms of the BSD. All other rights reserved.
Copyright (c) 2000-2010 VMware, Inc. licensed under the terms of the BSD. All other rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -36,11 +36,11 @@ exports an interface for building dynamic tools for a wide variety of uses:
program analysis and understanding, profiling, instrumentation,
optimization, translation, etc. Unlike many dynamic tool systems, DynamoRIO
is not limited to insertion of callouts/trampolines and allows arbitrary
modifications to application instructions via a powerful IA-32/AMD64
modifications to application instructions via a powerful IA-32/AMD64/ARM/AArch64
instruction manipulation library. DynamoRIO provides efficient,
transparent, and comprehensive manipulation of unmodified applications
running on stock operating systems (Windows, Linux, or Android) and commodity
IA-32, AMD64, and ARM hardware.
IA-32, AMD64, ARM, and AArch64 hardware.

The DynamoRIO home page:

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ exports an interface for building dynamic tools for a wide variety of uses:
program analysis and understanding, profiling, instrumentation,
optimization, translation, etc. Unlike many dynamic tool systems, DynamoRIO
is not limited to insertion of callouts/trampolines and allows arbitrary
modifications to application instructions via a powerful IA-32/AMD64/ARM
modifications to application instructions via a powerful IA-32/AMD64/ARM/AArch64
instruction manipulation library. DynamoRIO provides efficient,
transparent, and comprehensive manipulation of unmodified applications
running on stock operating systems (Windows, Linux, or Android) and commodity
IA-32, AMD64, and ARM hardware. Mac OSX support is in progress.
IA-32, AMD64, ARM, and AArch64 hardware. Mac OSX support is in progress.

## Existing DynamoRIO-based tools

Expand Down
9 changes: 5 additions & 4 deletions api/docs/bt.dox
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* **********************************************************
* Copyright (c) 2011-2016 Google, Inc. All rights reserved.
* Copyright (c) 2011-2017 Google, Inc. All rights reserved.
* Copyright (c) 2007-2009 VMware, Inc. All rights reserved.
* **********************************************************/

Expand Down Expand Up @@ -1035,7 +1035,7 @@ void instr_branch_set_prefix_target(instr_t *instr, bool val);
\endhtmlonly
\section sec_reg_stolen Register Stolen by DynamoRIO

On some architectures, e.g., ARM architecture, DynamoRIO steals a register for
On some architectures, e.g., ARM and AArch64, DynamoRIO steals a register for
holding the base of DynamoRIO's own TLS (Thread-Local Storage).
DynamoRIO guarantees the correctness of the application execution by saving
and restoring the stolen register's value before and after that register is used
Expand Down Expand Up @@ -1196,8 +1196,9 @@ query instr_is_predicated() when using API routines that do not take in
\endhtmlonly
\section sec_ldrex Exclusive Monitor Instrumentation Constraints

On ARM, a ldrex..strex pair of instructions has some constraints that make inserting
instrumentation in between the pair challenging. ARM hardware requires
On ARM and AArch64, a ldrex..strex pair of instructions has some
constraints that make inserting
instrumentation in between the pair challenging. ARM/AArch64 hardware requires
that an application minimize memory operations in between the ldrex and
strex and minimize the total number of instructions in between. Violating
this can result in failure to acquire the desired exclusive monitor, which
Expand Down
13 changes: 7 additions & 6 deletions api/docs/intro.dox
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,8 @@ analysis and understanding, profiling, instrumentation, optimization,
translation, etc. DynamoRIO provides efficient, transparent, and
comprehensive manipulation of an unmodified application running on a stock
operating system (Windows, Linux, or Android) and commodity IA-32, AMD64,
and ARM hardware. See \ref sec_limit_platforms for supported platforms.
ARM, and AArch64 hardware. See \ref sec_limit_platforms for details of
which platform combinations are fully supported.

This document describes the DynamoRIO system and the various API's that it
exports for building custom tools. It is divided into the following
Expand All @@ -102,7 +103,7 @@ sections:

\ifnot vmsafe
- \subpage page_standalone
<br>DynamoRIO can be used as a standalone library for IA-32/AMD64/ARM
<br>DynamoRIO can be used as a standalone library for IA-32/AMD64/ARM/AArch64
disassembly, decoding, encoding, and general instruction manipulation.
A separate static library is provided for this purpose.
\endif
Expand Down Expand Up @@ -916,7 +917,7 @@ DynamoRIO's API provides:
See dr_tools.h and dr_proc.h for specifics of each routine.

Another class of utilities provided by DynamoRIO are structures and
routines for decoding, encoding, and manipulating IA-32, AMD64, and ARM
routines for decoding, encoding, and manipulating IA-32, AMD64, ARM, and AArch64
instructions. These are described in \ref sec_IR.

\anchor subsec_forwards
Expand Down Expand Up @@ -1144,7 +1145,7 @@ DynamoRIO header files. The appropriate library must then be linked
with. The define choices are:

-# \p WINDOWS, \p LINUX, or (coming soon) \p MACOS
-# \p X86_32, \p X86_64, \p ARM_32, or (coming soon) \p ARM_64
-# \p X86_32, \p X86_64, \p ARM_32, or \p ARM_64

Currently we provide a private loader for both Windows and Linux.
With private loading, clients use a separate copy of each library
Expand Down Expand Up @@ -1974,9 +1975,9 @@ https://github.com/DynamoRIO/dynamorio/wiki/Debugging
***************************************************************************
***************************************************************************
\ifnot vmsafe
\page page_standalone IA-32/AMD64/ARM Disassembly Library
\page page_standalone IA-32/AMD64/ARM/AArch64 Disassembly Library

DynamoRIO can be used as a standalone library for IA-32/AMD64/ARM
DynamoRIO can be used as a standalone library for IA-32/AMD64/ARM/AArch64
disassembly, decoding, encoding, and general instruction manipulation,
independently of controlling a target application. When used in this way,
all aspects of DynamoRIO's API routines that apply to instrumentation or
Expand Down
8 changes: 4 additions & 4 deletions api/docs/release.dox
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,12 @@ The following are part of the DynamoRIO release distribution:
\endif

- Four different DynamoRIO libraries: debug and release for each of
32-bit and 64-bit (for ARM builds, currently only 32-bit is supported
and included).
32-bit and 64-bit (for ARM or AArch64 builds, only a single bitwidth
matching the ISA is provided).
The debug library enables assertion messages to more easily diagnose
API usage errors.
- Four different IA-32/AMD64/ARM decoding static libraries: debug and release
for each of 32-bit and 64-bit (only 32-bit for ARM).
- Four different IA-32/AMD64/ARM/AArch64 decoding static libraries: debug and release
for each of 32-bit and 64-bit (only 32-bit for ARM and 64-bit for AArch64).
The debug library enables assertion messages to more easily diagnose
API usage errors.
- A variety of DynamoRIO Extension libraries that augment the core
Expand Down

0 comments on commit e25c65f

Please sign in to comment.