Skip to content

Instantly share code, notes, and snippets.

@orangecms
Last active July 4, 2023 21:58
Show Gist options
  • Save orangecms/ec608a807df268a5cb3cb7231f7e4686 to your computer and use it in GitHub Desktop.
Save orangecms/ec608a807df268a5cb3cb7231f7e4686 to your computer and use it in GitHub Desktop.
oreboot on JH7110 / VF2 with RustSBI
oreboot 🦀 bt0
boot mode: UART
RISC-V arch 8000000000000007
RISC-V core vendor: SiFive (0x0489)
RISC-V implementation: 21G1.02.00 / llama.02.00-general (0x04210427)
RISC-V hart ID 1
apb0 80000000
apb0 80000000
DRAM: 4G: false 2G: false
[DRAM] init start
[DRAM] set clk to OSC div2
[DRAM] set PLL frequency
PLL1: 00b02603 55e00000 00c7a601
PLL1: 042ba603 41e00000 00c7a60c
[DRAM] set clk to PLL1 div2
[DRAM] asserts
[DRAM] train
[DRAM] util
[DRAM] start
[DRAM] set clk to OSC div2
[DRAM] boot
[DRAM] OMC init
[DRAM] OMC init train
[DRAM] OMC init PHY
[DRAM] OMC init done
[DRAM] init done
Copy 64k main stage to DRAM... ⏳
................................................................ done.
Main stage:
dump 32 bytes @80000000
7350107c7310403073100030731050308545732540f16319b500175100001301
Jump to main stage...
oreboot 🦀 main
lzss compressed Linux:
dump 32 bytes @21400000
7c54a80098e89fd65017f90c81fd471098cd1fea40057813f836a549a9d0eac0
dump 32 bytes @21400020
1c20108414036597b2fda0193c2e16e78cb2c5e0c02d089c1acdfbc8e375d900
dump 32 bytes @21400040
1ca49a072ecb5ce21568844eadc501735d31961a6e3a2f95974062705e2fe263
dump 32 bytes @21400060
81a6e36e6047089013c20b188b80a840ce30703985562197f8cb60393c0f077c
dump 32 bytes @21400080
07f0834600de582c0022c2811004a8c50106921dee66c573d840810400461c9e
dump 32 bytes @214000a0
1b0d04b9e400a2101a301342073205606868dae05d06c417a117d28194b0bf2f
dump 32 bytes @214000c0
7fc23ff6f7c03800c60a982b42cf00a1c5e2f2503c94166c07f2073840228093
dump 32 bytes @214000e0
00010023c2a110faefc1e22096be0ed814ac0c90057879bdb179b800422707b3
Copy compressed Linux to DRAM... ⏳
................................................ done.
Copy DTB to DRAM... ⏳
. done.
DTB looks fine, yay!
Decompress 11031676 bytes from 0x84000004 to 0x80200000, reserved 25165824 bytes
Success, decompressed 19789688 bytes :)
Payload looks like Linux Image, yay!
DTB still fine, yay!
Payload extracted. Preview:
dump 32 bytes @80200000
31a2000000000100000020000000000010313401000000000000000000000000
dump 32 bytes @80200020
0200000000000000000000000000000052495343560000005253430500000000
dump 32 bytes @80200040
9765f600938585738c6517060000130666fb918dae9017060000130626032e96
dump 32 bytes @80200060
731056101356c5009765f600938585748c614d8e17952e011305c5f831814d8d
dump 32 bytes @80200080
7300001273100518170500001305c5077310551097f12d019381c1be73100618
dump 32 bytes @802000a0
730000128280731040107310401497f12d01938121bd996273b0021097060000
dump 32 bytes @802000c0
938686047390561001462e9603320600a146ae9603b1060017a52e01130585f2
dump 32 bytes @802000e0
eff01ff6ef00c000175300006700431717250000130505367310551073100014
Release non-boot harts =====
[SBI] timer init
[SBI] reset init
[SBI] ipi init
[SBI] rfence init
[SBI] set mtvec: 80000044
[SBI] delegate interrupts and exceptions
RustSBI version 0.3.2
.______ __ __ _______.___________. _______..______ __
| _ \ | | | | / | | / || _ \ | |
| |_) | | | | | | (----`---| |----`| (----`| |_) || |
| / | | | | \ \ | | \ \ | _ < | |
| |\ \----.| `--' |.----) | | | .----) | | |_) || |
| _| `._____| \______/ |_______/ |__| |_______/ |______/ |__|
Platform Name: StarFive VisionFive 2
Implementation: oreboot version 0.1.0
[SBI] misa: RV64ABCDFIMSUX
[SBI] mideleg: ssoft stimer sext (0x000222)
[SBI] medeleg: ima uecall ipage lpage spage (0x00b101)
[SBI] mie: msoft mtimer (0x000088)
[SBI] PMP0: 0x00000000 - 0x80000000 (A,R,W,X)
[SBI] PMP1: 0x80000000 - 0x80200000 (A,R,W,X)
[SBI] PMP2: 0x80200000 - 0xffffff000 (A,R,W,X)
[SBI] PMP8: 0x00000000 - 0x00000000 (A,R,W,X)
[SBI] Enter supervisor on hart 1 at 80200000 with DTB from 81a00000
[SBI] DEBUG: instruction 0x20442098d0 at 0xffffff840a189088: Exception(InstructionMisaligned)
[SBI] ecall a6: 4, a7: 10, a0-a5: 0 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0x0000000080207540: Exception(SupervisorEnvCall)
[SBI] ecall a6: 5, a7: 10, a0-a5: 0 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0x0000000080207590: Exception(SupervisorEnvCall)
[SBI] ecall a6: 6, a7: 10, a0-a5: 0 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0x00000000802075e0: Exception(SupervisorEnvCall)
[SBI] ecall a6: 0, a7: 10, a0-a5: 0 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006d46: Exception(SupervisorEnvCall)
[SBI] ecall a6: 1, a7: 10, a0-a5: 0 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006d46: Exception(SupervisorEnvCall)
[SBI] ecall a6: 2, a7: 10, a0-a5: 0 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006d46: Exception(SupervisorEnvCall)
[SBI] ecall a6: 3, a7: 10, a0-a5: 54494d45 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006d18: Exception(SupervisorEnvCall)
[SBI] ecall a6: 3, a7: 10, a0-a5: 735049 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006d18: Exception(SupervisorEnvCall)
[SBI] ecall a6: 3, a7: 10, a0-a5: 52464e43 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006d18: Exception(SupervisorEnvCall)
[SBI] ecall a6: 3, a7: 10, a0-a5: 53525354 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006d18: Exception(SupervisorEnvCall)
[SBI] ecall a6: 3, a7: 10, a0-a5: 48534d 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006d18: Exception(SupervisorEnvCall)
[SBI] ecall a6: 3, a7: 10, a0-a5: 48534d 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006d18: Exception(SupervisorEnvCall)
[SBI] ecall a6: 3, a7: 10, a0-a5: 48534d 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006d18: Exception(SupervisorEnvCall)
[SBI] ecall a6: 3, a7: 10, a0-a5: 48534d 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006d18: Exception(SupervisorEnvCall)
[SBI] ecall a6: 4, a7: 10, a0-a5: 0 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80007540: Exception(SupervisorEnvCall)
[SBI] ecall a6: 5, a7: 10, a0-a5: 0 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80007590: Exception(SupervisorEnvCall)
[SBI] ecall a6: 6, a7: 10, a0-a5: 0 0 0 0 0 0
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff800075e0: Exception(SupervisorEnvCall)
[SBI] ecall a6: 0, a7: 52464e43, a0-a5: 1 1 0 0 0 0
[SBI] remote_fence_i HartMask { inner: BitVector { hart_mask: 1, hart_mask_base: 1 } }
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006e64: Exception(SupervisorEnvCall)
[SBI] ecall a6: 0, a7: 52464e43, a0-a5: 1 1 0 0 0 0
[SBI] remote_fence_i HartMask { inner: BitVector { hart_mask: 1, hart_mask_base: 1 } }
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006e64: Exception(SupervisorEnvCall)
[SBI] ecall a6: 0, a7: 52464e43, a0-a5: 1 1 0 0 0 0
[SBI] remote_fence_i HartMask { inner: BitVector { hart_mask: 1, hart_mask_base: 1 } }
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006e64: Exception(SupervisorEnvCall)
[SBI] ecall a6: 0, a7: 52464e43, a0-a5: 1 1 0 0 0 0
[SBI] remote_fence_i HartMask { inner: BitVector { hart_mask: 1, hart_mask_base: 1 } }
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006e64: Exception(SupervisorEnvCall)
[SBI] ecall a6: 0, a7: 52464e43, a0-a5: 1 1 0 0 0 0
[SBI] remote_fence_i HartMask { inner: BitVector { hart_mask: 1, hart_mask_base: 1 } }
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006e64: Exception(SupervisorEnvCall)
[SBI] ecall a6: 0, a7: 52464e43, a0-a5: 1 1 0 0 0 0
[SBI] remote_fence_i HartMask { inner: BitVector { hart_mask: 1, hart_mask_base: 1 } }
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006e64: Exception(SupervisorEnvCall)
[SBI] ecall a6: 0, a7: 52464e43, a0-a5: 1 1 0 0 0 0
[SBI] remote_fence_i HartMask { inner: BitVector { hart_mask: 1, hart_mask_base: 1 } }
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006e64: Exception(SupervisorEnvCall)
[SBI] ecall a6: 0, a7: 52464e43, a0-a5: 1 1 0 0 0 0
[SBI] remote_fence_i HartMask { inner: BitVector { hart_mask: 1, hart_mask_base: 1 } }
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006e64: Exception(SupervisorEnvCall)
[SBI] ecall a6: 0, a7: 52464e43, a0-a5: 1 1 0 0 0 0
[SBI] remote_fence_i HartMask { inner: BitVector { hart_mask: 1, hart_mask_base: 1 } }
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006e64: Exception(SupervisorEnvCall)
[SBI] ecall a6: 0, a7: 52464e43, a0-a5: 1 1 0 0 0 0
[SBI] remote_fence_i HartMask { inner: BitVector { hart_mask: 1, hart_mask_base: 1 } }
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006e64: Exception(SupervisorEnvCall)
[SBI] ecall a6: 0, a7: 52464e43, a0-a5: 1 1 0 0 0 0
[SBI] remote_fence_i HartMask { inner: BitVector { hart_mask: 1, hart_mask_base: 1 } }
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006e64: Exception(SupervisorEnvCall)
[SBI] ecall a6: 0, a7: 52464e43, a0-a5: 1 1 0 0 0 0
[SBI] remote_fence_i HartMask { inner: BitVector { hart_mask: 1, hart_mask_base: 1 } }
[SBI] DEBUG: instruction 0x00000000 at 0xffffffff80006e64: Exception(SupervisorEnvCall)
@orangecms
Copy link
Author

kgdb patch not helping here

neuschaefer/linux@89c57e4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment