Re: [Xen-devel] [PATCH for-4.7 v2 2/2] xen/x86: Introduce a new VMASSIST for architectural behaviour of iopl

2016-04-07 Thread Andrew Cooper
On 07/04/2016 23:53, Jan Beulich wrote: On 08.04.16 at 00:30, wrote: >> On 07/04/2016 22:55, Jan Beulich wrote: >> On 07.04.16 at 23:39, wrote: @@ -1763,7 +1765,8 @@ static void load_segments(struct vcpu *n) vcpu_info(n, evtchn_upcall_mask) = 1;

Re: [Xen-devel] [PATCH for-4.7 v2 2/2] xen/x86: Introduce a new VMASSIST for architectural behaviour of iopl

2016-04-07 Thread Jan Beulich
>>> On 08.04.16 at 00:30, wrote: > On 07/04/2016 22:55, Jan Beulich wrote: > On 07.04.16 at 23:39, wrote: >>> @@ -1763,7 +1765,8 @@ static void load_segments(struct vcpu *n) >>> vcpu_info(n, evtchn_upcall_mask) = 1; >>> >>> regs->entry_vector |= TRAP_syscall; >

Re: [Xen-devel] [PATCH for-4.7 v2 2/2] xen/x86: Introduce a new VMASSIST for architectural behaviour of iopl

2016-04-07 Thread Andrew Cooper
On 07/04/2016 22:55, Jan Beulich wrote: On 07.04.16 at 23:39, wrote: >> @@ -1763,7 +1765,8 @@ static void load_segments(struct vcpu *n) >> vcpu_info(n, evtchn_upcall_mask) = 1; >> >> regs->entry_vector |= TRAP_syscall; >> -regs->_eflags &= 0xFF

Re: [Xen-devel] [PATCH for-4.7 v2 2/2] xen/x86: Introduce a new VMASSIST for architectural behaviour of iopl

2016-04-07 Thread Jan Beulich
>>> On 07.04.16 at 23:39, wrote: > @@ -1763,7 +1765,8 @@ static void load_segments(struct vcpu *n) > vcpu_info(n, evtchn_upcall_mask) = 1; > > regs->entry_vector |= TRAP_syscall; > -regs->_eflags &= 0xFFFCBEFFUL; > +regs->_eflags &=

[Xen-devel] [PATCH for-4.7 v2 2/2] xen/x86: Introduce a new VMASSIST for architectural behaviour of iopl

2016-04-07 Thread Andrew Cooper
The existing vIOPL interface is hard to use, and need not be. Introduce a VMASSIST with which a guest can opt-in to having vIOPL behaviour consistenly with native hardware. Specifically: - virtual iopl updated from do_iret() hypercalls. - virtual iopl reported in bounce frames. - guest kernels