Stefan Reinauer stepan@suse.de writes:
Hi,
with the attached fix romcc is able to compile all of auto.c for the freebios2 amd64 targets. To keep all changes clean and visible, they're encapsulated in ifdefs.
Note: This fix alone does not make LinuxBIOS compile on AMD64 completely yet. GCC and ld need the -m32 in some places at least to compile everything.
The -m32 can easily be added in the compiler over rides so that is simple enough.
Is there any need in going 64bit for the LinuxBIOS C payload on Opteron? Since the kernel does long mode switching itself this should not be the case, but maybe there are different opinions.
There is not any need yet. But there are certainly advantages. So far keeping it 32bit has made things simpler. Ideally I'd like to be able to do either.
Next fail I saw after romcc passed auto.c was the following: /home/stepan/freebios2/src/superio/NSC/pc87360/superio.c:61: warning: `pnp_read_enable' defined but not used
/tmp/ccLriZXb.s: Assembler messages: /tmp/ccLriZXb.s:243: Error: Incorrect register `%rdx' used with `l' suffix /tmp/ccLriZXb.s:245: Error: Incorrect register `%rdx' used with `l' suffix make: *** [superio.o] Error 1
Hmm. This looks like an inline assembler problem.
Eric