Skip to content
GitLab
Menu
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
d162a27d
Unverified
Commit
d162a27d
authored
Nov 23, 2017
by
davidcunado-arm
Committed by
GitHub
Nov 23, 2017
Browse files
Merge pull request #1169 from antonio-nino-diaz-arm/an/spm-fixes
SPM fixes
parents
71f8a6a9
d6b532b5
Changes
2
Show whitespace changes
Inline
Side-by-side
services/std_svc/spm/secure_partition_setup.c
View file @
d162a27d
...
@@ -92,20 +92,20 @@ void secure_partition_setup(void)
...
@@ -92,20 +92,20 @@ void secure_partition_setup(void)
/* Get max granularity supported by the platform. */
/* Get max granularity supported by the platform. */
u_register_t
id_aa64
prf
0_el1
=
read_id_aa64
p
fr0_el1
();
u_register_t
id_aa64
mmfr
0_el1
=
read_id_aa64
mm
fr0_el1
();
int
tgran64_supported
=
int
tgran64_supported
=
((
id_aa64
prf
0_el1
>>
ID_AA64MMFR0_EL1_TGRAN64_SHIFT
)
&
((
id_aa64
mmfr
0_el1
>>
ID_AA64MMFR0_EL1_TGRAN64_SHIFT
)
&
ID_AA64MMFR0_EL1_TGRAN64_MASK
)
==
ID_AA64MMFR0_EL1_TGRAN64_MASK
)
==
ID_AA64MMFR0_EL1_TGRAN64_SUPPORTED
;
ID_AA64MMFR0_EL1_TGRAN64_SUPPORTED
;
int
tgran16_supported
=
int
tgran16_supported
=
((
id_aa64
prf
0_el1
>>
ID_AA64MMFR0_EL1_TGRAN16_SHIFT
)
&
((
id_aa64
mmfr
0_el1
>>
ID_AA64MMFR0_EL1_TGRAN16_SHIFT
)
&
ID_AA64MMFR0_EL1_TGRAN16_MASK
)
==
ID_AA64MMFR0_EL1_TGRAN16_MASK
)
==
ID_AA64MMFR0_EL1_TGRAN16_SUPPORTED
;
ID_AA64MMFR0_EL1_TGRAN16_SUPPORTED
;
int
tgran4_supported
=
int
tgran4_supported
=
((
id_aa64
prf
0_el1
>>
ID_AA64MMFR0_EL1_TGRAN4_SHIFT
)
&
((
id_aa64
mmfr
0_el1
>>
ID_AA64MMFR0_EL1_TGRAN4_SHIFT
)
&
ID_AA64MMFR0_EL1_TGRAN4_MASK
)
==
ID_AA64MMFR0_EL1_TGRAN4_MASK
)
==
ID_AA64MMFR0_EL1_TGRAN4_SUPPORTED
;
ID_AA64MMFR0_EL1_TGRAN4_SUPPORTED
;
...
@@ -121,7 +121,7 @@ void secure_partition_setup(void)
...
@@ -121,7 +121,7 @@ void secure_partition_setup(void)
}
}
VERBOSE
(
"Max translation granule supported: %lu KiB
\n
"
,
VERBOSE
(
"Max translation granule supported: %lu KiB
\n
"
,
max_granule_size
);
max_granule_size
/
1024
);
uintptr_t
max_granule_size_mask
=
max_granule_size
-
1
;
uintptr_t
max_granule_size_mask
=
max_granule_size
-
1
;
...
...
services/std_svc/spm/spm_main.c
View file @
d162a27d
...
@@ -431,12 +431,14 @@ uint64_t spm_smc_handler(uint32_t smc_fid,
...
@@ -431,12 +431,14 @@ uint64_t spm_smc_handler(uint32_t smc_fid,
cm_el1_sysregs_context_restore
(
SECURE
);
cm_el1_sysregs_context_restore
(
SECURE
);
cm_set_next_eret_context
(
SECURE
);
cm_set_next_eret_context
(
SECURE
);
if
(
x2
!=
0
)
{
/* Cookie. Reserved for future use. It must be zero. */
VERBOSE
(
"SP_COMMUNICATE_AARCH32/64: X2 is not 0 as recommended."
);
assert
(
x1
==
0
);
if
(
x3
!=
0
)
{
VERBOSE
(
"SP_COMMUNICATE_AARCH32/64: X3 is not 0 as recommended.
\n
"
);
}
}
SMC_RET4
(
&
sp_ctx
.
cpu_ctx
,
SMC_RET4
(
&
sp_ctx
.
cpu_ctx
,
smc_fid
,
x1
,
x2
,
x3
);
smc_fid
,
x2
,
x3
,
plat_my_core_pos
());
case
SP_MEM_ATTRIBUTES_GET_AARCH64
:
case
SP_MEM_ATTRIBUTES_GET_AARCH64
:
case
SP_MEM_ATTRIBUTES_SET_AARCH64
:
case
SP_MEM_ATTRIBUTES_SET_AARCH64
:
...
...
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