Working AHCI DMA IPC from yellowstone to denali.

We have a weird bug in context switching where a process's rsp0 ends up
pointing at the wrong value sometimes which crashes the OS.
This commit is contained in:
Drew Galbraith 2023-06-16 01:31:23 -07:00
parent ccfe1b15ab
commit e5da93757a
11 changed files with 171 additions and 84 deletions

View file

@ -12,7 +12,7 @@ class AhciDriver {
void InterruptLoop();
z_err_t GetDevice(uint64_t id, AhciDevice& device);
z_err_t GetDevice(uint64_t id, AhciDevice** device);
void DumpCapabilities();
void DumpPorts();
@ -24,7 +24,7 @@ class AhciDriver {
AhciHba* ahci_hba_ = nullptr;
// TODO: Allocate these dynamically.
AhciDevice devices_[32];
AhciDevice* devices_[32];
Thread irq_thread_;
uint64_t irq_port_cap_ = 0;