Re: [PATCH 0/3 v3] add reserved e820 ranges to the kdump kernel e820 table

From: lijiang
Date: Mon Oct 15 2018 - 23:45:28 EST


å 2018å10æ16æ 10:56, Dave Young åé:
> On 09/21/18 at 03:32pm, Lianbo Jiang wrote:
>> E820 reserved ranges is useful in kdump kernel, we have added this in
>> kexec-tools code.
>>
>> One reason is PCI mmconf (extended mode) requires reserved region otherwise
>> it falls back to legacy mode.
>>
>> Furthermore, when AMD SME kdump support, it needs to map dmi table area as
>> unencrypted. For normal boot, these ranges sit in e820 reserved ranges,
>> thus the early ioremap code naturally map them as unencrypted. If we also
>> have same e820 reserve setup in kdump kernel then it will just work like
>> normal kernel.
>>
>> Kdump uses walk_iomem_res_desc to iterate resources, then adds matched desc
>> to e820 table for the kdump kernel.
>>
>> But IORES_DESC_NONE resource type includes several different e820 types, we
>> need add exact e820 type to the kdump kernel e820 table, thus it also needs
>> an extra checking in memmap_entry_callback() to match the e820 type and
>> resource name.
>>
>> By the way, we also fix an error which walks through iomem resources, the
>> values of the function parameter may be modified in the while loop of
>> __walk_iomem_res_desc(), which will cause us to not get the desired result
>> in some cases.
>>
>> Changes since v2:
>> 1. Modified the value of flags to "0", when walking through the whole
>> tree for e820 reserved ranges.
>> 2. Modified the invalid SOB chain issue.
>>
>> Lianbo Jiang (3):
>> resource: fix an error which walks through iomem resources
>> x86/kexec_file: add e820 entry in case e820 type string matches to io
>> resource name
>> x86/kexec_file: add reserved e820 ranges to kdump kernel e820 table
>
> Lianbo, since Bjorn has fixed the resource issue in another patchset,
> can you rebase your patch 2 and 3 on top of his patches and resend?
>
Ok, Thanks for your reminder.
I will adjust these patches and post again.

Thanks.
Lianbo
>>
>> arch/x86/include/asm/e820/api.h | 2 ++
>> arch/x86/kernel/crash.c | 11 ++++++++++-
>> arch/x86/kernel/e820.c | 2 +-
>> kernel/resource.c | 3 +++
>> 4 files changed, 16 insertions(+), 2 deletions(-)
>>
>> --
>> 2.17.1
>>
>
> Thanks
> Dave
>