VirtualBox

Changeset 104068 in vbox for trunk


Ignore:
Timestamp:
Mar 26, 2024 4:38:31 PM (10 months ago)
Author:
vboxsync
Message:

BIOS: Build real VDS S/G lists in AHCI driver, don't just fake it.

File:
1 edited

Legend:

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

    r98103 r104068  
    4141
    4242/* Number of S/G table entries in EDDS. */
    43 #define NUM_EDDS_SG         16
     43#define NUM_EDDS_SG         17
    4444
    4545
     
    352352    uint16_t        sectsz = bios_dsk->drqp.sect_sz;
    353353    fis_d2h __far   *d2h;
     354    int             i;
    354355
    355356    _fmemset(&ahci->abCmd[0], 0, sizeof(ahci->abCmd));
     
    380381
    381382    /* Set up the PRDT. */
    382     ahci->aPrdt[ahci->cur_prd].len       = ahci->edds.u.sg[0].size - 1;
    383     ahci->aPrdt[ahci->cur_prd].phys_addr = ahci->edds.u.sg[0].phys_addr;
    384     ++ahci->cur_prd;
     383    for (i = 0; i < ahci->edds.num_used; ++i)
     384    {
     385        ahci->aPrdt[ahci->cur_prd].len       = ahci->edds.u.sg[i].size - 1;
     386        ahci->aPrdt[ahci->cur_prd].phys_addr = ahci->edds.u.sg[i].phys_addr;
     387        ++ahci->cur_prd;
     388    }
    385389
    386390#if DEBUG_AHCI
     
    622626
    623627    return ahci->aCmdHdr[1] == 0 ? 4 : 0;
    624 }
    625 
    626 /* Wait for the specified number of BIOS timer ticks or data bytes. */
    627 void wait_ticks_device_init( unsigned wait_ticks, unsigned wait_bytes )
    628 {
    629628}
    630629
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