31,9 → 31,10 |
#include <arch/stack.h> |
#include <arch/sun4v/regdef.h> |
#include <arch/sun4v/hypercall.h> |
#include <arch/mm/pagesize.h> |
#include <arch/mm/sun4v/tte.h> |
#include <arch/mm/sun4v/mmu.h> |
#include <arch/mm/tlb.h> |
#include <arch/mm/sun4v/tlb.h> |
|
.register %g2, #scratch |
.register %g3, #scratch |
44,13 → 45,6 |
#define PHYSMEM_ADDR_SIZE 56 |
|
/* |
* SILO for an unknown reason loads the image to MAPPING_OFFSET + 0x4000 bytes |
* from the start of the physical memory. We pretend that the physical memory |
* starts MAPPING_OFFSET bytes further than it actually does. |
*/ |
#define MAPPING_OFFSET 0x400000 |
|
/* |
* Flags set in the TTE data entry mapping the kernel. |
*/ |
#ifdef CONFIG_VIRT_IDX_DCACHE |
118,10 → 112,6 |
! l5 <= physmem_base[(PHYSMEM_ADDR_SIZE - 1):13] |
sllx %l5, 13 + (63 - (PHYSMEM_ADDR_SIZE - 1)), %l5 |
srlx %l5, 63 - (PHYSMEM_ADDR_SIZE - 1), %l5 |
|
! pretend the physical memory starts further |
set MAPPING_OFFSET, %g2 |
add %l5, %g2, %l5 |
|
/* |
* Setup basic runtime environment. |