From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tamas K Lengyel Subject: Re: [PATCH for-4.5 v8 06/19] xen: Relocate mem_event_op domctl and access_op memop into common. Date: Tue, 23 Sep 2014 16:13:05 +0200 Message-ID: References: <1411478070-13836-1-git-send-email-tklengyel@sec.in.tum.de> <1411478070-13836-7-git-send-email-tklengyel@sec.in.tum.de> <542192860200007800037BB5@mail.emea.novell.com> <54217D0F.90606@bitdefender.com> <54219AD70200007800037C02@mail.emea.novell.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1657156146678897165==" Return-path: In-Reply-To: <54219AD70200007800037C02@mail.emea.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich Cc: Ian Campbell , Razvan Cojocaru , Tim Deegan , Julien Grall , Ian Jackson , "xen-devel@lists.xen.org" , Stefano Stabellini , Andres Lagar-Cavilla , Daniel De Graaf , Tamas K Lengyel List-Id: xen-devel@lists.xenproject.org --===============1657156146678897165== Content-Type: multipart/alternative; boundary=001a11c3bccc80973e0503bc2a84 --001a11c3bccc80973e0503bc2a84 Content-Type: text/plain; charset=ISO-8859-1 On Tue, Sep 23, 2014 at 4:07 PM, Jan Beulich wrote: > >>> On 23.09.14 at 16:00, wrote: > > On 09/23/2014 04:32 PM, Jan Beulich wrote: > >>>>> On 23.09.14 at 15:14, wrote: > >>> --- a/xen/common/mem_event.c > >>> +++ b/xen/common/mem_event.c > >>> @@ -623,12 +623,9 @@ int mem_event_domctl(struct domain *d, > >>> xen_domctl_mem_event_op_t *mec, > >>> HVM_PARAM_ACCESS_RING_PFN, > >>> mem_access_notification); > >>> > >>> - if ( mec->op != XEN_DOMCTL_MEM_EVENT_OP_ACCESS_ENABLE && > >>> - rc == 0 && hvm_funcs.enable_msr_exit_interception ) > >>> - { > >>> - d->arch.hvm_domain.introspection_enabled = 1; > >>> - hvm_funcs.enable_msr_exit_interception(d); > >>> - } > >>> + if ( !rc && mec->op != > XEN_DOMCTL_MEM_EVENT_OP_ACCESS_ENABLE ) > >>> + p2m_enable_msr_exit_interception(d); > >> > >> The name is clearly not suitable for an abstraction - there's certainly > >> not going to be MSRs on each and every CPU architecture. Maybe > >> consult with Razvan on an agreeable more suitable name. > > > > P2m_set_up_introspection() perhaps? With the MSR HVM code where > > applicable, nothing (or something else) where not? Would this be too > > generic? > > I'd be fine with that name provided the != above gets converted > to a == XEN_DOMCTL_MEM_EVENT_OP_ACCESS_ENABLE_INTROSPECTION. > > Jan > My problem with this name is that introspection is really way too generic of a term. You can certainly do all sorts of introspection without having this feature or using this feature.. Ultimately its just a name so if this becomes Xen's terminology to mean this particular feature I'm fine with it but that's going to be confusing when other people talk about 'introspection'. Tamas --001a11c3bccc80973e0503bc2a84 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable


On Tue, Sep 23, 2014 at 4:07 PM, Jan Beulich <JBeulich@suse.com>= ; wrote:
>>= > On 23.09.14 at 16:00, <rcojocaru@bitdefender.com> wrote:
> On 09/23/2014 04:32 PM, Jan Beulich wrote:
>>>>> On 23.09.14 at 15:14, <tklengyel@sec.in.tum.de> wrote:
>>> --- a/xen/common/mem_event.c
>>> +++ b/xen/common/mem_event.c
>>> @@ -623,12 +623,9 @@ int mem_event_domctl(struct domain *d, >>> xen_domctl_mem_event_op_t *mec,
>>>=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 HVM_PARAM_ACCESS_RING_PFN,
>>>=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 mem_access_notification);
>>>
>>> -=A0 =A0 =A0 =A0 =A0 =A0 if ( mec->op !=3D XEN_DOMCTL_MEM_E= VENT_OP_ACCESS_ENABLE &&
>>> -=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0rc =3D=3D 0 && hvm= _funcs.enable_msr_exit_interception )
>>> -=A0 =A0 =A0 =A0 =A0 =A0 {
>>> -=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 d->arch.hvm_domain.introsp= ection_enabled =3D 1;
>>> -=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 hvm_funcs.enable_msr_exit_int= erception(d);
>>> -=A0 =A0 =A0 =A0 =A0 =A0 }
>>> +=A0 =A0 =A0 =A0 =A0 =A0 if ( !rc && mec->op !=3D X= EN_DOMCTL_MEM_EVENT_OP_ACCESS_ENABLE )
>>> +=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 p2m_enable_msr_exit_intercept= ion(d);
>>
>> The name is clearly not suitable for an abstraction - there's = certainly
>> not going to be MSRs on each and every CPU architecture. Maybe
>> consult with Razvan on an agreeable more suitable name.
>
> P2m_set_up_introspection() perhaps? With the MSR HVM code where
> applicable, nothing (or something else) where not? Would this be too > generic?

I'd be fine with that name provided the !=3D above gets converte= d
to a =3D=3D XEN_DOMCTL_MEM_EVENT_OP_ACCESS_ENABLE_INTROSPECTION.

Jan

My pr= oblem with this name is that introspection is really way too generic of a t= erm. You can certainly do all sorts of introspection without having this fe= ature or using this feature.. Ultimately its just a name so if this becomes= Xen's terminology to mean this particular feature I'm fine with it= but that's going to be confusing when other people talk about 'int= rospection'.

Tamas
--001a11c3bccc80973e0503bc2a84-- --===============1657156146678897165== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --===============1657156146678897165==--