[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v6 4/7] xen/arm: configure dom0less domain for enabling xenstore after boot


  • To: Julien Grall <julien@xxxxxxx>
  • From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Date: Wed, 11 May 2022 09:18:25 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=2; mx.microsoft.com 1; spf=temperror (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com; dmarc=temperror action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ePBCqNEeabGU59QAtnTCYsTsnYeubd91RiznUWsbB58=; b=cU5LHTG5BjAKcs/uSfftMDbnAN+yhrO7LS+v5ArIv274pzZf99aTdpT/yy6wAwEFV76lGnIC3DqzMvZOwzOUcEayI14rTT57rUG6o0De++v+6bt9gQToT+UmSz0vgu3h8Za4icdDtIpnxueTdob2ld9nkOFlbm3NoMCB6rAiMTmLXfoMa723uU5D80FiKuEyg/f8W+c1PPEkaHy77c8wA/7gzmGbzNjXAZFwRdgqa2u403zt6diBnhiD2vJDSWicp+R6ZuZgkkBkG6uz9xX2ZpoHMUJSk5zuUd24kvOrMR+Ig8YUjivp+GRJ/o/nRwBHNSVdQ4b3JTvJorNrbXKDUQ==
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ePBCqNEeabGU59QAtnTCYsTsnYeubd91RiznUWsbB58=; b=bbL5LIkLffVQJo+b8G2C0ZXobNT3gqWWFcbW2yJwfmUv2AnMAgTNf8OvRmlL9ISxgiSDAFO17YFtgQLV9jgi4LmXANnKqNQV/dEM0D+sHvCQ7mJLrJw09N2YCra97BkZrZCy+eHl5rfsGu5XN2pZI7/FaGeA5iDcKJY0WfZrdTY5Ff2/tdgjjjEnVn4sOKAGwbiP3PX2Cocb3YLRahaxyqaDmQE6HCnCr4EMKrgCNYieSCRgXAqsxdlazkMoXND32y0JPs+FpK4oi6eNKr1HrAKa986wO98OvdAfZkIMeZMgRj1/Qiwq8e6kCwzRWnaZ4J+Ve9tcGHeTEkzyEfIA5Q==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=aQzDafCxsqlVqbVQ/V/8SCQdcoHqPW1cdxlhk8FOhhSCDTaBS9wJ8RXFJqeMaZJal5V6OPBxp3L2cIfJbP9ywRBkihDseK+wWxyeI7n5lnKAC1h+GLnG+ybLNSFZ4laNddidOs5u/GTRgSgrcDZl8LvJu59IJRMztgsMBJ6DAxQUrY1PZXwVmWLrDW7H2ovkGZTGAyzT+qkI42a6F83yOVoJp3n+p9DudSqVCRvm7bYr4qB8OeetyjPzax/b3nyFJykaACZ0UhZjmogNGfGjqwdWmFmopRBj/TRDY4O/Rjvhf2lHtl3OwJ0OA4pt4i4qBc2RekcoP3owgdzD/2xuxw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZY/r5DakMKwYJEXNEwLm09tDCqB199hkOO3QRiB/hDtdGQ01l/LMalzHdUn8uNa2YXxVsKe3snnGDJq88Jt2CkhCkWgZAlvS7KdHp+9UmHBWlrV11qWWJ7BMyV37KORInxL1jx2wmi97ImKtYkOJ0VuivbmSqNy274CufjHpR0toU4pvu6842c/ESdK6WvzPwS6ZS96xBFi7KMVOwczhjq1PfV48uiPfTKBH6R2xAJQbHM5hL/Qvtc6LsZNje7LtHT0dt6pHO7l+sSsVln0mhwHUQZ1dI1plhcW3OM8yTTuvkpi62LAWS5ChmZp3VFxgWtWQogIblzVLL6UylCwTDA==
  • Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: Rahul Singh <Rahul.Singh@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, "Volodymyr_Babchuk@xxxxxxxx" <Volodymyr_Babchuk@xxxxxxxx>, Luca Miccio <lucmiccio@xxxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxxxxx>, "jbeulich@xxxxxxxx" <jbeulich@xxxxxxxx>
  • Delivery-date: Wed, 11 May 2022 09:18:58 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHYYBV7IqUb0ECYF0+NQ9CCVyUDtq0YVm2AgAABQwCAAP62gIAADosAgAACPoCAAAaAgIAAAkaA
  • Thread-topic: [PATCH v6 4/7] xen/arm: configure dom0less domain for enabling xenstore after boot

Hi Julien,

> On 11 May 2022, at 10:10, Julien Grall <julien@xxxxxxx> wrote:
> 
> Hi Bertrand,
> 
> On 11/05/2022 09:46, Bertrand Marquis wrote:
>>> On 11 May 2022, at 09:38, Julien Grall <julien@xxxxxxx> wrote:
>>> 
>>> Hi Bertrand,
>>> 
>>> On 11/05/2022 08:46, Bertrand Marquis wrote:
>>>>> On 10 May 2022, at 17:35, Julien Grall <julien@xxxxxxx> wrote:
>>>>> 
>>>>> Hi Rahul,
>>>>> 
>>>>> On 10/05/2022 17:30, Rahul Singh wrote:
>>>>>>> + rc = evtchn_alloc_unbound(&alloc);
>>>>>>> + if ( rc )
>>>>>>> + {
>>>>>>> + printk("Failed allocating event channel for domain\n");
>>>>>>> + return rc;
>>>>>>> + }
>>>>>>> +
>>>>>>> + d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = alloc.port;
>>>>>>> +
>>>>>>> + return 0;
>>>>>>> +}
>>>>>>> +
>>>>>>> static int __init construct_domU(struct domain *d,
>>>>>>> const struct dt_device_node *node)
>>>>>>> {
>>>>>>> @@ -3214,6 +3243,14 @@ static int __init construct_domU(struct domain 
>>>>>>> *d,
>>>>>>> if ( rc < 0 )
>>>>>>> return rc;
>>>>>>> 
>>>>>>> + if ( kinfo.dom0less_enhanced )
>>>>>> I think we need to do something like this to fix the error.
>>>>>> if ( hardware_domain && kinfo.dom0less_enhanced )
>>>>>> {
>>>>>> }
>>>>> 
>>>>> Is there any use case to use "dom0less_enhanced" without dom0 (or a 
>>>>> domain servicing Xenstored)?
>>>>> 
>>>> Just being curious here but would it even be possible to have non dom0 
>>>> domain servicing xenstored ?
>>> 
>>> You can build Xenstored against mini-os and configure the init script to 
>>> launch xenstored as a domain.
>> So dom0 is not mandatory or should mini-os be started as Dom0 for this to 
>> work ?
> 
> In order to allocate the event channel, you need to know the ID of the domain 
> where Xenstored will run. Stefano's patch is relying on Xenstored to be run 
> in Domain 0.
> 
> This would need to be updated if we want to run it in a separate domain.

Ok then Dom0 is mandatory at the moment, I am ok with that.

> 
>>> 
>>>>> If not, then I would consider to forbid this case and return an error.
>>>> One way or an other we need to solve the crash but if it is forbidden we 
>>>> must prevent coming to this step earlier as it means the configuration is 
>>>> wrong.
>>> 
>>> I think this should be checked when parsing the configuration.
>> If dom0 is mandatory yes, we should still make sure that this code cannot be 
>> reached so an ASSERT would be nice here at least in case someone tries to 
>> activate this code without dom0 (which might happen when we will push the 
>> serie for static event channels).
> 
> I am fine with an ASSERT().
> 
> Are you saying that dom0less_enhanced will be set to true for the static 
> event channel series?
> 
> If yes, then I think dom0less_enhanced will need to be an enum so we know 
> what part of Xen is exposed.

No it won’t, we just need some of the changes done but without setting 
dom0less_enhanced.
@Rahul: can you confirm.

Cheers
Bertrand

> 
> Cheers,
> 
> -- 
> Julien Grall


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.