CVSROOT:        /cvs
Module name:    src
Changes by:     patr...@cvs.openbsd.org 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@

Reply via email to