From 0437c11a20b3c66882770e468518d33ff71a932a Mon Sep 17 00:00:00 2001 From: Bibo Mao Date: Tue, 14 May 2024 10:51:09 +0800 Subject: [PATCH 22/78] hw/loongarch: Add VM mode in IOCSR feature register in kvm mode If VM runs in kvm mode, VM mode is added in IOCSR feature register. So guest can detect kvm hypervisor type and enable possible pv functions. Signed-off-by: Bibo Mao Reviewed-by: Song Gao Message-Id: <20240514025109.3238398-1-maobibo@loongson.cn> Signed-off-by: Song Gao Signed-off-by: Xianglai Li --- hw/loongarch/virt.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c index e82e3b6792..c3514f9293 100644 --- a/hw/loongarch/virt.c +++ b/hw/loongarch/virt.c @@ -10,6 +10,7 @@ #include "qapi/error.h" #include "hw/boards.h" #include "hw/char/serial.h" +#include "sysemu/kvm.h" #include "sysemu/sysemu.h" #include "sysemu/qtest.h" #include "sysemu/runstate.h" @@ -914,12 +915,11 @@ static MemTxResult loongarch_qemu_read(void *opaque, hwaddr addr, ret = 0x11ULL; break; case FEATURE_REG: - ret = 1ULL << IOCSRF_MSI | 1ULL << IOCSRF_EXTIOI | - 1ULL << IOCSRF_CSRIPI; + ret = BIT(IOCSRF_MSI) | BIT(IOCSRF_EXTIOI) | BIT(IOCSRF_CSRIPI); if (kvm_enabled()) { - ret |= 1ULL << IOCSRF_VM; + ret |= BIT(IOCSRF_VM); } - break; + return ret; case VENDOR_REG: ret = 0x6e6f73676e6f6f4cULL; /* "Loongson" */ break; -- 2.39.1