summaryrefslogtreecommitdiff
path: root/src/soc/amd
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/amd')
-rw-r--r--src/soc/amd/genoa/domain.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/soc/amd/genoa/domain.c b/src/soc/amd/genoa/domain.c
index 99d7edc76b..1a6115fcf2 100644
--- a/src/soc/amd/genoa/domain.c
+++ b/src/soc/amd/genoa/domain.c
@@ -48,8 +48,18 @@ static void genoa_domain_set_resources(struct device *domain)
}
}
+static void genoa_domain_init(struct device *domain)
+{
+ struct resource *res = probe_resource(domain, IOMMU_IOAPIC_IDX);
+ if (!res)
+ return;
+
+ register_new_ioapic((void *)(uintptr_t)res->base);
+}
+
struct device_operations genoa_pci_domain_ops = {
.read_resources = genoa_domain_read_resources,
.set_resources = genoa_domain_set_resources,
.scan_bus = amd_pci_domain_scan_bus,
+ .init = genoa_domain_init,
};