diff options
author | Ronald G. Minnich <rminnich@gmail.com> | 2018-10-24 15:46:51 -0700 |
---|---|---|
committer | Ronald G. Minnich <rminnich@gmail.com> | 2018-10-25 16:57:51 +0000 |
commit | c308554c10a33c977657b627c880cde60a590eb4 (patch) | |
tree | a030259c0bcd8557f792e693dc3dbf1eac655a33 /src/arch | |
parent | de332f35da72814722c053ae591b8dace0d54169 (diff) | |
download | coreboot-c308554c10a33c977657b627c880cde60a590eb4.tar.xz |
selfboot: create selfboot_check function, remove check param
The selfboot function was changed at some point to take a parameter
which meant "check the allocated descriptors to see if they target
regions of real memory."
The region check had to be buried deep in the last step of loading since
that is where those descriptors were created and used.
An issue with the use of the parameter was that it was not possible
for compilers to easily divine whether the check code was used,
and it was hence possible for the code, and its dependencies, to be
compiled in even if never used (which caused problems for the
rampayload code).
Now that bounce buffers are gone, we can hoist the check code
to the outermost level. Further, by creating a selfload_check
and selfload function, we can make it easy for compilers
to discard unused code: if selfload_check is never called, all
the code it uses can be discarded too.
Change-Id: Id5b3f450fd18480d54ffb6e395429fba71edcd77
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-on: https://review.coreboot.org/29259
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/arm64/arm_tf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/arch/arm64/arm_tf.c b/src/arch/arm64/arm_tf.c index fcf66cac61..384b1b724e 100644 --- a/src/arch/arm64/arm_tf.c +++ b/src/arch/arm64/arm_tf.c @@ -50,7 +50,7 @@ void arm_tf_run_bl31(u64 payload_entry, u64 payload_arg0, u64 payload_spsr) if (prog_locate(&bl31)) die("BL31 not found"); - if (!selfload(&bl31, false)) + if (!selfload(&bl31)) die("BL31 load failed"); bl31_entry = prog_entry(&bl31); |