ia64/xen-unstable

changeset 14716:6cfc491631d5

hvm: hvm_io_assist() doesn't preoperly make use of its vcpu
parameter. Remove it to make it obvious that it can only be called for
the currently-executing vcpu.
Signed-off-by: Keir Fraser <keir@xensource.com>
author kfraser@localhost.localdomain
date Wed Apr 04 11:16:13 2007 +0100 (2007-04-04)
parents 0dabddd77879
children c278b1c580db
files xen/arch/x86/hvm/hvm.c xen/arch/x86/hvm/io.c xen/arch/x86/hvm/platform.c xen/include/asm-x86/hvm/io.h
line diff
     1.1 --- a/xen/arch/x86/hvm/hvm.c	Wed Apr 04 11:13:20 2007 +0100
     1.2 +++ b/xen/arch/x86/hvm/hvm.c	Wed Apr 04 11:16:13 2007 +0100
     1.3 @@ -131,7 +131,7 @@ void hvm_do_resume(struct vcpu *v)
     1.4          switch ( p->state )
     1.5          {
     1.6          case STATE_IORESP_READY: /* IORESP_READY -> NONE */
     1.7 -            hvm_io_assist(v);
     1.8 +            hvm_io_assist();
     1.9              break;
    1.10          case STATE_IOREQ_READY:  /* IOREQ_{READY,INPROCESS} -> IORESP_READY */
    1.11          case STATE_IOREQ_INPROCESS:
     2.1 --- a/xen/arch/x86/hvm/io.c	Wed Apr 04 11:13:20 2007 +0100
     2.2 +++ b/xen/arch/x86/hvm/io.c	Wed Apr 04 11:16:13 2007 +0100
     2.3 @@ -764,13 +764,14 @@ static void hvm_mmio_assist(struct cpu_u
     2.4      }
     2.5  }
     2.6  
     2.7 -void hvm_io_assist(struct vcpu *v)
     2.8 +void hvm_io_assist(void)
     2.9  {
    2.10      vcpu_iodata_t *vio;
    2.11      ioreq_t *p;
    2.12      struct cpu_user_regs *regs;
    2.13      struct hvm_io_op *io_opp;
    2.14      unsigned long gmfn;
    2.15 +    struct vcpu *v = current;
    2.16      struct domain *d = v->domain;
    2.17  
    2.18      io_opp = &v->arch.hvm_vcpu.io_op;
     3.1 --- a/xen/arch/x86/hvm/platform.c	Wed Apr 04 11:13:20 2007 +0100
     3.2 +++ b/xen/arch/x86/hvm/platform.c	Wed Apr 04 11:16:13 2007 +0100
     3.3 @@ -865,7 +865,7 @@ void send_pio_req(unsigned long port, un
     3.4      if ( hvm_portio_intercept(p) )
     3.5      {
     3.6          p->state = STATE_IORESP_READY;
     3.7 -        hvm_io_assist(v);
     3.8 +        hvm_io_assist();
     3.9          return;
    3.10      }
    3.11  
    3.12 @@ -914,7 +914,7 @@ static void send_mmio_req(unsigned char 
    3.13      if ( hvm_mmio_intercept(p) || hvm_buffered_io_intercept(p) )
    3.14      {
    3.15          p->state = STATE_IORESP_READY;
    3.16 -        hvm_io_assist(v);
    3.17 +        hvm_io_assist();
    3.18          return;
    3.19      }
    3.20  
     4.1 --- a/xen/include/asm-x86/hvm/io.h	Wed Apr 04 11:13:20 2007 +0100
     4.2 +++ b/xen/include/asm-x86/hvm/io.h	Wed Apr 04 11:16:13 2007 +0100
     4.3 @@ -149,7 +149,7 @@ extern void send_pio_req(unsigned long p
     4.4  void send_timeoffset_req(unsigned long timeoff);
     4.5  extern void handle_mmio(unsigned long gpa);
     4.6  extern void hvm_interrupt_post(struct vcpu *v, int vector, int type);
     4.7 -extern void hvm_io_assist(struct vcpu *v);
     4.8 +extern void hvm_io_assist(void);
     4.9  
    4.10  #endif /* __ASM_X86_HVM_IO_H__ */
    4.11