[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4cdb6cf7-2293-04e3-57b3-9ad4fd07ac9e@loongson.cn>
Date: Thu, 17 Jul 2025 15:14:54 +0800
From: Bibo Mao <maobibo@...ngson.cn>
To: Huacai Chen <chenhuacai@...nel.org>
Cc: Tianrui Zhao <zhaotianrui@...ngson.cn>,
Xianglai Li <lixianglai@...ngson.cn>, kvm@...r.kernel.org,
loongarch@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v6 0/8] LoongArch: KVM: Enhancement with eiointc emulation
On 2025/7/16 下午6:19, Huacai Chen wrote:
> Applied with some modifications. E.g., Patch6 removes offset, and
> Patch8 adds it back, so I combine these two.
>
> Since the code is a little different, it is better to test it again [1].
>
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson.git/log/?h=loongarch-kvm
It works well with basic VM operations.
Also looks good from code review side.
Regards
Bibo Mao
>
>
>
> Huacai
>
> On Wed, Jul 9, 2025 at 4:02 PM Bibo Mao <maobibo@...ngson.cn> wrote:
>>
>> 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