mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-04 18:41:03 +00:00
27 lines
660 B
ArmAsm
27 lines
660 B
ArmAsm
|
#include <config.h>
|
||
|
#include <linux/linkage.h>
|
||
|
|
||
|
/* page table */
|
||
|
#define NR_SECTIONS 4096
|
||
|
#define SECTION_SHIFT 20
|
||
|
#define DEVICE 0x00002002 /* Non-shareable Device */
|
||
|
#define NORMAL 0x0000000e /* Normal Memory Write-Back, No Write-Allocate */
|
||
|
|
||
|
#define TEXT_SECTION ((CONFIG_SPL_TEXT_BASE) >> (SECTION_SHIFT))
|
||
|
#define STACK_SECTION ((CONFIG_SYS_INIT_SP_ADDR) >> (SECTION_SHIFT))
|
||
|
|
||
|
.section ".rodata"
|
||
|
.align 14
|
||
|
ENTRY(init_page_table)
|
||
|
section = 0
|
||
|
.rept NR_SECTIONS
|
||
|
.if section == TEXT_SECTION || section == STACK_SECTION
|
||
|
attr = NORMAL
|
||
|
.else
|
||
|
attr = DEVICE
|
||
|
.endif
|
||
|
.word (section << SECTION_SHIFT) | attr
|
||
|
section = section + 1
|
||
|
.endr
|
||
|
END(init_page_table)
|