diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2008-12-10 20:40:13 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2008-12-10 20:40:13 -0500 |
commit | 18e38b2923565db003ff57fbd630a08d2557232f (patch) | |
tree | 421237e7506c932219e4ad1da5715999829444c8 /src/asm-offsets.c | |
parent | e682cbc293d0bc6b37a80a2dadb3415d08a395cf (diff) | |
download | seabios-hppa-18e38b2923565db003ff57fbd630a08d2557232f.zip seabios-hppa-18e38b2923565db003ff57fbd630a08d2557232f.tar.gz seabios-hppa-18e38b2923565db003ff57fbd630a08d2557232f.tar.bz2 |
Improve support for old 16bit resume handlers.
Detect a non-standard CMOS shutdown code during post and run a
separate resume handler.
Set aside space in the EBDA for the resume handler stack.
Add support for several of the code supported in bochs bios.
Diffstat (limited to 'src/asm-offsets.c')
-rw-r--r-- | src/asm-offsets.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/asm-offsets.c b/src/asm-offsets.c index 8f17c04..1e3a293 100644 --- a/src/asm-offsets.c +++ b/src/asm-offsets.c @@ -1,13 +1,15 @@ // Generate assembler offsets. -#include "gen-defs.h" -#include "bregs.h" +#include "gen-defs.h" // OFFSET +#include "bregs.h" // struct bregs +#include "biosvar.h" // struct bios_data_area_s /* workaround for a warning with -Wmissing-prototypes */ void foo(void) VISIBLE16; void foo(void) { + COMMENT("BREGS"); OFFSET(BREGS_es, bregs, es); OFFSET(BREGS_ds, bregs, ds); OFFSET(BREGS_eax, bregs, eax); @@ -18,4 +20,12 @@ void foo(void) OFFSET(BREGS_edi, bregs, edi); OFFSET(BREGS_flags, bregs, flags); OFFSET(BREGS_ip, bregs, ip); + + COMMENT("BDA"); + OFFSET(BDA_ebda_seg, bios_data_area_s, ebda_seg); + + COMMENT("EBDA"); + OFFSET(EBDA_resume_stack_top, extended_bios_data_area_s + , resume_stack[FIELD_SIZEOF(struct extended_bios_data_area_s + , resume_stack)]); } |