Hi Bin, On Sun, 2019-03-10 at 09:07 +0800, Bin Meng wrote: > Hi Lukas, > > On Mon, Feb 11, 2019 at 6:13 AM Lukas Auer > <lukas.a...@aisec.fraunhofer.de> wrote: > > Re-add the previous compatible string "riscv-virtio-soc" to the soc > > device tree node to allow U-Boot and Linux to bind machine-specific > > drivers to it. The current compatible string "simple-bus" is > > retained. > > > > This is required by U-Boot to bind devices early, as part of the > > pre-relocation driver model. > > > > I see no problem with U-Boot working with current compatible string > "simple-bus". In fact I had planned to remove the compatible string > "riscv-virtio-soc" in U-Boot but did not get time to work on it. >
It is only required if U-Boot is running in machine-mode. For relocation it needs to use the CLINT driver to send appropriate IPIs to the other harts. To be able to probe the driver, the device and its parent device tree node (soc) must therefore be available in the pre- relocation device model. This patch was the easiest way I could think of for achieving this. It could be that there is a better way of solving this. Thanks, Lukas > > Fixes: 53f54508dae6("hw/riscv/virtio: Set the soc device tree node > > as a > > simple-bus") > > Signed-off-by: Lukas Auer <lukas.a...@aisec.fraunhofer.de> > > --- > > > > hw/riscv/virt.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > Regards, > Bin