[SLOF] [PATCH v1] Remove dependency on cpu/@0 for booting

Nikunj A Dadhania nikunj at linux.vnet.ibm.com
Wed Aug 3 15:19:35 AEST 2016


Alexey Kardashevskiy <aik at ozlabs.ru> writes:

> On 03/08/16 13:18, Alexey Kardashevskiy wrote:
>> On 27/07/16 19:16, Nikunj A Dadhania wrote:
>>> With the addition of cpu hotplug in QEMU, cpu at 0 can be removed as well.
>>> SLOF should not depend on it. Find the first child in the "/cpus" node
>>> and get the timer base frequency and set it as the chosen cpu as well
>>>
>>> Reported-by: Bharata B Rao <bharata at linux.vnet.ibm.com>
>>> Signed-off-by: Nikunj A Dadhania <nikunj at linux.vnet.ibm.com>
>> 
>> 
>> 
>> Thanks, applied.
>
> Oops. No, not applied.
>
> /home/aik/qemu-system-ppc64 -enable-kvm -m 4G \
> -trace events=qemu_trace_events -nodefaults \
> -chardev stdio,id=STDIO0,signal=off,mux=on \
> -device spapr-vty,id=svty0,chardev=STDIO0,reg=0x71000100 \
> -mon id=MON0,chardev=STDIO0,mode=readline -nographic -vga none \
> -machine pseries -smp 16,threads=8 -L /home/aik/t/qemu-ppc64-bios/ \
> -bios ./slof.bin \
> -chardev socket,id=SOCKET0,server,nowait,host=localhost,port=30000 \
> -mon chardev=SOCKET0,mode=readline
>
> produces SLOF prompt with:
>
> -2 >

Got that... :(

>>>  board-qemu/slof/tree.fs | 13 +++++++++++--
>>>  1 file changed, 11 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/board-qemu/slof/tree.fs b/board-qemu/slof/tree.fs
>>> index 78dafab..76a9ecc 100644
>>> --- a/board-qemu/slof/tree.fs
>>> +++ b/board-qemu/slof/tree.fs
>>> @@ -45,7 +45,9 @@ device-end
>>>  
>>>  \ Fixup timebase frequency from device-tree
>>>  : fixup-tbfreq
>>> -    " /cpus/@0" find-device
>>> +    " /cpus" find-device
>>> +    get-node child dup 0= ABORT" CPU not found" THEN

Need to remove THEN at the end..

>>> +    set-node
>>>      " timebase-frequency" get-node get-package-property IF
>>>          2drop
>>>      ELSE
>>> @@ -167,7 +169,14 @@ populate-pci-busses
>>>  
>>>  6c0 cp
>>>  
>>> -s" /cpus/@0" open-dev encode-int s" cpu" set-chosen
>>> +\ Do not assume that cpu0 is available
>>> +: set-chosen-cpu
>>> +    " /cpus" find-device
>>> +    get-node child dup 0= ABORT" CPU not found" THEN

And here.. missed that.

>>> +    node>path open-dev encode-int s" cpu" set-chosen
>>> +;
>>> +set-chosen-cpu
>>> +
>>>  s" /memory at 0" open-dev encode-int s" memory" set-chosen
>>>  
>>>  6e0 cp
>>>

Will send updated patch.

Regards
Nikunj



More information about the SLOF mailing list