diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-10-29 14:03:56 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-10-29 14:03:56 +0000 |
commit | dd11df9b815419c73c2845df5e4f8433cb43d665 (patch) | |
tree | 5535875f09b2119b0b33a12dd919304a6e58a46b /xen/arch/x86/hvm/emulate.c | |
parent | 50cb039ecd1d6cf91dc5be4c1bfcd3140b5093ff (diff) | |
download | xen-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.c | 4 |
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); |