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/biosvar.h | |
parent | e682cbc293d0bc6b37a80a2dadb3415d08a395cf (diff) | |
download | seabios-18e38b2923565db003ff57fbd630a08d2557232f.tar.gz |
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/biosvar.h')
-rw-r--r-- | src/biosvar.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/biosvar.h b/src/biosvar.h index 4571d5d2..646bd511 100644 --- a/src/biosvar.h +++ b/src/biosvar.h @@ -60,7 +60,8 @@ struct bios_data_area_s { u16 crtc_address; u8 video_msr; u8 video_pal; - u32 jump_cs_ip; + u16 jump_ip; + u16 jump_cs; u8 other_6b; u32 timer_counter; // 40:70 @@ -272,6 +273,7 @@ struct extended_bios_data_area_s { // 0x5d u8 other2[0xC4]; + // 0x121 - Begin custom storage. u8 ps2ctr; // Physical memory available. @@ -280,13 +282,16 @@ struct extended_bios_data_area_s { struct pir_header *pir_loc; // ATA Driver data - struct ata_s ata; + struct ata_s ata; // El Torito Emulation data struct cdemu_s cdemu; // Initial program load struct ipl_s ipl; + + // Resume stack + u8 resume_stack[128] __aligned(8); } PACKED; #define EBDA_SIZE DIV_ROUND_UP(sizeof(struct extended_bios_data_area_s), 1024) |