On 10.01.2008 03:00, Carl-Daniel Hailfinger wrote: > On 10.01.2008 01:45, Marc Jones wrote: > >> Carl-Daniel Hailfinger wrote: >> >>> On 08.01.2008 23:00, ron minnich wrote: >>> >>>> Actually, if you all want to commit this, I can try it on the sis >>>> board this week. >>>> >>> Well, i'd like to commit, but I'll wait until you (or someone else) have >>> tested it. >>> >> We checked this on K8 with DCACHE_RAM_SIZE=0x08000 and it works as >> expected. >> > > Thanks, great! > > There's one issue with specific binutils versions, though. The following > sequence trips up a specific gas version with an error message: "Error: > too many positional arguments" > > I'd like to blacklist the specific binutils version causing this and > report the bug to the linux distributor. > Jordan, could you give us more details (exact binutils version, name of > distribution, are all updates applied)? >
Or try this patch on top of my current patch: --- 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 It is a workaound for http://sourceware.org/bugzilla/show_bug.cgi?id=669 . As an alternative, we may simply blacklist the affected binutils versions. Regards, Carl-Daniel -- linuxbios mailing list linuxbios@linuxbios.org http://www.linuxbios.org/mailman/listinfo/linuxbios