On Fri, Feb 15, 2019 at 11:04:36AM +1100, Daniel Axtens wrote: > Building on the work of Christophe, Aneesh and Balbir, I've ported > KASAN to the e6500, a 64-bit Book3E processor which doesn't have a > hashed page table. It applies on top of Christophe's series, v5. > > It requires some changes to the KASAN core - please let me know if > these are problematic and we see if an alternative approach is > possible. > > The KASAN shadow area is mapped into vmemmap space: > 0x8000 0400 0000 0000 to 0x8000 0600 0000 0000. > To do this we require that vmemmap be disabled. (This is the default > in the kernel config that QorIQ provides for the machine in their > SDK anyway - they use flat memory.) > > Only outline instrumentation is supported and only KASAN_MINIMAL works. > Only the kernel linear mapping (0xc000...) is checked. The vmalloc and > ioremap areas (also in 0x800...) are all mapped to a zero page. As > with the Book3S hash series, this requires overriding the memory <-> > shadow mapping. > > Also, as with both previous 64-bit series, early instrumentation is not > supported. > > KVM, kexec and xmon have not been tested. > > Thanks to those who have done the heavy lifting over the past several years: > - Christophe's 32 bit series: > https://lists.ozlabs.org/pipermail/linuxppc-dev/2019-February/185379.html > - Aneesh's Book3S hash series: https://lwn.net/Articles/655642/ > - Balbir's Book3S radix series: https://patchwork.ozlabs.org/patch/795211/ > > While useful if you have an Book3E device, this is mostly intended > as a warm-up exercise for reviving Aneesh's series for book3s hash. > In particular, changes to the kasan core are going to be required > for hash and radix as well. >
Thanks for following through with this, could you please share details on how you've been testing this? I know qemu supports qemu -cpu e6500, but beyond that what does the machine look like? Balbir Singh.