On Mon, May 24 2021, "Cho, Yu-Chen" wrote:
> this will allow to remove the kvm stubs.
>
> Signed-off-by: Claudio Fontana
> Signed-off-by: Cho, Yu-Chen
> ---
> target/s390x/diag.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/target/s390x/diag.c b/target/s390x/diag.c
> index c17a2498a7..8405f69df0 100644
> --- a/target/s390x/diag.c
> +++ b/target/s390x/diag.c
> @@ -20,6 +20,7 @@
> #include "hw/s390x/ipl.h"
> #include "hw/s390x/s390-virtio-ccw.h"
> #include "hw/s390x/pv.h"
> +#include "sysemu/kvm.h"
> #include "kvm_s390x.h"
>
> int handle_diag_288(CPUS390XState *env, uint64_t r1, uint64_t r3)
> @@ -168,7 +169,7 @@ out:
> return;
> }
>
> -if (kvm_s390_get_hpage_1m()) {
> +if (kvm_enabled() && kvm_s390_get_hpage_1m()) {
I was wondering whether a better option would be to create some kind of
has_huge_page_backing() function that uses kvm_enabled(), but this seems
to be the only call site for kvm_s390_get_hpage_1m(), so I'm not sure
whether it would be worth it.
> error_report("Protected VMs can currently not be backed with "
> "huge pages");
> env->regs[r1 + 1] = DIAG_308_RC_INVAL_FOR_PV;