aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/hvm/emulate.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-10-29 14:03:56 +0000
committerKeir Fraser <keir.fraser@citrix.com>2009-10-29 14:03:56 +0000
commitdd11df9b815419c73c2845df5e4f8433cb43d665 (patch)
tree5535875f09b2119b0b33a12dd919304a6e58a46b /xen/arch/x86/hvm/emulate.c
parent50cb039ecd1d6cf91dc5be4c1bfcd3140b5093ff (diff)
downloadxen-dd11df9b815419c73c2845df5e4f8433cb43d665.tar.gz
xen-dd11df9b815419c73c2845df5e4f8433cb43d665.tar.bz2
xen-dd11df9b815419c73c2845df5e4f8433cb43d665.zip
Extend max vcpu number for HVM guest
Reduce size of Xen-qemu shared ioreq structure to 32 bytes. This has two advantages: 1. We can support up to 128 VCPUs with a single shared page 2. If/when we want to go beyond 128 VCPUs, a whole number of ioreq_t structures will pack into a single shared page, so a multi-page array will have no ioreq_t straddling a page boundary Also, while modifying qemu, replace a 32-entry vcpu-indexed array with a dynamically-allocated array. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/arch/x86/hvm/emulate.c')
-rw-r--r--xen/arch/x86/hvm/emulate.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 36653122a8..d257ff3061 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -55,8 +55,7 @@ static int hvmemul_do_io(
paddr_t value = ram_gpa;
int value_is_ptr = (p_data == NULL);
struct vcpu *curr = current;
- vcpu_iodata_t *vio = get_ioreq(curr);
- ioreq_t *p = &vio->vp_ioreq;
+ ioreq_t *p = get_ioreq(curr);
int rc;
/*
@@ -138,7 +137,6 @@ static int hvmemul_do_io(
p->count = *reps;
p->df = df;
p->data = value;
- p->io_count++;
hvmtrace_io_assist(is_mmio, p);