On 17.01.2018 10:12, Andrew Jones wrote: > 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. I wonder if that is a compiler bug. Will try with an older (!cross) compiler. > > Thanks, > drew > -- Thanks, David / dhildenb