[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250701030842.1136519-1-maobibo@loongson.cn>
Date: Tue, 1 Jul 2025 11:08:29 +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 v5 00/13] 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 300 lines redundant code and make eiointc emulation driver simple
than ever.
---
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 (13):
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: Rename loongarch_eiointc_readq with
loongarch_eiointc_read
LoongArch: KVM: Use generic read function loongarch_eiointc_read
LoongArch: KVM: Remove some unnecessary local variables
LoongArch: KVM: Use concise api __ffs()
LoongArch: KVM: Replace eiointc_enable_irq() with eiointc_update_irq()
LoongArch: KVM: Remove local variable offset
LoongArch: KVM: Rename old_data with old
LoongArch: KVM: Add generic function loongarch_eiointc_write()
LoongArch: KVM: Use generic interface loongarch_eiointc_write()
arch/loongarch/include/asm/kvm_host.h | 12 +-
arch/loongarch/kvm/intc/eiointc.c | 557 ++++----------------------
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(+), 507 deletions(-)
base-commit: d0b3b7b22dfa1f4b515fd3a295b3fd958f9e81af
--
2.39.3
Powered by blists - more mailing lists