Obviously there is a complete missunderstanding of those values on my side. The virtual address mapping of the board is:ram_size: 134217728 KERNEL_VM: 0xc1000000 KERNEL_BASE: 0xc0000000That KASSERT is checking that all memory can be mapped in the area [KERNEL_BASE - KERNEL_VM_BASE) which it obviously can't with that KERNEL_VM_BASE.
Physical Virtual Num Starting Ending Starting Ending Pages SDRAM: 0xa0000000 0xa7ffffff 0xc0000000 0xc7ffffff 32768 text section: 0xa0200000 0xa0638fff 0xc0200000 0xc0638fff 1081 data section: 0xa06c0000 0xa07a61d8 0xc06c0000 0xc07a61d8 231 bss section: 0xa07a61d8 0xa07cd9c8 0xc07a61d8 0xc07cd9c8 40 L1 page directory: 0xa07d0000 0xa07d3fff 0xc07d0000 0xc07d3fff 4 ABT stack (CPU 0): 0xa07dd000 0xa07ddfff 0xc07dd000 0xc07ddfff 1 FIQ stack (CPU 0): 0xa07de000 0xa07defff 0xc07de000 0xc07defff 1 IRQ stack (CPU 0): 0xa07df000 0xa07dffff 0xc07df000 0xc07dffff 1 UND stack (CPU 0): 0xa07e0000 0xa07e0fff 0xc07e0000 0xc07e0fff 1 IDLE stack (CPU 0): 0xa07e1000 0xa07e2fff 0xc07e1000 0xc07e2fff 2 SVC stack: 0xa07e3000 0xa07e4fff 0xc07e3000 0xc07e4fff 2 Message Buffer: 0xa07e5000 0xa07e8fff 0xc07e5000 0xc07e8fff 4 Exception Vectors: 0xa07e9000 0xa07e9fff 0x00000000 0x00000fff 1 Free Memory: 0xa07eb000 0xa7ffffff 30741 Free Memory: 0xa0000000 0xa01fffff 512which looks good to me. In VM terms the kernel is located at 0xc0200000 to 0xc1000000. Afterwards the KERNEL_VM_SIZE points up to 0xccffffff. To my understanding the KERNEL_VM_BASE is the starting point not the end address. (considering starting point to have the lowest address values). Thus I would expect KERNEL_VM_BASE - KERNEL_BASE + KERNEL_VM_SIZE.
Best Regards Stephan Stephan