summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/platform/generic.md2
-rw-r--r--docs/platform/spike.md20
-rw-r--r--platform/spike/config.mk36
-rw-r--r--platform/spike/objects.mk7
-rw-r--r--platform/spike/platform.c86
-rwxr-xr-xscripts/create-binary-archive.sh1
6 files changed, 12 insertions, 140 deletions
diff --git a/docs/platform/generic.md b/docs/platform/generic.md
index f4281a2..e2d1b63 100644
--- a/docs/platform/generic.md
+++ b/docs/platform/generic.md
@@ -40,5 +40,7 @@ RISC-V Platforms Using Generic Platform
---------------------------------------
* **QEMU RISC-V Virt Machine** (*[qemu_virt.md]*)
+* **Spike** (*[spike.md]*)
[qemu_virt.md]: qemu_virt.md
+[spike.md]: spike.md
diff --git a/docs/platform/spike.md b/docs/platform/spike.md
index 40fa4ba..8d6b422 100644
--- a/docs/platform/spike.md
+++ b/docs/platform/spike.md
@@ -9,7 +9,7 @@ on **Spike** simulator and QEMU Spike machine.
For more details, refer [Spike on GitHub](https://github.com/riscv/riscv-isa-sim)
To build the platform-specific library and firmware images, provide the
-*PLATFORM=spike* parameter to the top level `make` command.
+*PLATFORM=generic* parameter to the top level `make` command.
Platform Options
----------------
@@ -23,12 +23,12 @@ Execution on Spike Simulator
Build:
```
-make PLATFORM=spike
+make PLATFORM=generic
```
Run:
```
-spike build/platform/spike/firmware/fw_payload.elf
+spike build/platform/generic/firmware/fw_payload.elf
```
**Linux Kernel Payload**
@@ -38,12 +38,12 @@ Note: We assume that the Linux kernel is compiled using
Build:
```
-make PLATFORM=spike FW_PAYLOAD_PATH=<linux_build_directory>/arch/riscv/boot/Image
+make PLATFORM=generic FW_PAYLOAD_PATH=<linux_build_directory>/arch/riscv/boot/Image
```
Run:
```
-spike --initrd <path_to_cpio_ramdisk> build/platform/spike/firmware/fw_payload.elf
+spike --initrd <path_to_cpio_ramdisk> build/platform/generic/firmware/fw_payload.elf
```
Execution on QEMU RISC-V 64-bit
@@ -53,13 +53,13 @@ Execution on QEMU RISC-V 64-bit
Build:
```
-make PLATFORM=spike
+make PLATFORM=generic
```
Run:
```
qemu-system-riscv64 -M spike -m 256M -nographic \
- -kernel build/platform/spike/firmware/fw_payload.elf
+ -kernel build/platform/generic/firmware/fw_payload.elf
```
**Linux Kernel Payload**
@@ -69,20 +69,20 @@ Note: We assume that the Linux kernel is compiled using
Build:
```
-make PLATFORM=spike FW_PAYLOAD_PATH=<linux_build_directory>/arch/riscv/boot/Image
+make PLATFORM=generic FW_PAYLOAD_PATH=<linux_build_directory>/arch/riscv/boot/Image
```
Run:
```
qemu-system-riscv64 -M spike -m 256M -nographic \
- -kernel build/platform/spike/firmware/fw_payload.elf \
+ -kernel build/platform/generic/firmware/fw_payload.elf \
-initrd <path_to_cpio_ramdisk> \
-append "root=/dev/ram rw console=hvc0 earlycon=sbi"
```
or
```
qemu-system-riscv64 -M spike -m 256M -nographic \
- -bios build/platform/spike/firmware/fw_jump.elf \
+ -bios build/platform/generic/firmware/fw_jump.elf \
-kernel <linux_build_directory>/arch/riscv/boot/Image \
-initrd <path_to_cpio_ramdisk> \
-append "root=/dev/ram rw console=hvc0 earlycon=sbi"
diff --git a/platform/spike/config.mk b/platform/spike/config.mk
deleted file mode 100644
index 4bde3fd..0000000
--- a/platform/spike/config.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# SPDX-License-Identifier: BSD-2-Clause
-#
-# Copyright (c) 2020 Western Digital Corporation or its affiliates.
-#
-
-# Compiler flags
-platform-cppflags-y =
-platform-cflags-y =
-platform-asflags-y =
-platform-ldflags-y =
-
-# Command for platform specific "make run"
-platform-runcmd = spike \
- $(build_dir)/platform/spike/firmware/fw_payload.elf
-
-# Blobs to build
-FW_TEXT_START=0x80000000
-FW_JUMP=y
-ifeq ($(PLATFORM_RISCV_XLEN), 32)
- # This needs to be 4MB aligned for 32-bit system
- FW_JUMP_ADDR=0x80400000
-else
- # This needs to be 2MB aligned for 64-bit system
- FW_JUMP_ADDR=0x80200000
-endif
-FW_JUMP_FDT_ADDR=0x82200000
-FW_PAYLOAD=y
-ifeq ($(PLATFORM_RISCV_XLEN), 32)
- # This needs to be 4MB aligned for 32-bit system
- FW_PAYLOAD_OFFSET=0x400000
-else
- # This needs to be 2MB aligned for 64-bit system
- FW_PAYLOAD_OFFSET=0x200000
-endif
-FW_PAYLOAD_FDT_ADDR=0x82200000
diff --git a/platform/spike/objects.mk b/platform/spike/objects.mk
deleted file mode 100644
index 30a3c4f..0000000
--- a/platform/spike/objects.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-#
-# SPDX-License-Identifier: BSD-2-Clause
-#
-# Copyright (c) 2020 Western Digital Corporation or its affiliates.
-#
-
-platform-objs-y += platform.o
diff --git a/platform/spike/platform.c b/platform/spike/platform.c
deleted file mode 100644
index 066720a..0000000
--- a/platform/spike/platform.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2020 Western Digital Corporation or its affiliates.
- */
-
-#include <sbi/sbi_platform.h>
-#include <sbi_utils/sys/clint.h>
-#include <sbi_utils/sys/htif.h>
-
-/* clang-format off */
-
-#define SPIKE_HART_COUNT 8
-
-#define SPIKE_CLINT_ADDR 0x2000000
-
-/* clang-format on */
-
-static int spike_final_init(bool cold_boot)
-{
- return 0;
-}
-
-static int spike_console_init(void)
-{
- return 0;
-}
-
-static int spike_irqchip_init(bool cold_boot)
-{
- return 0;
-}
-
-static int spike_ipi_init(bool cold_boot)
-{
- int ret;
-
- if (cold_boot) {
- ret = clint_cold_ipi_init(SPIKE_CLINT_ADDR,
- SPIKE_HART_COUNT);
- if (ret)
- return ret;
- }
-
- return clint_warm_ipi_init();
-}
-
-static int spike_timer_init(bool cold_boot)
-{
- int rc;
-
- if (cold_boot) {
- rc = clint_cold_timer_init(SPIKE_CLINT_ADDR,
- SPIKE_HART_COUNT, TRUE);
- if (rc)
- return rc;
- }
-
- return clint_warm_timer_init();
-}
-
-const struct sbi_platform_operations platform_ops = {
- .final_init = spike_final_init,
- .console_putc = htif_putc,
- .console_getc = htif_getc,
- .console_init = spike_console_init,
- .irqchip_init = spike_irqchip_init,
- .ipi_send = clint_ipi_send,
- .ipi_clear = clint_ipi_clear,
- .ipi_init = spike_ipi_init,
- .timer_value = clint_timer_value,
- .timer_event_stop = clint_timer_event_stop,
- .timer_event_start = clint_timer_event_start,
- .timer_init = spike_timer_init,
- .system_reset = htif_system_reset
-};
-
-const struct sbi_platform platform = {
- .opensbi_version = OPENSBI_VERSION,
- .platform_version = SBI_PLATFORM_VERSION(0x0, 0x01),
- .name = "Spike",
- .features = SBI_PLATFORM_DEFAULT_FEATURES,
- .hart_count = SPIKE_HART_COUNT,
- .hart_stack_size = SBI_PLATFORM_DEFAULT_HART_STACK_SIZE,
- .platform_ops_addr = (unsigned long)&platform_ops
-};
diff --git a/scripts/create-binary-archive.sh b/scripts/create-binary-archive.sh
index 32e53cf..c19af26 100755
--- a/scripts/create-binary-archive.sh
+++ b/scripts/create-binary-archive.sh
@@ -107,7 +107,6 @@ build_opensbi() {
BUILD_PLATFORM_SUBDIR+=("fpga/openpiton")
BUILD_PLATFORM_SUBDIR+=("andes/ae350")
BUILD_PLATFORM_SUBDIR+=("thead/c910")
- BUILD_PLATFORM_SUBDIR+=("spike")
BUILD_PLATFORM_SUBDIR+=("generic")
;;
*)