Re: [PATCH kvm-unit-tests 00/11] arm/arm64: mmu fixes and feature

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 17, 2018 at 10:16:43AM +0100, David Hildenbrand wrote:
> 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.

I just sent a v2 with the bitops fix, which I think was the right way
to go from the start. If s390x does have a working builtin or better
way to implement fls, then it can be changed with a later patch.

Thanks,
drew



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux