diff options
author | Nathaniel Graff <nathaniel.graff@sifive.com> | 2019-01-30 19:37:59 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-30 19:37:59 +0000 |
commit | 89d973abd94faf74d7486a6c5e044935f5d63e9d (patch) | |
tree | c7188e2bfad20a2750a4155ff623a16541abfb74 /bsp/coreip-e31 | |
parent | b629a19514606cb5dd19e0cd433b60922343f6a8 (diff) | |
parent | c615e937538d438c46efd46f9254a2a74b591205 (diff) |
Merge pull request #157 from sifive/mee-pmp-no-vtable
Add PMP example
Diffstat (limited to 'bsp/coreip-e31')
-rw-r--r-- | bsp/coreip-e31/design.dts | 4 | ||||
-rw-r--r-- | bsp/coreip-e31/mee.h | 11 |
2 files changed, 15 insertions, 0 deletions
diff --git a/bsp/coreip-e31/design.dts b/bsp/coreip-e31/design.dts index 3411ccf..f7e9868 100644 --- a/bsp/coreip-e31/design.dts +++ b/bsp/coreip-e31/design.dts @@ -33,6 +33,10 @@ #size-cells = <1>; compatible = "SiFive,FE310G-soc", "fe310-soc", "sifive-soc", "simple-bus"; ranges; + pmp: pmp@0 { + compatible = "riscv,pmp"; + regions = <8>; + }; L12: ahb-periph-port@20000000 { #address-cells = <1>; #size-cells = <1>; diff --git a/bsp/coreip-e31/mee.h b/bsp/coreip-e31/mee.h index a520854..068af63 100644 --- a/bsp/coreip-e31/mee.h +++ b/bsp/coreip-e31/mee.h @@ -18,6 +18,7 @@ #include <mee/drivers/riscv,cpu.h> #include <mee/drivers/riscv,clint0.h> #include <mee/drivers/riscv,plic0.h> +#include <mee/pmp.h> #include <mee/drivers/sifive,local-external-interrupts0.h> #include <mee/drivers/sifive,global-external-interrupts0.h> #include <mee/drivers/sifive,test0.h> @@ -45,6 +46,9 @@ struct __mee_driver_sifive_local_external_interrupts0 __mee_dt_local_external_in asm (".weak __mee_dt_global_external_interrupts"); struct __mee_driver_sifive_global_external_interrupts0 __mee_dt_global_external_interrupts; +asm (".weak __mee_dt_pmp_0"); +struct mee_pmp __mee_dt_pmp_0; + /* From teststatus@4000 */ asm (".weak __mee_dt_teststatus_4000"); struct __mee_driver_sifive_test0 __mee_dt_teststatus_4000; @@ -286,6 +290,13 @@ struct __mee_driver_sifive_global_external_interrupts0 __mee_dt_global_external_ #define __MEE_DT_GLOBAL_EXTERNAL_INTERRUPTS_HANDLE (&__mee_dt_global_external_interrupts.irc) +/* From pmp@0 */ +struct mee_pmp __mee_dt_pmp_0 = { + .num_regions = 8UL, +}; + +#define __MEE_DT_PMP_HANDLE (&__mee_dt_pmp_0) + /* From teststatus@4000 */ struct __mee_driver_sifive_test0 __mee_dt_teststatus_4000 = { .vtable = &__mee_driver_vtable_sifive_test0, |