Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: init receiving SIGILL on XEN3_DOM0/amd64



Manuel Bouyer wrote:
On Sun, May 18, 2008 at 02:32:37PM +0200, Manuel Bouyer wrote:
On Sun, May 18, 2008 at 01:43:04PM +0200, Christoph Egger wrote:
When the CPU sends an illegal intruction trap, I guess.

In that case, I have a wild guess:
sysenter is an illegal opcode on amd64. The difference is, AMD CPUs throw an exception, Intel CPUs don't.
Is sysenter used somewhere?
I don't think it should be for amd64 binaries.
i386 binaries may, but only if I686_LIBC is defined. Othewrise int $0x80
is used.

OK, I've been seeing this occasionally now on an Intel CPU. A dom0 kernel will
fail to start init in this way once in a while. But hitting ^A^A^AR on the
serial console cause the system to reboot, and the next boot is usually
successfull without changing anything in kernel or boot options.

The intermittent aspect makes it hard to debug, and also confuses me a bit
about what the cause could be.

I see this, too on AMD CPU. I tracked this down to when start_init() returns to lwp_trampoline which in turn returns to Xosyscall.
Xosyscall wants to send SIG 4 to pid 1 (no idea why)
and calls trap for this.
In trap a page fault happens which in turn leads into an
endless loop of traps into ddb.

Christoph


Home | Main Index | Thread Index | Old Index