summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2020-04-23 09:22:30 +0300
committerAnup Patel <anup@brainfault.org>2020-04-27 11:27:27 +0300
commit1bb00ab3aeabde78579774eef8eadc7b7e765924 (patch)
tree119d29d80996c9db45105fa9f688ef8b1aef5265 /platform
parent9f1b72ce66d659e91013b358939e832fb27223f5 (diff)
downloadopensbi-1bb00ab3aeabde78579774eef8eadc7b7e765924.tar.xz
lib: No need to provide default PMP region using platform callbacks
The default (usually last) PMP region provides S-mode access to complete memory range not covered by other PMP regions. Currently, the default PMP region is described as platform specific PMP region which is not appropriate because all platforms need it and default PMP region should be part of generic library. Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Atish Patra <atish.patra@wdc.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'platform')
-rw-r--r--platform/andes/ae350/platform.c32
-rw-r--r--platform/qemu/virt/platform.c26
-rw-r--r--platform/sifive/fu540/platform.c26
-rw-r--r--platform/spike/platform.c26
-rw-r--r--platform/template/platform.c20
5 files changed, 0 insertions, 130 deletions
diff --git a/platform/andes/ae350/platform.c b/platform/andes/ae350/platform.c
index c1311d4..69a3cbc 100644
--- a/platform/andes/ae350/platform.c
+++ b/platform/andes/ae350/platform.c
@@ -53,35 +53,6 @@ static int ae350_final_init(bool cold_boot)
return 0;
}
-/* Get number of PMP regions for given HART. */
-static u32 ae350_pmp_region_count(u32 hartid)
-{
- return 1;
-}
-
-/*
- * Get PMP regions details (namely: protection, base address, and size) for
- * a given HART.
- */
-static int ae350_pmp_region_info(u32 hartid, u32 index, ulong *prot,
- ulong *addr, ulong *log2size)
-{
- int ret = 0;
-
- switch (index) {
- case 0:
- *prot = PMP_R | PMP_W | PMP_X;
- *addr = 0;
- *log2size = __riscv_xlen;
- break;
- default:
- ret = -1;
- break;
- };
-
- return ret;
-}
-
/* Initialize the platform console. */
static int ae350_console_init(void)
{
@@ -159,9 +130,6 @@ static int ae350_system_shutdown(u32 type)
const struct sbi_platform_operations platform_ops = {
.final_init = ae350_final_init,
- .pmp_region_count = ae350_pmp_region_count,
- .pmp_region_info = ae350_pmp_region_info,
-
.console_init = ae350_console_init,
.console_putc = uart8250_putc,
.console_getc = uart8250_getc,
diff --git a/platform/qemu/virt/platform.c b/platform/qemu/virt/platform.c
index 86d1bcc..5c12f53 100644
--- a/platform/qemu/virt/platform.c
+++ b/platform/qemu/virt/platform.c
@@ -52,30 +52,6 @@ static int virt_final_init(bool cold_boot)
return 0;
}
-static u32 virt_pmp_region_count(u32 hartid)
-{
- return 1;
-}
-
-static int virt_pmp_region_info(u32 hartid, u32 index, ulong *prot, ulong *addr,
- ulong *log2size)
-{
- int ret = 0;
-
- switch (index) {
- case 0:
- *prot = PMP_R | PMP_W | PMP_X;
- *addr = 0;
- *log2size = __riscv_xlen;
- break;
- default:
- ret = -1;
- break;
- };
-
- return ret;
-}
-
static int virt_console_init(void)
{
return uart8250_init(VIRT_UART16550_ADDR, VIRT_UART_SHIFTREG_ADDR,
@@ -135,8 +111,6 @@ static int virt_system_down(u32 type)
}
const struct sbi_platform_operations platform_ops = {
- .pmp_region_count = virt_pmp_region_count,
- .pmp_region_info = virt_pmp_region_info,
.final_init = virt_final_init,
.console_putc = uart8250_putc,
.console_getc = uart8250_getc,
diff --git a/platform/sifive/fu540/platform.c b/platform/sifive/fu540/platform.c
index baa0d13..3a9f4b5 100644
--- a/platform/sifive/fu540/platform.c
+++ b/platform/sifive/fu540/platform.c
@@ -66,30 +66,6 @@ static int fu540_final_init(bool cold_boot)
return 0;
}
-static u32 fu540_pmp_region_count(u32 hartid)
-{
- return 1;
-}
-
-static int fu540_pmp_region_info(u32 hartid, u32 index, ulong *prot,
- ulong *addr, ulong *log2size)
-{
- int ret = 0;
-
- switch (index) {
- case 0:
- *prot = PMP_R | PMP_W | PMP_X;
- *addr = 0;
- *log2size = __riscv_xlen;
- break;
- default:
- ret = -1;
- break;
- };
-
- return ret;
-}
-
static int fu540_console_init(void)
{
unsigned long peri_in_freq;
@@ -169,8 +145,6 @@ static int fu540_system_down(u32 type)
}
const struct sbi_platform_operations platform_ops = {
- .pmp_region_count = fu540_pmp_region_count,
- .pmp_region_info = fu540_pmp_region_info,
.final_init = fu540_final_init,
.console_putc = sifive_uart_putc,
.console_getc = sifive_uart_getc,
diff --git a/platform/spike/platform.c b/platform/spike/platform.c
index 0883ff6..b09e7c6 100644
--- a/platform/spike/platform.c
+++ b/platform/spike/platform.c
@@ -21,30 +21,6 @@ static int spike_final_init(bool cold_boot)
return 0;
}
-static u32 spike_pmp_region_count(u32 hartid)
-{
- return 1;
-}
-
-static int spike_pmp_region_info(u32 hartid, u32 index, ulong *prot, ulong *addr,
- ulong *log2size)
-{
- int ret = 0;
-
- switch (index) {
- case 0:
- *prot = PMP_R | PMP_W | PMP_X;
- *addr = 0;
- *log2size = __riscv_xlen;
- break;
- default:
- ret = -1;
- break;
- };
-
- return ret;
-}
-
static int spike_console_init(void)
{
return 0;
@@ -84,8 +60,6 @@ static int spike_timer_init(bool cold_boot)
}
const struct sbi_platform_operations platform_ops = {
- .pmp_region_count = spike_pmp_region_count,
- .pmp_region_info = spike_pmp_region_info,
.final_init = spike_final_init,
.console_putc = htif_putc,
.console_getc = htif_getc,
diff --git a/platform/template/platform.c b/platform/template/platform.c
index d09b8bd..ef32941 100644
--- a/platform/template/platform.c
+++ b/platform/template/platform.c
@@ -34,24 +34,6 @@ static int platform_final_init(bool cold_boot)
}
/*
- * Get number of PMP regions for given HART.
- */
-static u32 platform_pmp_region_count(u32 hartid)
-{
- return 0;
-}
-
-/*
- * Get PMP regions details (namely: protection, base address, and size) for
- * a given HART.
- */
-static int platform_pmp_region_info(u32 hartid, u32 index, ulong *prot,
- ulong *addr, ulong *log2size)
-{
- return 0;
-}
-
-/*
* Initialize the platform console.
*/
static int platform_console_init(void)
@@ -201,8 +183,6 @@ static int platform_system_shutdown(u32 type)
const struct sbi_platform_operations platform_ops = {
.early_init = platform_early_init,
.final_init = platform_final_init,
- .pmp_region_count = platform_pmp_region_count,
- .pmp_region_info = platform_pmp_region_info,
.console_putc = platform_console_putc,
.console_getc = platform_console_getc,
.console_init = platform_console_init,