stn := @use("rel:../../stn/src/lib.hb"); .{string, memory, buffer} := stn PCIAddress := struct { bus: u8, device: u8, function: u8, } find_device := fn(vendor_id: int, device_id: int, pci_address: PCIAddress): int { return 1 } scan_bus := fn(): void { } config_read32 := fn(bus: u32, device: u32, func: u32, offset: u32): u32 { // construct address param offset_and := offset & 0xFC address := bus << 16 address |= device << 11 address |= func << 8 address |= offset_and address |= 0x80000000 // write address memory.outl(0xCF8, address) // read data return memory.inl(0xCFC) }