[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v3 3/3] xen/riscv: register Xen's load address as a boot module
Avoid using BOOTMOD_XEN region for other purposes or boot modules which could result in memory corruption or undefined behaviour. Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx> Acked-by: Jan Beulich <jbeulich@xxxxxxxx> --- Changes in V3: - Add Acked-by: Jan Beulich <jbeulich@xxxxxxxx>. --- Changes in V2: - Drop local variable xen_bootmodule as it won't be used after initialization. - Drop unnecessary cast for the 3rd argument of add_boot_module() call in start_xen(). - Change BUG_ON(!xen_bootmodule) to panic(). --- xen/arch/riscv/setup.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c index 6d156c3a40..f531ca38ee 100644 --- a/xen/arch/riscv/setup.c +++ b/xen/arch/riscv/setup.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #include <xen/bug.h> +#include <xen/bootfdt.h> #include <xen/compile.h> #include <xen/device_tree.h> #include <xen/init.h> @@ -44,6 +45,11 @@ void __init noreturn start_xen(unsigned long bootcpu_id, "Please check your bootloader.\n", dtb_addr, BOOT_FDT_VIRT_SIZE); + /* Register Xen's load address as a boot module. */ + if ( !add_boot_module(BOOTMOD_XEN, virt_to_maddr(_start), + _end - _start, false) ) + panic("Failed to add BOOTMOD_XEN\n"); + printk("All set up\n"); machine_halt(); -- 2.46.2
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |