Skip to content

x86_64 Relocatable bzImage support (V4)

Vivek Goyal lkml 1 version Applied

Status from this message: I merged them all for now. Thanks.

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest20 patches 34 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/20x86_64: Assembly safe page.h and pgtable.hinclude/asm-x86_64/const.h include/asm-x86_64/page.h include/asm-x86_64/pgtable.h+51 -303 replies
2/20x86_64: Kill temp boot pmdsarch/x86_64/kernel/head.S arch/x86_64/mm/init.c+45 -580 replies
3/20x86_64: Clean up the early boot page tablearch/x86_64/kernel/head.S include/asm-x86_64/pgtable.h+28 -340 replies
4/20x86_64: Fix early printk to use standard ISA mappingarch/x86_64/kernel/early_printk.c+1 -20 replies
5/20x86_64: modify copy_bootdata to use virtual addressesarch/x86_64/kernel/head64.c+8 -90 replies
6/20x86_64: cleanup segmentsarch/x86_64/kernel/head.S include/asm-x86_64/segment.h+7 -70 replies
7/20x86_64: Add EFER to the register set saved by save_processor_statearch/x86_64/kernel/suspend.c include/asm-x86_64/suspend.h+3 -10 replies
8/20x86_64: 64bit PIC SMP trampolinearch/x86_64/kernel/head.S arch/x86_64/kernel/setup.c arch/x86_64/kernel/trampoline.S+156 -220 replies
9/20x86_64: Get rid of dead code in suspend resumearch/x86_64/kernel/acpi/wakeup.S+1 -560 replies
10/20x86_64: wakeup.S rename registers to reflect right namesarch/x86_64/kernel/acpi/wakeup.S include/asm-x86_64/suspend.h+24 -241 reply
11/20x86_64: wakeup.S misc cleanupsarch/x86_64/kernel/acpi/wakeup.S+40 -726 replies
12/20x86_64: 64bit ACPI wakeup trampolinearch/x86_64/kernel/acpi/sleep.c arch/x86_64/kernel/acpi/wakeup.S arch/x86_64/kernel/head.S+41 -494 replies
13/20x86_64: Modify discover_ebda to use virtual addressesarch/x86_64/kernel/setup.c+2 -20 replies
14/20x86_64: Remove the identity mapping as early as possiblearch/x86_64/kernel/head.S arch/x86_64/kernel/head64.c arch/x86_64/kernel/setup.c +4 more+25 -610 replies
15/20Move swsusp __pa() dependent code to arch portionarch/i386/power/suspend.c arch/powerpc/kernel/Makefile arch/powerpc/kernel/suspend.c +3 more+55 -143 replies
16/20swsusp: do not use virt_to_page on kernel data addresskernel/power/swap.c+27 -157 replies
17/20x86_64: __pa and __pa_symbol address space separationarch/i386/kernel/alternative.c arch/i386/mm/init.c arch/x86_64/kernel/machine_kexec.c +7 more+55 -490 replies
18/20x86_64: Relocatable Kernel Supportarch/x86_64/Kconfig arch/x86_64/boot/compressed/Makefile arch/x86_64/boot/compressed/head.S +6 more+596 -3300 replies
19/20x86_64: Extend bzImage protocol for relocatable bzImagearch/x86_64/boot/setup.S+11 -20 replies
20/20x86_64: Move cpu verification code to common filearch/x86_64/boot/compressed/head.S arch/x86_64/boot/setup.S arch/x86_64/kernel/acpi/wakeup.S +2 more+152 -1230 replies

Reviews trailers per patch

None of the 20 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchNigel Cunningham
SeriesA-b
1/20
2/20
3/20
4/20
5/20
6/20
7/20
8/20
9/20
10/20
11/20
12/20
13/20
14/20
15/20
16/20
17/20
18/20
19/20
20/20

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/20] x86_64 Relocatable bzImage support (V4)

Hi,

Here is another attempt on x86_64 relocatable bzImage patches(V4). This patchset makes a bzImage relocatable and same kernel binary can be loaded and run from different physical addresses.

As on now, this mainly helps distros who have to ship an extra kernel compiled for a different physical address to capture the kernel crash dump. This patchset will allow distros and kdump users to use production kernel itself as dump capture kernel and there is no need to ship/build an extra kernel. I am hopeful people will find other interesting usages down the line.

Eric has done all the heavy weight lifting requird to make this patchset work. Last time I posted this patchset (V3), there were minor comments which I have taken care of. Following are the changes since V3.

- Reduced the usage of _AC() macro to only shift operations, as per Andi's comment.
- Restored the CONFIG_PHYSICAL_START option.
- Fixed few bugs with suspend to disk code path.

It would be good if these patches get into -mm so that it can undergo more testing. I have been testing them and these just work fine for me.

Thanks
Vivek