[coreboot] alix1c and v3

Tom Sylla tsylla at gmail.com
Tue Jan 29 08:17:58 CET 2008

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)

More information about the coreboot mailing list