From 122d00ba67c9caeffc65ddd96dd22c0d204f4c72 Mon Sep 17 00:00:00 2001 From: Anup Patel Date: Tue, 19 Feb 2019 18:11:22 +0530 Subject: firmware: Improve low-level trap handler for M-mode to M-mode traps This patch extends our low-level trap handler in fw_base.S for handling M-mode to M-mode traps without overwritting stack. Signed-off-by: Anup Patel --- include/sbi/sbi_scratch.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include/sbi/sbi_scratch.h') diff --git a/include/sbi/sbi_scratch.h b/include/sbi/sbi_scratch.h index ff6aed0..8389ef3 100644 --- a/include/sbi/sbi_scratch.h +++ b/include/sbi/sbi_scratch.h @@ -30,6 +30,8 @@ #define SBI_SCRATCH_HARTID_TO_SCRATCH_OFFSET (7 * __SIZEOF_POINTER__) /** Offset of ipi_type member in sbi_scratch */ #define SBI_SCRATCH_IPI_TYPE_OFFSET (8 * __SIZEOF_POINTER__) +/** Offset of tmp0 member in sbi_scratch */ +#define SBI_SCRATCH_TMP0_OFFSET (9 * __SIZEOF_POINTER__) /** Maximum size of sbi_scratch */ #define SBI_SCRATCH_SIZE 256 @@ -57,6 +59,8 @@ struct sbi_scratch { unsigned long hartid_to_scratch; /** IPI type (or flags) */ unsigned long ipi_type; + /** Temporary storage */ + unsigned long tmp0; } __packed; /** Get pointer to sbi_scratch for current HART */ -- cgit v1.2.3