xen/arm: introduce bootcmdlines
authorStefano Stabellini <sstabellini@kernel.org>
Tue, 13 Nov 2018 16:47:09 +0000 (08:47 -0800)
committerJulien Grall <julien.grall@arm.com>
Wed, 14 Nov 2018 19:34:45 +0000 (19:34 +0000)
commit7c399fb0e7dd82fb6a0dda40c60f3908cf052fb0
treec3a64ec2972b5306e26e420eb0e44adb2451f3a1
parentc32e3689c546305d4eae53e6ccf9c8b4e048c7df
xen/arm: introduce bootcmdlines

Introduce a new array to store the cmdline of each boot module. It is
separate from struct bootmodules. Remove the cmdline field from struct
boot_module. This way, kernels and initrds with the same address in
memory can share struct bootmodule (important because we want them to be
free'd only once), but they can still have their separate bootcmdline
entries.

Add a dt_name field to struct bootcmdline to make it easier to find the
correct entry. Store the name of the "xen,domain" compatible node (for
example "Dom1"). This is a better choice compared to the name of the
"multiboot,kernel" compatible node, because their names are not unique.
For instance there can be more than one "module@0x4c000000" in the
system, but there can only be one "/chosen/Dom1".

Add a pointer to struct kernel_info to point to the cmdline for a given
kernel.

Signed-off-by: Stefano Stabellini <stefanos@xilinx.com>
Acked-by: Julien Grall <julien.grall@arm.com>
xen/arch/arm/bootfdt.c
xen/arch/arm/domain_build.c
xen/arch/arm/kernel.h
xen/arch/arm/setup.c
xen/include/asm-arm/setup.h