[LinuxBIOS] [PATCH] v2: rewrite AMD K* CAR code
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Thu Jan 10 18:57:56 CET 2008
On 10.01.2008 03:26, Carl-Daniel Hailfinger wrote:
> --- src/cpu/amd/car/cache_as_ram.inc~ 2008-01-08 20:16:30.000000000 +0100
> +++ src/cpu/amd/car/cache_as_ram.inc 2008-01-10 03:24:09.000000000 +0100
> @@ -160,8 +160,15 @@
> * windowoffset is the 32k-aligned window into CAR size
> */
> .macro simplemask carsize, windowoffset
> + .set gas_bug_workaround,(((\carsize - \windowoffset) / 0x1000) - 4)
> + extractmask gas_bug_workaround, %eax
> + .set gas_bug_workaround,(((\carsize - \windowoffset) / 0x1000))
> + extractmask gas_bug_workaround, %edx
> +/* Without the gas bug workaround, the entire macro would consist only of the
> + * two lines below.
> extractmask (((\carsize - \windowoffset) / 0x1000) - 4), %eax
> extractmask (((\carsize - \windowoffset) / 0x1000)), %edx
> + */
> .endm
>
> #if CacheSize > 0x10000
>
>
>
Add a workaround for a bug in some binutils version which strictly
interpret whitespace as macro argument delimiter. Since the code is
preprocessed by gcc and the tokenizer may insert whitespace, that can
fail. http://sourceware.org/bugzilla/show_bug.cgi?id=669
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
Regards,
Carl-Daniel
More information about the coreboot
mailing list