Hi Sandeep, This series is promoting some of the Xen hypervisor launch configuration from the hardware-specific dynamic layers into the common layer, and introducing a class that defines interfaces to the hypervisor and its guest virtual machines that should be applicable across all architectures, hence my comments from a non-architecture-specific perspective.
There's a lot of opportunity for development in this layer to extend and improve this area of configuration -- thanks for your contribution. On Thu, Nov 21, 2024 at 10:49 PM Sandeep Gundlupet Raju via lists.yoctoproject.org <sandeep.gundlupet-raju= [email protected]> wrote: > Add a new bbclass for xen boot script variables. This bbclass provides > common xen u-boot boot script variables which can be inherited by any > vendor specific u-boot boot script recipes. Also these variable are > configurable from recipes, global and machine configuration files. > > Variable nomenclature is aligned with xen documentation. > https://xenbits.xen.org/docs/unstable/misc/xen-command-line.html > > Currently it supports Xen Dom0 boot and can be extended for DomU > or Dom0less boot. > I think that none of the variables in the file are specific to the u-boot bootloader, so: could this class be given a non-u-boot-specific name, with a view to this configuration being plumbed into all Xen system configurations? Some of the values defined are specific to Arm64 platforms: could those default values be moved into an Arm64-specific class? If the variables themselves are also arch-specific, they could be moved too. Declaring the Dom0-specific variables as an interface is a bit unfortunate, given dom0less (and hyperlaunch) systems where there needs to be a method for providing the same configuration memory and vcpu values for multiple guest VMs, rather than just dom0. Do you have a design in mind for the extension to DomU or Dom0less that you mention? Christopher > > Signed-off-by: Sandeep Gundlupet Raju <[email protected]> > --- > .../xen-u-boot-scr-configuration.bbclass | 43 +++++++++++++++++++ > 1 file changed, 43 insertions(+) > create mode 100644 classes-recipe/xen-u-boot-scr-configuration.bbclass > > diff --git a/classes-recipe/xen-u-boot-scr-configuration.bbclass > b/classes-recipe/xen-u-boot-scr-configuration.bbclass > new file mode 100644 > index 00000000..df8287e1 > --- /dev/null > +++ b/classes-recipe/xen-u-boot-scr-configuration.bbclass > @@ -0,0 +1,43 @@ > +# Copyright (C) 2024, Advanced Micro Devices, Inc. All rights reserved. > +# > +# SPDX-License-Identifier: MIT > +# > +# This bbclass defines u-boot script variables required for xen boot > which can be > +# inherited u-boot boot scripts recipes and also allows to configure > these variables > +# from recipes, global and machine configurations files. > + > +# Variable nomenclature is aligned with > +# https://xenbits.xen.org/docs/unstable/misc/xen-command-line.html > + > +# Image Load Address for Xen Dom0 boot > +KERNEL_LOAD_ADDRESS ??= "0x00400000" > +XEN_LOAD_ADDRESS ??= "0x00200000" > +DEVICETREE_LOAD_ADDRESS ??= "0xC000000" > +RAMDISK_LOAD_ADDRESS ??= "0x2600000" > + > +# Xen boot image types. > +# KERNEL_IMAGETYPE: Specifies DomU kernel image file to be loaded by > u-boot. > +# XEN_IMAGETYPE: Specifies xen hypervisor binary to be loaded by u-boot. > +# Example: xen or xen.efi or xen.gz > +# DOM0_RAMDISK_IMAGETYPE: Specifies DOM0 ramdisk to be used, Example: > cpio.gz > +XEN_IMAGETYPE ??= "xen" > +DOM0_RAMDISK_IMAGETYPE ??= "rootfs.cpio.gz" > + > +# Set the amount of memory for dom0 depending on total available memory > size(DDR). > +DOM0_MEM ??= "256M" > + > +# Specify which UART console Xen should use. You can sepecify the > devicetree > +# alias or full path to a node in the devicetree > +# XEN_SERIAL_CONSOLES = "/soc/serial@7e215040" or > +# XEN_SERIAL_CONSOLES = "serial0" or > +# XEN_SERIAL_CONSOLES = "/axi/serial@ff000000" > +XEN_SERIAL_CONSOLES ??= "/soc/serial@7e215040" > + > +# Specify additional command line arguments used for Xen and this will be > appended > +# to xen-bootargs cariable. This can also be used for passing debug cmd > line arguments. > +# Examples: XEN_CMDLINE_APPEND ?= "sched=credit loglvl=all > guest_loglvl=debug" > +XEN_CMDLINE_APPEND ??= "sync_console bootscrub=0" > + > +# Specify the max number of vcpus for dom0 > +# Example usage: DOM0_MAX_VCPUS = "2" or DOM0_MAX_VCPUS = "2-4" > +DOM0_MAX_VCPUS ??= "1" > -- > 2.34.1 > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#9009): https://lists.yoctoproject.org/g/meta-virtualization/message/9009 Mute This Topic: https://lists.yoctoproject.org/mt/109713423/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
