-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3789f12
commit 844be75
Showing
8 changed files
with
173 additions
and
5 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
Binary file not shown.
Binary file not shown.
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,30 @@ | ||
$name?="hifive-unleashed" | ||
|
||
using sysbus | ||
mach create $name | ||
machine LoadPlatformDescription @action/device/hifive_unleashed/platform.repl | ||
|
||
# rootfs | ||
machine LoadPlatformDescriptionFromString 'virtio: Storage.VirtIOBlockDevice @ sysbus 0x100d0000 { IRQ -> plic@50 }' | ||
virtio LoadImage @images/rootfs.img | ||
|
||
machine LoadPlatformDescriptionFromString 'virtio2: Storage.VirtIOBlockDevice @ sysbus 0x100e0000 { IRQ -> plic@51 }' | ||
virtio2 LoadImage @/home/runner/work/protoplaster/protoplaster/protoplaster/test_platform/drive.img true | ||
|
||
|
||
showAnalyzer uart0 | ||
e51 LogFunctionNames true | ||
|
||
$fdt ?= @images/hifive-unleashed-a00.dtb | ||
$elf ?= @images/fw_payload.elf | ||
$image ?= @images/Image | ||
$rootfs ?= @images/rootfs.cpio | ||
|
||
macro reset | ||
""" | ||
sysbus LoadELF $elf | ||
sysbus LoadFdt $fdt 0x88000000 "earlycon=sbi console=ttyS0 root=/dev/ram init=/sbin/init initrd=0x8d000000,28M" | ||
sysbus LoadBinary $rootfs 0x8D000000 | ||
sysbus LoadBinary $image 0x8B000000 | ||
""" | ||
runMacro $reset |
Binary file not shown.
Binary file added
BIN
+11.7 MB
protoplaster/test_platform/kernel-riscv64-hifive_unleashed_virtio.tar.xz
Binary file not shown.
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,83 @@ | ||
// Custom board - HiFive Unleashed singlecore | ||
// Three u54 cores are disabled here to increase emulation speed | ||
|
||
e51: CPU.RiscV64 @ sysbus | ||
cpuType: "rv64imac" | ||
hartId: 0 | ||
privilegeArchitecture: PrivilegeArchitecture.Priv1_10 | ||
timeProvider: clint | ||
|
||
u54_1: CPU.RiscV64 @ sysbus | ||
cpuType: "rv64gc" | ||
hartId: 1 | ||
privilegeArchitecture: PrivilegeArchitecture.Priv1_10 | ||
timeProvider: clint | ||
|
||
debug: Memory.MappedMemory @sysbus 0x0 | ||
size: 0x1000 | ||
|
||
e51DTim: Memory.MappedMemory @ sysbus 0x01000000 | ||
size: 0x2000 | ||
|
||
u54Hart1ITim: Memory.MappedMemory @ sysbus 0x01808000 | ||
size: 0x7000 | ||
|
||
clint: IRQControllers.CoreLevelInterruptor @ sysbus 0x2000000 | ||
frequency: 1000000 | ||
numberOfTargets: 2 | ||
[0, 1] -> e51@[3, 7] | ||
[2, 3] -> u54_1@[3, 7] | ||
|
||
plic: IRQControllers.PlatformLevelInterruptController @ sysbus 0xc000000 | ||
0 -> e51@11 | ||
[1,2] -> u54_1@[11,9] | ||
numberOfSources: 53 | ||
numberOfContexts: 9 | ||
prioritiesEnabled : false | ||
|
||
uart0: UART.SiFive_UART @ sysbus 0x10010000 | ||
IRQ -> plic@4 | ||
|
||
uart1: UART.SiFive_UART @ sysbus 0x10011000 | ||
IRQ -> plic@5 | ||
|
||
qspi0Flash: Memory.MappedMemory @ sysbus 0x20000000 | ||
size: 0x2000000 | ||
|
||
ddr: Memory.MappedMemory @ sysbus 0x80000000 | ||
size: 0x200000000 | ||
|
||
ethernet: Network.CadenceGEM @ sysbus 0x10090000 | ||
moduleRevision: 0x0109 | ||
moduleId: 0x1007 | ||
IRQ -> plic@53 | ||
|
||
phy: Network.EthernetPhysicalLayer @ ethernet 0 | ||
Id1: 0x0141 | ||
Id2: 0x0e40 | ||
BasicStatus: 0x62A4 | ||
AutoNegotiationAdvertisement: 0x1e1 | ||
AutoNegotiationLinkPartnerBasePageAbility: 0x1e1 | ||
MasterSlaveControl: 0x300 | ||
MasterSlaveStatus: 0x3000 | ||
|
||
qspi0: SPI.HiFive_SPI @ sysbus 0x10040000 | ||
IRQ -> plic@51 | ||
numberOfSupportedSlaves: 1 | ||
|
||
// The registration address value is taken from the device tree. | ||
// It is different in the documentation (0x10140000). | ||
qspi1: SPI.HiFive_SPI @ sysbus 0x10041000 | ||
IRQ -> plic@52 | ||
numberOfSupportedSlaves: 4 | ||
|
||
qspi2: SPI.HiFive_SPI @ sysbus 0x10050000 | ||
IRQ -> plic@6 | ||
numberOfSupportedSlaves: 1 | ||
|
||
pwm0: HiFive_PWM @ sysbus 0x10020000 | ||
IRQ -> plic@42 | ||
|
||
pwm1: HiFive_PWM @ sysbus 0x10021000 | ||
IRQ -> plic@46 | ||
|
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,15 @@ | ||
name: renode_network | ||
shell: renode | ||
requires: [renode_config] | ||
echo: true | ||
timeout: 10 | ||
fail-fast: true | ||
sleep: 0 | ||
commands: | ||
- emulation CreateSwitch "${{SWITCH_NAME}}" | ||
- emulation CreateTap "${{TAP_INTERFACE}}" "tap" | ||
- connector Connect host.tap ${{SWITCH_NAME}} | ||
- connector Connect sysbus.ethernet ${{SWITCH_NAME}} | ||
vars: | ||
SWITCH_NAME: switch0 | ||
TAP_INTERFACE: tap0 |