On 07/24/2014 11:15 PM, Alexander Graf wrote: > > On 18.07.14 06:31, cyril...@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 <cyril....@au1.ibm.com> >> --- >> 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