From 5e238710f7ca820893e65c68ad63b96c2086205d Mon Sep 17 00:00:00 2001 From: Nils Wistoff Date: Thu, 5 Dec 2024 17:33:45 +1100 Subject: [PATCH] cheshire_pkg: Fix CVA6 debug module addresses This fixes two errors in the debug module addresses passed to CVA6: 1. `HaltAddress` and `ExceptionAddress` are assumed to be relative to `DmBaseAddress`, see https://github.com/pulp-platform/cva6/blob/99ae53bde1a94b90c1d9bbbe7fe272a9336200a6/core/frontend/frontend.sv#L380 and https://github.com/pulp-platform/cva6/blob/99ae53bde1a94b90c1d9bbbe7fe272a9336200a6/core/csr_regfile.sv#L2295. Coincidentally, this currently does not cause any issues since `AmDbg = '0`, 2. `ExceptionAddress` was changed from `0x808` to `0x810` in https://github.com/pulp-platform/riscv-dbg/pull/145, which is included in the debug module version used in Cheshire. This means that exceptions in debug mode currently cause CVA6 to jump to `resume` and return from debug mode instead of handling the exception, which breaks several openocd commands that use exceptions to discover CSR availabilities. Signed-off-by: Nils Wistoff --- hw/cheshire_pkg.sv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/cheshire_pkg.sv b/hw/cheshire_pkg.sv index 185a06a0..cd06a2e4 100644 --- a/hw/cheshire_pkg.sv +++ b/hw/cheshire_pkg.sv @@ -521,8 +521,8 @@ package cheshire_pkg; EnableAccelerator : 0, RVS : 1, RVU : 1, - HaltAddress : AmDbg + 'h800, - ExceptionAddress : AmDbg + 'h808, + HaltAddress : 'h800, // Relative to AmDbg + ExceptionAddress : 'h810, // Relative to AmDbg RASDepth : cfg.Cva6RASDepth, BTBEntries : cfg.Cva6BTBEntries, BHTEntries : cfg.Cva6BHTEntries,