VirtualBox

Changeset 81941 in vbox


Ignore:
Timestamp:
Nov 18, 2019 1:37:44 PM (5 years ago)
Author:
vboxsync
Message:

BIOS: Removed obsolete code, moved a break statement to match comment (should not really matter).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/BIOS/system.c

    r76553 r81941  
    652652                }
    653653
    654 #ifdef VBOX     /* We've already used the CMOS entries for SATA.
    655                    BTW. This is the amount of memory above 4GB measured in 64KB units. */
     654                /* This is the amount of memory above 4GB measured in 64KB units. */
    656655                extra_lowbits_memory_size = inb_cmos(0x62);
    657656                extra_lowbits_memory_size <<= 8;
     
    660659                extra_highbits_memory_size = inb_cmos(0x63);
    661660                /* 0x64 and 0x65 can be used if we need to dig 1 TB or more at a later point. */
    662 #else
    663                 extra_lowbits_memory_size = inb_cmos(0x5c);
    664                 extra_lowbits_memory_size <<= 8;
    665                 extra_lowbits_memory_size |= inb_cmos(0x5b);
    666                 extra_lowbits_memory_size *= 64;
    667                 extra_lowbits_memory_size *= 1024;
    668                 extra_highbits_memory_size = inb_cmos(0x5d);
    669 #endif /* !VBOX */
    670661
    671662                mcfgStart = 0;
     
    676667                    case 0:
    677668                        set_e820_range(ES, DI,
    678 #ifndef VBOX /** @todo Upstream suggests the following, needs checking. (see next as well) */
    679                                        0x0000000L, 0x0009f000L, 0, 0, 1);
    680 #else
    681669                                       0x0000000L, 0x0009fc00L, 0, 0, 1);
    682 #endif
    683670                        EBX = 1;
    684671                        break;
    685672                    case 1:
    686673                        set_e820_range(ES, DI,
    687 #ifndef VBOX /** @todo Upstream suggests the following, needs checking. (see next as well) */
    688                                        0x0009f000L, 0x000a0000L, 0, 0, 2);
    689 #else
    690674                                       0x0009fc00L, 0x000a0000L, 0, 0, 2);
    691 #endif
    692675                        EBX = 2;
    693676                        break;
    694677                    case 2:
    695 #ifdef VBOX
    696678                        /* Mark the BIOS as reserved. VBox doesn't currently
    697679                         * use the 0xe0000-0xeffff area. It does use the
     
    707689                        set_e820_range(ES, DI,
    708690                                       0x000f0000L, 0x00100000L, 0, 0, 2);
    709 #else /* !VBOX */
    710                         set_e820_range(ES, DI,
    711                                        0x000e8000L, 0x00100000L, 0, 0, 2);
    712 #endif /* !VBOX */
    713691                        EBX = 3;
    714692                        break;
    715693                    case 3:
    716 #if BX_ROMBIOS32 || defined(VBOX)
    717694                        set_e820_range(ES, DI,
    718695                                       0x00100000L,
    719696                                       extended_memory_size - ACPI_DATA_SIZE, 0, 0, 1);
    720697                        EBX = 4;
    721 #else
    722                         set_e820_range(ES, DI,
    723                                        0x00100000L,
    724                                        extended_memory_size, 1);
    725                         EBX = 5;
    726 #endif
    727698                        break;
    728699                    case 4:
     
    746717                    case 7:
    747718                        /* 256KB BIOS area at the end of 4 GB */
    748 #ifdef VBOX
    749719                        /* We don't set the end to 1GB here and rely on the 32-bit
    750720                           unsigned wrap around effect (0-0xfffc0000L). */
    751 #endif
    752721                        set_e820_range(ES, DI,
    753722                                       0xfffc0000L, 0x00000000L, 0, 0, 2);
     
    773742                        break;
    774743                    case 9:
    775 #ifdef VBOX /* Don't succeeded if no memory above 4 GB.  */
    776744                        /* Mapping of memory above 4 GB if present.
    777745                           Note1: set_e820_range needs do no borrowing in the
     
    785753                                           1 /*x4GB*/, extra_highbits_memory_size + 1 /*x4GB*/, 1);
    786754                            EBX = 0;
     755                            break;
    787756                        }
    788                         break;
    789757                        /* fall thru */
    790 #else  /* !VBOX */
    791                         /* Mapping of memory above 4 GB */
    792                         set_e820_range(ES, DI, 0x00000000L,
    793                         extra_lowbits_memory_size, 1, extra_highbits_memory_size
    794                                        + 1, 1);
    795                         EBX = 0;
    796                         break;
    797 #endif /* !VBOX */
    798758                    default:  /* AX=E820, DX=534D4150, BX unrecognized */
    799759                        goto int15_unimplemented;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette