From 9db7dd0099953336b46bf15f08215da47ad1ae99 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Tue, 10 Nov 2020 15:43:10 +0100 Subject: [PATCH] Patch the x86 platform driver to assign devices by index --- packages/genodelabs/platform_drv.patch | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 packages/genodelabs/platform_drv.patch diff --git a/packages/genodelabs/platform_drv.patch b/packages/genodelabs/platform_drv.patch new file mode 100644 index 0000000..e4b7719 --- /dev/null +++ b/packages/genodelabs/platform_drv.patch @@ -0,0 +1,28 @@ +From c5de002f7d021af594c6b527e61d40a2d6357e66 Mon Sep 17 00:00:00 2001 +From: Emery Hemingway +Date: Tue, 10 Nov 2020 12:51:12 +0100 +Subject: [PATCH] drivers/platform/x86: move PCI capabilities to PCI report + sub-nodes + +--- + .../os/src/drivers/platform/spec/x86/pci_session_component.h | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/repos/os/src/drivers/platform/spec/x86/pci_session_component.h b/repos/os/src/drivers/platform/spec/x86/pci_session_component.h +index a7439a224d..2093aef9f2 100644 +--- a/repos/os/src/drivers/platform/spec/x86/pci_session_component.h ++++ b/repos/os/src/drivers/platform/spec/x86/pci_session_component.h +@@ -1110,7 +1110,9 @@ class Platform::Root : public Genode::Root_component + + for (Genode::uint16_t val = 0; cap; cap = val >> 8) { + val = config.read(config_access, cap, Platform::Device::ACCESS_16BIT); +- xml.attribute("cap", String<8>(Hex(val & 0xff))); ++ xml.node("cap", [&] () { ++ xml.attribute("value", String<8>(Hex(val & 0xff))); ++ }); + } + } catch (...) { + xml.attribute("cap", "failed to read"); +-- +2.28.0 +