Re: [Xen-devel] [PATCH v2 01/17] x86/hvm: simplify hvmemul_do_io()

2015-06-17 Thread Jan Beulich
>>> On 17.06.15 at 16:55, wrote: >> From: Jan Beulich [mailto:jbeul...@suse.com] >> Sent: 17 June 2015 15:48 >> >>> On 17.06.15 at 15:54, wrote: >> >> -Original Message- >> >> From: Jan Beulich [mailto:jbeul...@suse.com] >> >> Sent: 17 June 2015 14:31 >> >> >>> On 11.06.15 at 17:42, wro

Re: [Xen-devel] [PATCH v2 01/17] x86/hvm: simplify hvmemul_do_io()

2015-06-17 Thread Paul Durrant
> -Original Message- > From: Jan Beulich [mailto:jbeul...@suse.com] > Sent: 17 June 2015 15:48 > To: Paul Durrant > Cc: Andrew Cooper; xen-de...@lists.xenproject.org; Keir (Xen.org) > Subject: RE: [PATCH v2 01/17] x86/hvm: simplify hvmemul_do_io() > > >>> On 17.06.15 at 15:54, wrote: > >>

Re: [Xen-devel] [PATCH v2 01/17] x86/hvm: simplify hvmemul_do_io()

2015-06-17 Thread Jan Beulich
>>> On 17.06.15 at 15:54, wrote: >> -Original Message- >> From: Jan Beulich [mailto:jbeul...@suse.com] >> Sent: 17 June 2015 14:31 >> >>> On 11.06.15 at 17:42, wrote: >> > @@ -190,7 +141,12 @@ static int hvmemul_do_io( >> > p.count = *reps; >> > >> > if ( dir == IOREQ_WRITE ) >

Re: [Xen-devel] [PATCH v2 01/17] x86/hvm: simplify hvmemul_do_io()

2015-06-17 Thread Paul Durrant
> -Original Message- > From: Jan Beulich [mailto:jbeul...@suse.com] > Sent: 17 June 2015 14:31 > To: Paul Durrant > Cc: Andrew Cooper; xen-de...@lists.xenproject.org; Keir (Xen.org) > Subject: Re: [PATCH v2 01/17] x86/hvm: simplify hvmemul_do_io() > > >>> On 11.06.15 at 17:42, wrote: > >

Re: [Xen-devel] [PATCH v2 01/17] x86/hvm: simplify hvmemul_do_io()

2015-06-17 Thread Jan Beulich
>>> On 11.06.15 at 17:42, wrote: > --- a/xen/arch/x86/hvm/emulate.c > +++ b/xen/arch/x86/hvm/emulate.c > @@ -51,41 +51,23 @@ static void hvmtrace_io_assist(int is_mmio, ioreq_t *p) > } > > static int hvmemul_do_io( > -int is_mmio, paddr_t addr, unsigned long *reps, int size, > -paddr_t

[Xen-devel] [PATCH v2 01/17] x86/hvm: simplify hvmemul_do_io()

2015-06-11 Thread Paul Durrant
Currently hvmemul_do_io() handles paging for I/O to/from a guest address inline. This causes every exit point to have to execute: if ( ram_page ) put_page(ram_page); This patch introduces wrapper hvmemul_do_io_addr() and hvmemul_do_io_buffer() functions. The latter is used for I/O to/from a X