On Tue, Jan 16, 2018 at 08:50:27PM +0100, David Hildenbrand wrote: > On 16.01.2018 19:53, Andrew Jones wrote: > > The fixes are getting tests to run on 32-bit ARM again and also > > fixing virt_to_phys(). The feature is to allow a unit test to start > > with the MMU disabled. Couple minor cleanups thrown in too. > > > > I tested x86 and ppc64 over TCG, but not s390 (please-test: David). > > > > Andrew Jones (11): > > arm/arm64: cleanup alloc.h includes > > arm/arm64: add pgtable to thread_info > > arm/arm64: fix virt_to_phys > > arm/arm64: flush page table cache when installing entries > > arm/arm64: setup: don't allow gaps in phys range > > phys_alloc: ensure we account all allocations > > page_alloc: allow initialization before setup_vm call > > page_alloc: add yet another memalign > > lib/auxinfo: add flags field > > arm/arm64: allow setup_vm to be skipped > > arm/arm64: sieve should start with the mmu off > > > > arm/Makefile.common | 5 ++++- > > arm/cstart.S | 19 ++++++++++++++++++- > > arm/cstart64.S | 17 ++++++++++++++++- > > lib/alloc_page.c | 33 +++++++++++++++++++++++++++++++++ > > lib/alloc_page.h | 2 ++ > > lib/alloc_phys.c | 10 ++++++++++ > > lib/alloc_phys.h | 6 ++++-- > > lib/arm/asm/mmu.h | 5 +++++ > > lib/arm/asm/page.h | 8 +++----- > > lib/arm/asm/pgtable.h | 16 ++++++++++++---- > > lib/arm/asm/setup.h | 1 - > > lib/arm/asm/thread_info.h | 1 + > > lib/arm/mmu.c | 43 ++++++++++++++++++++++++++++++++++++++----- > > lib/arm/processor.c | 1 + > > lib/arm/setup.c | 22 ++++++++++++++-------- > > lib/arm/smp.c | 7 ++++++- > > lib/arm64/asm/mmu.h | 5 +++++ > > lib/arm64/asm/page.h | 10 +++------- > > lib/arm64/asm/pgtable.h | 12 ++++++++++-- > > lib/arm64/processor.c | 1 + > > lib/arm64/spinlock.c | 1 + > > lib/auxinfo.c | 13 ++++++++++++- > > lib/auxinfo.h | 6 ++++++ > > lib/vmalloc.c | 9 ++++++--- > > 24 files changed, 211 insertions(+), 42 deletions(-) > > > > lib/libcflat.a(alloc_page.o): In function `page_memalign': > /home/dhildenb/git/kvm-unit-tests/lib/alloc_page.c:146: undefined > reference to `__clzdi2' > collect2: error: ld returned 1 exit status > make: *** [/home/dhildenb/git/kvm-unit-tests/s390x/Makefile:44: > s390x/selftest.elf] Error 1 > Eh, I guess the s390 compiler doesn't have that builtin. I should properly add an fls() to asm/bitops.h for each arch then. s390 can use a generic implementation, like the kernel's generic binary search, __fls. Thanks, drew