diff options
author | Michael Brown <mcb30@etherboot.org> | 2008-06-14 20:01:14 +0100 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2008-06-14 20:01:14 +0100 |
commit | 0d91c37ce56497f6aba1ecb07f25c6d71b355e09 (patch) | |
tree | 87788027542b6c1937e4be63b5c32e5d022e0f7e /src/include/compiler.h | |
parent | cd0e9bcd221e6d779e99e51998f34253642d13a8 (diff) | |
download | ipxe-0d91c37ce56497f6aba1ecb07f25c6d71b355e09.tar.gz |
[legacy] Align legacy drivers' __shared data to the maximum possible
Some drivers that still use the legacy-driver wrapper (tg3 in particular)
apparently do not specify their alignment constraints properly. This
hack forces any __shared data to be maximally aligned.
Note that this provides only 16-byte alignment; it is not possible to
request alignment to any greater than 16 bytes using
__attribute__((aligned)), since the relocation code will preserve only 16
byte alignment (and operation under -DKEEP_IT_REAL cannot preserve more
that 16 byte alignment).
Idea proposed by Tim Hockin <thockin@google.com>
Diffstat (limited to 'src/include/compiler.h')
-rw-r--r-- | src/include/compiler.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/include/compiler.h b/src/include/compiler.h index 1d4312a61..8ab7b8ae3 100644 --- a/src/include/compiler.h +++ b/src/include/compiler.h @@ -345,7 +345,7 @@ extern void dbg_hex_dump_da ( unsigned long dispaddr, * @endcode * */ -#define __shared __asm__ ( "_shared_bss" ) +#define __shared __asm__ ( "_shared_bss" ) __aligned /** * Optimisation barrier |