diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-06 19:50:35 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-06 19:50:35 -0500 |
commit | 3c0cb7c31c206aaedb967e44b98442bbeb17a6c4 (patch) | |
tree | 3ecba45d7ffae4fba4a5aafaef4af5b0b1105bde /Documentation | |
parent | f70f5b9dc74ca7d0a64c4ead3fb28da09dc1b234 (diff) | |
parent | 404a02cbd2ae8bf256a2fa1169bdfe86bb5ebb34 (diff) |
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (416 commits)
ARM: DMA: add support for DMA debugging
ARM: PL011: add DMA burst threshold support for ST variants
ARM: PL011: Add support for transmit DMA
ARM: PL011: Ensure IRQs are disabled in UART interrupt handler
ARM: PL011: Separate hardware FIFO size from TTY FIFO size
ARM: PL011: Allow better handling of vendor data
ARM: PL011: Ensure error flags are clear at startup
ARM: PL011: include revision number in boot-time port printk
ARM: vexpress: add sched_clock() for Versatile Express
ARM i.MX53: Make MX53 EVK bootable
ARM i.MX53: Some bug fix about MX53 MSL code
ARM: 6607/1: sa1100: Update platform device registration
ARM: 6606/1: sa1100: Fix platform device registration
ARM i.MX51: rename IPU irqs
ARM i.MX51: Add ipu clock support
ARM: imx/mx27_3ds: Add PMIC support
ARM: DMA: Replace page_to_dma()/dma_to_page() with pfn_to_dma()/dma_to_pfn()
mx51: fix usb clock support
MX51: Add support for usb host 2
arch/arm/plat-mxc/ehci.c: fix errors/typos
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/arm/00-INDEX | 2 | ||||
-rw-r--r-- | Documentation/arm/swp_emulation | 27 |
2 files changed, 29 insertions, 0 deletions
diff --git a/Documentation/arm/00-INDEX b/Documentation/arm/00-INDEX index ecf7d04bca26..91c24a1e8a9e 100644 --- a/Documentation/arm/00-INDEX +++ b/Documentation/arm/00-INDEX | |||
@@ -34,3 +34,5 @@ memory.txt | |||
34 | - description of the virtual memory layout | 34 | - description of the virtual memory layout |
35 | nwfpe/ | 35 | nwfpe/ |
36 | - NWFPE floating point emulator documentation | 36 | - NWFPE floating point emulator documentation |
37 | swp_emulation | ||
38 | - SWP/SWPB emulation handler/logging description | ||
diff --git a/Documentation/arm/swp_emulation b/Documentation/arm/swp_emulation new file mode 100644 index 000000000000..af903d22fd93 --- /dev/null +++ b/Documentation/arm/swp_emulation | |||
@@ -0,0 +1,27 @@ | |||
1 | Software emulation of deprecated SWP instruction (CONFIG_SWP_EMULATE) | ||
2 | --------------------------------------------------------------------- | ||
3 | |||
4 | ARMv6 architecture deprecates use of the SWP/SWPB instructions, and recommeds | ||
5 | moving to the load-locked/store-conditional instructions LDREX and STREX. | ||
6 | |||
7 | ARMv7 multiprocessing extensions introduce the ability to disable these | ||
8 | instructions, triggering an undefined instruction exception when executed. | ||
9 | Trapped instructions are emulated using an LDREX/STREX or LDREXB/STREXB | ||
10 | sequence. If a memory access fault (an abort) occurs, a segmentation fault is | ||
11 | signalled to the triggering process. | ||
12 | |||
13 | /proc/cpu/swp_emulation holds some statistics/information, including the PID of | ||
14 | the last process to trigger the emulation to be invocated. For example: | ||
15 | --- | ||
16 | Emulated SWP: 12 | ||
17 | Emulated SWPB: 0 | ||
18 | Aborted SWP{B}: 1 | ||
19 | Last process: 314 | ||
20 | --- | ||
21 | |||
22 | NOTE: when accessing uncached shared regions, LDREX/STREX rely on an external | ||
23 | transaction monitoring block called a global monitor to maintain update | ||
24 | atomicity. If your system does not implement a global monitor, this option can | ||
25 | cause programs that perform SWP operations to uncached memory to deadlock, as | ||
26 | the STREX operation will always fail. | ||
27 | |||