History log of /freebsd-10-stable/sys/arm/include/asm.h
Revision Date Author Comments
# 278652 12-Feb-2015 ian

MFC r276525, r276596:

Put in a workaround for bug 196407 (arm modules cause crashes & panics).
(Don't allow movw/movt insn in modules.)

Fix alignment directives in arm asm code after clang 3.5 import.


# 278648 12-Feb-2015 ian

MFC r276519:

Define a WFI macro that expands to the right form of wait-for-interrupt
depending on the architecture.


# 278635 12-Feb-2015 ian

MFC r276247, r276333, r276334, r276335, r276336, r276340, r276350:

Include acle-compat.h directly rather than getting it via sysreg.h.

Add new code to read and parse cpu identification data using the new CPUID
mechanism defined for armv7.

Add new TLB and cache maintainence functions for armv6 and armv7.

Eliminate an unused macro whose name clashes now with a function in the
new cpu-v6.h

Add cache maintenance functions which will be used by startup code to
initially set up the MMU.

Fix a "decl is not a prototype" error noticed by gcc (but not clang).

Update comments (r4 is not used anywhere), use non-profiling entry macros.

Add arm option ARM_NEW_PMAP, to allow us to begin adding the new pmap
code alongside the existing implementation

Add armv6 implementations of cache operations to avoid duplication


# 278631 12-Feb-2015 ian

MFC r272209, r272300, r276212, r276213:

Add machine/sysreg.h to simplify accessing the system control coprocessor
registers and use it in the ARMv7 CPU functions.

Add macros for asm barrier instructions with arch-specific implementations.

Define only the CP15 register operations that are valid for the architecture.


# 278629 12-Feb-2015 ian

MFC r276196, r276197, r276198, r276202, r276203, r276204:

Change the style of the DO_AST macro to match the others

Remove _PROF_PROLOGUE from the EENTRY() macros.

Stylish changes... put tabs where they need to be in macros, move lines
around so that related things are more grouped together, rewrite comments.

Fix the GLOBAL macro so it works (upper vs lowercase X), use it in _EENTRY.

Create 'L' variants of all the ENTRY macros for file-static/local symbols.


# 278613 12-Feb-2015 ian

MFC r271394, r271398:

Add more register values to armreg.h and remove CPU_CONTROL_32BP_ENABLE
from asm.h as they were already defined in armreg.h.

Unify interrupts bit definition and usage. While here remove PSR_C_bit.


# 275775 14-Dec-2014 andrew

MFC 275378:

Pull in the NetBSD global offset table handling code. Clang 3.5 creates
relocations the linker complains about.

Obtained from: NetBSD


# 275767 14-Dec-2014 andrew

Clean up our ARM assembly:

MFC 275256:

Switch to the ARM unified assembly language as the clang integrated as only
supports it. Binutils supports it when the ".syntax unified" directive
is set.

Sponsored by: ABT Systems Ltd

MFC 275264:

Update _ENTRY to use _EENTRY to reduce the common code.

MFC 275321:

Remove extra labels, ENTRY_NP already provides them.

Sponsored by: ABT Systems Ltd

MFC 275322:

Correctly a few incorrect uses of ENTRY/EENTRY and END/EEND

Sponsored by: ABT Systems Ltd

MFC 275416:

Fix the name of the coprocessor to include the "p" prefix, the clang
integrated assembler expects this.

Sponsored by: ABT Systems Ltd

MFC 275418:

Switch to unified syntax so these can be built with clang 3.5.

Sponsored by: ABT Systems Ltd

MFC 275519:

Add missing END macros to some of the xscale functions.

Sponsored by: ABT Systems Ltd

MFC 275520:

Use the unified syntax in a few more assembly files

Sponsored by: ABT Systems Ltd

MFC 275521:

Set the alignment to 4-bytes after a string as clang 3.5 can switch to
thumb mode if this is incorrect.

Sponsored by: ABT Systems Ltd

MFC 275522:

Place the literal pool after a RET otherwise clang 3.5 tries to put it too
far away from a ldr psuedo instruction. With this clang will place the
literal value here where it's close enough to be loaded.

Sponsored by: ABT Systems Ltd

MFC 275523:

Switch to an armv6k cpu, without this clang 3.5 complains "bx lr" is
unsupported as it needs a newer cpu.

Sponsored by: ABT Systems Ltd

MFC 275524:

Switch to a .cpu directive. These will work when clang 3.5 is imported
where the .arch directive is a nop.

Sponsored by: ABT Systems Ltd


# 271337 09-Sep-2014 ian

MFC r270882, r270930:

In ARM asm code, ensure that every ENTRY(foo) has a matching END(foo).
The EABI unwind info requires a .fnend for every .fnstart, and newer
binutils will complain about seeing two .fnstart in a row. This change
allows newer tools to compile our code.

Do not generate unwind info in asm functions if _STANDALONE is defined.
The .fnend op causes the assembler to emit RELOC references to unwind
support functions that don't exist in libstand.

Approved by: re(gjb)


# 269796 10-Aug-2014 ian

MFC r269390: Fix unwind info in hand-written asm (avoid nested functions).


# 278652 12-Feb-2015 ian

MFC r276525, r276596:

Put in a workaround for bug 196407 (arm modules cause crashes & panics).
(Don't allow movw/movt insn in modules.)

Fix alignment directives in arm asm code after clang 3.5 import.


# 278648 12-Feb-2015 ian

MFC r276519:

Define a WFI macro that expands to the right form of wait-for-interrupt
depending on the architecture.


# 278635 12-Feb-2015 ian

MFC r276247, r276333, r276334, r276335, r276336, r276340, r276350:

Include acle-compat.h directly rather than getting it via sysreg.h.

Add new code to read and parse cpu identification data using the new CPUID
mechanism defined for armv7.

Add new TLB and cache maintainence functions for armv6 and armv7.

Eliminate an unused macro whose name clashes now with a function in the
new cpu-v6.h

Add cache maintenance functions which will be used by startup code to
initially set up the MMU.

Fix a "decl is not a prototype" error noticed by gcc (but not clang).

Update comments (r4 is not used anywhere), use non-profiling entry macros.

Add arm option ARM_NEW_PMAP, to allow us to begin adding the new pmap
code alongside the existing implementation

Add armv6 implementations of cache operations to avoid duplication


# 278631 12-Feb-2015 ian

MFC r272209, r272300, r276212, r276213:

Add machine/sysreg.h to simplify accessing the system control coprocessor
registers and use it in the ARMv7 CPU functions.

Add macros for asm barrier instructions with arch-specific implementations.

Define only the CP15 register operations that are valid for the architecture.


# 278629 12-Feb-2015 ian

MFC r276196, r276197, r276198, r276202, r276203, r276204:

Change the style of the DO_AST macro to match the others

Remove _PROF_PROLOGUE from the EENTRY() macros.

Stylish changes... put tabs where they need to be in macros, move lines
around so that related things are more grouped together, rewrite comments.

Fix the GLOBAL macro so it works (upper vs lowercase X), use it in _EENTRY.

Create 'L' variants of all the ENTRY macros for file-static/local symbols.


# 278613 12-Feb-2015 ian

MFC r271394, r271398:

Add more register values to armreg.h and remove CPU_CONTROL_32BP_ENABLE
from asm.h as they were already defined in armreg.h.

Unify interrupts bit definition and usage. While here remove PSR_C_bit.


# 275775 14-Dec-2014 andrew

MFC 275378:

Pull in the NetBSD global offset table handling code. Clang 3.5 creates
relocations the linker complains about.

Obtained from: NetBSD


# 275767 14-Dec-2014 andrew

Clean up our ARM assembly:

MFC 275256:

Switch to the ARM unified assembly language as the clang integrated as only
supports it. Binutils supports it when the ".syntax unified" directive
is set.

Sponsored by: ABT Systems Ltd

MFC 275264:

Update _ENTRY to use _EENTRY to reduce the common code.

MFC 275321:

Remove extra labels, ENTRY_NP already provides them.

Sponsored by: ABT Systems Ltd

MFC 275322:

Correctly a few incorrect uses of ENTRY/EENTRY and END/EEND

Sponsored by: ABT Systems Ltd

MFC 275416:

Fix the name of the coprocessor to include the "p" prefix, the clang
integrated assembler expects this.

Sponsored by: ABT Systems Ltd

MFC 275418:

Switch to unified syntax so these can be built with clang 3.5.

Sponsored by: ABT Systems Ltd

MFC 275519:

Add missing END macros to some of the xscale functions.

Sponsored by: ABT Systems Ltd

MFC 275520:

Use the unified syntax in a few more assembly files

Sponsored by: ABT Systems Ltd

MFC 275521:

Set the alignment to 4-bytes after a string as clang 3.5 can switch to
thumb mode if this is incorrect.

Sponsored by: ABT Systems Ltd

MFC 275522:

Place the literal pool after a RET otherwise clang 3.5 tries to put it too
far away from a ldr psuedo instruction. With this clang will place the
literal value here where it's close enough to be loaded.

Sponsored by: ABT Systems Ltd

MFC 275523:

Switch to an armv6k cpu, without this clang 3.5 complains "bx lr" is
unsupported as it needs a newer cpu.

Sponsored by: ABT Systems Ltd

MFC 275524:

Switch to a .cpu directive. These will work when clang 3.5 is imported
where the .arch directive is a nop.

Sponsored by: ABT Systems Ltd


# 271337 09-Sep-2014 ian

MFC r270882, r270930:

In ARM asm code, ensure that every ENTRY(foo) has a matching END(foo).
The EABI unwind info requires a .fnend for every .fnstart, and newer
binutils will complain about seeing two .fnstart in a row. This change
allows newer tools to compile our code.

Do not generate unwind info in asm functions if _STANDALONE is defined.
The .fnend op causes the assembler to emit RELOC references to unwind
support functions that don't exist in libstand.

Approved by: re(gjb)


# 269796 10-Aug-2014 ian

MFC r269390: Fix unwind info in hand-written asm (avoid nested functions).