diff mbox

[qemu] spapr: Add /system-id

Message ID 1447051637-45246-1-git-send-email-aik@ozlabs.ru
State New
Headers show

Commit Message

Alexey Kardashevskiy Nov. 9, 2015, 6:47 a.m. UTC
Section B.6.2.1 Root Node Properties of PAPR specification defines
a set of properties which shall be present in the device tree root,
one of these properties is "system-id" which "should be unique across
all systems and all manufacturers". Since UUID is meant to be unique,
it makes sense to use it as "system-id".

This adds "system-id" property to the device tree root when not empty.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
---

This might be expected by AIX so here is the patch.
I am really not sure if it makes sense to initialize property when
UUID is all zeroes as the requirement is "unique" and zero-uuid is not.

---
 hw/ppc/spapr.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

David Gibson Nov. 9, 2015, 8:47 a.m. UTC | #1
On Mon, Nov 09, 2015 at 05:47:17PM +1100, Alexey Kardashevskiy wrote:
> Section B.6.2.1 Root Node Properties of PAPR specification defines
> a set of properties which shall be present in the device tree root,
> one of these properties is "system-id" which "should be unique across
> all systems and all manufacturers". Since UUID is meant to be unique,
> it makes sense to use it as "system-id".
> 
> This adds "system-id" property to the device tree root when not empty.
> 
> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
> ---
> 
> This might be expected by AIX so here is the patch.
> I am really not sure if it makes sense to initialize property when
> UUID is all zeroes as the requirement is "unique" and zero-uuid is
> not.

Yeah, I think it would be better to omit system-id entirely when a
UUID hasn't been supplied.
> 
> ---
>  hw/ppc/spapr.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index de77528..e8b407d 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -374,6 +374,9 @@ static void *spapr_create_fdt_skel(hwaddr initrd_base,
>                            qemu_uuid[14], qemu_uuid[15]);
>  
>      _FDT((fdt_property_string(fdt, "vm,uuid", buf)));
> +    if (qemu_uuid_set) {
> +        _FDT((fdt_property_string(fdt, "system-id", buf)));
> +    }
>      g_free(buf);
>  
>      if (qemu_get_vm_name()) {
Alexey Kardashevskiy Nov. 18, 2015, 7:45 a.m. UTC | #2
On 11/09/2015 07:47 PM, David Gibson wrote:
> On Mon, Nov 09, 2015 at 05:47:17PM +1100, Alexey Kardashevskiy wrote:
>> Section B.6.2.1 Root Node Properties of PAPR specification defines
>> a set of properties which shall be present in the device tree root,
>> one of these properties is "system-id" which "should be unique across
>> all systems and all manufacturers". Since UUID is meant to be unique,
>> it makes sense to use it as "system-id".
>>
>> This adds "system-id" property to the device tree root when not empty.
>>
>> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
>> ---
>>
>> This might be expected by AIX so here is the patch.
>> I am really not sure if it makes sense to initialize property when
>> UUID is all zeroes as the requirement is "unique" and zero-uuid is
>> not.
>
> Yeah, I think it would be better to omit system-id entirely when a
> UUID hasn't been supplied.


so this did not go anywhere yet, did it?


>>
>> ---
>>   hw/ppc/spapr.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
>> index de77528..e8b407d 100644
>> --- a/hw/ppc/spapr.c
>> +++ b/hw/ppc/spapr.c
>> @@ -374,6 +374,9 @@ static void *spapr_create_fdt_skel(hwaddr initrd_base,
>>                             qemu_uuid[14], qemu_uuid[15]);
>>
>>       _FDT((fdt_property_string(fdt, "vm,uuid", buf)));
>> +    if (qemu_uuid_set) {
>> +        _FDT((fdt_property_string(fdt, "system-id", buf)));
>> +    }
>>       g_free(buf);
>>
>>       if (qemu_get_vm_name()) {
>
David Gibson Nov. 18, 2015, 10:49 a.m. UTC | #3
On Wed, Nov 18, 2015 at 06:45:39PM +1100, Alexey Kardashevskiy wrote:
> On 11/09/2015 07:47 PM, David Gibson wrote:
> >On Mon, Nov 09, 2015 at 05:47:17PM +1100, Alexey Kardashevskiy wrote:
> >>Section B.6.2.1 Root Node Properties of PAPR specification defines
> >>a set of properties which shall be present in the device tree root,
> >>one of these properties is "system-id" which "should be unique across
> >>all systems and all manufacturers". Since UUID is meant to be unique,
> >>it makes sense to use it as "system-id".
> >>
> >>This adds "system-id" property to the device tree root when not empty.
> >>
> >>Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
> >>---
> >>
> >>This might be expected by AIX so here is the patch.
> >>I am really not sure if it makes sense to initialize property when
> >>UUID is all zeroes as the requirement is "unique" and zero-uuid is
> >>not.
> >
> >Yeah, I think it would be better to omit system-id entirely when a
> >UUID hasn't been supplied.
> 
> 
> so this did not go anywhere yet, did it?

No.
Alexander Graf Nov. 25, 2015, 3:15 p.m. UTC | #4
On 18.11.15 11:49, David Gibson wrote:
> On Wed, Nov 18, 2015 at 06:45:39PM +1100, Alexey Kardashevskiy wrote:
>> On 11/09/2015 07:47 PM, David Gibson wrote:
>>> On Mon, Nov 09, 2015 at 05:47:17PM +1100, Alexey Kardashevskiy wrote:
>>>> Section B.6.2.1 Root Node Properties of PAPR specification defines
>>>> a set of properties which shall be present in the device tree root,
>>>> one of these properties is "system-id" which "should be unique across
>>>> all systems and all manufacturers". Since UUID is meant to be unique,
>>>> it makes sense to use it as "system-id".
>>>>
>>>> This adds "system-id" property to the device tree root when not empty.
>>>>
>>>> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
>>>> ---
>>>>
>>>> This might be expected by AIX so here is the patch.
>>>> I am really not sure if it makes sense to initialize property when
>>>> UUID is all zeroes as the requirement is "unique" and zero-uuid is
>>>> not.
>>>
>>> Yeah, I think it would be better to omit system-id entirely when a
>>> UUID hasn't been supplied.
>>
>>
>> so this did not go anywhere yet, did it?
> 
> No.

So where is it stuck?


Alex
David Gibson Nov. 26, 2015, 12:49 a.m. UTC | #5
On Wed, Nov 25, 2015 at 04:15:01PM +0100, Alexander Graf wrote:
> 
> 
> On 18.11.15 11:49, David Gibson wrote:
> > On Wed, Nov 18, 2015 at 06:45:39PM +1100, Alexey Kardashevskiy wrote:
> >> On 11/09/2015 07:47 PM, David Gibson wrote:
> >>> On Mon, Nov 09, 2015 at 05:47:17PM +1100, Alexey Kardashevskiy wrote:
> >>>> Section B.6.2.1 Root Node Properties of PAPR specification defines
> >>>> a set of properties which shall be present in the device tree root,
> >>>> one of these properties is "system-id" which "should be unique across
> >>>> all systems and all manufacturers". Since UUID is meant to be unique,
> >>>> it makes sense to use it as "system-id".
> >>>>
> >>>> This adds "system-id" property to the device tree root when not empty.
> >>>>
> >>>> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
> >>>> ---
> >>>>
> >>>> This might be expected by AIX so here is the patch.
> >>>> I am really not sure if it makes sense to initialize property when
> >>>> UUID is all zeroes as the requirement is "unique" and zero-uuid is
> >>>> not.
> >>>
> >>> Yeah, I think it would be better to omit system-id entirely when a
> >>> UUID hasn't been supplied.
> >>
> >>
> >> so this did not go anywhere yet, did it?
> > 
> > No.
> 
> So where is it stuck?

I was waiting for a respin which didn't set the property when a UUID
hadn't been given.
Alexey Kardashevskiy Nov. 26, 2015, 4:29 a.m. UTC | #6
On 11/26/2015 11:49 AM, David Gibson wrote:
> On Wed, Nov 25, 2015 at 04:15:01PM +0100, Alexander Graf wrote:
>>
>>
>> On 18.11.15 11:49, David Gibson wrote:
>>> On Wed, Nov 18, 2015 at 06:45:39PM +1100, Alexey Kardashevskiy wrote:
>>>> On 11/09/2015 07:47 PM, David Gibson wrote:
>>>>> On Mon, Nov 09, 2015 at 05:47:17PM +1100, Alexey Kardashevskiy wrote:
>>>>>> Section B.6.2.1 Root Node Properties of PAPR specification defines
>>>>>> a set of properties which shall be present in the device tree root,
>>>>>> one of these properties is "system-id" which "should be unique across
>>>>>> all systems and all manufacturers". Since UUID is meant to be unique,
>>>>>> it makes sense to use it as "system-id".
>>>>>>
>>>>>> This adds "system-id" property to the device tree root when not empty.
>>>>>>
>>>>>> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
>>>>>> ---
>>>>>>
>>>>>> This might be expected by AIX so here is the patch.
>>>>>> I am really not sure if it makes sense to initialize property when
>>>>>> UUID is all zeroes as the requirement is "unique" and zero-uuid is
>>>>>> not.
>>>>>
>>>>> Yeah, I think it would be better to omit system-id entirely when a
>>>>> UUID hasn't been supplied.
>>>>
>>>>
>>>> so this did not go anywhere yet, did it?
>>>
>>> No.
>>
>> So where is it stuck?
>
> I was waiting for a respin which didn't set the property when a UUID
> hadn't been given.
>

This is the original patch:


+    if (qemu_uuid_set) {
+        _FDT((fdt_property_string(fdt, "system-id", buf)));
+    }

I does not set property if qemu_uuid_set==false already. What did I miss?
Greg Kurz Nov. 26, 2015, 11:04 a.m. UTC | #7
On Thu, 26 Nov 2015 15:29:07 +1100
Alexey Kardashevskiy <aik@ozlabs.ru> wrote:

> On 11/26/2015 11:49 AM, David Gibson wrote:
> > On Wed, Nov 25, 2015 at 04:15:01PM +0100, Alexander Graf wrote:
> >>
> >>
> >> On 18.11.15 11:49, David Gibson wrote:
> >>> On Wed, Nov 18, 2015 at 06:45:39PM +1100, Alexey Kardashevskiy wrote:
> >>>> On 11/09/2015 07:47 PM, David Gibson wrote:
> >>>>> On Mon, Nov 09, 2015 at 05:47:17PM +1100, Alexey Kardashevskiy wrote:
> >>>>>> Section B.6.2.1 Root Node Properties of PAPR specification defines
> >>>>>> a set of properties which shall be present in the device tree root,
> >>>>>> one of these properties is "system-id" which "should be unique across
> >>>>>> all systems and all manufacturers". Since UUID is meant to be unique,
> >>>>>> it makes sense to use it as "system-id".
> >>>>>>
> >>>>>> This adds "system-id" property to the device tree root when not empty.
> >>>>>>
> >>>>>> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
> >>>>>> ---
> >>>>>>
> >>>>>> This might be expected by AIX so here is the patch.
> >>>>>> I am really not sure if it makes sense to initialize property when
> >>>>>> UUID is all zeroes as the requirement is "unique" and zero-uuid is
> >>>>>> not.
> >>>>>
> >>>>> Yeah, I think it would be better to omit system-id entirely when a
> >>>>> UUID hasn't been supplied.
> >>>>
> >>>>
> >>>> so this did not go anywhere yet, did it?
> >>>
> >>> No.
> >>
> >> So where is it stuck?
> >
> > I was waiting for a respin which didn't set the property when a UUID
> > hadn't been given.
> >
> 
> This is the original patch:
> 
> 
> +    if (qemu_uuid_set) {
> +        _FDT((fdt_property_string(fdt, "system-id", buf)));
> +    }
> 
> I does not set property if qemu_uuid_set==false already. What did I miss?
> 

It looks like the confusion lies in David's answer to your question
about nil UUID... BTW does it make sense to assign nil UUID to a system ?

--
Greg
David Gibson Nov. 26, 2015, 11:46 p.m. UTC | #8
On Thu, Nov 26, 2015 at 03:29:07PM +1100, Alexey Kardashevskiy wrote:
> On 11/26/2015 11:49 AM, David Gibson wrote:
> >On Wed, Nov 25, 2015 at 04:15:01PM +0100, Alexander Graf wrote:
> >>
> >>
> >>On 18.11.15 11:49, David Gibson wrote:
> >>>On Wed, Nov 18, 2015 at 06:45:39PM +1100, Alexey Kardashevskiy wrote:
> >>>>On 11/09/2015 07:47 PM, David Gibson wrote:
> >>>>>On Mon, Nov 09, 2015 at 05:47:17PM +1100, Alexey Kardashevskiy wrote:
> >>>>>>Section B.6.2.1 Root Node Properties of PAPR specification defines
> >>>>>>a set of properties which shall be present in the device tree root,
> >>>>>>one of these properties is "system-id" which "should be unique across
> >>>>>>all systems and all manufacturers". Since UUID is meant to be unique,
> >>>>>>it makes sense to use it as "system-id".
> >>>>>>
> >>>>>>This adds "system-id" property to the device tree root when not empty.
> >>>>>>
> >>>>>>Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
> >>>>>>---
> >>>>>>
> >>>>>>This might be expected by AIX so here is the patch.
> >>>>>>I am really not sure if it makes sense to initialize property when
> >>>>>>UUID is all zeroes as the requirement is "unique" and zero-uuid is
> >>>>>>not.
> >>>>>
> >>>>>Yeah, I think it would be better to omit system-id entirely when a
> >>>>>UUID hasn't been supplied.
> >>>>
> >>>>
> >>>>so this did not go anywhere yet, did it?
> >>>
> >>>No.
> >>
> >>So where is it stuck?
> >
> >I was waiting for a respin which didn't set the property when a UUID
> >hadn't been given.
> >
> 
> This is the original patch:
> 
> 
> +    if (qemu_uuid_set) {
> +        _FDT((fdt_property_string(fdt, "system-id", buf)));
> +    }
> 
> I does not set property if qemu_uuid_set==false already. What did I miss?

Oh, sorry, I misread the original patch.  I thought you were saying
that if UUID wasn't specified, it would appear as a system-id of all
0s.

Applied to ppc-for-2.6.
diff mbox

Patch

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index de77528..e8b407d 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -374,6 +374,9 @@  static void *spapr_create_fdt_skel(hwaddr initrd_base,
                           qemu_uuid[14], qemu_uuid[15]);
 
     _FDT((fdt_property_string(fdt, "vm,uuid", buf)));
+    if (qemu_uuid_set) {
+        _FDT((fdt_property_string(fdt, "system-id", buf)));
+    }
     g_free(buf);
 
     if (qemu_get_vm_name()) {