|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC V4 1/5] xen: Emulate with no writes
>>> On 04.08.14 at 16:25, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
> On 08/04/2014 05:09 PM, Jan Beulich wrote:
>>>>> On 04.08.14 at 13:30, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
>>> --- a/xen/arch/x86/hvm/emulate.c
>>> +++ b/xen/arch/x86/hvm/emulate.c
>>> @@ -688,6 +688,51 @@ static int hvmemul_write(
>>> return X86EMUL_OKAY;
>>> }
>>>
>>> +static int hvmemul_write_discard(
>>> + enum x86_segment seg,
>>> + unsigned long offset,
>>> + void *p_data,
>>> + unsigned int bytes,
>>> + struct x86_emulate_ctxt *ctxt)
>>> +{
>>> + /* Discarding the write. */
>>> + return X86EMUL_OKAY;
>>> +}
>>
>> While this one is okay, ...
>>
>>> +static int hvmemul_rep_ins_discard(
>>> + uint16_t src_port,
>>> + enum x86_segment dst_seg,
>>> + unsigned long dst_offset,
>>> + unsigned int bytes_per_rep,
>>> + unsigned long *reps,
>>> + struct x86_emulate_ctxt *ctxt)
>>> +{
>>> + return X86EMUL_OKAY;
>>> +}
>>> +
>>> +static int hvmemul_rep_movs_discard(
>>> + enum x86_segment src_seg,
>>> + unsigned long src_offset,
>>> + enum x86_segment dst_seg,
>>> + unsigned long dst_offset,
>>> + unsigned int bytes_per_rep,
>>> + unsigned long *reps,
>>> + struct x86_emulate_ctxt *ctxt)
>>> +{
>>> + return X86EMUL_OKAY;
>>> +}
>>
>> ... these don't seem to be: I don't think you can just drop the other
>> half of the operation (i.e. the port or MMIO read).
>
> It's been suggested here:
>
> http://lists.xen.org/archives/html/xen-devel/2014-07/msg03088.html
>
> that we should use modified versions of the rep_ins, rep_movs and
> cmpxchg handlers if we want to make sure absolutely no writes will
> happen. Then again, perhaps the modification were supposed to be more
> subtle than just doing nothing in the handler?
That's what I'm trying to hint at.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |