aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/emulation/qemu-riscv/clint.c
diff options
context:
space:
mode:
authorPhilipp Hug <philipp@hug.cx>2018-12-31 14:13:47 +0100
committerPatrick Georgi <pgeorgi@google.com>2019-01-26 13:40:51 +0000
commit2ef569a4050c3b0c3c93b3ffb6b4d804b3a7cddf (patch)
treee0f58a47dc23a7ec5e1549148c3b10ea95e2171a /src/mainboard/emulation/qemu-riscv/clint.c
parent175778f059b21f1bce06e1405647e292b3e8e6d6 (diff)
mb/qemu-riscv: update to match current qemu version
Boots again to payload not found on qemu. Change-Id: Ie107eb882cbaac5a5a06c1ff990e7b9364377640 Signed-off-by: Philipp Hug <philipp@hug.cx> Reviewed-on: https://review.coreboot.org/c/30554 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'src/mainboard/emulation/qemu-riscv/clint.c')
-rw-r--r--src/mainboard/emulation/qemu-riscv/clint.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/mainboard/emulation/qemu-riscv/clint.c b/src/mainboard/emulation/qemu-riscv/clint.c
new file mode 100644
index 0000000000..367d48d4ae
--- /dev/null
+++ b/src/mainboard/emulation/qemu-riscv/clint.c
@@ -0,0 +1,25 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2018 HardenedLinux
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <mcall.h>
+#include <mainboard/addressmap.h>
+
+/* This function is used to initialize HLS()->time/HLS()->timecmp */
+void mtime_init(void)
+{
+ long hart_id = read_csr(mhartid);
+ HLS()->time = (uint64_t *)(QEMU_VIRT_CLINT + 0xbff8);
+ HLS()->timecmp = (uint64_t *)(QEMU_VIRT_CLINT + 0x4000 + 8 * hart_id);
+}