On 6 May 2013 15:26, Jan Kiszka <jan.kis...@siemens.com> wrote: > Simplify the sub-page handling by implementing it directly in the > dispatcher instead of using a redirection memory region. We extend the > phys_sections entries to optionally hold a pointer to the sub-section > table that used to reside in the subpage_t structure. IOW, we add one > optional dispatch level below the existing radix tree. > > address_space_lookup_region is extended to take this additional level > into account. This direct dispatching to that target memory region will > also be helpful when we want to add per-region locking control.
This patch seems to break vexpress-a9. Test case if you want it: http://staging.people.linaro.org/~peter.maydell/vexpress-3.8.tar.gz (125MB) Edit the 'runme' script to fix up the paths to kernel/initrd/dtb and then run it; before this patch it boots, afterwards it doesn't even manage to start the kernel. My guess is you've broken subregion-sized mmio regions somehow (and/or regions which are larger than a page in size but start or finish at a non-page-aligned address), and probably in particular the arm_gic regions that a9mpcore maps... thanks -- PMM