summaryrefslogtreecommitdiff
path: root/sys/amd64
diff options
context:
space:
mode:
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/legacy.c5
-rw-r--r--sys/amd64/include/legacyvar.h2
-rw-r--r--sys/amd64/pci/pci_bus.c5
3 files changed, 12 insertions, 0 deletions
diff --git a/sys/amd64/amd64/legacy.c b/sys/amd64/amd64/legacy.c
index 2247c9b4f010..f719611cfef2 100644
--- a/sys/amd64/amd64/legacy.c
+++ b/sys/amd64/amd64/legacy.c
@@ -207,6 +207,9 @@ legacy_read_ivar(device_t dev, device_t child, int which, uintptr_t *result)
struct legacy_device *atdev = DEVTOAT(child);
switch (which) {
+ case LEGACY_IVAR_PCIDOMAIN:
+ *result = 0;
+ break;
case LEGACY_IVAR_PCIBUS:
*result = atdev->lg_pcibus;
break;
@@ -223,6 +226,8 @@ legacy_write_ivar(device_t dev, device_t child, int which, uintptr_t value)
struct legacy_device *atdev = DEVTOAT(child);
switch (which) {
+ case LEGACY_IVAR_PCIDOMAIN:
+ return EINVAL;
case LEGACY_IVAR_PCIBUS:
atdev->lg_pcibus = value;
break;
diff --git a/sys/amd64/include/legacyvar.h b/sys/amd64/include/legacyvar.h
index 91f784f1f143..5ab7b3567238 100644
--- a/sys/amd64/include/legacyvar.h
+++ b/sys/amd64/include/legacyvar.h
@@ -30,12 +30,14 @@
#define _MACHINE_LEGACYVAR_H_
enum legacy_device_ivars {
+ LEGACY_IVAR_PCIDOMAIN,
LEGACY_IVAR_PCIBUS
};
#define LEGACY_ACCESSOR(var, ivar, type) \
__BUS_ACCESSOR(legacy, var, LEGACY, ivar, type)
+LEGACY_ACCESSOR(pcidomain, PCIDOMAIN, uint32_t)
LEGACY_ACCESSOR(pcibus, PCIBUS, uint32_t)
#undef LEGACY_ACCESSOR
diff --git a/sys/amd64/pci/pci_bus.c b/sys/amd64/pci/pci_bus.c
index d07c18dc6aa8..4a514f4ddfad 100644
--- a/sys/amd64/pci/pci_bus.c
+++ b/sys/amd64/pci/pci_bus.c
@@ -276,6 +276,9 @@ legacy_pcib_read_ivar(device_t dev, device_t child, int which,
{
switch (which) {
+ case PCIB_IVAR_DOMAIN:
+ *result = 0;
+ return 0;
case PCIB_IVAR_BUS:
*result = legacy_get_pcibus(dev);
return 0;
@@ -289,6 +292,8 @@ legacy_pcib_write_ivar(device_t dev, device_t child, int which,
{
switch (which) {
+ case PCIB_IVAR_DOMAIN:
+ return EINVAL;
case PCIB_IVAR_BUS:
legacy_set_pcibus(dev, value);
return 0;