[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PING] Re: [PATCH 1/2] tools/ocaml: Drop coredump infrastructure
On 19/01/18 19:19, Andrew Cooper wrote: > It is unused, and uses an obsolete hypercall which has never ever functioned > for HVM guests. > > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > --- > CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> > CC: Wei Liu <wei.liu2@xxxxxxxxxx> > CC: Christian Lindig <christian.lindig@xxxxxxxxxx> > --- > tools/ocaml/libs/xc/xenctrl.ml | 86 > ------------------------------------- > tools/ocaml/libs/xc/xenctrl.mli | 16 ------- > tools/ocaml/libs/xc/xenctrl_stubs.c | 41 ------------------ > 3 files changed, 143 deletions(-) > > diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml > index 9116aa2..a3ba488 100644 > --- a/tools/ocaml/libs/xc/xenctrl.ml > +++ b/tools/ocaml/libs/xc/xenctrl.ml > @@ -126,14 +126,6 @@ exception Error of string > > type handle > > -(* this is only use by coredumping *) > -external sizeof_core_header: unit -> int > - = "stub_sizeof_core_header" > -external sizeof_vcpu_guest_context: unit -> int > - = "stub_sizeof_vcpu_guest_context" > -external sizeof_xen_pfn: unit -> int = "stub_sizeof_xen_pfn" > -(* end of use *) > - > external interface_open: unit -> handle = "stub_xc_interface_open" > external interface_close: handle -> unit = "stub_xc_interface_close" > > @@ -275,84 +267,6 @@ external get_cpu_featureset : handle -> featureset_index > -> int64 array = "stub_ > external watchdog : handle -> int -> int32 -> int > = "stub_xc_watchdog" > > -(* core dump structure *) > -type core_magic = Magic_hvm | Magic_pv > - > -type core_header = { > - xch_magic: core_magic; > - xch_nr_vcpus: int; > - xch_nr_pages: nativeint; > - xch_index_offset: int64; > - xch_ctxt_offset: int64; > - xch_pages_offset: int64; > -} > - > -external marshall_core_header: core_header -> string = > "stub_marshall_core_header" > - > -(* coredump *) > -let coredump xch domid fd = > - let dump s = > - let wd = Unix.write fd s 0 (String.length s) in > - if wd <> String.length s then > - failwith "error while writing"; > - in > - > - let info = domain_getinfo xch domid in > - > - let nrpages = info.total_memory_pages in > - let ctxt = Array.make info.max_vcpu_id None in > - let nr_vcpus = ref 0 in > - for i = 0 to info.max_vcpu_id - 1 > - do > - ctxt.(i) <- try > - let v = vcpu_context_get xch domid i in > - incr nr_vcpus; > - Some v > - with _ -> None > - done; > - > - (* FIXME page offset if not rounded to sup *) > - let page_offset = > - Int64.add > - (Int64.of_int (sizeof_core_header () + > - (sizeof_vcpu_guest_context () * !nr_vcpus))) > - (Int64.of_nativeint ( > - Nativeint.mul > - (Nativeint.of_int (sizeof_xen_pfn ())) > - nrpages) > - ) > - in > - > - let header = { > - xch_magic = if info.hvm_guest then Magic_hvm else Magic_pv; > - xch_nr_vcpus = !nr_vcpus; > - xch_nr_pages = nrpages; > - xch_ctxt_offset = Int64.of_int (sizeof_core_header ()); > - xch_index_offset = Int64.of_int (sizeof_core_header () > - + sizeof_vcpu_guest_context ()); > - xch_pages_offset = page_offset; > - } in > - > - dump (marshall_core_header header); > - for i = 0 to info.max_vcpu_id - 1 > - do > - match ctxt.(i) with > - | None -> () > - | Some ctxt_i -> dump ctxt_i > - done; > - let pfns = domain_get_pfn_list xch domid nrpages in > - if Array.length pfns <> Nativeint.to_int nrpages then > - failwith "could not get the page frame list"; > - > - let page_size = Xenmmap.getpagesize () in > - for i = 0 to Nativeint.to_int nrpages - 1 > - do > - let page = map_foreign_range xch domid page_size pfns.(i) in > - let data = Xenmmap.read page 0 page_size in > - Xenmmap.unmap page; > - dump data > - done > - > (* ** Misc ** *) > > (** > diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli > index 54c099c..ed02124 100644 > --- a/tools/ocaml/libs/xc/xenctrl.mli > +++ b/tools/ocaml/libs/xc/xenctrl.mli > @@ -95,10 +95,6 @@ type domain_create_flag = CDF_HVM | CDF_HAP > > exception Error of string > type handle > -external sizeof_core_header : unit -> int = "stub_sizeof_core_header" > -external sizeof_vcpu_guest_context : unit -> int > - = "stub_sizeof_vcpu_guest_context" > -external sizeof_xen_pfn : unit -> int = "stub_sizeof_xen_pfn" > external interface_open : unit -> handle = "stub_xc_interface_open" > external interface_close : handle -> unit = "stub_xc_interface_close" > val with_intf : (handle -> 'a) -> 'a > @@ -179,18 +175,6 @@ external version_capabilities : handle -> string > type featureset_index = Featureset_raw | Featureset_host | Featureset_pv | > Featureset_hvm > external get_cpu_featureset : handle -> featureset_index -> int64 array = > "stub_xc_get_cpu_featureset" > > -type core_magic = Magic_hvm | Magic_pv > -type core_header = { > - xch_magic : core_magic; > - xch_nr_vcpus : int; > - xch_nr_pages : nativeint; > - xch_index_offset : int64; > - xch_ctxt_offset : int64; > - xch_pages_offset : int64; > -} > -external marshall_core_header : core_header -> string > - = "stub_marshall_core_header" > -val coredump : handle -> domid -> Unix.file_descr -> unit > external pages_to_kib : int64 -> int64 = "stub_pages_to_kib" > val pages_to_mib : int64 -> int64 > external watchdog : handle -> int -> int32 -> int > diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c > b/tools/ocaml/libs/xc/xenctrl_stubs.c > index dd6000c..d1801e1 100644 > --- a/tools/ocaml/libs/xc/xenctrl_stubs.c > +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c > @@ -72,47 +72,6 @@ static void Noreturn failwith_xc(xc_interface *xch) > caml_raise_with_string(*caml_named_value("xc.error"), error_str); > } > > -CAMLprim value stub_sizeof_core_header(value unit) > -{ > - CAMLparam1(unit); > - CAMLreturn(Val_int(sizeof(struct xc_core_header))); > -} > - > -CAMLprim value stub_sizeof_vcpu_guest_context(value unit) > -{ > - CAMLparam1(unit); > - CAMLreturn(Val_int(sizeof(struct vcpu_guest_context))); > -} > - > -CAMLprim value stub_sizeof_xen_pfn(value unit) > -{ > - CAMLparam1(unit); > - CAMLreturn(Val_int(sizeof(xen_pfn_t))); > -} > - > -#define XC_CORE_MAGIC 0xF00FEBED > -#define XC_CORE_MAGIC_HVM 0xF00FEBEE > - > -CAMLprim value stub_marshall_core_header(value header) > -{ > - CAMLparam1(header); > - CAMLlocal1(s); > - struct xc_core_header c_header; > - > - c_header.xch_magic = (Field(header, 0)) > - ? XC_CORE_MAGIC > - : XC_CORE_MAGIC_HVM; > - c_header.xch_nr_vcpus = Int_val(Field(header, 1)); > - c_header.xch_nr_pages = Nativeint_val(Field(header, 2)); > - c_header.xch_ctxt_offset = Int64_val(Field(header, 3)); > - c_header.xch_index_offset = Int64_val(Field(header, 4)); > - c_header.xch_pages_offset = Int64_val(Field(header, 5)); > - > - s = caml_alloc_string(sizeof(c_header)); > - memcpy(String_val(s), (char *) &c_header, sizeof(c_header)); > - CAMLreturn(s); > -} > - > CAMLprim value stub_xc_interface_open(void) > { > CAMLparam0(); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |