From: Florent Kermarrec Date: Mon, 18 Jun 2018 16:01:47 +0000 (+0200) Subject: soc/integration/cpu_interface: add shadow_base parameter X-Git-Tag: 24jan2021_ls180~1700 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2c13b701f56298db9ce4c8d41316e03b4567e12b;p=litex.git soc/integration/cpu_interface: add shadow_base parameter --- diff --git a/litex/soc/integration/cpu_interface.py b/litex/soc/integration/cpu_interface.py index aac73f66..69183266 100644 --- a/litex/soc/integration/cpu_interface.py +++ b/litex/soc/integration/cpu_interface.py @@ -125,11 +125,13 @@ def _get_rw_functions_c(reg_name, reg_base, nwords, busword, read_only, with_acc return r -def get_csr_header(regions, constants, with_access_functions=True): +def get_csr_header(regions, constants, with_access_functions=True, with_shadow_base=True, shadow_base=0x80000000): r = "#ifndef __GENERATED_CSR_H\n#define __GENERATED_CSR_H\n" if with_access_functions: r += "#include \n" for name, origin, busword, obj in regions: + if not with_shadow_base: + origin &= (~shadow_base) if isinstance(obj, Memory): r += "#define CSR_"+name.upper()+"_BASE "+hex(origin)+"\n" else: