Just a quick update on the status of the branches in linux-kvm-arm: kvm-arm-v15-vgic-timers is the latest nicely formatted patch series. https://github.com/virtualopensystems/linux-kvm-arm/tree/kvm-arm-v15-vgic-timers kvm-arm-master is identical to kvm-arm-v15-vgic-timers, but is not a rebasing branch so you can follow all the individual patches and merges in here. https://github.com/virtualopensystems/linux-kvm-arm/tree/kvm-arm-master kvm-arm-hugetlb is based on v15, but with Will's and Steve's huge tlb patches applied and a KVM huge tlb patch. https://github.com/virtualopensystems/linux-kvm-arm/commits/kvm-arm-hugetlb Note, that these are all based on v3.8-rc1 and this requires changes to the device tree. For the vexpress hardware you can use the device tree produced by the kernel itself, but for KVM guests running v3.8+, you need to use an updated version of the model device tree. I hacked together a working version, but Pawell should release something much more sane in the new year. You can find my hack here: https://github.com/virtualopensystems/arm-dts Also the PPC guys beat us with another IOCTL number, which breaks compatibility with QEMU, so an updated version can be found here: https://github.com/virtualopensystems/qemu https://github.com/virtualopensystems/qemu/tree/kvm-arm-virtio The changes between v14 and v15 are listed here: Core implementation: - Fixed permission fault handling by correctly retrieving the IPA on Stage-2 permission faults - Fix compile error when !CONFIG_KVM_ARM_HOST - Support building into separate object directory - Fixed the Vodoo Bug (see https://github.com/virtualopensystems/linux-kvm-arm/wiki/Voodoo-Bug) - Improved some tracepoint debugs - Improved and cleaned up VTCR and VTTBR initialization - Clarified and unified Stage-2 page table clearing - Addressed a large number of concerns from Will Deacon's review, including fixing a race condition and removing unused exports. - Be a little more verbose when something goes wrong during the init process. VGIC Implementation: - Large number of commenting and formatting changes - Don't rely on the vgic_hcr default value - Fix bug in irq_fgx expand/collapse functions - Sanitize use of bitmaps - Do not use elrsr when queueing an interrupt - Deassert SGIs and SPIs that have already been queued - Set VMCR to 0 on vcpu init - Compute number of list registers once at init time - Restructure bytemap/bitmap accessor functions - Improve readability by adding accessor functions - Define GICH_ constants in gic.h and use these in the vgic code - Explain SGI handling in comment - Error patch and return value fixes and cleanups - Use defines instead of all hardcoded IRQ numbers - Refactor level interrupt handling - Fix several maintenace-interrupt related bugs - Add CPU hotplug notifier VGIC Implementation: - Get virtual IRQ number from DT - Simplify access to cntvoff and cntv_cval - Remove extraneous bit clearing - Abstract timer arming/disarming to improve code readability - Context switch CNTKCTL across world-switches - Add CPU hotplug notifier Take a look at the v15 patches if you have time and see if they can possibly deserve your ack. I will send them out as regular once we get a week or so into the new year. Happy new year! -Christoffer _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm