Re: [PATCH] x86, boot: access cmdline when loaded high

From: Yinghai Lu
Date: Tue Jun 11 2013 - 16:59:33 EST


On Tue, Jun 11, 2013 at 1:54 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
>>
>>> Before the patch, command line that is loaded high
>>> can be processed correctly in arch/x86/boot/compressed/cmdline.c.
>>
>> It can't. Here is the code from arch/x86/boot/cmdline.c:
>
> Are you sure?
>
> I tested that with kexec loaded second kernel high.
>
> How do you test that?

double checked, it works already:

10:~/k # sh kk
add_buffer: base:11fff6000 bufsz:80e0 memsz:a000
add_buffer: base:11fff0000 bufsz:44ce memsz:44ce
add_buffer: base:11d000000 bufsz:9084f0 memsz:2c43000
add_buffer: base:11acef000 bufsz:230f6ec memsz:230f6ec
[ 33.551046] cpu0 machine_kexec: fn: ffffffff81076960, data: ffff880116a20000
10:~/k # kexec -d -e
[ 52.939049] psmouse serio1: shutdown
...
[ 52.965553] Starting new kernel
early console in decompress_kernel ============> from misc.c
decompress_kernel:
input: [0x11ea902c2-0x11f390ba1], output: 0x11d000000, heap:
[0x11f398500-0x11f3a04ff] ============>
from misc.c

Decompressing Linux... xz... Parsing ELF... done. ========> from misc.c
Booting the kernel.
[ 0.000000] real_mode_data : phys 000000011fff0000
[ 0.000000] real_mode_data : virt ffff88011fff0000
[ 0.000000] boot_params : init virt ffffffff82f839a0
[ 0.000000] boot_params : phys 000000011ef839a0
[ 0.000000] boot_params : virt ffff88011ef839a0
[ 0.000000] boot_command_line : init virt ffffffff82e51020
[ 0.000000] boot_command_line : phys 000000011ee51020 ===> is high ?
[ 0.000000] boot_command_line : virt ffff88011ee51020
[ 0.000000] Kernel Layout:
[ 0.000000] .text: [0x11d000000-0x11e0ae480]
[ 0.000000] .rodata: [0x11e200000-0x11e9cefff]
[ 0.000000] .data: [0x11ea00000-0x11ebd3fbf]
[ 0.000000] .init: [0x11ebd5000-0x11ef6efff]
[ 0.000000] .bss: [0x11ef7d000-0x11fc1dfff]
[ 0.000000] .brk: [0x11fc1e000-0x11fc42fff]
[ 0.000000] memblock_reserve: [0x0009f000-0x000fffff] * BIOS reserved
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.0-rc5-yh-00864-g9cca511-dirty
(yhlu@xxxxxxxxxxxxxxx) (gcc version 4.7.2 20130108 [gcc-4_7-branch
revision 195012] (SUSE Linux) ) #1732 SMP Tue Jun 11 13:47:35 PDT 2013
[ 0.000000] memblock_reserve: [0x11d000000-0x11fc1dfff] TEXT DATA BSS
[ 0.000000] memblock_reserve: [0x11acef000-0x11cffefff] RAMDISK
[ 0.000000] Command line: initcall_debug pci=routeirq debug
ignore_loglevel apic=debug ramdisk_size=262144 root=/dev/ram0 rw
ip=dhcp console=uart8250,io,0x3f8,115200n8
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/