]> xenbits.xensource.com Git - xen.git/commit
x86/boot: add start and size fields to struct boot_module
authorDaniel P. Smith <dpsmith@apertussolutions.com>
Fri, 15 Nov 2024 13:12:01 +0000 (08:12 -0500)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 19 Nov 2024 19:53:51 +0000 (19:53 +0000)
commitcd7cc5320bb28a57f8243803e6130b4cecb961bb
treef648cfa45dc50550c6c8aa080fba8a19f3ee5105
parent6308301208d60fcd2b9125fe6a602cefa80392e6
x86/boot: add start and size fields to struct boot_module

Introduce the start and size fields to struct boot_module and assigns
their value during boot_info construction. All uses of module_t to get
the address and size of a module are replaced with start and size.

The EFI entry point is a special case, as the EFI file loading boot
service may load a file beyond the 4G barrier. As a result, to make the
address fit in the 32bit integer used by the MB1 module_t structure, the
frame number is stored in mod_start and size in mod_end. Until the EFI
entry point is enlightened to work with boot_info and boot_module,
multiboot_fill_boot_info will handle the alternate values in mod_start
and mod_end when EFI is detected.

A result of the switch to start/size removes all uses of the mod field
in struct boot_modules, along with the uses of bootstrap_map() and
release_module() functions. With all usage gone, they all are dropped
here.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/cpu/microcode/core.c
xen/arch/x86/hvm/dom0_build.c
xen/arch/x86/include/asm/bootinfo.h
xen/arch/x86/include/asm/setup.h
xen/arch/x86/pv/dom0_build.c
xen/arch/x86/setup.c
xen/xsm/xsm_policy.c