simplebus: Map SYS_RES_IOPORT to SYS_RES_MEMORY later in alloc_resource
Specifically, the set/get_resource methods do not currently remap
resource types, so remap the type in alloc_resource only after
looking for a matching resource list entry.
Fixes: 3cf553288b simplebus: Consistently map SYS_RES_IOPORT to SYS_RES_MEMORY
This commit is contained in:
@@ -447,9 +447,6 @@ simplebus_alloc_resource(device_t bus, device_t child, int type, int *rid,
|
||||
|
||||
sc = device_get_softc(bus);
|
||||
|
||||
if (type == SYS_RES_IOPORT)
|
||||
type = SYS_RES_MEMORY;
|
||||
|
||||
/*
|
||||
* Request for the default allocation with a given rid: use resource
|
||||
* list stored in the local device info.
|
||||
@@ -470,6 +467,9 @@ simplebus_alloc_resource(device_t bus, device_t child, int type, int *rid,
|
||||
count = rle->count;
|
||||
}
|
||||
|
||||
if (type == SYS_RES_IOPORT)
|
||||
type = SYS_RES_MEMORY;
|
||||
|
||||
if (type == SYS_RES_MEMORY) {
|
||||
/* Remap through ranges property */
|
||||
for (j = 0; j < sc->nranges; j++) {
|
||||
|
||||
Reference in New Issue
Block a user