mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-01 18:24:23 +08:00
powerpc/mm/32: add base address to mmu_mapin_ram()
At the time being, mmu_mapin_ram() always maps RAM from the beginning. But some platforms like the WII have to map a second block of RAM. This patch adds to mmu_mapin_ram() the base address of the block. At the moment, only base address 0 is supported. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
6d183ca8ba
commit
14e609d693
@ -93,7 +93,7 @@ void __init MMU_init_hw(void)
|
||||
#define LARGE_PAGE_SIZE_16M (1<<24)
|
||||
#define LARGE_PAGE_SIZE_4M (1<<22)
|
||||
|
||||
unsigned long __init mmu_mapin_ram(unsigned long top)
|
||||
unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
|
||||
{
|
||||
unsigned long v, s, mapped;
|
||||
phys_addr_t p;
|
||||
|
@ -170,7 +170,7 @@ void __init MMU_init_hw(void)
|
||||
flush_instruction_cache();
|
||||
}
|
||||
|
||||
unsigned long __init mmu_mapin_ram(unsigned long top)
|
||||
unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
|
||||
{
|
||||
unsigned long addr;
|
||||
unsigned long memstart = memstart_addr & ~(PPC_PIN_SIZE - 1);
|
||||
|
@ -99,7 +99,7 @@ static void __init mmu_patch_cmp_limit(s32 *site, unsigned long mapped)
|
||||
modify_instruction_site(site, 0xffff, (unsigned long)__va(mapped) >> 16);
|
||||
}
|
||||
|
||||
unsigned long __init mmu_mapin_ram(unsigned long top)
|
||||
unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
|
||||
{
|
||||
unsigned long mapped;
|
||||
|
||||
|
@ -221,7 +221,7 @@ unsigned long map_mem_in_cams(unsigned long ram, int max_cam_idx, bool dryrun)
|
||||
#error "LOWMEM_CAM_NUM must be less than NUM_TLBCAMS"
|
||||
#endif
|
||||
|
||||
unsigned long __init mmu_mapin_ram(unsigned long top)
|
||||
unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
|
||||
{
|
||||
return tlbcam_addrs[tlbcam_index - 1].limit - PAGE_OFFSET + 1;
|
||||
}
|
||||
|
@ -130,7 +130,7 @@ extern void wii_memory_fixups(void);
|
||||
*/
|
||||
#ifdef CONFIG_PPC32
|
||||
extern void MMU_init_hw(void);
|
||||
extern unsigned long mmu_mapin_ram(unsigned long top);
|
||||
unsigned long mmu_mapin_ram(unsigned long base, unsigned long top);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PPC_FSL_BOOK3E
|
||||
|
@ -258,15 +258,15 @@ void __init mapin_ram(void)
|
||||
|
||||
#ifndef CONFIG_WII
|
||||
top = total_lowmem;
|
||||
s = mmu_mapin_ram(top);
|
||||
s = mmu_mapin_ram(0, top);
|
||||
__mapin_ram_chunk(s, top);
|
||||
#else
|
||||
if (!wii_hole_size) {
|
||||
s = mmu_mapin_ram(total_lowmem);
|
||||
s = mmu_mapin_ram(0, total_lowmem);
|
||||
__mapin_ram_chunk(s, total_lowmem);
|
||||
} else {
|
||||
top = wii_hole_start;
|
||||
s = mmu_mapin_ram(top);
|
||||
s = mmu_mapin_ram(0, top);
|
||||
__mapin_ram_chunk(s, top);
|
||||
|
||||
top = memblock_end_of_DRAM();
|
||||
|
@ -73,7 +73,7 @@ unsigned long p_block_mapped(phys_addr_t pa)
|
||||
return 0;
|
||||
}
|
||||
|
||||
unsigned long __init mmu_mapin_ram(unsigned long top)
|
||||
unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top)
|
||||
{
|
||||
unsigned long tot, bl, done;
|
||||
unsigned long max_size = (256<<20);
|
||||
|
Loading…
Reference in New Issue
Block a user