[PW_SID:994195] Fixup & optimize hgatp mode & vmid detect functions - #819
[PW_SID:994195] Fixup & optimize hgatp mode & vmid detect functions#819linux-riscv-bot wants to merge 3 commits into
Conversation
According to the RISC-V Privileged Architecture Spec, when MODE=Bare is selected,software must write zero to the remaining fields of hgatp. We have detected the valid mode supported by the HW before, So using a valid mode to detect how many vmid bits are supported. Fixes: fd7bb4a ("RISC-V: KVM: Implement VMID allocator") Reviewed-by: Nutty Liu <nutty.liu@hotmail.com> Reviewed-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> Reviewed-by: Guo Ren (Alibaba DAMO Academy) <guoren@kernel.org> Signed-off-by: Fangyu Yu <fangyu.yu@linux.alibaba.com> Signed-off-by: Guo Ren (Alibaba DAMO Academy) <guoren@kernel.org> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
The HGATP has been set to zero in gstage_mode_detect(), so there is no need to save the old context. Unify the code convention with gstage_mode_detect(). Reviewed-by: Fangyu Yu <fangyu.yu@linux.alibaba.com> Signed-off-by: Fangyu Yu <fangyu.yu@linux.alibaba.com> Signed-off-by: Guo Ren (Alibaba DAMO Academy) <guoren@kernel.org> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
urrent kvm_riscv_gstage_mode_detect() assumes H-extension must have HGATP_MODE_SV39X4/SV32X4 at least, but the spec allows H-extension with HGATP_MODE_BARE alone. The KVM depends on !HGATP_MODE_BARE at least, so enhance the gstage-mode-detect to block HGATP_MODE_BARE. Move gstage-mode-check closer to gstage-mode-detect to prevent unnecessary init. Reviewed-by: Troy Mitchell <troy.mitchell@linux.dev> Reviewed-by: Nutty Liu <nutty.liu@hotmail.com> Signed-off-by: Guo Ren (Alibaba DAMO Academy) <guoren@kernel.org> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[V4,RESEND,1/3] RISC-V: KVM: Write hgatp register with valid mode bits" |
|
Patch 1: "[V4,RESEND,1/3] RISC-V: KVM: Write hgatp register with valid mode bits" |
|
Patch 1: "[V4,RESEND,1/3] RISC-V: KVM: Write hgatp register with valid mode bits" |
|
Patch 1: "[V4,RESEND,1/3] RISC-V: KVM: Write hgatp register with valid mode bits" |
|
Patch 1: "[V4,RESEND,1/3] RISC-V: KVM: Write hgatp register with valid mode bits" |
|
Patch 1: "[V4,RESEND,1/3] RISC-V: KVM: Write hgatp register with valid mode bits" |
|
Patch 1: "[V4,RESEND,1/3] RISC-V: KVM: Write hgatp register with valid mode bits" |
|
Patch 1: "[V4,RESEND,1/3] RISC-V: KVM: Write hgatp register with valid mode bits" |
|
Patch 1: "[V4,RESEND,1/3] RISC-V: KVM: Write hgatp register with valid mode bits" |
|
Patch 1: "[V4,RESEND,1/3] RISC-V: KVM: Write hgatp register with valid mode bits" |
|
Patch 1: "[V4,RESEND,1/3] RISC-V: KVM: Write hgatp register with valid mode bits" |
|
Patch 1: "[V4,RESEND,1/3] RISC-V: KVM: Write hgatp register with valid mode bits" |
|
Patch 2: "[V4,RESEND,2/3] RISC-V: KVM: Remove unnecessary HGATP csr_read" |
|
Patch 2: "[V4,RESEND,2/3] RISC-V: KVM: Remove unnecessary HGATP csr_read" |
|
Patch 2: "[V4,RESEND,2/3] RISC-V: KVM: Remove unnecessary HGATP csr_read" |
|
Patch 2: "[V4,RESEND,2/3] RISC-V: KVM: Remove unnecessary HGATP csr_read" |
|
Patch 2: "[V4,RESEND,2/3] RISC-V: KVM: Remove unnecessary HGATP csr_read" |
|
Patch 2: "[V4,RESEND,2/3] RISC-V: KVM: Remove unnecessary HGATP csr_read" |
|
Patch 2: "[V4,RESEND,2/3] RISC-V: KVM: Remove unnecessary HGATP csr_read" |
|
Patch 2: "[V4,RESEND,2/3] RISC-V: KVM: Remove unnecessary HGATP csr_read" |
|
Patch 2: "[V4,RESEND,2/3] RISC-V: KVM: Remove unnecessary HGATP csr_read" |
|
Patch 2: "[V4,RESEND,2/3] RISC-V: KVM: Remove unnecessary HGATP csr_read" |
|
Patch 2: "[V4,RESEND,2/3] RISC-V: KVM: Remove unnecessary HGATP csr_read" |
|
Patch 2: "[V4,RESEND,2/3] RISC-V: KVM: Remove unnecessary HGATP csr_read" |
|
Patch 3: "[V4,RESEND,3/3] RISC-V: KVM: Prevent HGATP_MODE_BARE passed" |
|
Patch 3: "[V4,RESEND,3/3] RISC-V: KVM: Prevent HGATP_MODE_BARE passed" |
|
Patch 3: "[V4,RESEND,3/3] RISC-V: KVM: Prevent HGATP_MODE_BARE passed" |
|
Patch 3: "[V4,RESEND,3/3] RISC-V: KVM: Prevent HGATP_MODE_BARE passed" |
|
Patch 3: "[V4,RESEND,3/3] RISC-V: KVM: Prevent HGATP_MODE_BARE passed" |
|
Patch 3: "[V4,RESEND,3/3] RISC-V: KVM: Prevent HGATP_MODE_BARE passed" |
|
Patch 3: "[V4,RESEND,3/3] RISC-V: KVM: Prevent HGATP_MODE_BARE passed" |
|
Patch 3: "[V4,RESEND,3/3] RISC-V: KVM: Prevent HGATP_MODE_BARE passed" |
|
Patch 3: "[V4,RESEND,3/3] RISC-V: KVM: Prevent HGATP_MODE_BARE passed" |
|
Patch 3: "[V4,RESEND,3/3] RISC-V: KVM: Prevent HGATP_MODE_BARE passed" |
|
Patch 3: "[V4,RESEND,3/3] RISC-V: KVM: Prevent HGATP_MODE_BARE passed" |
|
Patch 3: "[V4,RESEND,3/3] RISC-V: KVM: Prevent HGATP_MODE_BARE passed" |
PR for series 994195 applied to workflow__riscv__fixes
Name: Fixup & optimize hgatp mode & vmid detect functions
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=994195
Version: 4