VirtualBox

Changeset 33029 in vbox for trunk/src/VBox/Devices/EFI


Ignore:
Timestamp:
Oct 11, 2010 6:59:00 AM (14 years ago)
Author:
vboxsync
Message:

EFI: no DMA in emulation mode.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/Firmware2/VBoxPkg/VBoxIdeBusDxe/Ide.c

    r33027 r33029  
    344344          IdeRegsBaseAddr[IdePrimary].CommandBlockBaseAddr  = 0x1f0;
    345345          IdeRegsBaseAddr[IdePrimary].ControlBlockBaseAddr  = 0x3f6;
     346          IdeRegsBaseAddr[IdePrimary].BusMasterBaseAddr     =
     347          (UINT16)((PciData.Device.Bar[4] & 0x0000fff0));
    346348          break;
    347349       case 0x6:
    348350          IdeRegsBaseAddr[IdePrimary].CommandBlockBaseAddr  = 0x1e8;
    349351          IdeRegsBaseAddr[IdePrimary].ControlBlockBaseAddr  = 0x3e6;
     352          IdeRegsBaseAddr[IdePrimary].BusMasterBaseAddr     = 0;
    350353          break;
    351354        default:
    352355          ASSERT_EFI_ERROR((EFI_UNSUPPORTED));
    353356    }
    354     IdeRegsBaseAddr[IdePrimary].BusMasterBaseAddr     =
    355     (UINT16)((PciData.Device.Bar[4] & 0x0000fff0));
    356357  } else {
    357358    //
     
    371372          IdeRegsBaseAddr[IdePrimary].ControlBlockBaseAddr  =
    372373          (UINT16) ((PciData.Device.Bar[1] & 0x0000fffc) + 2);
     374          IdeRegsBaseAddr[IdePrimary].BusMasterBaseAddr     =
     375          (UINT16) ((PciData.Device.Bar[4] & 0x0000fff0));
    373376          break;
    374377       case 0x6:
    375378          IdeRegsBaseAddr[IdePrimary].CommandBlockBaseAddr  = 0x1e8;
    376379          IdeRegsBaseAddr[IdePrimary].ControlBlockBaseAddr  = 0x3e6;
     380          IdeRegsBaseAddr[IdePrimary].BusMasterBaseAddr     = 0;
    377381          break;
    378382        default:
    379383          ASSERT_EFI_ERROR((EFI_UNSUPPORTED));
    380384    }
    381     IdeRegsBaseAddr[IdePrimary].BusMasterBaseAddr     =
    382     (UINT16) ((PciData.Device.Bar[4] & 0x0000fff0));
    383385  }
    384386
     
    389391          IdeRegsBaseAddr[IdeSecondary].CommandBlockBaseAddr  = 0x170;
    390392          IdeRegsBaseAddr[IdeSecondary].ControlBlockBaseAddr  = 0x376;
     393          IdeRegsBaseAddr[IdeSecondary].BusMasterBaseAddr     =
     394          (UINT16) ((PciData.Device.Bar[4] & 0x0000fff0));
    391395          break;
    392396       case 0x6:
    393397          IdeRegsBaseAddr[IdeSecondary].CommandBlockBaseAddr  = 0x168;
    394398          IdeRegsBaseAddr[IdeSecondary].ControlBlockBaseAddr  = 0x366;
     399          IdeRegsBaseAddr[IdeSecondary].BusMasterBaseAddr     = 0;
    395400          break;
    396401        default:
    397402          ASSERT_EFI_ERROR((EFI_UNSUPPORTED));
    398403    }
    399     IdeRegsBaseAddr[IdeSecondary].BusMasterBaseAddr     =
    400     (UINT16) ((PciData.Device.Bar[4] & 0x0000fff0));
    401404  } else {
    402405    //
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