Hi, Vivek,
On Tue, 2008-05-13 at 01:34 -0400, Vivek Goyal wrote:
The kexec jump patch v9 is sufficient for this patch to work. I have no
new version of kexec jump patch so far.
Can normal kexec (without kexec jump) works without putting LAPIC and
IOAPIC in legacy mode? Does this mean we should put LAPIC and IOAPIC
into legacy mode before kexec and restore them after?
The kexec jump patch works well on my IBM T42. But it seems that the
IOAPIC is disabled in BIOS, so I can only use i8259 and LAPIC on this
machine.
There are two reason for multi-stage loading:
- Pass backup pages map from original kernel (A) to kexeced kernel (B),
because it is not known before loading. We have discussed this before
in:
http://lkml.org/lkml/2008/3/12/308http://lkml.org/lkml/2008/3/14/59http://lkml.org/lkml/2008/3/21/299
- Load large hibernated image. The hibernated image can be not only
large but also discontinuous. For example, the physical memory size is
4G, and there is one free page every 2 pages, that is, there will be
nearly 2G segments. Loading these segments in one go is impossible. So
multi-stage load is necessary. And if the hibernated image is
compressed, it is also very difficult to load it in one go because the
anonymous pages needed.
If it is desired, I can separate it into another patch.
Agreed. We can first focus on kexec jump patch. But as in last thread of
kexec jump (v9), we need a protocol for parameter passing between kernel
A and kernel B. So, we can use this patch as a prototype for the
communication protocol.
v9 is the latest kexec jump patch, no other internal version so far.
Best Regards,
Huang Ying
--