#
22f287f4 |
| 24-Sep-2023 |
Andrew Jones <andrew.jones@linux.dev> |
riscv: Add DT parsing
Start building setup() by copying code from Arm and adding dependencies along the way like bitops and a few more barriers. We now parse the DT for the UART base address to be s
riscv: Add DT parsing
Start building setup() by copying code from Arm and adding dependencies along the way like bitops and a few more barriers. We now parse the DT for the UART base address to be sure we find what we expect with the early base. We also parse the CPU nodes to get the hartids, even though we don't yet support booting secondaries. Finally, add parsing of bootargs to get the command line and parsing of the environ to set the environment variables, and then extend the selftest to ensure it all works.
We don't do proper memory setup yet, only just enough to allocate memory for the environment variables and any another small mallocs that may be necessary.
Note, we've added a banner, which Arm doesn't have, because we need to separate the test output from OpenSBI output.
Run with qemu-system-riscv64 -nographic -M virt \ -kernel riscv/selftest.flat \ -append 'foo bar baz' \ -initrd test-env \ -smp 16
where test-env is a text file with the environment, i.e. $ cat test-env FOO=foo BAR=bar BAZ=baz
Signed-off-by: Andrew Jones <andrew.jones@linux.dev> Acked-by: Thomas Huth <thuth@redhat.com>
show more ...
|