Verify ebda segment looks sane before using during resume.
[seabios.git] / src / post.c
index f961cd8b4603fcb2b30df44ce742c889674bab32..97fe6accf2dfca0d7e1dd5bb6f5147a951c301dc 100644 (file)
@@ -49,8 +49,8 @@ init_ivt()
     // Initialize software handlers.
     set_irq(0x02, entry_02);
     set_irq(0x10, entry_10);
-    set_irq(0x11, entry_11_official);
-    set_irq(0x12, entry_12_official);
+    set_irq(0x11, entry_11);
+    set_irq(0x12, entry_12);
     set_irq(0x13, entry_13_official);
     set_irq(0x14, entry_14);
     set_irq(0x15, entry_15);
@@ -76,9 +76,9 @@ init_bda()
     struct bios_data_area_s *bda = MAKE_FLATPTR(SEG_BDA, 0);
     memset(bda, 0, sizeof(*bda));
 
-    int esize = DIV_ROUND_UP(sizeof(struct extended_bios_data_area_s), 1024);
+    int esize = EBDA_SIZE_START;
     SET_BDA(mem_size_kb, 640 - esize);
-    u16 eseg = FLATPTR_TO_SEG((640 - esize) * 1024);
+    u16 eseg = EBDA_SEGMENT_START;
     SET_BDA(ebda_seg, eseg);
 
     struct extended_bios_data_area_s *ebda = get_ebda_ptr();