On Wed, Oct 15, 2008 at 5:44 PM, Carl-Daniel Hailfinger < [EMAIL PROTECTED]> wrote:
> On 16.10.2008 01:13, Peter Stuge wrote: > > ron minnich wrote: > > > >> Myles, try setting -mregparm=0 and see if life is better. > >> > > > > Good find. > > > > __attribute__((stdcall)) will do this for you. It doesn't work for me. I tried it in various places, but it doesn't change the way the parameters are handled. void __attribute__ ((stdcall)) callbiosint(void) __attribute__ ((stdcall)) void callbiosint(void) void callbiosint(void) __attribute__ ((stdcall)) biosint: INT# 0x18 biosint: eax 0x2e ebx 0x10000 ecx 0xfe4 edx 0xcf11c biosint: ebp 0xc0000000 esp 0xd0000 edi 0x1a esi 0x0 biosint: ip 0x1022 cs 0xf flags 0x2067 BIOSINT: Unsupport int #0x18 Thanks, Myles > > Changing compilation mode makes code to -mregparm=0 makes the code > bigger and slower and it will also possibly consume more stack which we > don't have in MP setups. > > > >> I vote we get rid of this type of Cleverness. It's just not > >> performance critical in a bios. We're not an OS and we should keep > >> it simple. I don't think we'll live or die on 3 on-stack variables. > >> > > > > If it isn't more relevant because of CAR then away it goes. > > > > See above. > > Regards, > Carl-Daniel > > -- > http://www.hailfinger.org/ > > > -- > coreboot mailing list: coreboot@coreboot.org > http://www.coreboot.org/mailman/listinfo/coreboot >
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot