Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
d48f193d
Unverified
Commit
d48f193d
authored
6 years ago
by
Dimitris Papastamos
Committed by
GitHub
6 years ago
Browse files
Options
Download
Plain Diff
Merge pull request #1429 from jeenu-arm/mmu-direct
Enable MMU without stack for xlat v2/DynamIQ
parents
86e07ae6
bb00ea5b
master
v2.5
v2.5-rc1
v2.5-rc0
v2.4
v2.4-rc2
v2.4-rc1
v2.4-rc0
v2.3
v2.3-rc2
v2.3-rc1
v2.3-rc0
v2.2
v2.2-rc2
v2.2-rc1
v2.2-rc0
v2.1
v2.1-rc1
v2.1-rc0
v2.0
v2.0-rc0
v1.6
v1.6-rc1
v1.6-rc0
arm_cca_v0.2
arm_cca_v0.1
No related merge requests found
Changes
24
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
lib/xlat_tables_v2/xlat_tables_internal.c
+7
-4
lib/xlat_tables_v2/xlat_tables_internal.c
lib/xlat_tables_v2/xlat_tables_private.h
+1
-1
lib/xlat_tables_v2/xlat_tables_private.h
plat/common/aarch64/plat_common.c
+0
-12
plat/common/aarch64/plat_common.c
plat/common/aarch64/platform_helpers.S
+22
-0
plat/common/aarch64/platform_helpers.S
with
30 additions
and
17 deletions
+30
-17
lib/xlat_tables_v2/xlat_tables_internal.c
View file @
d48f193d
...
...
@@ -1313,22 +1313,25 @@ void init_xlat_tables(void)
void
enable_mmu_secure
(
unsigned
int
flags
)
{
enable
_mmu_
arch
(
flags
,
tf_xlat_ctx
.
base_table
,
MAX_PHYS_ADDR
,
setup
_mmu_
cfg
(
flags
,
tf_xlat_ctx
.
base_table
,
MAX_PHYS_ADDR
,
tf_xlat_ctx
.
va_max_address
);
enable_mmu_direct
(
flags
);
}
#else
void
enable_mmu_el1
(
unsigned
int
flags
)
{
enable
_mmu_
arch
(
flags
,
tf_xlat_ctx
.
base_table
,
MAX_PHYS_ADDR
,
setup
_mmu_
cfg
(
flags
,
tf_xlat_ctx
.
base_table
,
MAX_PHYS_ADDR
,
tf_xlat_ctx
.
va_max_address
);
enable_mmu_direct_el1
(
flags
);
}
void
enable_mmu_el3
(
unsigned
int
flags
)
{
enable
_mmu_
arch
(
flags
,
tf_xlat_ctx
.
base_table
,
MAX_PHYS_ADDR
,
setup
_mmu_
cfg
(
flags
,
tf_xlat_ctx
.
base_table
,
MAX_PHYS_ADDR
,
tf_xlat_ctx
.
va_max_address
);
enable_mmu_direct_el3
(
flags
);
}
#endif
/* AARCH32 */
...
...
This diff is collapsed.
Click to expand it.
lib/xlat_tables_v2/xlat_tables_private.h
View file @
d48f193d
...
...
@@ -81,7 +81,7 @@ int xlat_arch_current_el(void);
unsigned
long
long
xlat_arch_get_max_supported_pa
(
void
);
/* Enable MMU and configure it to use the specified translation tables. */
void
enable
_mmu_
arch
(
unsigned
int
flags
,
uint64_t
*
base_table
,
void
setup
_mmu_
cfg
(
unsigned
int
flags
,
const
uint64_t
*
base_table
,
unsigned
long
long
max_pa
,
uintptr_t
max_va
);
/*
...
...
This diff is collapsed.
Click to expand it.
plat/common/aarch64/plat_common.c
View file @
d48f193d
...
...
@@ -18,8 +18,6 @@
* provide typical implementations that may be re-used by multiple
* platforms but may also be overridden by a platform if required.
*/
#pragma weak bl31_plat_enable_mmu
#pragma weak bl32_plat_enable_mmu
#pragma weak bl31_plat_runtime_setup
#if !ERROR_DEPRECATED
#pragma weak plat_get_syscnt_freq2
...
...
@@ -33,16 +31,6 @@
#pragma weak plat_ea_handler
void
bl31_plat_enable_mmu
(
uint32_t
flags
)
{
enable_mmu_el3
(
flags
);
}
void
bl32_plat_enable_mmu
(
uint32_t
flags
)
{
enable_mmu_el1
(
flags
);
}
void
bl31_plat_runtime_setup
(
void
)
{
#if MULTI_CONSOLE_API
...
...
This diff is collapsed.
Click to expand it.
plat/common/aarch64/platform_helpers.S
View file @
d48f193d
...
...
@@ -17,6 +17,8 @@
.
weak
plat_disable_acp
.
weak
bl1_plat_prepare_exit
.
weak
plat_panic_handler
.
weak
bl31_plat_enable_mmu
.
weak
bl32_plat_enable_mmu
#if !ENABLE_PLAT_COMPAT
.
globl
platform_get_core_pos
...
...
@@ -164,3 +166,23 @@ func plat_panic_handler
wfi
b
plat_panic_handler
endfunc
plat_panic_handler
/
*
-----------------------------------------------------
*
void
bl31_plat_enable_mmu
(
uint32_t
flags
)
;
*
*
Enable
MMU
in
BL31
.
*
-----------------------------------------------------
*/
func
bl31_plat_enable_mmu
b
enable_mmu_direct_el3
endfunc
bl31_plat_enable_mmu
/
*
-----------------------------------------------------
*
void
bl32_plat_enable_mmu
(
uint32_t
flags
)
;
*
*
Enable
MMU
in
BL32
.
*
-----------------------------------------------------
*/
func
bl32_plat_enable_mmu
b
enable_mmu_direct_el1
endfunc
bl32_plat_enable_mmu
This diff is collapsed.
Click to expand it.
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help