From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36792) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBeil-0000WH-0E for qemu-devel@nongnu.org; Mon, 28 Jul 2014 02:47:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XBeib-00068j-En for qemu-devel@nongnu.org; Mon, 28 Jul 2014 02:47:42 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:32943) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XBeib-00067T-8f for qemu-devel@nongnu.org; Mon, 28 Jul 2014 02:47:33 -0400 Received: by mail-pa0-f54.google.com with SMTP id fa1so9951575pad.13 for ; Sun, 27 Jul 2014 23:47:31 -0700 (PDT) Message-ID: <53D5F1FD.8050702@ozlabs.ru> Date: Mon, 28 Jul 2014 16:47:25 +1000 From: Alexey Kardashevskiy MIME-Version: 1.0 References: <1405657877-12353-1-git-send-email-cyrilbur@gmail.com> <53D10703.40505@suse.de> In-Reply-To: <53D10703.40505@suse.de> Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH for-2.2] spapr: add host Linux version information to device tree List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf , cyrilbur@gmail.com, qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, Cyril Bur On 07/24/2014 11:15 PM, Alexander Graf wrote: > > On 18.07.14 06:31, cyrilbur@gmail.com 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 >> --- >> 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