diff --git a/sw/snRuntime/src/platforms/shared/start.c b/sw/snRuntime/src/platforms/shared/start.c index e7ab2cfb..1ca0b7b3 100644 --- a/sw/snRuntime/src/platforms/shared/start.c +++ b/sw/snRuntime/src/platforms/shared/start.c @@ -8,19 +8,18 @@ extern const uint32_t _snrt_cluster_cluster_core_num; extern const uint32_t _snrt_cluster_cluster_base_hartid; extern const uint32_t _snrt_cluster_cluster_id; -void *const _snrt_cluster_global_offset = (void *)0x10000000; const uint32_t snrt_stack_size __attribute__((weak, section(".rodata"))) = 10; // The boot data generated along with the system RTL. // See `ip/test/src/tb_lib.hh` for details. struct snrt_cluster_bootdata { - uint32_t boot_addr; - uint32_t core_count; - uint32_t hartid_base; - uint32_t tcdm_start; - uint32_t tcdm_size; - uint32_t tcdm_offset; + uint64_t boot_addr; + uint64_t core_count; + uint64_t hartid_base; + uint64_t tcdm_start; + uint64_t tcdm_size; + uint64_t tcdm_offset; uint64_t global_mem_start; uint64_t global_mem_end; }; @@ -51,8 +50,7 @@ void _snrt_init_team(uint32_t cluster_core_id, uint32_t cluster_core_num, team->cluster_num = 0; team->cluster_core_base_hartid = bootdata->hartid_base; team->cluster_core_num = cluster_core_num; - team->global_mem.start = - (uint64_t)(bootdata->global_mem_start + _snrt_cluster_global_offset); + team->global_mem.start = (uint64_t)bootdata->global_mem_start; team->global_mem.end = (uint64_t)bootdata->global_mem_end; team->cluster_mem.start = (uint64_t)spm_start; team->cluster_mem.end = (uint64_t)spm_start + bootdata->tcdm_size;