[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250709080233.3948503-1-maobibo@loongson.cn>
Date: Wed, 9 Jul 2025 16:02:25 +0800
From: Bibo Mao <maobibo@...ngson.cn>
To: Tianrui Zhao <zhaotianrui@...ngson.cn>,
Huacai Chen <chenhuacai@...nel.org>,
Xianglai Li <lixianglai@...ngson.cn>
Cc: kvm@...r.kernel.org,
loongarch@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: [PATCH v6 0/8] LoongArch: KVM: Enhancement with eiointc emulation
This series add generic eiointc 8 bytes access interface, so that 1/2/4/8
bytes access can use the generic 8 bytes access interface. It reduce
about 500 lines redundant code and make eiointc emulation driver
simpler than ever.
---
v5 ... v6:
1. Merge previous patch 5 & 6 into one, patch 7 & 10 into into one and
patch 12 and patch 13 into one.
2. Use sign extension with destination register for IOCSRRD.{B/H/W}
kernel emulation.
v4 ... v5
1. Rebase patch on latest kernel where bugfix of eiointc has been
merged.
2. Add generic eiointc 8 bytes access interface, 1/2/4/8 bytes access
uses generic 8 bytes access interface.
v3 ... v4:
1. Remove patch about enhancement and only keep bugfix relative
patches.
2. Remove INTC indication in the patch title.
3. With access size, keep default case unchanged besides 1/2/4/8 since
here all patches are bugfix
4. Firstly check return value of copy_from_user() with error path,
keep the same order with old patch in patch 4.
v2 ... v3:
1. Add prefix INTC: in title of every patch.
2. Fix array index overflow when emulate register EIOINTC_ENABLE
writing operation.
3. Add address alignment check with eiointc register access operation.
v1 ... v2:
1. Add extra fix in patch 3 and patch 4, add num_cpu validation check
2. Name of stat information keeps unchanged, only move it from VM stat
to vCPU stat.
---
Bibo Mao (8):
LoongArch: KVM: Use standard bitops API with eiointc
LoongArch: KVM: Remove unused parameter len
LoongArch: KVM: Add stat information with kernel irqchip
LoongArch: KVM: Remove never called default case statement
LoongArch: KVM: Use generic function loongarch_eiointc_read()
LoongArch: KVM: Remove some unnecessary local variables
LoongArch: KVM: Replace eiointc_enable_irq() with eiointc_update_irq()
LoongArch: KVM: Add generic function loongarch_eiointc_write()
arch/loongarch/include/asm/kvm_host.h | 12 +-
arch/loongarch/kvm/intc/eiointc.c | 558 ++++----------------------
arch/loongarch/kvm/intc/ipi.c | 28 +-
arch/loongarch/kvm/intc/pch_pic.c | 4 +-
arch/loongarch/kvm/vcpu.c | 8 +-
5 files changed, 102 insertions(+), 508 deletions(-)
base-commit: 733923397fd95405a48f165c9b1fbc8c4b0a4681
--
2.39.3
Powered by blists - more mailing lists