CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2016/10/05 01:44:24
Modified files:
sys/arch/arm/armv7: armv7_space.c
sys/arch/arm/include: bus.h
sys/arch/arm/simplebus: simplebus.c
sys/arch/armv7/armv7: armv7_machdep.c
Log message:
Some device trees use 64-bit intermediate virtual addresses. This
means that even though the hardware in the end never leaves the 32-bit
address space, some addresses used solely in the device tree can be
bigger than 32-bit. As bus_space_map(9) takes addresses of size
bus_addr_t, which is 32-bit on ARMv7, we cannot pass those virtual
addresses to the parent bus, even though it will be mapped back into a
32-bit address in the end. To work around this, make bus_space_map(9)
take a 64-bit address. Since this is implemented as a macro and
function pointer we can safely do that without harming any other
architecture.
ok kettenis@ deraadt@