[PATCH 0/2] kvm: disable virtualization on kdump

Eric W. Biederman ebiederm at xmission.com
Wed Oct 29 20:58:16 EDT 2008


Vivek Goyal <vgoyal at redhat.com> writes:

> On Wed, Oct 29, 2008 at 06:10:06PM -0200, Eduardo Habkost wrote:
>> On Mon, Oct 27, 2008 at 09:09:37AM -0400, Vivek Goyal wrote:
>> > On Mon, Oct 27, 2008 at 10:54:01AM +0200, Avi Kivity wrote:
>> <snip>
>> > >
>> > > The hang was likely caused by vmx blocking INIT.  Sigh.
>> > 
>> > Avi,
>> > 
>> > We boot kdump kernel with maxcpus=1. IIUC, in that code path we will not
>> > be using INIT. So did you try booting kdump kernel with maxcpus=1 and did
>> > it work for you? If not than problem could be something else.
>> 
>> Just checked it here: I am passing maxcpus=1 to the kdump kernel. My
>> full kexec commandline is this:
>> 
>> /sbin/kexec --console-serial -p '--command-line=ro root=/dev/vg0/rawhide rhgb
> console=ttyS0,115200 ignore_loglevel irqpoll maxcpus=1 reset_devices
> earlyprintk=ttyS0,115200' --initrd=/boot/initrd-2.6.28-rc2kdump.img
> /boot/vmlinuz-2.6.28-rc2
>> 
>> Additional info: I don't get the "I'm in purgatory" message on serial
>> console, when the system hangs. I do get the message if I trigger the
>> crash dump after unloading the kvm-intel module, so the serial console
>> is working.
>> 
>
> That means we are not even beginning to boot second kernel and are getting
> lost somewhere in the first kernel itself (most likely relocate_kernel_32/64.S).
>
> And it could be because of any of the interesting restrictions put when
> vmx is enabled (As Avi mentioned in another mail.).
>
> To debug that code, I used to put some "outb" messages to output a
> character to serial console and find out which instructions is creating
> trouble. You can debug to find out exactly what operation is not allowed
> when vmx is enabled or simply write the patches to disable vmx and it
> should automatically lead to problem resolution.

The transfer between kernels happens with virtual addresses identity mapped
to physical addresses.  For 32bit mode we implement this by disabling paging.
Which apparently is one of the interesting restrictions placed of vmx.

Eric



More information about the kexec mailing list