|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] x86/svm: Remove ioio_info_t type
commit 8d436bf73e68dd3cf4d148e6313e642ab5dda412
Author: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
AuthorDate: Mon Sep 28 15:02:45 2026 +0100
Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Wed Nov 4 18:11:35 2026 +0000
x86/svm: Remove ioio_info_t type
This type duplicates what is already in the VMCB struct. Remove it and
have the only user access the VMCB directly.
No functional change intended.
Suggested-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
Reviewed-by: Jason Andryuk <jason.andryuk@xxxxxxx>
---
xen/arch/x86/hvm/svm/nestedsvm.c | 13 +++++--------
xen/arch/x86/hvm/svm/vmcb.h | 17 -----------------
2 files changed, 5 insertions(+), 25 deletions(-)
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index 128008321d..61c401240d 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -809,18 +809,16 @@ nsvm_vmcb_guest_intercepts_msr(unsigned long *msr_bitmap,
}
static int
-nsvm_vmcb_guest_intercepts_ioio(paddr_t iopm_pa, uint64_t exitinfo1)
+nsvm_vmcb_guest_intercepts_ioio(struct vmcb_struct *vmcb)
{
- unsigned long gfn = iopm_pa >> PAGE_SHIFT;
+ unsigned long gfn = vmcb->_iopm_base_pa >> PAGE_SHIFT;
unsigned long *io_bitmap;
- ioio_info_t ioinfo;
uint16_t port;
unsigned int size;
bool intercepted;
- ioinfo.bytes = exitinfo1;
- port = ioinfo.fields.port;
- size = ioinfo.fields.sz32 ? 4 : ioinfo.fields.sz16 ? 2 : 1;
+ port = vmcb->ei.io.port;
+ size = vmcb->ei.io.bytes;
switch ( port )
{
@@ -930,8 +928,7 @@ nsvm_vmcb_guest_intercepts_exitcode(struct vcpu *v,
if ( !nestedsvm_vmcb_map(v, nv->nv_vvmcxaddr) )
break;
ns_vmcb = nv->nv_vvmcx;
- vmexits = nsvm_vmcb_guest_intercepts_ioio(ns_vmcb->_iopm_base_pa,
- ns_vmcb->exitinfo1);
+ vmexits = nsvm_vmcb_guest_intercepts_ioio(ns_vmcb);
if ( vmexits == NESTEDHVM_VMEXIT_HOST )
return 0;
break;
diff --git a/xen/arch/x86/hvm/svm/vmcb.h b/xen/arch/x86/hvm/svm/vmcb.h
index 28dae325ce..131815a712 100644
--- a/xen/arch/x86/hvm/svm/vmcb.h
+++ b/xen/arch/x86/hvm/svm/vmcb.h
@@ -352,23 +352,6 @@ typedef union
} fields;
} vintr_t;
-typedef union
-{
- u64 bytes;
- struct
- {
- u64 type: 1;
- u64 rsv0: 1;
- u64 str: 1;
- u64 rep: 1;
- u64 sz8: 1;
- u64 sz16: 1;
- u64 sz32: 1;
- u64 rsv1: 9;
- u64 port: 16;
- } fields;
-} ioio_info_t;
-
typedef union
{
u64 bytes;
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |