On 08.07.2023 21:15, Stefano Stabellini wrote: > On Sat, 1 Jul 2023, Christopher Clark wrote: >> @@ -1357,12 +1382,14 @@ void __init noreturn __start_xen(unsigned long mbi_p) >> * respective reserve_e820_ram() invocation below. No need to >> * query efi_boot_mem_unused() here, though. >> */ >> - mod[boot_info->nr_mods].mod_start = virt_to_mfn(_stext); >> - mod[boot_info->nr_mods].mod_end = __2M_rwdata_end - _stext; >> + bootmodule_update_start(&boot_info->mods[boot_info->nr_mods], >> + virt_to_maddr(_stext)); >> + boot_info->mods[boot_info->nr_mods].size = __2M_rwdata_end - _stext; >> } > > The original code had the end address as "__2M_rwdata_end - _stext" > while now we have the size as "__2M_rwdata_end - _stext" which is not > the same?
A few lines up from here you'll find code adjusting what .mod_end holds: We use it as a size field in most places (along with using page-granular .mod_start; page-granular .mod_end wouldn't work as an address, as modules may be any number of bytes). Jan