[PATCH 2/5] xen: Read only crash notes for onlined CPUs
Daniel Kiper
daniel.kiper at oracle.com
Thu Jul 5 11:01:10 EDT 2012
Read only crash notes for onlined CPUs. Crash notes for not running
CPUs does not exist in core file. Do not try to read them.
Signed-off-by: Daniel Kiper <daniel.kiper at oracle.com>
diff -Npru crash-6.0.8.orig/xen_hyper.c crash-6.0.8/xen_hyper.c
--- crash-6.0.8.orig/xen_hyper.c 2012-07-05 15:34:45.000000000 +0200
+++ crash-6.0.8/xen_hyper.c 2012-07-05 15:35:05.000000000 +0200
@@ -633,18 +633,18 @@ xen_hyper_dumpinfo_init(void)
}
/* allocate a context area */
- size = sizeof(struct xen_hyper_dumpinfo_context) * XEN_HYPER_MAX_CPUS();
+ size = sizeof(struct xen_hyper_dumpinfo_context) * machdep->get_smp_cpus();
if((xhdit->context_array = malloc(size)) == NULL) {
error(FATAL, "cannot malloc dumpinfo table context space.\n");
}
BZERO(xhdit->context_array, size);
- size = sizeof(struct xen_hyper_dumpinfo_context_xen_core) * XEN_HYPER_MAX_CPUS();
+ size = sizeof(struct xen_hyper_dumpinfo_context_xen_core) * machdep->get_smp_cpus();
if((xhdit->context_xen_core_array = malloc(size)) == NULL) {
error(FATAL, "cannot malloc dumpinfo table context_xen_core_array space.\n");
}
BZERO(xhdit->context_xen_core_array, size);
addr = symbol_value("per_cpu__crash_notes");
- for (i = 0; i < XEN_HYPER_MAX_CPUS(); i++) {
+ for (i = 0; i < machdep->get_smp_cpus(); i++) {
ulong addr_notes;
addr_notes = xen_hyper_per_cpu(addr, i);
More information about the kexec
mailing list