• Nuno Das Neves's avatar
    hyperv-tlfs: Change prefix of generic HV_REGISTER_* MSRs to HV_MSR_* · 0e3f7d12
    Nuno Das Neves authored
    The HV_REGISTER_ are used as arguments to hv_set/get_register(), which
    delegate to arch-specific mechanisms for getting/setting synthetic
    Hyper-V MSRs.
    
    On arm64, HV_REGISTER_ defines are synthetic VP registers accessed via
    the get/set vp registers hypercalls. The naming matches the TLFS
    document, although these register names are not specific to arm64.
    
    However, on x86 the prefix HV_REGISTER_ indicates Hyper-V MSRs accessed
    via rdmsrl()/wrmsrl(). This is not consistent with the TLFS doc, where
    HV_REGISTER_ is *only* used for used for VP register names used by
    the get/set register hypercalls.
    
    To fix this inconsistency and prevent future confusion, change the
    arch-generic aliases used by callers of hv_set/get_register() to have
    the prefix HV_MSR_ instead of HV_REGISTER_.
    
    Use the prefix HV_X64_MSR_ for the x86-only Hyper-V MSRs. On x86, the
    generic HV_MSR_'s point to the corresponding HV_X64_MSR_.
    
    Move the arm64 HV_REGISTER_* defines to the asm-generic hyperv-tlfs.h,
    since these are not specific to arm64. On arm64, the generic HV_MSR_'s
    point to the corresponding HV_REGISTER_.
    
    While at it, rename hv_get/set_registers() and related functions to
    hv_get/set_msr(), hv_get/set_nested_msr(), etc. These are only used for
    Hyper-V MSRs and this naming makes that clear.
    Signed-off-by: default avatarNuno Das Neves <nunodasneves@linux.microsoft.com>
    Reviewed-by: default avatarWei Liu <wei.liu@kernel.org>
    Reviewed-by: default avatarMichael Kelley <mhklinux@outlook.com>
    Link: https://lore.kernel.org/r/1708440933-27125-1-git-send-email-nunodasneves@linux.microsoft.comSigned-off-by: default avatarWei Liu <wei.liu@kernel.org>
    Message-ID: <1708440933-27125-1-git-send-email-nunodasneves@linux.microsoft.com>
    0e3f7d12
hv.c 13.8 KB