|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] x86/boot: convert consider_modules to struct boot_module
commit be84e7fe58b51f6b6dd907a038f0ef998a1e281e
Author: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
AuthorDate: Sun Oct 20 20:45:37 2024 -0400
Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Wed Oct 23 10:27:36 2024 +0100
x86/boot: convert consider_modules to struct boot_module
To start transitioning consider_modules() over to struct boot_module, begin
with taking the array of struct boot_modules but use the temporary struct
element mod.
No functional change intended.
Signed-off-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Jason Andryuk <jason.andryuk@xxxxxxx>
Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
xen/arch/x86/setup.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 8ad957f3d1..c5b37bd211 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -641,7 +641,7 @@ static void __init noinline move_xen(void)
#undef BOOTSTRAP_MAP_LIMIT
static uint64_t __init consider_modules(
- uint64_t s, uint64_t e, uint32_t size, const module_t *mod,
+ uint64_t s, uint64_t e, uint32_t size, const struct boot_module mods[],
unsigned int nr_mods, unsigned int this_mod)
{
unsigned int i;
@@ -651,20 +651,20 @@ static uint64_t __init consider_modules(
for ( i = 0; i < nr_mods ; ++i )
{
- uint64_t start = (uint64_t)mod[i].mod_start << PAGE_SHIFT;
- uint64_t end = start + PAGE_ALIGN(mod[i].mod_end);
+ uint64_t start = pfn_to_paddr(mods[i].mod->mod_start);
+ uint64_t end = start + PAGE_ALIGN(mods[i].mod->mod_end);
if ( i == this_mod )
continue;
if ( s < end && start < e )
{
- end = consider_modules(end, e, size, mod + i + 1,
+ end = consider_modules(end, e, size, &mods[i + 1],
nr_mods - i - 1, this_mod - i - 1);
if ( end )
return end;
- return consider_modules(s, start, size, mod + i + 1,
+ return consider_modules(s, start, size, &mods[i + 1],
nr_mods - i - 1, this_mod - i - 1);
}
}
@@ -1463,7 +1463,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long
mbi_p)
{
/* Don't overlap with modules. */
end = consider_modules(s, e, reloc_size + mask,
- mod, bi->nr_modules, -1);
+ bi->mods, bi->nr_modules, -1);
end &= ~mask;
}
else
@@ -1498,7 +1498,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long
mbi_p)
continue;
/* Don't overlap with other modules (or Xen itself). */
- end = consider_modules(s, e, size, mod,
+ end = consider_modules(s, e, size, bi->mods,
bi->nr_modules + relocated, j);
if ( highmem_start && end > highmem_start )
@@ -1525,7 +1525,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long
mbi_p)
while ( !kexec_crash_area.start )
{
/* Don't overlap with modules (or Xen itself). */
- e = consider_modules(s, e, PAGE_ALIGN(kexec_crash_area.size), mod,
+ e = consider_modules(s, e, PAGE_ALIGN(kexec_crash_area.size),
bi->mods,
bi->nr_modules + relocated, -1);
if ( s >= e )
break;
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |