EmbeddedPkg: Remove misleading error message in FindNextMemoryNodeReg

FindNextMemoryNodeReg prints "ignoring disabled memory node" for all
top-level disabled nodes in the tree, not just the ones with the
"device_type" property set to "memory". Rework the loop to only print
the message for the relevant nodes.

Signed-off-by: Oleksandr Tymoshenko <ovt@google.com>
This commit is contained in:
Oleksandr Tymoshenko 2025-01-06 04:41:16 +00:00 committed by mergify[bot]
parent 107981f3f0
commit 9bb11cad9d

@ -262,43 +262,45 @@ FindNextMemoryNodeReg (
break;
}
DeviceType = fdt_getprop (mDeviceTreeBase, Next, "device_type", &Len);
if ((DeviceType == NULL) || (AsciiStrCmp (DeviceType, "memory") != 0)) {
continue;
}
if (!IsNodeEnabled (Next)) {
DEBUG ((DEBUG_WARN, "%a: ignoring disabled memory node\n", __func__));
continue;
}
DeviceType = fdt_getprop (mDeviceTreeBase, Next, "device_type", &Len);
if ((DeviceType != NULL) && (AsciiStrCmp (DeviceType, "memory") == 0)) {
//
// Get the 'reg' property of this memory node. For now, we will assume
// 8 byte quantities for base and size, respectively.
// TODO use #cells root properties instead
//
Status = GetNodeProperty (This, Next, "reg", Reg, RegSize);
if (EFI_ERROR (Status)) {
DEBUG ((
DEBUG_WARN,
"%a: ignoring memory node with no 'reg' property\n",
__func__
));
continue;
}
if ((*RegSize % 16) != 0) {
DEBUG ((
DEBUG_WARN,
"%a: ignoring memory node with invalid 'reg' property (size == 0x%x)\n",
__func__,
*RegSize
));
continue;
}
*Node = Next;
*AddressCells = 2;
*SizeCells = 2;
return EFI_SUCCESS;
//
// Get the 'reg' property of this memory node. For now, we will assume
// 8 byte quantities for base and size, respectively.
// TODO use #cells root properties instead
//
Status = GetNodeProperty (This, Next, "reg", Reg, RegSize);
if (EFI_ERROR (Status)) {
DEBUG ((
DEBUG_WARN,
"%a: ignoring memory node with no 'reg' property\n",
__func__
));
continue;
}
if ((*RegSize % 16) != 0) {
DEBUG ((
DEBUG_WARN,
"%a: ignoring memory node with invalid 'reg' property (size == 0x%x)\n",
__func__,
*RegSize
));
continue;
}
*Node = Next;
*AddressCells = 2;
*SizeCells = 2;
return EFI_SUCCESS;
}
return EFI_NOT_FOUND;