[Zion][Yellowstone] First pass at adding PCI ioport access.

This commit is contained in:
Drew Galbraith 2025-05-07 01:44:09 -07:00
parent f2c2cff98a
commit b677633248
16 changed files with 337 additions and 199 deletions

View file

@ -71,3 +71,14 @@ SYS1(SemaphoreWait, z_cap_t, semaphore_cap);
SYS1(SemaphoreSignal, z_cap_t, semaphore_cap);
SYS2(Debug, const char*, message, uint64_t, size);
// TODO: These should be handled with a more generic user-space interface.
// To be honest we could just have an inl and outl interface that is provided to
// yellowstone and the extra ipc load would be a good stress test of our
// performance
SYS6(PciRead, z_cap_t, pci_cap, uint8_t, bus, uint8_t, slot, uint8_t, func,
uint8_t, offset, uint32_t*, output);
SYS5(PciCreateBound, z_cap_t, pci_cap, uint8_t, bus, uint8_t, slot, uint8_t,
func, z_cap_t*, new_cap);
SYS3(PciReadBound, z_cap_t, pci_cap, uint8_t, offset, uint32_t*, data);
SYS3(PciWriteBound, z_cap_t, pci_cap, uint8_t, offset, uint32_t, data);