ron minnich wrote: > here's an interesting bug in > /home/rminnich/src/bios/coreboot-v3/util/x86emu/vm86.c > /* Dump zeros in the other segment registers */ > " mov %ax, %es \n" > " mov %ax, %fs \n" > " mov %ax, %gs \n" > " mov $0x40, %ax \n"<----------------------WHAT? > " mov %ax, %ds \n" > " mov %cx, %ax \n" > > Why did somebody move 0x40 to the ds? That's not even a valid gdt selector? > > Anybody know why this was done?
That is probably normal. These are real mode selectors (segment registers), and that code is calling a VGA ROM. 0x40:xx is the BDA. I think that is one of the expectations of a VGA ROM is that it is called with the BDA pointed to be ds. cx has the device/function of the card being called. Your generic case won't want that stuff (and it doesn't have it now) -- coreboot mailing list [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

