I don't see where ax gets set to 0. Does the comment need to be updated, or
do you want all the segments set to ax?
+ /* initialize registers for option rom lcall */
+ movl __registers + 0, %eax
+ movl __registers + 4, %ebx
+ movl __registers + 8, %ecx
+ movl __registers + 12, %edx
+ movl __registers + 16, %esi
+ movl __registers + 20, %edi
+
/* Set all segments to 0x0000, ds to 0x0040 */
+ push %ax
mov %ax, %es
mov %ax, %fs
mov %ax, %gs
mov $0x40, %ax
mov %ax, %ds
+ pop %ax
Maybe you want a
mov $0, %ax
right after the push %ax?
Thanks,
Myles
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot