Index: sys/arm64/acpica/acpi_iort.c =================================================================== --- sys/arm64/acpica/acpi_iort.c +++ sys/arm64/acpica/acpi_iort.c @@ -154,7 +154,7 @@ for (i = 0; i < node->nentries; i++, entry++) { if (i == id_map) continue; - if (entry->base <= id && id <= entry->end) + if (entry->base <= id && id < entry->end) break; } if (i == node->nentries) @@ -234,7 +234,8 @@ node->entries.mappings = mapping; for (i = 0; i < node->nentries; i++, mapping++, map_entry++) { mapping->base = map_entry->InputBase; - mapping->end = map_entry->InputBase + map_entry->IdCount - 1; + /* ARM DEN 0049D: "The number of IDs in the range minus one" */ + mapping->end = map_entry->InputBase + map_entry->IdCount + 1; mapping->outbase = map_entry->OutputBase; mapping->out_node_offset = map_entry->OutputReference; mapping->flags = map_entry->Flags;