|
From: | Guenter Roeck |
Subject: | Re: [PATCH] hw: ppc: sam460ex: Disable Ethernet devicetree nodes |
Date: | Mon, 16 Aug 2021 08:13:31 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
On 8/16/21 3:11 AM, Philippe Mathieu-Daudé wrote:
On 8/16/21 7:41 AM, David Gibson wrote:On Sun, Aug 15, 2021 at 07:59:15PM -0700, Guenter Roeck wrote:IBM EMAC Ethernet controllers are not emulated by qemu. If they are enabled in devicetree files, they are instantiated in Linux but obviously won't work. Disable associated devicetree nodes to prevent unpredictable behavior. Signed-off-by: Guenter Roeck <linux@roeck-us.net>I'll wait for Zoltan's opinion on this, but this sort of thing is why I was always pretty dubious about qemu *loading* a dtb file, rather than generating a dt internally.Hmm interesting point.--- hw/ppc/sam460ex.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index 0737234d66..feb356e625 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -194,6 +194,14 @@ static int sam460ex_load_device_tree(hwaddr addr, _FDT(fdt_nop_node(fdt, offset)); }+ /* Ethernet interfaces are not emulated */+ offset = fdt_node_offset_by_compatible(fdt, -1, "ibm,emac-460ex"); + while (offset >= 0) { + _FDT(fdt_setprop_string(fdt, offset, "status", "disabled")); + offset = fdt_node_offset_by_compatible(fdt, offset, "ibm,emac-460ex"); + }Oh, I didn't know about appending 'status=disabled'. FWIW I'm carrying this patch to boot Linux on the raspi4 (but I prefer your way):
Neat, and excellent idea. I have a similar problem for xlnx-zcu102, where declaring the affected device as unsupported doesn't work either. I'll try the same trick there. Thanks! Guenter
[Prev in Thread] | Current Thread | [Next in Thread] |