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

Re: [PATCH v3 01/16] x86/boot: introduce boot domain


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>
  • Date: Wed, 16 Apr 2025 11:01:18 -0400
  • Arc-authentication-results: i=1; mx.zohomail.com; dkim=pass header.i=apertussolutions.com; spf=pass smtp.mailfrom=dpsmith@xxxxxxxxxxxxxxxxxxxx; dmarc=pass header.from=<dpsmith@xxxxxxxxxxxxxxxxxxxx>
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1744815683; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=12l9cvwZ36YwY7SJB5D8cLFbHN6eFa0lUGgbqU/vpe8=; b=dIK1JZzYr87+EvhRU2aFlkus/QDltNKVpH6Uj9w35iHmDw3IPL3U2JuGpAr62Ev/xw6MQ16+yOmSFFpPJCXZ5zDFABLGpUmsWxgY/IOSl6d3Rb0xPItU+9GaxvMt8pFc5lkQqheWLgLNz7zdaUKxuWIv6aLMlu4ivMMbl/ng7oo=
  • Arc-seal: i=1; a=rsa-sha256; t=1744815683; cv=none; d=zohomail.com; s=zohoarc; b=KWNsUKqKkk0xaVEC7wa9it+znD1GfUoDqKtm4ehC5JRL59TEnRNEf2YtiDrwfIqmc9wwAW3or2YywIq1wdWIPzDcpxrzVMrIdHnfzwBUbCiOx8NDnhcN7ToVOshH5DS5F/tzWG4wcLa/2gq1Ht940B9mY0Ez0AlLaZOxQPJCgVw=
  • Autocrypt: addr=dpsmith@xxxxxxxxxxxxxxxxxxxx; keydata= xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+ MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
  • Cc: Xenia Ragiadakou <xenia.ragiadakou@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx, Alejandro Vallejo <agarciav@xxxxxxx>, Jason Andryuk <jason.andryuk@xxxxxxx>
  • Delivery-date: Wed, 16 Apr 2025 15:01:46 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>



V/r,
Daniel P. Smith
Apertus Solutions, LLC

On 4/16/25 10:06, Jan Beulich wrote:
On 16.04.2025 16:00, Daniel P. Smith wrote:


V/r,
Daniel P. Smith
Apertus Solutions, LLC

On 4/16/25 09:33, Jan Beulich wrote:
On 16.04.2025 15:02, Daniel P. Smith wrote:
On 4/10/25 16:56, Jason Andryuk wrote:
On 2025-04-10 11:01, Jan Beulich wrote:
On 10.04.2025 15:09, Daniel P. Smith wrote:
On 4/9/25 02:24, Jan Beulich wrote:
On 08.04.2025 18:07, Alejandro Vallejo wrote:
From: "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>

To begin moving toward allowing the hypervisor to construct more
than one
domain at boot, a container is needed for a domain's build
information.
Introduce a new header, <xen/asm/bootdomain.h>, that contains the
initial
struct boot_domain that encapsulate the build information for a
domain.

Add a kernel and ramdisk boot module reference along with a struct
domain
reference to the new struct boot_domain. This allows a struct
boot_domain
reference to be the only parameter necessary to pass down through
the domain
construction call chain.

Signed-off-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Jason Andryuk <jason.andryuk@xxxxxxx>

Acked-by: Jan Beulich <jbeulich@xxxxxxxx>

I have to object because the meaningless rename is going cause
significant pain in the rebase of the follow-on series for no improved
code clarity.

Sorry, then an incremental patch undoing the rename that happened (with
appropriate justification) will need proposing - the patch here has gone
in already.

Coming from a Linux background, ramdisk seemed more natural to me.  But
looking at hvm_start_info, the fields are called module there.  And
since we shouldn't tie this to the Linux naming, the more generic
"module" name seemed fine to me.

Again, as I have stated, ramdisk is not a Linux only concept. In fact,
as Jan points out, initrd/initramfs are Linux specific implementations
of a ramdisk for which Xen doesn't even fully support. I am inclined to
ask the inverse of why hvm_start_info uses the name module. But that
aside, let's consider the fact that the field is only populated by the
device tree when a module type of BOOTMOD_RAMDISK is matched. And all
the uses of the field are when its value is stored into a local variable
called initrd.

Though the biggest irony is that generally obtuse abstraction are
routinely blocked unless there is a tangible future case. Yet none was
offered in the comment. Thus on that principle alone, a request for a
tangible future use should have been requested and provided for the
change to be considered.

Does it even need to be a _future_ use here? Aren't you working on
abstracting domain creation, suitable (in principle) for all architectures?
Isn't therefore a more generic name (as "module" is) preferable over a more
specific one?

Yes we are trying to build a future capability, but my point is let's
consider all possible known OS's start up today. What other boot module
could potentially be passed in that is exclusive of a ramdisk, thus
allowing a multiplex of the field. And the answer is none.

Is it? What if you are to start a nested Xen with its own kernel, initrd
and perhaps even an XSM policy "module"? Or anything else that is multi-
module capable (possibly but not necessarily because of having started
out as multiboot)?

As you said on the v2 thread, just one other OS also using such a concept doesn't mean much.

With that said, as I am sure you are well aware of, the nested example is a far more complicated situation which there is currently no good abstraction in use.

And btw, as far as ramdisk usage goes, I would be remised not to mention that another significantly large OS uses a ramdisk for boot, and that would be Windows. Windows leverages a ramdisk as configuration store between the winlaoder and tcbloader when doing a DRTM boot.

v/r,
dps



 


Rackspace

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