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
On 17/03/16 10:25, Jan Beulich wrote:
On 16.03.16 at 21:05, wrote:
>> @@ -1742,8 +1742,10 @@ static void load_segments(struct vcpu *n)
>> cs_and_mask = (unsigned short)regs->cs |
>> ((unsigned int)vcpu_info(n, evtchn_upcall_mask) << 16);
>> /* Fold u
>>> On 16.03.16 at 21:05, wrote:
> @@ -1742,8 +1742,10 @@ static void load_segments(struct vcpu *n)
> cs_and_mask = (unsigned short)regs->cs |
> ((unsigned int)vcpu_info(n, evtchn_upcall_mask) << 16);
> /* Fold upcall mask into RFLAGS.IF. */
> -
>>> On 17.03.16 at 11:45, wrote:
> On 17/03/16 10:25, Jan Beulich wrote:
> On 16.03.16 at 21:05, wrote:
>>> @@ -1742,8 +1742,10 @@ static void load_segments(struct vcpu *n)
>>> cs_and_mask = (unsigned short)regs->cs |
>>> ((unsigned int)vcpu_info(n, evtchn_upcall
On 17/03/16 11:00, Jan Beulich wrote:
On 17.03.16 at 11:45, wrote:
>> On 17/03/16 10:25, Jan Beulich wrote:
>> On 16.03.16 at 21:05, wrote:
@@ -1742,8 +1742,10 @@ static void load_segments(struct vcpu *n)
cs_and_mask = (unsigned short)regs->cs |