From 9ac69c9003de732de4ea308e0b17cd264ffec47e Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sat, 10 Jun 2023 09:19:58 -0400 Subject: [PATCH] Add Pci.write_config_register() --- src/hulk/pci.d | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/hulk/pci.d b/src/hulk/pci.d index f80a336..e3f6048 100644 --- a/src/hulk/pci.d +++ b/src/hulk/pci.d @@ -33,6 +33,13 @@ struct Pci return in32(IO_ADDR_CONFIG_DATA); } + private static void write_config_register(uint bus_id, uint device_idx, uint function_idx, uint register_id, uint value) + { + uint addr = 0x8000_0000u | (bus_id << 16u) | (device_idx << 11u) | (function_idx << 8u) | (register_id << 2u); + out32(IO_ADDR_CONFIG_ADDRESS, addr); + out32(IO_ADDR_CONFIG_DATA, value); + } + private static void init_device(ubyte class_id, ubyte subclass_id, ubyte if_id) { switch (class_id)