diff --git a/.gitmodules b/.gitmodules index 1ab2f3be3..5c2e706dc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -73,3 +73,12 @@ [submodule "software/plic-interrupts"] path = software/plic-interrupts url = https://github.com/sifive/example-plic-interrupts.git +[submodule "software/clic-vector-interrupts"] + path = software/clic-vector-interrupts + url = git@github.com:sifive/example-clic-vector-interrupts.git +[submodule "software/clic-selective-vector-interrupts"] + path = software/clic-selective-vector-interrupts + url = git@github.com:sifive/example-clic-selective-vector-interrupts.git +[submodule "software/clic-hardware-vector-interrupts"] + path = software/clic-hardware-vector-interrupts + url = git@github.com:sifive/example-clic-hardware-vector-interrupts.git diff --git a/README.md b/README.md index 259003476..c21268cd9 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,12 @@ operating systems to RISC-V. - Assembly test code which executes instructions and checks for expected results. The tests are designed to work on SiFive CPU designs in RTL simulation or on the Arty FPGA board. + - clic-vector-interrupts + - A simple example demonstrating how to use CLIC non vector interrupts + - clic-selective-vector-interrupts + - A simple example demonstrating how to use CLIC selective vector interrupts + - clic-hardware-vector-interrupts + - A simple example demonstrating the use of CLIC hardware vector interrupts ### Setting up the SDK ### diff --git a/doc/sphinx/contents.rst b/doc/sphinx/contents.rst index 81a0b4391..7cfe20e6a 100644 --- a/doc/sphinx/contents.rst +++ b/doc/sphinx/contents.rst @@ -180,3 +180,15 @@ The example programs can be found under the ``software/`` directory. The tests are designed to work on SiFive CPU designs in RTL simulation or on the Arty FPGA board. +- clic-vector-interrupts + + - A simple example demonstrating how to use CLIC non vector interrupts + +- clic-selective-vector-interrupts + + - A simple example demonstrating how to use CLIC selective vector interrupts + +- clic-hardware-vector-interrupts + + - A simple example demonstrating the use of CLIC hardware vector interrupts + diff --git a/freedom-metal b/freedom-metal index 22d481b62..a1c1dc359 160000 --- a/freedom-metal +++ b/freedom-metal @@ -1 +1 @@ -Subproject commit 22d481b629421849b0b3eefa325194dc5fc66301 +Subproject commit a1c1dc359a43d94e479da982d6db903bc49ce132 diff --git a/software/clic-hardware-vector-interrupts b/software/clic-hardware-vector-interrupts new file mode 160000 index 000000000..b574f3b75 --- /dev/null +++ b/software/clic-hardware-vector-interrupts @@ -0,0 +1 @@ +Subproject commit b574f3b758aaec911e702f3709be694daa8c8138 diff --git a/software/clic-selective-vector-interrupts b/software/clic-selective-vector-interrupts new file mode 160000 index 000000000..7e5ad47f3 --- /dev/null +++ b/software/clic-selective-vector-interrupts @@ -0,0 +1 @@ +Subproject commit 7e5ad47f3a81c095978e3a0c2d3278d1c7aa2ab2 diff --git a/software/clic-vector-interrupts b/software/clic-vector-interrupts new file mode 160000 index 000000000..53d1bbf11 --- /dev/null +++ b/software/clic-vector-interrupts @@ -0,0 +1 @@ +Subproject commit 53d1bbf119265ae3abbb09ca5208cad450111018