qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [Qemu-ppc] [PATCH for-2.2] spapr: add host Linux versio


From: Alexey Kardashevskiy
Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH for-2.2] spapr: add host Linux version information to device tree
Date: Mon, 28 Jul 2014 16:47:25 +1000
User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0

On 07/24/2014 11:15 PM, Alexander Graf wrote:
> 
> On 18.07.14 06:31, address@hidden wrote:
>> It may prove useful know which Linux distribution version the host machine
>> is running when an issue in the guest arises but a user cannot access
>> the host.
>>
>> Signed-off-by: Cyril Bur <address@hidden>
>> ---
>>   hw/ppc/spapr.c       |  8 +++++++
>>   target-ppc/kvm.c     | 62
>> ++++++++++++++++++++++++++++++++++++++++++++++++++++
>>   target-ppc/kvm_ppc.h |  6 +++++
>>   3 files changed, 76 insertions(+)
>>
>> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
>> index 6b48a26..391d47a 100644
>> --- a/hw/ppc/spapr.c
>> +++ b/hw/ppc/spapr.c
>> @@ -375,6 +375,14 @@ static void *spapr_create_fdt_skel(hwaddr initrd_base,
>>       _FDT((fdt_property_string(fdt, "vm,uuid", buf)));
>>       g_free(buf);
>>   +    /*
>> +     * Add info to the guest FDT to tell it what linux the host is
>> +     */
>> +    if (kvmppc_get_linux_host(&buf)) {
>> +        _FDT((fdt_property_string(fdt, "linux,host", buf)));
> 
> Is this even specified in sPAPR?


PAPR does not know about any "linux,xxx" properties.

> 
>> +        g_free(buf);
>> +    }
>> +
>>       _FDT((fdt_property_cell(fdt, "#address-cells", 0x2)));
>>       _FDT((fdt_property_cell(fdt, "#size-cells", 0x2)));
>>   diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
>> index 8c9e79c..95e0970 100644
>> --- a/target-ppc/kvm.c
>> +++ b/target-ppc/kvm.c
>> @@ -1415,6 +1415,68 @@ bool kvmppc_get_host_model(char **value)
>>       return g_file_get_contents("/proc/device-tree/model", value, NULL,
>> NULL);
>>   }
>>   +bool kvmppc_get_linux_host(char **value)
>> +{
>> +    FILE *f;
>> +    int i;
>> +    char line[512];
>> +    const char *names[] = {"NAME", "VERSION", "BUILD_ID"};
>> +    bool names_found[ARRAY_SIZE(names)] = { 0 };
>> +    GString *output = NULL;
>> +    f = fopen("/etc/os-release", "r");
> 
> A few comments:
> 
>   1) Why would anyone care?


Useful debug info when the host is not reachable.


>   2) I'm not sure KVM is the right decision maker on whether we want this
> exposed or not.

Good point, there is no reason not to show this info in TCG.

> After all, the files you read here are available on an x86
> host just as well

Does qemu-x86 has any way to pass information like this to the guest?


>   3) Use glib functions to read files
> 
> 
> Alex
> 
> 


-- 
Alexey



reply via email to

[Prev in Thread] Current Thread [Next in Thread]