Skip to content

Instantly share code, notes, and snippets.

@fcicq
Last active August 23, 2019 06:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fcicq/1871a365bcc740013c977e94956b1bb8 to your computer and use it in GitHub Desktop.
Save fcicq/1871a365bcc740013c977e94956b1bb8 to your computer and use it in GitHub Desktop.
this effectively revert "ARM: KVM: Enable in-kernel timers with user space gic" at https://github.com/qemu/qemu/commit/5d721b785fbe80170fc756e9444cf751d3a47568
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index b09bad0..9606ec6 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -2523,7 +2523,7 @@ int kvm_has_intx_set_mask(void)
bool kvm_arm_supports_user_irq(void)
{
- return kvm_check_extension(kvm_state, KVM_CAP_ARM_USER_IRQ);
+ return true; //kvm_check_extension(kvm_state, KVM_CAP_ARM_USER_IRQ);
}
#ifdef KVM_CAP_SET_GUEST_DEBUG
diff --git a/target/arm/kvm.c b/target/arm/kvm.c
index b2eaa50..e8fcaa4 100644
--- a/target/arm/kvm.c
+++ b/target/arm/kvm.c
@@ -191,7 +191,7 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
* PSCI wakes up secondary cores, so we always need to
* have vCPUs waiting in kernel space
*/
- kvm_halt_in_kernel_allowed = true;
+ //kvm_halt_in_kernel_allowed = true; //userirq hacks
cap_has_mp_state = kvm_check_extension(s, KVM_CAP_MP_STATE);
@@ -618,7 +618,7 @@ MemTxAttrs kvm_arch_post_run(CPUState *cs, struct kvm_run *run)
ARMCPU *cpu;
uint32_t switched_level;
- if (kvm_irqchip_in_kernel()) {
+ if (1) { //kvm_irqchip_in_kernel()) {
/*
* We only need to sync timer states with user-space interrupt
* controllers, so return early and save cycles if we don't.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment