[Question] Format of memory node name

From: Gavin Shan <hidden>
Date: 2021-06-03 02:37:57
Also in: lkml

Hi Rob,

Currently, I'm looking into one QEMU bug which is related to FDT memory
nodes. The story is 4 NUMA nodes are specified by the command line, which
is used to start the VM. QEMU needs to create 4 FDT memory nodes for them
and their names are following the format (memory@unit-address) as stated
in the device-tree specification. The 'unit-address' is base address in
'reg' property. Unfortunately, one NUMA node's base address is exactly
same to another one. It means there are two conflicting two memory node
because of their names. It leads to the FDT can't be populated successfully.

For example, the last memory node can't be created because of its conflicting
name in the following scheme.

    NUMA ID       Base address       End address      Memory node name
    -------------------------------------------------------------------
    0             0x00000000         0x20000000       memory@00000000
    1             0x20000000         0x40000000       memory@20000000
    2             0x40000000         0x40000000       memory@40000000
    3             0x40000000         0x40000000       memory@40000000

I'm trying to resolve the issue. There are two options as below. However,
it's not certain the solution will beak the device-tree specification. So
I'm checking with you on this.

(1) Replace the 'unit-address' with NUMA ID
     memory@0
     memory@1
     memory@2
     memory@3

(2) Add suffix to the conflicting memory node names
     memory@00000000
     memory@20000000
     memory@40000000
     memory@40000000-0

Thanks,
Gavin

[link] https://patchwork.kernel.org/project/qemu-devel/patch/20210601073004.106490-1-gshan@redhat.com/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help