Xen
Xen is an open-source virtualization hypervisor.
www.xenproject.org
Activity Earlier In The Year
- x86/idle: Fix buggy "x86/mwait-idle: enable interrupts before C1 on Xeons"
Andrew Cooper: The check of this_softirq_pending must be performed with irqs disabled, but this property was broken by an attempt to optimise entry/exit latency. - x86/idle: Implement a new MWAIT IPI-elision algorithm
Andrew Cooper: In order elide IPIs, we must be able to identify whether a target CPU is in MWAIT at the point it is woken up. - x86/idle: Remove broken MWAIT implementation
Andrew Cooper: cpuidle_wakeup_mwait() is a TOCTOU race. - drivers/pci: Add minor comment for maximum capability constant
Frediano Ziglio: The comment is similar to extended capabilities in the function below. - x86/intel: workaround several MONITOR/MWAIT errata
Roger Pau Monne: There are several errata on Intel regarding the usage of the MONITOR/MWAIT instructions, all having in common that stores to the monitored region might not wake up the CPU.
Fix them by forcing the sending of an IPI for the affected models.
The Ice Lake issue has been reproduced internally on XenServer hardware, and the fix does seem to prevent it. - xen/riscv: Increase XEN_VIRT_SIZE
Oleksii Kurochko: A randconfig job failed with the following issue: riscv64-linux-gnu-ld: Xen too large for early-boot assumptions
The reason is that enabling the UBSAN config increased the size of the Xen binary.
Increase XEN_VIRT_SIZE to reserve enough space, allowing both UBSAN and GCOV to be enabled together, with some slack for future growth.
Additionally, add checks to verify that XEN_VIRT_START is 1GB-aligned and XEN_VIRT_SIZE is 2MB-aligned to reduce the number of page tables needed for the initial mapping. - CI: Add Arm64/Arm32 MPU build jobs
Michal Orzel: Just like for RISCV and PPC, the earlier we enable the CI build the better. - xen/riscv: implement basic aplic_preinit()
Oleksii Kurochko: Introduce preinitialization stuff for the RISC-V Advanced Platform-Level Interrupt Controller (APLIC) in Xen:- Implementing the APLIC pre-initialization function (`aplic_preinit()`), ensuring that only one APLIC instance is supported in S mode. - xen/riscv: implement software page table walking
Oleksii Kurochko: RISC-V doesn't have hardware feature to ask MMU to translate - radix-tree: don't left-shift negative values
Jan Beulich: Any (signed) integer is okay to pass into radix_tree_int_to_ptr(), yet left shifting negative values is UB.