From 8c14b4e96338bdc494566c0fa9337120c6ff32df Mon Sep 17 00:00:00 2001 From: Charalampos Mainas Date: Fri, 1 Dec 2023 15:25:26 +0200 Subject: [PATCH] Add patch to export kvm_ioctl_rq_line function in Hedge Signed-off-by: Matias Ezequiel Vara Larsen Signed-off-by: Charalampos Mainas --- v5.7/0004-Export-kvm_vm_ioctl_irq_line.patch | 48 ++++++++++++++++++++ v5.8/0004-Export-kvm_vm_ioctl_irq_line.patch | 48 ++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 v5.7/0004-Export-kvm_vm_ioctl_irq_line.patch create mode 100644 v5.8/0004-Export-kvm_vm_ioctl_irq_line.patch diff --git a/v5.7/0004-Export-kvm_vm_ioctl_irq_line.patch b/v5.7/0004-Export-kvm_vm_ioctl_irq_line.patch new file mode 100644 index 0000000..3b9d591 --- /dev/null +++ b/v5.7/0004-Export-kvm_vm_ioctl_irq_line.patch @@ -0,0 +1,48 @@ +From 93c772d3132c8a7842f86968476eb7ad2b76710e Mon Sep 17 00:00:00 2001 +From: Charalampos Mainas +Date: Fri, 1 Dec 2023 15:21:58 +0200 +Subject: [PATCH] Export kvm_vm_ioctl_irq_line + +A small patch to export the kvm_vm_ioctl_irq_line function, in order to +allow Hedge to use it. +This function is required for serial console. + +Signed-off-by: Matias Ezequiel Vara Larsen +Signed-off-by: Charalampos Mainas +--- + arch/x86/kvm/x86.c | 7 +++++++ + include/linux/kvm_host.h | 2 ++ + 2 files changed, 9 insertions(+) + +diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c +index 8ea73933e..8eff97ca4 100644 +--- a/arch/x86/kvm/x86.c ++++ b/arch/x86/kvm/x86.c +@@ -4820,6 +4820,13 @@ int kvm_vm_ioctl_irq_line(struct kvm *kvm, struct kvm_irq_level *irq_event, + return 0; + } + ++int hedge_kvm_arch_vm_ioctl_irq_line(struct kvm *kvm, struct kvm_irq_level *irq_event, ++ bool line_status) ++{ ++ return kvm_vm_ioctl_irq_line(kvm, irq_event, line_status); ++} ++EXPORT_SYMBOL(hedge_kvm_arch_vm_ioctl_irq_line); ++ + int kvm_vm_ioctl_enable_cap(struct kvm *kvm, + struct kvm_enable_cap *cap) + { +diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h +index 37e1c57a9..06cff0c5b 100644 +--- a/include/linux/kvm_host.h ++++ b/include/linux/kvm_host.h +@@ -1440,4 +1440,6 @@ int hedge_kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *r + int hedge_kvm_coalesced_mmio_init(struct kvm *kvm); + int hedge_kvm_vm_ioctl_set_memory_region(struct kvm *kvm, + struct kvm_userspace_memory_region *mem); ++int hedge_kvm_arch_vm_ioctl_irq_line(struct kvm *kvm, struct kvm_irq_level *irq_event, ++ bool line_status); + #endif +-- +2.40.1 + diff --git a/v5.8/0004-Export-kvm_vm_ioctl_irq_line.patch b/v5.8/0004-Export-kvm_vm_ioctl_irq_line.patch new file mode 100644 index 0000000..2cf7650 --- /dev/null +++ b/v5.8/0004-Export-kvm_vm_ioctl_irq_line.patch @@ -0,0 +1,48 @@ +From 797d65e4129bc5175a2bde455e633f14e0fdd369 Mon Sep 17 00:00:00 2001 +From: Matias Ezequiel Vara Larsen +Date: Tue, 11 Oct 2022 19:43:32 +0000 +Subject: [PATCH] Export kvm_vm_ioctl_irq_line + +A small patch to export the kvm_vm_ioctl_irq_line function, in order to +allow Hedge to use it. +This function is required for serial console. + +Signed-off-by: Matias Ezequiel Vara Larsen +Signed-off-by: Charalampos Mainas +--- + arch/x86/kvm/x86.c | 7 +++++++ + include/linux/kvm_host.h | 2 ++ + 2 files changed, 9 insertions(+) + +diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c +index ccb1e1b6fd8a..45b1b970e52b 100644 +--- a/arch/x86/kvm/x86.c ++++ b/arch/x86/kvm/x86.c +@@ -4926,6 +4926,13 @@ int kvm_vm_ioctl_irq_line(struct kvm *kvm, struct kvm_irq_level *irq_event, + return 0; + } + ++int hedge_kvm_arch_vm_ioctl_irq_line(struct kvm *kvm, struct kvm_irq_level *irq_event, ++ bool line_status) ++{ ++ return kvm_vm_ioctl_irq_line(kvm, irq_event, line_status); ++} ++EXPORT_SYMBOL(hedge_kvm_arch_vm_ioctl_irq_line); ++ + int kvm_vm_ioctl_enable_cap(struct kvm *kvm, + struct kvm_enable_cap *cap) + { +diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h +index 1997ea710c3e..9a4e3c1d8584 100644 +--- a/include/linux/kvm_host.h ++++ b/include/linux/kvm_host.h +@@ -1458,4 +1458,6 @@ int hedge_kvm_vm_ioctl_set_memory_region(struct kvm *kvm, + int hedge_kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu *vcpu, + struct kvm_guest_debug *dbg); + int hedge_kvm_vm_ioctl_set_tss_addr(struct kvm *kvm, unsigned long addr); ++int hedge_kvm_arch_vm_ioctl_irq_line(struct kvm *kvm, struct kvm_irq_level *irq_event, ++ bool line_status); + #endif +-- +2.20.1 +