HomeFreeBSD

When finding the physical address of a device allow intermediate addresses

Description

When finding the physical address of a device allow intermediate addresses
to be 64-bit on 32-bit architectures. It is not uncommon for device trees
to use the upper 32-bits to store what effectively is an index into the
parent ranges property. In this case, when running with a 32-bit bus_addr_t
and bus_size_t, we would previously truncate the address, this may then
incorrectly match the wrong range, and return the wrong address.

Tested by: bz (earlier version)

Details

Provenance
andrewAuthored on
Parents
rS294926: ficl on i386 should cast to unsigned char output to support efi i386
Branches
Unknown
Tags
Unknown