@@ -981,6 +981,64 @@ If you are booting from U-Boot, use the following command to start the system im
981981Note that the OpenSBI version from the CVA6 SDK at the time of writing has issues when
982982booting. It is recommended to use the mainline OpenSBI.
983983
984+ ## Cheshire
985+
986+ Support is available for [ Cheshire] ( https://github.com/pulp-platform/cheshire ) .
987+ It is an SoC design based on the CVA6 core, implementing a 64-bit RISC-V CPU.
988+
989+ Microkit outputs a raw binary for this device. Several steps are required in order to boot.
990+
991+ A custom version of OpenSBI is required. It can be found
992+ [ here] ( https://github.com/pulp-platform/opensbi/tree/cheshire ) .
993+ Build the firmware payload using platform ` fpga/cheshire ` .
994+
995+ ### Using U-Boot
996+
997+ With a system pre-configured with the Cheshire ZSBL, OpenSBI and U-boot:
998+
999+ => go 0x90000000
1000+
1001+ ### Raw systerm with no bootloader
1002+
1003+ Without any firmware present on the SD card, it is still possible to boot Cheshire with a Microkit system.
1004+
1005+ Using a GDB prompt via openOCD:
1006+
1007+ 1 . Reset board
1008+ > monitor reset halt
1009+
1010+ 2 . Load a device tree blob (DTS available in Cheshire repo or seL4) to memory and set the a0 and a1 registers to point at it:
1011+
1012+ > restore /path/to/cheshire.dtb binary 0xa0000000
1013+
1014+ (tell OpenSBI where DTB is)
1015+
1016+ > set $a0=0xa0000000
1017+
1018+ (tell OpenSBI that the default hart is #0 )
1019+
1020+ > set $a1=0
1021+
1022+ 3 . Load OpenSBI
1023+
1024+ > load /path/to/opensbi/fw_payload.elf
1025+
1026+ 4 . Allow OpenSBI to boot, and interrupt it once the line ` Test payload running ` is emitted on serial.
1027+
1028+ > continue
1029+
1030+ (wait for output)
1031+
1032+ > (Ctrl+C)
1033+
1034+ 5 . Load Microkit image and execute
1035+
1036+ > restore /path/to/loader.img binary 0x90000000
1037+
1038+ (execute)
1039+
1040+ > continue
1041+
9841042## Adding Platform Support
9851043
9861044The following section is a guide for adding support for a new platform to Microkit.
0 commit comments