11 Mar, 2009
1 commit
-
Impact: New major feature
This patch add kexec jump support for x86_64. More information about
kexec jump can be found in corresponding x86_32 support patch.Signed-off-by: Huang Ying
Signed-off-by: H. Peter Anvin
04 Feb, 2009
1 commit
-
Impact: reduce kernel BSS size by 7 pages, improve code readability
Two page tables are used in current x86_64 kexec implementation. One
is used to jump from kernel virtual address to identity map address,
the other is used to map all physical memory. In fact, on x86_64,
there is no conflict between kernel virtual address space and physical
memory space, so just one page table is sufficient. The page table
pages used to map control page are dynamically allocated to save
memory if kexec image is not loaded. ASM code used to map control page
is replaced by C code too.Signed-off-by: Huang Ying
Signed-off-by: H. Peter Anvin
31 Oct, 2008
2 commits
-
Impact: change the kexec bootstrap code implementation from assembly to C
This patch transforms the kexec page tables setup code from assembler
code to C code in machine_kexec_prepare. This improves readability and
reduces code line number.Signed-off-by: Huang Ying
Signed-off-by: Ingo Molnar -
Impact: save .text size when kexec is built in but not loaded
This patch adds an architecture specific struct kimage_arch into
struct kimage. The pointers to page table pages used by kexec are
added to struct kimage_arch. The page tables pages are dynamically
allocated in machine_kexec_prepare instead of statically from BSS
segment. This will save up to 20k memory when kexec image is not
loaded.Signed-off-by: Huang Ying
Signed-off-by: Ingo Molnar
23 Oct, 2008
2 commits
-
Change header guards named "ASM_X86__*" to "_ASM_X86_*" since:
a. the double underscore is ugly and pointless.
b. no leading underscore violates namespace constraints.Signed-off-by: H. Peter Anvin
-
Signed-off-by: Al Viro
Signed-off-by: H. Peter Anvin