ce3a63905b
Ifdef conditionals for CONFIG options are not Kconfig-friendly. Instead, define CONFIG_SPL_STACK to prepare for Kconfig moves. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
35 lines
843 B
ArmAsm
35 lines
843 B
ArmAsm
/*
|
|
* Copyright (C) 2015 Panasonic Corporation
|
|
* Copyright (C) 2015 Socionext Inc.
|
|
* Author: Masahiro Yamada <yamada.masahiro@socionext.com>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#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_SPL_STACK) >> (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)
|