aboutsummaryrefslogtreecommitdiff
path: root/src/arch/riscv
diff options
context:
space:
mode:
authorXiang Wang <wxjstz@126.com>2018-08-28 16:34:29 +0800
committerPatrick Georgi <pgeorgi@google.com>2018-09-10 15:03:08 +0000
commit2e38dbe5f1a9db76cdf529679faee63fcb6a9c34 (patch)
tree3656f083f5aad2fc009d1038c313b8cfd695895f /src/arch/riscv
parent0370bcf40ce3a07e6e2d33b8bcebf28a0ac98807 (diff)
riscv: update mtime initialization
Add a interface, which is implemented by SoC. Change-Id: I5524732f6eb3841e43afd176644119b03b5e5e27 Signed-off-by: Xiang Wang <wxjstz@126.com> Reviewed-on: https://review.coreboot.org/28372 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Diffstat (limited to 'src/arch/riscv')
-rw-r--r--src/arch/riscv/include/mcall.h3
-rw-r--r--src/arch/riscv/mcall.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/src/arch/riscv/include/mcall.h b/src/arch/riscv/include/mcall.h
index 114808aae7..d1e414a42f 100644
--- a/src/arch/riscv/include/mcall.h
+++ b/src/arch/riscv/include/mcall.h
@@ -61,6 +61,9 @@ typedef struct {
void hls_init(uint32_t hart_id); // need to call this before launching linux
+/* This function is used to initialize HLS()->time/HLS()->timecmp */
+void mtime_init(void);
+
#endif // __ASSEMBLER__
#endif
diff --git a/src/arch/riscv/mcall.c b/src/arch/riscv/mcall.c
index 2e44fb76fe..47cdd88d4d 100644
--- a/src/arch/riscv/mcall.c
+++ b/src/arch/riscv/mcall.c
@@ -40,9 +40,7 @@ void hls_init(uint32_t hart_id)
memset(HLS(), 0, sizeof(*HLS()));
HLS()->hart_id = hart_id;
- /* Initialize these pointers with dummy values, for now */
- HLS()->time = NULL;
- HLS()->timecmp = NULL;
+ mtime_init();
printk(BIOS_SPEW, "Time is %p and timecmp is %p\n",
HLS()->time, HLS()->timecmp);