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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to