diff options
author | Prashanth Mundkur <prashanth.mundkur@gmail.com> | 2019-03-07 12:48:58 -0800 |
---|---|---|
committer | Prashanth Mundkur <prashanth.mundkur@gmail.com> | 2019-03-07 14:48:57 -0800 |
commit | 1d85b196527dfeb1e126364afeaa5b7e632cc2a9 (patch) | |
tree | bf91691b93f87298f2e41cd908956027396f8946 /os-boot | |
parent | 7e6961b52183158d8d22344fa509b03253e04463 (diff) | |
download | sail-riscv-1d85b196527dfeb1e126364afeaa5b7e632cc2a9.zip sail-riscv-1d85b196527dfeb1e126364afeaa5b7e632cc2a9.tar.gz sail-riscv-1d85b196527dfeb1e126364afeaa5b7e632cc2a9.tar.bz2 |
Fix docs about sel4 boot.
Diffstat (limited to 'os-boot')
-rw-r--r-- | os-boot/README.md | 12 | ||||
-rw-r--r-- | os-boot/rv64-2gb.dts | 45 |
2 files changed, 53 insertions, 4 deletions
diff --git a/os-boot/README.md b/os-boot/README.md index 618312d..7077b4a 100644 --- a/os-boot/README.md +++ b/os-boot/README.md @@ -75,12 +75,16 @@ The 64-bit Linux image can then be booted as: tail -f /tmp/console.log ``` -The 64-bit seL4 image runs its test-suite, which can take a very long time in a simulator: +The 64-bit FreeBSD image requires hardware PTE update support (`-d`): ``` -./c_emulator/riscv_sim_RV64 -b os-boot/rv64-64mb.dtb -t /tmp/console.log os-boot/sel4-rv64.bbl > >(gzip -c - > /tmp/exec-trace.log.gz) 2>&1 +./c_emulator/riscv_sim_RV64 -d -b os-boot/rv64-64mb.dtb -t /tmp/console.log os-boot/freebsd-rv64.bbl > >(gzip -c - > /tmp/exec-trace.log.gz) 2>&1 ``` -The 64-bit FreeBSD image requires hardware PTE update support (`-d`): +The 64-bit seL4 image runs its test-suite and requires more memory (`-z`): ``` -./c_emulator/riscv_sim_RV64 -d -b os-boot/rv64-64mb.dtb -t /tmp/console.log os-boot/freebsd-rv64.bbl > >(gzip -c - > /tmp/exec-trace.log.gz) 2>&1 +dtc < os-boot/rv64-2gb.dts > os-boot/rv64-2gb.dtb +./c_emulator/riscv_sim_RV64 -z 2048 -b os-boot/rv64-2gb.dtb -t /tmp/console.log os-boot/sel4-rv64.bbl > >(gzip -c - > /tmp/exec-trace.log.gz) 2>&1 ``` + +Note that the consistency of the `-z` argument and the contents of the +DTB have to be ensured manually for now. diff --git a/os-boot/rv64-2gb.dts b/os-boot/rv64-2gb.dts new file mode 100644 index 0000000..4cbb2d4 --- /dev/null +++ b/os-boot/rv64-2gb.dts @@ -0,0 +1,45 @@ +/dts-v1/; + +/ { + #address-cells = <2>; + #size-cells = <2>; + compatible = "ucbbar,spike-bare-dev"; + model = "ucbbar,spike-bare"; + cpus { + #address-cells = <1>; + #size-cells = <0>; + timebase-frequency = <10000000>; + CPU0: cpu@0 { + device_type = "cpu"; + reg = <0>; + status = "okay"; + compatible = "riscv"; + riscv,isa = "rv64imac"; + mmu-type = "riscv,sv39"; + clock-frequency = <1000000000>; + CPU0_intc: interrupt-controller { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "riscv,cpu-intc"; + }; + }; + }; + memory@80000000 { + device_type = "memory"; + reg = <0x0 0x80000000 0x0 0x80000000>; + }; + soc { + #address-cells = <2>; + #size-cells = <2>; + compatible = "ucbbar,spike-bare-soc", "simple-bus"; + ranges; + clint@2000000 { + compatible = "riscv,clint0"; + interrupts-extended = <&CPU0_intc 3 &CPU0_intc 7 >; + reg = <0x0 0x2000000 0x0 0xc0000>; + }; + }; + htif { + compatible = "ucb,htif0"; + }; +}; |