>>> On 19.07.18 at 16:20, <paul.durr...@citrix.com> wrote:
>> From: Jan Beulich [mailto:jbeul...@suse.com]
>> Sent: 19 July 2018 11:49
>> @@ -1046,6 +1060,8 @@ static int __hvmemul_read(
>>          pfec |= PFEC_implicit;
>>      else if ( hvmemul_ctxt->seg_reg[x86_seg_ss].dpl == 3 )
>>          pfec |= PFEC_user_mode;
>> +    if ( access_type == hvm_access_insn_fetch )
>> +        pfec |= PFEC_insn_fetch;
> 
> Since you OR the insn_fetch flag in here...
> 
>> 
>>      rc = hvmemul_virtual_to_linear(
>>          seg, offset, bytes, &reps, access_type, hvmemul_ctxt, &addr);
>> @@ -1059,7 +1075,8 @@ static int __hvmemul_read(
>> 
>>      rc = ((access_type == hvm_access_insn_fetch) ?
>>            hvm_fetch_from_guest_linear(p_data, addr, bytes, pfec, &pfinfo) :
> 
> ...could you not just use hvm_copy_from_guest_linear() here regardless of 
> access_type (and just NULL out the cache argument if it is an insn_fetch)?
> 
> AFAICT the only reason hvm_fetch_from_guest_linear() exists is to OR the 
> extra flag in.

Well, technically it looks like I indeed could. I'm not sure that's good idea
though - the visual separation of "copy" vs "fetch" is helpful I think. Let's
see if I get any opinions by others in one or the other direction.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to