VirtualBox

Changeset 69033 in vbox for trunk/src/VBox/Devices/PC


Ignore:
Timestamp:
Oct 11, 2017 8:33:43 AM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
118310
Message:

BIOS: Put logical SPT into the FDPT properly; simplified conditional.

File:
1 edited

Legend:

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

    r69025 r69033  
    533533                void __far * __far  *int_vec;
    534534
    535                 if (device == 0) {
     535                if (device == 0)
    536536                    fdpt = ebda_seg :> &EbdaData->fdpt0;
    537                     int_vec = MK_FP(0, 0x41 * sizeof(void __far *));
    538                 }
    539                 else {
     537                else
    540538                    fdpt = ebda_seg :> &EbdaData->fdpt1;
    541                     int_vec = MK_FP(0, 0x46 * sizeof(void __far *));
    542                 }
     539
    543540                /* Set the INT 41h or 46h pointer. */
     541                int_vec  = MK_FP(0, (0x41 + device * 5) * sizeof(void __far *));
    544542                *int_vec = fdpt;
    545543
     
    554552                fdpt->cyl   = cylinders;
    555553                fdpt->head  = heads;
    556                 fdpt->lspt  = spt;
     554                fdpt->lspt  = lgeo.spt;
    557555                sum = 0;
    558556                for (i = 0; i < 0xf; i++)
Note: See TracChangeset for help on using the changeset viewer.

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