|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V6 4/4] x86/mm: Make use of the default access param from xc_altp2m_create_view
On 24.12.2019 10:48, George Dunlap wrote:
> On 12/23/19 2:04 PM, Alexandru Stefan ISAILA wrote:
>> At this moment the default_access param from xc_altp2m_create_view is
>> not used.
>>
>> This patch assigns default_access to p2m->default_access at the time of
>> initializing a new altp2m view.
>
> That's certainly not what it looks like. It looks like you're changing
> it from...
>
>> @@ -2562,7 +2564,7 @@ static int p2m_activate_altp2m(struct domain *d,
> unsigned int idx)
>> goto out;
>> }
>>
>> - p2m->default_access = hostp2m->default_access;
>> + p2m->default_access = hvmmem_default_access;
>> p2m->domain = hostp2m->domain;
>> p2m->global_logdirty = hostp2m->global_logdirty;
>> p2m->min_remapped_gfn = gfn_x(INVALID_GFN);
>
> ...hostp2m->default_access to...
>
>> @@ -340,7 +340,10 @@ static bool xenmem_access_to_p2m_access(struct
> p2m_domain *p2m,
>> *paccess = memaccess[xaccess];
>> break;
>> case XENMEM_access_default:
>> - *paccess = p2m->default_access;
>> + if ( !p2m )
>> + *paccess = p2m_access_rwx;
>> + else
>> + *paccess = p2m->default_access;
>> break;
>> default:
>> return false;
>
> ...p2m_access_rwx (by passing NULL in to this function in
> p2m_init_next_altp2m).
>
> Why don't you...
>
>> -int p2m_init_next_altp2m(struct domain *d, uint16_t *idx)
>> +int p2m_init_next_altp2m(struct domain *d, uint16_t *idx,
>> + xenmem_access_t hvmmem_default_access)
>> {
>> int rc = -EINVAL;
>> unsigned int i;
>> + p2m_access_t a;
>> + struct p2m_domain *p2m;
>> +
>> + if ( hvmmem_default_access > XENMEM_access_default ||
>> + !xenmem_access_to_p2m_access(NULL, hvmmem_default_access, &a) )
>> + return rc;
>>
>> altp2m_list_lock(d);
>>
>
> ...pass in hostp2m here?
That sound better then the current version, thanks.
>
> Also...
>
>> @@ -2606,7 +2616,8 @@ int p2m_init_next_altp2m(struct domain *d,
> uint16_t *idx)
>> if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
>> continue;
>>
>> - rc = p2m_activate_altp2m(d, i);
>> + p2m = d->arch.altp2m_p2m[i];
>
> What's this about?
>
This is an artifact form v3 when xenmem_access_to_p2m_access() needed
p2m. I will clean it.
Alex
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |