mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
x86/svm: Drop the suffix _guest from vmcb bit
The suffix _guest is redundant for asid bit. Drop it to avoid adding extra code volume. While we're here, replace 0/1 with false/true and use VMCB accessors instead of open coding. Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com> Signed-off-by: Vaishali Thakkar <vaishali.thakkar@vates.tech> Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
d638e304f1
commit
2f09f797ba
5 files changed
+13
-13
No files matched your search
@@ -37,14 +37,14 @@ void svm_asid_handle_vmrun(void)
|
||||
/* ASID 0 indicates that ASIDs are disabled. */
|
||||
if ( p_asid->asid == 0 )
|
||||
{
|
||||
vmcb_set_guest_asid(vmcb, 1);
|
||||
vmcb_set_asid(vmcb, true);
|
||||
vmcb->tlb_control =
|
||||
cpu_has_svm_flushbyasid ? TLB_CTRL_FLUSH_ASID : TLB_CTRL_FLUSH_ALL;
|
||||
return;
|
||||
}
|
||||
|
||||
if ( vmcb_get_guest_asid(vmcb) != p_asid->asid )
|
||||
vmcb_set_guest_asid(vmcb, p_asid->asid);
|
||||
if ( vmcb_get_asid(vmcb) != p_asid->asid )
|
||||
vmcb_set_asid(vmcb, p_asid->asid);
|
||||
|
||||
vmcb->tlb_control =
|
||||
!need_flush ? TLB_CTRL_NO_FLUSH :
|
||||
|
||||
@@ -157,7 +157,7 @@ int cf_check nsvm_vcpu_reset(struct vcpu *v)
|
||||
svm->ns_hap_enabled = 0;
|
||||
svm->ns_vmcb_guestcr3 = 0;
|
||||
svm->ns_vmcb_hostcr3 = 0;
|
||||
svm->ns_guest_asid = 0;
|
||||
svm->ns_asid = 0;
|
||||
svm->ns_hostflags.bytes = 0;
|
||||
svm->ns_vmexit.exitinfo1 = 0;
|
||||
svm->ns_vmexit.exitinfo2 = 0;
|
||||
@@ -698,11 +698,11 @@ nsvm_vcpu_vmentry(struct vcpu *v, struct cpu_user_regs *regs,
|
||||
/* Convert explicitely to boolean. Deals with l1 guests
|
||||
* that use flush-by-asid w/o checking the cpuid bits */
|
||||
nv->nv_flushp2m = !!ns_vmcb->tlb_control;
|
||||
if ( svm->ns_guest_asid != ns_vmcb->_guest_asid )
|
||||
if ( svm->ns_asid != vmcb_get_asid(ns_vmcb))
|
||||
{
|
||||
nv->nv_flushp2m = 1;
|
||||
hvm_asid_flush_vcpu_asid(&vcpu_nestedhvm(v).nv_n2asid);
|
||||
svm->ns_guest_asid = ns_vmcb->_guest_asid;
|
||||
svm->ns_asid = vmcb_get_asid(ns_vmcb);
|
||||
}
|
||||
|
||||
/* nested paging for the guest */
|
||||
@@ -1046,7 +1046,7 @@ nsvm_vmcb_prepare4vmexit(struct vcpu *v, struct cpu_user_regs *regs)
|
||||
/* Keep it. It's maintainted by the l1 guest. */
|
||||
|
||||
/* ASID */
|
||||
/* ns_vmcb->_guest_asid = n2vmcb->_guest_asid; */
|
||||
/* vmcb_set_asid(ns_vmcb, vmcb_get_asid(n2vmcb)); */
|
||||
|
||||
/* TLB control */
|
||||
ns_vmcb->tlb_control = 0;
|
||||
|
||||
@@ -51,8 +51,8 @@ void svm_vmcb_dump(const char *from, const struct vmcb_struct *vmcb)
|
||||
vmcb->exitcode, vmcb->exit_int_info.raw);
|
||||
printk("exitinfo1 = %#"PRIx64" exitinfo2 = %#"PRIx64"\n",
|
||||
vmcb->exitinfo1, vmcb->exitinfo2);
|
||||
printk("np_ctrl = %#"PRIx64" guest_asid = %#x\n",
|
||||
vmcb_get_np_ctrl(vmcb), vmcb_get_guest_asid(vmcb));
|
||||
printk("np_ctrl = %#"PRIx64" asid = %#x\n",
|
||||
vmcb_get_np_ctrl(vmcb), vmcb_get_asid(vmcb));
|
||||
printk("virtual vmload/vmsave = %d, virt_ext = %#"PRIx64"\n",
|
||||
vmcb->virt_ext.fields.vloadsave_enable, vmcb->virt_ext.bytes);
|
||||
printk("cpl = %d efer = %#"PRIx64" star = %#"PRIx64" lstar = %#"PRIx64"\n",
|
||||
|
||||
@@ -51,7 +51,7 @@ struct nestedsvm {
|
||||
* the l1 guest nested page table
|
||||
*/
|
||||
uint64_t ns_vmcb_guestcr3, ns_vmcb_hostcr3;
|
||||
uint32_t ns_guest_asid;
|
||||
uint32_t ns_asid;
|
||||
|
||||
bool ns_hap_enabled;
|
||||
|
||||
|
||||
@@ -383,7 +383,7 @@ typedef union
|
||||
bool intercepts:1; /* 0: cr/dr/exception/general intercepts,
|
||||
* pause_filter_count, tsc_offset */
|
||||
bool iopm:1; /* 1: iopm_base_pa, msrpm_base_pa */
|
||||
bool asid:1; /* 2: guest_asid */
|
||||
bool asid:1; /* 2: asid */
|
||||
bool tpr:1; /* 3: vintr */
|
||||
bool np:1; /* 4: np, h_cr3, g_pat */
|
||||
bool cr:1; /* 5: cr0, cr3, cr4, efer */
|
||||
@@ -413,7 +413,7 @@ struct vmcb_struct {
|
||||
u64 _iopm_base_pa; /* offset 0x40 - cleanbit 1 */
|
||||
u64 _msrpm_base_pa; /* offset 0x48 - cleanbit 1 */
|
||||
u64 _tsc_offset; /* offset 0x50 - cleanbit 0 */
|
||||
u32 _guest_asid; /* offset 0x58 - cleanbit 2 */
|
||||
u32 _asid; /* offset 0x58 - cleanbit 2 */
|
||||
u8 tlb_control; /* offset 0x5C - TLB_CTRL_* */
|
||||
u8 res07[3];
|
||||
vintr_t _vintr; /* offset 0x60 - cleanbit 3 */
|
||||
@@ -642,7 +642,7 @@ VMCB_ACCESSORS(pause_filter_thresh, intercepts)
|
||||
VMCB_ACCESSORS(tsc_offset, intercepts)
|
||||
VMCB_ACCESSORS(iopm_base_pa, iopm)
|
||||
VMCB_ACCESSORS(msrpm_base_pa, iopm)
|
||||
VMCB_ACCESSORS(guest_asid, asid)
|
||||
VMCB_ACCESSORS(asid, asid)
|
||||
VMCB_ACCESSORS(vintr, tpr)
|
||||
VMCB_ACCESSORS(np_ctrl, np)
|
||||
VMCB_ACCESSORS_(np, bool, np)
|
||||
|
||||