From e15556ed3ae859acbdfcd5a4ab175dba8b359c4e Mon Sep 17 00:00:00 2001 From: Patrick Rudolph Date: Fri, 16 Feb 2018 09:04:38 +0100 Subject: soc/cavium/bootblock: Get rid of register X1 The register X1 isn't used. Document it and remove it. Change-Id: I9324ea9de24ba4baaef9dde890c443dd0f921ad9 Signed-off-by: Patrick Rudolph Reviewed-on: https://review.coreboot.org/23792 Tested-by: build bot (Jenkins) Reviewed-by: Philipp Deppenwiese Reviewed-by: Paul Menzel Reviewed-by: David Hendricks --- src/soc/cavium/cn81xx/bootblock_custom.S | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/soc/cavium/cn81xx') diff --git a/src/soc/cavium/cn81xx/bootblock_custom.S b/src/soc/cavium/cn81xx/bootblock_custom.S index 69985b7834..2f503c827b 100644 --- a/src/soc/cavium/cn81xx/bootblock_custom.S +++ b/src/soc/cavium/cn81xx/bootblock_custom.S @@ -29,7 +29,11 @@ ENTRY(_start) */ ic ialluis fmov d30, x0 /* Save X0 in FPR for use later */ - fmov d31, x1 /* Save X1 in FPR for use later */ + /** + * The BDK stores X1 for later use, but it turns out that we don't need + * this "feature". The idea is to hide the devicetree somewhere in + * flash, that only the ROM will find it and point to it using X1. + */ adr x1, _start /* x1 = _start location based on PC */ fmov d29, x1 /* Save PC in FPR for use later */ @@ -84,7 +88,7 @@ node_check_done: adr x0, _start /** - * Check if IROM has loaded the code to CONFIG_BOOTROM_OFFSET. + * Check if IROM has loaded the code to BOOTROM_OFFSET. * In case the offset is wrong, try to relocate. * Ideally the following code is never executed. * FIXME: Add region overlap check. @@ -248,8 +252,7 @@ ENTRY(start) bl arm64_init_cpu fmov x0, d30 /* The original X0, info from previous image */ - fmov x1, d31 /* The original X1, info from previous image */ - fmov x2, d29 /* The original PC we were loaded at */ + fmov x1, d29 /* The original PC we were loaded at */ /* Call C entry */ bl bootblock_main -- cgit v1.2.3