On Thu, Sep 3, 2020 at 7:12 AM Mohammed Gamal <mgamal@xxxxxxxxxx> wrote: > > This patch exposes allow_smaller_maxphyaddr to the user as a module parameter. > > Since smaller physical address spaces are only supported on VMX, the parameter > is only exposed in the kvm_intel module. > Modifications to VMX page fault and EPT violation handling will depend on whether > that parameter is enabled. > > Also disable support by default, and let the user decide if they want to enable > it. > > Signed-off-by: Mohammed Gamal <mgamal@xxxxxxxxxx> > --- > arch/x86/kvm/vmx/vmx.c | 15 ++++++--------- > arch/x86/kvm/vmx/vmx.h | 3 +++ > arch/x86/kvm/x86.c | 2 +- > 3 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c > index 819c185adf09..dc778c7b5a06 100644 > --- a/arch/x86/kvm/vmx/vmx.c > +++ b/arch/x86/kvm/vmx/vmx.c > @@ -129,6 +129,9 @@ static bool __read_mostly enable_preemption_timer = 1; > module_param_named(preemption_timer, enable_preemption_timer, bool, S_IRUGO); > #endif > > +extern bool __read_mostly allow_smaller_maxphyaddr; Since this variable is in the kvm module rather than the kvm_intel module, its current setting is preserved across "rmmod kvm_intel; modprobe kvm_intel." That is, if set to true, it doesn't revert to false after "rmmod kvm_intel." Is that the intended behavior?