arch-riscv: Add bootloader+kernel workload (#390)

Aims to boot OpenSBI + Linux kernel.
This commit is contained in:
Bobby R. Bruce
2023-10-18 09:17:12 -07:00
committed by GitHub
6 changed files with 226 additions and 3 deletions

View File

@@ -259,6 +259,12 @@ class RiscvBoard(AbstractSystemBoard, KernelDiskWorkload):
)
root.append(node)
node = FdtNode(f"chosen")
bootargs = " ".join(self.get_default_kernel_args())
node.append(FdtPropertyStrings("bootargs", [bootargs]))
node.append(FdtPropertyStrings("stdout-path", ["/uart@10000000"]))
root.append(node)
# See Documentation/devicetree/bindings/riscv/cpus.txt for details.
cpus_node = FdtNode("cpus")
cpus_state = FdtState(addr_cells=1, size_cells=0)
@@ -432,7 +438,7 @@ class RiscvBoard(AbstractSystemBoard, KernelDiskWorkload):
uart_node.append(
FdtPropertyWords("interrupt-parent", soc_state.phandle(plic))
)
uart_node.appendCompatible(["ns8250"])
uart_node.appendCompatible(["ns8250", "ns16550a"])
soc_node.append(uart_node)
# VirtIO MMIO disk node