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

Reply via email to