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

Reply via email to