Commit d1965c06 authored by Markos Chandras's avatar Markos Chandras Committed by Ralf Baechle

MIPS: malta: malta-memory: Add free_init_pages_eva() callback

Use a Malta specific function to free the init section once the
kernel has booted. When operating in EVA mode, the physical memory
is shifted to 0x80000000. Kernel is loaded into 0x80000000 (virtual)
so the offset between physical and virtual addresses is 0.
Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
parent 3bdd8e6e
...@@ -111,6 +111,12 @@ fw_memblock_t * __init fw_getmdesc(int eva) ...@@ -111,6 +111,12 @@ fw_memblock_t * __init fw_getmdesc(int eva)
return &mdesc[0]; return &mdesc[0];
} }
static void free_init_pages_eva_malta(void *begin, void *end)
{
free_init_pages("unused kernel", __pa_symbol((unsigned long *)begin),
__pa_symbol((unsigned long *)end));
}
static int __init fw_memtype_classify(unsigned int type) static int __init fw_memtype_classify(unsigned int type)
{ {
switch (type) { switch (type) {
...@@ -128,6 +134,8 @@ void __init fw_meminit(void) ...@@ -128,6 +134,8 @@ void __init fw_meminit(void)
fw_memblock_t *p; fw_memblock_t *p;
p = fw_getmdesc(config_enabled(CONFIG_EVA)); p = fw_getmdesc(config_enabled(CONFIG_EVA));
free_init_pages_eva = (config_enabled(CONFIG_EVA) ?
free_init_pages_eva_malta : NULL);
while (p->size) { while (p->size) {
long type; long type;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment