Provide an effective (relocated) address when building modules metadata.
This lets modules loaded dynamically in loader(8) work for U-Boot-based platforms. MFC after: 1 week
This commit is contained in:
parent
13b80c9acd
commit
035622ef18
@ -231,6 +231,7 @@ md_copymodules(vm_offset_t addr)
|
||||
struct preloaded_file *fp;
|
||||
struct file_metadata *md;
|
||||
int c;
|
||||
vm_offset_t a;
|
||||
|
||||
c = addr != 0;
|
||||
/* start with the first module on the list, should be the kernel */
|
||||
@ -240,7 +241,8 @@ md_copymodules(vm_offset_t addr)
|
||||
MOD_TYPE(addr, fp->f_type, c);
|
||||
if (fp->f_args)
|
||||
MOD_ARGS(addr, fp->f_args, c);
|
||||
MOD_ADDR(addr, fp->f_addr, c);
|
||||
a = fp->f_addr - __elfN(relocation_offset);
|
||||
MOD_ADDR(addr, a, c);
|
||||
MOD_SIZE(addr, fp->f_size, c);
|
||||
for (md = fp->f_metadata; md != NULL; md = md->md_next) {
|
||||
if (!(md->md_type & MODINFOMD_NOCOPY))
|
||||
|
Loading…
Reference in New Issue
Block a user