-
Notifications
You must be signed in to change notification settings - Fork 58
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
banshee: Add zeromemory and bootrom (pulp-platform/snitch#344)
* banshee: add zeromemory peripheral * banshee: allow to set num-cores, num-clusters and base-core-id-offset with configuration file * banshee: cleanup zeromemory peripheral * banshee: add bootrom * banshee: initialize a0 with hartid value * banshee: fix configurability - take config file values unless not set * banshee: set default architecture configuration to 0 * banshee: fix bootrom configuration and formatting * snRuntime tests: reorganize startup files for rtl, banshee general, banshee snitch and make necessary cmake adaptations * ci: run banshee test for general configuration and for snitch configuration * banshee: make bootrom atomic * ci: fix linting * ci: fix ci runs for banshee * ci: fix ci flow for banshee snitch tests * ci: fix typo * fix yml linting * snRuntime: remove snRuntime-banshee-general and all empty startup files * snRuntime-tests: update team_global test to snitch_cluster configuration * ci: update ci banshee tests * snRuntime: merge _snrt_cluster_barrier from rtl and banshee startup * snRuntime-banshee: update banshee startup * banshee: overwrite configuration file with handed over paramters * ci: fix linting * banshee/snRuntime: change scratch_reg address * banshee: fix bootrom * banshee: fix formatting * ci: fix linting * banshee: fix format * update ci to new master after rebase * ci: change application tests to use snitch_cluster configuration
- Loading branch information
Showing
20 changed files
with
304 additions
and
349 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
// Copyright 2020 ETH Zurich and University of Bologna. | ||
// Licensed under the Apache License, Version 2.0, see LICENSE for details. | ||
// SPDX-License-Identifier: Apache-2.0 | ||
#include "snrt.h" | ||
|
||
extern const uint32_t wakeup_reg; | ||
|
||
// Provide an implementation for putchar. | ||
void snrt_putchar(char character) { | ||
*(volatile uint32_t *)0xF00B8000 = character; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Copyright 2020 ETH Zurich and University of Bologna. | ||
# Licensed under the Apache License, Version 2.0, see LICENSE for details. | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
#include "../shared/start_snitch.S" | ||
|
||
# Function to terminate execution. | ||
# | ||
# Expecting: | ||
# - a0: exit code | ||
# - a1: device tree ptr | ||
_snrt_exit: | ||
.globl _snrt_exit | ||
# Determine global core index. | ||
addi sp, sp, -8 | ||
sw a0, 0(sp) | ||
sw ra, 4(sp) | ||
call snrt_global_core_idx | ||
# reload exit code into t0 | ||
lw t0, 0(sp) | ||
lw ra, 4(sp) | ||
addi sp, sp, 8 | ||
|
||
# Only first core triggers exit. | ||
# - a0: global core index | ||
# - t0: exit code | ||
bnez a0, 1f | ||
slli t0, t0, 1 | ||
ori t0, t0, 1 | ||
la t1, scratch_reg | ||
sw t0, 0(t1) | ||
1: ret | ||
|
||
.set scratch_reg, 0x02000014 # used as exit code location |
Oops, something went wrong.