Changeset 59354 in vbox
- Timestamp:
- Jan 14, 2016 10:16:15 PM (9 years ago)
- Location:
- trunk/src/VBox/Devices/PC/BIOS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/notes.txt
r49286 r59354 80 80 executed on 386+ processors. 81 81 82 - Windows NT 3.5 and 3.51 with MPS HAL requires that INT 15h/E820h return the 83 I/O APIC range as reserved, or not return any ranges at all just below 4GB. 84 Otherwise the NT kernel will crash early during init due to confusion about 85 the top of memory. 86 82 87 83 88 Notes on BIOS implementation -
trunk/src/VBox/Devices/PC/BIOS/system.c
r56292 r59354 715 715 break; 716 716 case 5: 717 set_e820_range(ES, DI, 718 0xfec00000, 719 0xfec00000 + 0x1000, 0, 0, 2); // I/O APIC 720 EBX = 6; 721 break; 722 case 6: 723 set_e820_range(ES, DI, 724 0xfee00000, 725 0xfee00000 + 0x1000, 0, 0, 2); // Local APIC 726 EBX = 7; 727 break; 728 case 7: 717 729 /* 256KB BIOS area at the end of 4 GB */ 718 730 #ifdef VBOX … … 723 735 0xfffc0000L, 0x00000000L, 0, 0, 2); 724 736 if (mcfgStart != 0) 725 EBX = 6;737 EBX = 8; 726 738 else 727 739 { 728 740 if (extra_highbits_memory_size || extra_lowbits_memory_size) 729 EBX = 7;741 EBX = 9; 730 742 else 731 743 EBX = 0; 732 744 } 733 745 break; 734 case 6:746 case 8: 735 747 /* PCI MMIO config space (MCFG) */ 736 748 set_e820_range(ES, DI, … … 738 750 739 751 if (extra_highbits_memory_size || extra_lowbits_memory_size) 740 EBX = 7;752 EBX = 9; 741 753 else 742 754 EBX = 0; 743 755 break; 744 case 7:756 case 9: 745 757 #ifdef VBOX /* Don't succeeded if no memory above 4 GB. */ 746 758 /* Mapping of memory above 4 GB if present.
Note:
See TracChangeset
for help on using the changeset viewer.

