Ron? This one would benefit from your testing and acking as well. On 19.02.2008 22:38, Marc Jones wrote: > Carl-Daniel Hailfinger wrote: >> On 18.02.2008 23:55, Marc Jones wrote: >>> Carl-Daniel Hailfinger wrote: >>>> it seems that executing VSA requires vm86 to be useful. Since we >>>> unconditionally execute the VSA, we should unconditionally require >>>> vm86 >>>> support (PCI_OPTION_ROM_RUN_VM86) via Kconfig for Geode targets. Not >>>> doing so will either cause compile failures or runtime failures. >>>> >>>> Adding >>>> select PCI_OPTION_ROM_RUN_VM86 >>>> below >>>> config CPU_AMD_GEODELX >>>> did not work out for me. >>> Sorry I missed this. >>> >>> VSA requires the GDT that is in vm86.c. VSA loads similar to an >>> option ROM so the loader does go into VM86 mode. All the other stuff >>> like interrupt support and PCI BIOS isn't needed by VSA. I think >>> that the GDT at the top of vm86.c can be moved to a header file, >>> gdt.h or something like that. >> >> northbridge/amd/geodelx/vsmsetup.c uses >> util/x86emu/vm86.c:setup_realmode_idt() but it seems most/all of the >> setup there is not needed at all for VSA. Pulling in >> setup_realmode_idt pulls in the rest of vm86 through direct and >> indirect dependencies. >> >>> Care to make a patch? :) >> > > I am also leaning towards removing the IDT for VSA init. There is a > risk if either an exception happens or a software interrupt is used > you will get unexpected results. What probably happens is that you > jump off to something that will eventually cause a triple fault and > reboot. You may think this is bad (and it is) but it is the same risk > that coreboot runs today. If coreboot had a generic IDT to handle > exceptions, VSA init would use the same IDT. Note that hardware INT > (even timers) should never happen as they are always masked. > > I have built with no PCI_OPTION_ROM_RUN_VM86 and run this to filo.
Nice. The unrelated change in util/x86emu/pcbios/pcibios.c has already been committed in r612, but I really think we want this patch. Short description of which test we need: Compilation for alix1c with "Execute PCI Option ROMs" set to "Disabled". Boot into Linux and test whether everything works. Regards, Carl-Daniel -- http://www.hailfinger.org/ -- coreboot mailing list [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

