clear-pkgs-linux-iot-lts2018/0681-kernel-remove-deprecat...

177 lines
5.5 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Yonghua Huang <yonghua.huang@intel.com>
Date: Sat, 27 Oct 2018 02:10:21 +0800
Subject: [PATCH] kernel: remove deprecated VHM IOCTLs
below IOCTLs are wrapped into IC_SET_IRQLINE:
- IC_ASSERT_IRQLINE
- IC_DEASSERT_IRQLINE
- IC_PULSE_IRQLINE
Tracked-On: projectacrn/acrn-hypervisor#861
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
---
drivers/char/vhm/vhm_dev.c | 41 ------------------------------
drivers/vhm/vhm_hypercall.c | 15 -----------
include/linux/vhm/acrn_common.h | 34 -------------------------
include/linux/vhm/acrn_hv_defs.h | 3 ---
include/linux/vhm/vhm_ioctl_defs.h | 3 ---
5 files changed, 96 deletions(-)
diff --git a/drivers/char/vhm/vhm_dev.c b/drivers/char/vhm/vhm_dev.c
index f730467..a221794 100644
--- a/drivers/char/vhm/vhm_dev.c
+++ b/drivers/char/vhm/vhm_dev.c
@@ -395,47 +395,6 @@ static long vhm_dev_ioctl(struct file *filep,
break;
}
- case IC_ASSERT_IRQLINE: {
- struct acrn_irqline irq;
-
- if (copy_from_user(&irq, (void *)ioctl_param, sizeof(irq)))
- return -EFAULT;
-
- ret = hcall_assert_irqline(vm->vmid, virt_to_phys(&irq));
- if (ret < 0) {
- pr_err("vhm: failed to assert irq!\n");
- return -EFAULT;
- }
- break;
- }
- case IC_DEASSERT_IRQLINE: {
- struct acrn_irqline irq;
-
- if (copy_from_user(&irq, (void *)ioctl_param, sizeof(irq)))
- return -EFAULT;
-
- ret = hcall_deassert_irqline(vm->vmid, virt_to_phys(&irq));
- if (ret < 0) {
- pr_err("vhm: failed to deassert irq!\n");
- return -EFAULT;
- }
- break;
- }
- case IC_PULSE_IRQLINE: {
- struct acrn_irqline irq;
-
- if (copy_from_user(&irq, (void *)ioctl_param, sizeof(irq)))
- return -EFAULT;
-
- ret = hcall_pulse_irqline(vm->vmid,
- virt_to_phys(&irq));
- if (ret < 0) {
- pr_err("vhm: failed to assert irq!\n");
- return -EFAULT;
- }
- break;
- }
-
case IC_SET_IRQLINE: {
ret = hcall_set_irqline(vm->vmid, ioctl_param);
if (ret < 0) {
diff --git a/drivers/vhm/vhm_hypercall.c b/drivers/vhm/vhm_hypercall.c
index 6c67d04..55289bd 100644
--- a/drivers/vhm/vhm_hypercall.c
+++ b/drivers/vhm/vhm_hypercall.c
@@ -127,21 +127,6 @@ inline long hcall_notify_req_finish(unsigned long vmid, unsigned long vcpu)
return acrn_hypercall2(HC_NOTIFY_REQUEST_FINISH, vmid, vcpu);
}
-inline long hcall_assert_irqline(unsigned long vmid, unsigned long irq)
-{
- return acrn_hypercall2(HC_ASSERT_IRQLINE, vmid, irq);
-}
-
-inline long hcall_deassert_irqline(unsigned long vmid, unsigned long irq)
-{
- return acrn_hypercall2(HC_DEASSERT_IRQLINE, vmid, irq);
-}
-
-inline long hcall_pulse_irqline(unsigned long vmid, unsigned long irq)
-{
- return acrn_hypercall2(HC_PULSE_IRQLINE, vmid, irq);
-}
-
inline long hcall_set_irqline(unsigned long vmid, unsigned long op)
{
return acrn_hypercall2(HC_SET_IRQLINE, vmid, op);
diff --git a/include/linux/vhm/acrn_common.h b/include/linux/vhm/acrn_common.h
index 179957d..d28ce51 100644
--- a/include/linux/vhm/acrn_common.h
+++ b/include/linux/vhm/acrn_common.h
@@ -354,40 +354,6 @@ struct acrn_set_ioreq_buffer {
uint64_t req_buf;
} __attribute__((aligned(8)));
-/** Interrupt type for acrn_irqline: inject interrupt to IOAPIC */
-#define ACRN_INTR_TYPE_ISA 0
-
-/** Interrupt type for acrn_irqline: inject interrupt to both PIC and IOAPIC */
-#define ACRN_INTR_TYPE_IOAPIC 1
-
-/**
- * @brief Info to assert/deassert/pulse a virtual IRQ line for a VM
- *
- * the parameter for HC_ASSERT_IRQLINE/HC_DEASSERT_IRQLINE/HC_PULSE_IRQLINE
- * hypercall
- */
-struct acrn_irqline {
- /** interrupt type which could be IOAPIC or ISA */
- uint32_t intr_type;
-
- /** reserved for alignment padding */
- uint32_t reserved;
-
- /** pic IRQ for ISA type */
- uint32_t pic_irq;
-
- /** Reserved */
- uint32_t reserved0;
-
- /** ioapic IRQ for IOAPIC & ISA TYPE,
- * if ~0U then this IRQ will not be injected
- */
- uint32_t ioapic_irq;
-
- /** Reserved */
- uint32_t reserved1;
-} __attribute__((aligned(8)));
-
/**
* @brief Info to inject a MSI interrupt to VM
*
diff --git a/include/linux/vhm/acrn_hv_defs.h b/include/linux/vhm/acrn_hv_defs.h
index d916022..af00025 100644
--- a/include/linux/vhm/acrn_hv_defs.h
+++ b/include/linux/vhm/acrn_hv_defs.h
@@ -87,9 +87,6 @@
/* IRQ and Interrupts */
#define HC_ID_IRQ_BASE 0x20UL
-#define HC_ASSERT_IRQLINE _HC_ID(HC_ID, HC_ID_IRQ_BASE + 0x00)
-#define HC_DEASSERT_IRQLINE _HC_ID(HC_ID, HC_ID_IRQ_BASE + 0x01)
-#define HC_PULSE_IRQLINE _HC_ID(HC_ID, HC_ID_IRQ_BASE + 0x02)
#define HC_INJECT_MSI _HC_ID(HC_ID, HC_ID_IRQ_BASE + 0x03)
#define HC_VM_INTR_MONITOR _HC_ID(HC_ID, HC_ID_IRQ_BASE + 0x04)
#define HC_SET_IRQLINE _HC_ID(HC_ID, HC_ID_IRQ_BASE + 0x05)
diff --git a/include/linux/vhm/vhm_ioctl_defs.h b/include/linux/vhm/vhm_ioctl_defs.h
index 73be2dd..19ebf54 100644
--- a/include/linux/vhm/vhm_ioctl_defs.h
+++ b/include/linux/vhm/vhm_ioctl_defs.h
@@ -77,9 +77,6 @@
/* IRQ and Interrupts */
#define IC_ID_IRQ_BASE 0x20UL
-#define IC_ASSERT_IRQLINE _IC_ID(IC_ID, IC_ID_IRQ_BASE + 0x00)
-#define IC_DEASSERT_IRQLINE _IC_ID(IC_ID, IC_ID_IRQ_BASE + 0x01)
-#define IC_PULSE_IRQLINE _IC_ID(IC_ID, IC_ID_IRQ_BASE + 0x02)
#define IC_INJECT_MSI _IC_ID(IC_ID, IC_ID_IRQ_BASE + 0x03)
#define IC_VM_INTR_MONITOR _IC_ID(IC_ID, IC_ID_IRQ_BASE + 0x04)
#define IC_SET_IRQLINE _IC_ID(IC_ID, IC_ID_IRQ_BASE + 0x05)
--
https://clearlinux.org