Re: [PATCH v8 RESEND 0/4] Support kdump for AMD secure memory encryption(SME)

From: lijiang
Date: Sun Oct 07 2018 - 02:09:48 EST


å 2018å10æ06æ 17:56, Borislav Petkov åé:
> On Fri, Oct 05, 2018 at 01:52:26PM +0800, lijiang wrote:
>> b. add the parameter "mem_encrypt=on" for kernel command-line to grub.cfg, if
>> this machine has SME feature. And also add crashkernel=xx, which will reserve
>> memory for kdump.
>
> Ok, I'm doing the simpler crashkernel= cmdline:
>
> crashkernel=256M
>
> That says:
>
> [ 0.011918] Reserving 256MB of memory at 640MB for crashkernel (System RAM: 262030MB)
>
>> Step 5: reboot, and then load the crash kernel image and kdump initramfs.
>>
>> a: When SME is enabled, i use this command to load them:
>>
>> #kexec -p /boot/vmlinuz-4.19.0-rc6+ --initrd=/boot/initramfs-4.19.0-rc6+kdump.img --command-line="root=/dev/mapper/rhel_hp--dl385g10--03-root ro rd.lvm.lv=rhel_hp-dl385g10-03/root rd.lvm.lv=rhel_hp-dl385g10-03/swap mem_encrypt=on console=ttyS0,115200n81 LANG=en_US.UTF-8 earlyprintk=serial debug irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off numa=off udev.children-max=2 panic=10 rootflags=nofail acpi_no_memhotplug transparent_hugepage=never disable_cpu_apicid=0"
>
> Ok, did that, my cmdline is:
>
> ~/bpetkov/src/kexec-tools/build/sbin/kexec -p /boot/vmlinuz-4.19.0-rc6+ --initrd=/boot/initrd-4.19.0-rc6+ --command-line="root=/dev/mapper/ubuntu--010236012132--vg-leap15 rd.lvm.lv=ubuntu--010236012132--vg-leap15/root rd.lvm.lv=ubuntu--010236012132--vg-leap15/swap splash=silent showopts console=ttyS5,115200 console=tty0 debug ignore_loglevel log_buf_len=16M nr_cpus=1 irqpoll maxcpus=1 reset_devices vga=normal mem_encrypt=on LANG=en_US.UTF-8 earlyprintk=serial cgroup_disable=memory mce=off numa=off udev.children-max=2 panic=10 rootflags=nofail acpi_no_memhotplug transparent_hugepage=never disable_cpu_apicid=0"
>
> Verified it loaded ok:
>
> $ grep . /sys/kernel/kexec_*
> /sys/kernel/kexec_crash_loaded:1
> /sys/kernel/kexec_crash_size:268435456
> /sys/kernel/kexec_loaded:0
>
>> Step 6: trigger panic by sysrq
>> #echo c > /proc/sysrq-trigger
>
> Did that and I got into the kdump kernel with SME. So I'd guess your kdump
> kernel command line was needed - I was missing a bunch of switches and
> remote-debugging a box kexecing is not fun.
>
> So thanks a lot for the detailed steps, I'm putting them to my notes.
>

It's my pleasure.
Also thanks for your patience and help.

Regards,
Lianbo