Re: [Xen-devel] [PATCH v5] x86/hvm: Implement hvmemul_write() using real mappings

2017-09-27 Thread Jan Beulich
>>> On 27.09.17 at 14:11, wrote: > On 27/09/17 12:48, Alexandru Stefan ISAILA wrote: >> On Mi, 2017-09-27 at 09:38 +0100, Andrew Cooper wrote: >>> On 27/09/2017 09:04, Alexandru Isaila wrote: From: Andrew Cooper -

Re: [Xen-devel] [PATCH v5] x86/hvm: Implement hvmemul_write() using real mappings

2017-09-27 Thread Andrew Cooper
On 27/09/17 12:48, Alexandru Stefan ISAILA wrote: > On Mi, 2017-09-27 at 09:38 +0100, Andrew Cooper wrote: >> On 27/09/2017 09:04, Alexandru Isaila wrote: >>> From: Andrew Cooper >>> >>> >>> -return X86EMUL_EXCEPTION; >>> -case HVMTRANS_bad_gfn_to_mfn: >>> -

Re: [Xen-devel] [PATCH v5] x86/hvm: Implement hvmemul_write() using real mappings

2017-09-27 Thread Alexandru Stefan ISAILA
On Mi, 2017-09-27 at 09:38 +0100, Andrew Cooper wrote: > On 27/09/2017 09:04, Alexandru Isaila wrote: > > > > From: Andrew Cooper > > > > > > -return X86EMUL_EXCEPTION; > > -case HVMTRANS_bad_gfn_to_mfn: > > -return hvmemul_linear_mmio_write(addr,

Re: [Xen-devel] [PATCH v5] x86/hvm: Implement hvmemul_write() using real mappings

2017-09-27 Thread Jan Beulich
>>> On 27.09.17 at 10:38, wrote: > On 27/09/2017 09:04, Alexandru Isaila wrote: >> --- a/xen/arch/x86/hvm/emulate.c >> +++ b/xen/arch/x86/hvm/emulate.c >> @@ -498,6 +498,156 @@ static int hvmemul_do_mmio_addr(paddr_t mmio_gpa, >> } >> >> /* >> + * Map the frame(s)

Re: [Xen-devel] [PATCH v5] x86/hvm: Implement hvmemul_write() using real mappings

2017-09-27 Thread Andrew Cooper
On 27/09/2017 09:04, Alexandru Isaila wrote: > From: Andrew Cooper > > An access which crosses a page boundary is performed atomically by x86 > hardware, albeit with a severe performance penalty. An important corner case > is when a straddled access hits two pages

[Xen-devel] [PATCH v5] x86/hvm: Implement hvmemul_write() using real mappings

2017-09-27 Thread Alexandru Isaila
From: Andrew Cooper An access which crosses a page boundary is performed atomically by x86 hardware, albeit with a severe performance penalty. An important corner case is when a straddled access hits two pages which differ in whether a translation exists, or in net