#909

Riscv: correct generated device-tree

Openxypronwants to merge intofrom

Closes: #906

Fix several dt-validate/dtc schema violations in the generated FDT for both riscv64 and aarch64 guests:

  • The root node's "compatible" property used the borrowed upstream "linux,dummy-virt" string, which does not identify libkrun as the vendor as required by root-node.yaml. Changed to "libkrun," on both riscv64 and aarch64, and added the required "model" property ("libkrun ").

  • The riscv64 CPU node's "mmu-type" value "sv48" is not a valid enum entry per riscv,cpus.yaml, which requires the "riscv," prefix. Changed to "riscv,sv48".

  • The riscv64 IMSIC and APLIC interrupt-controller nodes violated their respective bindings (riscv,imsics.yaml / riscv,aplic.yaml):

    • node names "imsics@..." / "aplic@..." didn't match the required "^interrupt-controller(@[0-9a-f,]+)*$" pattern; renamed to "interrupt-controller@...".
    • "compatible" only listed the generic "riscv,imsics" / "riscv,aplic" string; the binding requires a two-entry list led by a specific vendor compatible, so "qemu,imsics" / "qemu,aplic" were prepended (the only vendor compatible currently accepted by the upstream binding).
    • the IMSIC node was missing the required "#msi-cells" property; added with its only allowed value, 0.