aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2007-12-06 15:17:48 +0000
committerKeir Fraser <keir.fraser@citrix.com>2007-12-06 15:17:48 +0000
commitd39c9aec548805aded562f6a93f86451aab2f4ad (patch)
treed52e50cfe3190a9c028a912a495aa7b1b92177e2
parentcdac12a18cde570b9ea12bf911cee2d4659d663d (diff)
downloadxen-d39c9aec548805aded562f6a93f86451aab2f4ad.tar.gz
xen-d39c9aec548805aded562f6a93f86451aab2f4ad.tar.bz2
xen-d39c9aec548805aded562f6a93f86451aab2f4ad.zip
hvm: buffered_ioreq does not need a 'df' field. Add explicit bitfield
padding to ioreq and buf_ioreq structs. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-rw-r--r--tools/ioemu/target-i386-dm/helper2.c2
-rw-r--r--xen/arch/x86/hvm/intercept.c1
-rw-r--r--xen/include/public/hvm/ioreq.h3
3 files changed, 3 insertions, 3 deletions
diff --git a/tools/ioemu/target-i386-dm/helper2.c b/tools/ioemu/target-i386-dm/helper2.c
index c139f12632..e0f16845f6 100644
--- a/tools/ioemu/target-i386-dm/helper2.c
+++ b/tools/ioemu/target-i386-dm/helper2.c
@@ -556,7 +556,7 @@ void __handle_buffered_iopage(CPUState *env)
req.data = buf_req->data;
req.state = STATE_IOREQ_READY;
req.dir = buf_req->dir;
- req.df = buf_req->df;
+ req.df = 1;
req.type = buf_req->type;
req.data_is_ptr = 0;
qw = (req.size == 8);
diff --git a/xen/arch/x86/hvm/intercept.c b/xen/arch/x86/hvm/intercept.c
index be58c05d0c..27d0cbc6ab 100644
--- a/xen/arch/x86/hvm/intercept.c
+++ b/xen/arch/x86/hvm/intercept.c
@@ -176,7 +176,6 @@ int hvm_buffered_io_send(ioreq_t *p)
bp.type = p->type;
bp.dir = p->dir;
- bp.df = p->df;
switch ( p->size )
{
case 1:
diff --git a/xen/include/public/hvm/ioreq.h b/xen/include/public/hvm/ioreq.h
index 456d059d92..e14d5a9291 100644
--- a/xen/include/public/hvm/ioreq.h
+++ b/xen/include/public/hvm/ioreq.h
@@ -58,6 +58,7 @@ struct ioreq {
* of the real data to use. */
uint8_t dir:1; /* 1=read, 0=write */
uint8_t df:1;
+ uint8_t pad:1;
uint8_t type; /* I/O type */
uint8_t _pad0[6];
uint64_t io_count; /* How many IO done on a vcpu */
@@ -79,7 +80,7 @@ typedef struct shared_iopage shared_iopage_t;
struct buf_ioreq {
uint8_t type; /* I/O type */
- uint8_t df:1; /* EFLAGS.DF */
+ uint8_t pad:1;
uint8_t dir:1; /* 1=read, 0=write */
uint8_t size:2; /* 0=>1, 1=>2, 2=>4, 3=>8. If 8, use two buf_ioreqs */
uint32_t addr:20;/* physical address */