[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH for-2.2] spapr: add host Linux versio
From: |
Alexey Kardashevskiy |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [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