> diff --git a/vmware_vmss.c b/vmware_vmss.c > index b168f29..8aa0de0 100644 > --- a/vmware_vmss.c > +++ b/vmware_vmss.c > @@ -881,6 +881,27 @@ vmware_vmss_get_cr3_idtr(ulong *cr3, ulong *idtr) > *cr3 = vmss.regs64[0]->cr[3]; > *idtr = vmss.regs64[0]->idtr; > > + /* > + * debug.guest is generated on guest triple fault. One of the possible > + * ways to triple fault is: zeroing IDTR and int3. > + * This is used in linux to reboot machine using triple fault: > + * "reboot=t" cmdline. > + * In that case CPU which triggered triple fault will have zeroed > + * IDTR. IDTR and CR3 are used to calculate kaslr offset and phys > + * base. > + * If IDTR on CPU0 is zeroed and we have several CPUs, return IDTR from > + * another CPU. > + */ > + if (vmss.num_vcpus > 1 && *idtr == 0) { > + int i; > + for (i = 0; i < vmss.num_vcpus; i++) { > + if (vmss.vcpu_regs[i] == REGS_PRESENT_ALL) { > + *idtr = vmss.regs64[i]->idtr; > + break; > + } > + } > + } > + > return TRUE; > } Considering again, this is similar to the commit 8b50d94ada21f403665a5e562f40191f111e0313, but where I restricted its target only on sadump format to avoid regression on other formats. If it is needed by other formats, how about generalize it for other formats? Current code is a bit hacky but could be cleaned up by removing the limitation on sadump. Thanks. HATAYAMA, Daisuke -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility