Get rid of lookup_ksym function, replace with a map.
[virt-mem.git] / dmesg / virt_dmesg.ml
index 1886a92..73a671b 100644 (file)
@@ -24,23 +24,23 @@ open Virt_mem_utils
 open Virt_mem_types
 open Virt_mem_mmap
 
-let run debug (_, name, arch, mem, lookup_ksym, _) =
+let run debug ({ domname = domname; mem = mem }, ksymmap, _) =
   try
     (* I don't know why but this symbol doesn't exist in 2.6.9
      * even in kallsyms.  Hence this won't work with that kernel.
      * It's possible we can fall back to memory scanning. XXX
      *)
-    let log_buf = lookup_ksym "log_buf" in
+    let log_buf = Ksymmap.find "log_buf" ksymmap in
     let log_buf = follow_pointer mem log_buf in
-    let log_buf_len = lookup_ksym "log_buf_len" in
+    let log_buf_len = Ksymmap.find "log_buf_len" ksymmap in
     let log_buf_len = Int64.of_int32 (get_C_int mem log_buf_len) in
-    (* let log_start = lookup_ksym "log_start" in
+    (* let log_start = Ksymmap.find "log_start" ksymmap in
        let log_start = get_C_long mem log_start in *)
-    let log_end = lookup_ksym "log_end" in
+    let log_end = Ksymmap.find "log_end" ksymmap in
     let log_end = get_C_long mem log_end in
-    (* let con_start = lookup_ksym "con_start" in
+    (* let con_start = Ksymmap.find "con_start" ksymmap in
        let con_start = get_C_long mem con_start in *)
-    let logged_chars = lookup_ksym "logged_chars" in
+    let logged_chars = Ksymmap.find "logged_chars" ksymmap in
     let logged_chars = get_C_long mem logged_chars in
 
     (* This is basically the same algorithm from printk.c:do_syslog
@@ -70,7 +70,7 @@ let run debug (_, name, arch, mem, lookup_ksym, _) =
   with
     Not_found ->
       eprintf (f_"%s: could not find kernel log buffer in kernel image\n")
-       name
+       domname
 
 let summary = s_"display kernel messages"
 let description = s_"\