X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=uname%2Fvirt_uname.ml;h=fff6d7fa0c2ba71b1e80d375ed2191292b466d8d;hb=92febc8cd90da2647ed1d6069bb356221a80abc6;hp=dcdf5c8e90f3e2f5027317dd7b8c7e669e6324cd;hpb=91d5f5dedf46f607388e0a1cd77f540e24b0b0ba;p=virt-mem.git diff --git a/uname/virt_uname.ml b/uname/virt_uname.ml index dcdf5c8..fff6d7f 100644 --- a/uname/virt_uname.ml +++ b/uname/virt_uname.ml @@ -34,7 +34,7 @@ DESCRIPTION architecture and node name for virtual machines running under libvirt." -let verbose, images = Virt_mem.start usage +let _, images = Virt_mem.start usage let () = (* Print new_utsname structure from bitstring. *) @@ -49,16 +49,20 @@ let () = with Not_found -> str in + (* Expect the first (sysname) field to always be "Linux", which is + * also a good way to tell if we're synchronized to the right bit of + * memory. + *) bitmatch bs with - | { sysname : 65*8 : string; + | { "Linux\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" : 65*8 : string; nodename : 65*8 : string; release : 65*8 : string; version : 65*8 : string; machine : 65*8 : string; domainname : 65*8 : string } -> - printf "%s: %s %s %s %s %s %s\n" + printf "%s: Linux %s %s %s %s %s\n" name - (truncate sysname) (truncate nodename) (truncate release) + (truncate nodename) (truncate release) (truncate version) (truncate machine) (truncate domainname) | { _ } -> eprintf (f_"%s: unexpected system_utsname in kernel image\n") @@ -72,7 +76,6 @@ let () = *) try let addr = lookup_ksym "init_uts_ns" in - if verbose then printf "init_uts_ns at %Lx\n" addr; let bs = Bitmatch.bitstring_of_string (get_bytes mem addr (65*6+4)) in (bitmatch bs with @@ -89,7 +92,6 @@ let () = *) try let addr = lookup_ksym "system_utsname" in - if verbose then printf "system_utsname at %Lx\n" addr; let bs = Bitmatch.bitstring_of_string (get_bytes mem addr (65*6)) in