ia64/xen-unstable

changeset 16550:381781af1d5a

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>
author Keir Fraser <keir.fraser@citrix.com>
date Thu Dec 06 15:17:48 2007 +0000 (2007-12-06)
parents baf90ee3c1da
children cfdbdca5b831
files tools/ioemu/target-i386-dm/helper2.c xen/arch/x86/hvm/intercept.c xen/include/public/hvm/ioreq.h
line diff
     1.1 --- a/tools/ioemu/target-i386-dm/helper2.c	Thu Dec 06 13:56:00 2007 +0000
     1.2 +++ b/tools/ioemu/target-i386-dm/helper2.c	Thu Dec 06 15:17:48 2007 +0000
     1.3 @@ -556,7 +556,7 @@ void __handle_buffered_iopage(CPUState *
     1.4          req.data = buf_req->data;
     1.5          req.state = STATE_IOREQ_READY;
     1.6          req.dir = buf_req->dir;
     1.7 -        req.df = buf_req->df;
     1.8 +        req.df = 1;
     1.9          req.type = buf_req->type;
    1.10          req.data_is_ptr = 0;
    1.11          qw = (req.size == 8);
     2.1 --- a/xen/arch/x86/hvm/intercept.c	Thu Dec 06 13:56:00 2007 +0000
     2.2 +++ b/xen/arch/x86/hvm/intercept.c	Thu Dec 06 15:17:48 2007 +0000
     2.3 @@ -176,7 +176,6 @@ int hvm_buffered_io_send(ioreq_t *p)
     2.4  
     2.5      bp.type = p->type;
     2.6      bp.dir  = p->dir;
     2.7 -    bp.df   = p->df;
     2.8      switch ( p->size )
     2.9      {
    2.10      case 1:
     3.1 --- a/xen/include/public/hvm/ioreq.h	Thu Dec 06 13:56:00 2007 +0000
     3.2 +++ b/xen/include/public/hvm/ioreq.h	Thu Dec 06 15:17:48 2007 +0000
     3.3 @@ -58,6 +58,7 @@ struct ioreq {
     3.4                               *   of the real data to use.   */
     3.5      uint8_t dir:1;          /*  1=read, 0=write             */
     3.6      uint8_t df:1;
     3.7 +    uint8_t pad:1;
     3.8      uint8_t type;           /* I/O type                     */
     3.9      uint8_t _pad0[6];
    3.10      uint64_t io_count;      /* How many IO done on a vcpu   */
    3.11 @@ -79,7 +80,7 @@ typedef struct shared_iopage shared_iopa
    3.12  
    3.13  struct buf_ioreq {
    3.14      uint8_t  type;   /* I/O type                    */
    3.15 -    uint8_t  df:1;   /* EFLAGS.DF                   */
    3.16 +    uint8_t  pad:1;
    3.17      uint8_t  dir:1;  /* 1=read, 0=write             */
    3.18      uint8_t  size:2; /* 0=>1, 1=>2, 2=>4, 3=>8. If 8, use two buf_ioreqs */
    3.19      uint32_t addr:20;/* physical address            */