[denali] Get Ahci device address from yellowstone.
This commit is contained in:
parent
02e6b49d90
commit
16dd675828
11 changed files with 125 additions and 52 deletions
|
|
@ -8,7 +8,6 @@
|
|||
|
||||
namespace {
|
||||
|
||||
const uint64_t kSataPciPhys = 0xB00FA000;
|
||||
const uint64_t kPciSize = 0x1000;
|
||||
|
||||
const uint64_t kGhc_InteruptEnable = 0x2;
|
||||
|
|
@ -155,7 +154,7 @@ void AhciDriver::InterruptLoop() {
|
|||
}
|
||||
|
||||
glcr::ErrorCode AhciDriver::LoadPciDeviceHeader() {
|
||||
pci_region_ = MappedMemoryRegion::DirectPhysical(kSataPciPhys, kPciSize);
|
||||
pci_region_ = MappedMemoryRegion::DirectPhysical(ahci_phys_, kPciSize);
|
||||
pci_device_header_ = reinterpret_cast<PciDeviceHeader*>(pci_region_.vaddr());
|
||||
return glcr::OK;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
class AhciDriver {
|
||||
public:
|
||||
AhciDriver(uint64_t ahci_phys) : ahci_phys_(ahci_phys) {}
|
||||
glcr::ErrorCode Init();
|
||||
|
||||
void InterruptLoop();
|
||||
|
|
@ -19,6 +20,7 @@ class AhciDriver {
|
|||
void DumpPorts();
|
||||
|
||||
private:
|
||||
uint64_t ahci_phys_;
|
||||
MappedMemoryRegion pci_region_;
|
||||
PciDeviceHeader* pci_device_header_ = nullptr;
|
||||
MappedMemoryRegion ahci_region_;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue