X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fbregs.h;h=577effc0e5b76b2164cada64091dcac02aa0d2fe;hb=refs%2Fheads%2Fcoreboot;hp=e420bbe482c117dad77d80732ec0388dfb7f5b1d;hpb=b1b7c2a1c3b940b787fdb5da67fc37003e9d7b0e;p=seabios.git diff --git a/src/bregs.h b/src/bregs.h index e420bbe..577effc 100644 --- a/src/bregs.h +++ b/src/bregs.h @@ -11,6 +11,7 @@ #define F_CF (1<<0) #define F_ZF (1<<6) #define F_IF (1<<9) +#define F_ID (1<<21) // CR0 flags #define CR0_PG (1<<31) // Paging @@ -21,6 +22,8 @@ #ifndef __ASSEMBLY__ +#include "farptr.h" // struct segoff_s + /**************************************************************** * Registers saved/restored in romlayout.S ****************************************************************/ @@ -35,14 +38,14 @@ struct bregs { u16 ds; u16 es; - UREG(edi, di, di_hi, di_lo); - UREG(esi, si, si_hi, si_lo); + UREG(edi, di, di8u, di8l); + UREG(esi, si, si8u, si8l); + UREG(ebp, bp, bp8u, bp8l); UREG(ebx, bx, bh, bl); UREG(edx, dx, dh, dl); UREG(ecx, cx, ch, cl); UREG(eax, ax, ah, al); - u16 ip; - u16 cs; + struct segoff_s code; u16 flags; } PACKED; @@ -77,27 +80,18 @@ set_code_success(struct bregs *regs) } static inline void -set_fail_silent(struct bregs *regs) +set_invalid_silent(struct bregs *regs) { set_cf(regs, 1); } static inline void -set_code_fail_silent(struct bregs *regs, u8 code) +set_code_invalid_silent(struct bregs *regs, u8 code) { regs->ah = code; set_cf(regs, 1); } -#define set_fail(regs) \ - __set_fail((regs), __LINE__, __func__) -#define set_code_fail(regs, code) \ - __set_code_fail((regs), (code) | (__LINE__ << 8), __func__) - -// output.c -void __set_fail(struct bregs *regs, int lineno, const char *fname); -void __set_code_fail(struct bregs *regs, u32 linecode, const char *fname); - #endif // !__ASSEMBLY__ #endif // bregs.h