All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <b1556461-fe83-2ba0-00a3-e8ecf3e286fe@amd.com>

diff --git a/a/1.txt b/N1/1.txt
index 46a2c77..9f0694d 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -210,7 +210,3 @@ Tom
 >>> Thanks
 >>> Dave
 >>>
-_______________________________________________
-kexec mailing list
-kexec@lists.infradead.org
-http://lists.infradead.org/mailman/listinfo/kexec
diff --git a/a/content_digest b/N1/content_digest
index fe0fb7a..fbca737 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -7,25 +7,22 @@
  "Subject\0Re: [PATCH 1/2 v8] resource: add the new I/O resource descriptor 'IORES_DESC_RESERVED'\0"
  "Date\0Mon, 25 Mar 2019 19:34:25 +0000\0"
  "To\0lijiang <lijiang@redhat.com>\0"
- "Cc\0tony.luck@intel.com <tony.luck@intel.com>"
-  fenghua.yu@intel.com <fenghua.yu@intel.com>
-  linux-efi@vger.kernel.org <linux-efi@vger.kernel.org>
-  linux-ia64@vger.kernel.org <linux-ia64@vger.kernel.org>
-  bhe@redhat.com <bhe@redhat.com>
-  ard.biesheuvel@linaro.org <ard.biesheuvel@linaro.org>
-  peterz@infradead.org <peterz@infradead.org>
-  x86@kernel.org <x86@kernel.org>
-  kexec@lists.infradead.org <kexec@lists.infradead.org>
+ "Cc\0Dave Young <dyoung@redhat.com>"
   linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>
-  dave.hansen@linux.intel.com <dave.hansen@linux.intel.com>
+  kexec@lists.infradead.org <kexec@lists.infradead.org>
+  x86@kernel.org <x86@kernel.org>
+  linux-ia64@vger.kernel.org <linux-ia64@vger.kernel.org>
+  linux-efi@vger.kernel.org <linux-efi@vger.kernel.org>
+  tglx@linutronix.de <tglx@linutronix.de>
   mingo@redhat.com <mingo@redhat.com>
   bp@alien8.de <bp@alien8.de>
-  luto@kernel.org <luto@kernel.org>
-  Toshi Kani <toshi.kani@hp.com>
-  tglx@linutronix.de <tglx@linutronix.de>
-  Dave Young <dyoung@redhat.com>
   akpm@linux-foundation.org <akpm@linux-foundation.org>
- " Dan Williams <dan.j.williams@intel.com>\0"
+  dave.hansen@linux.intel.com <dave.hansen@linux.intel.com>
+  luto@kernel.org <luto@kernel.org>
+  peterz@infradead.org <peterz@infradead.org>
+  ard.biesheuvel@linaro.org <ard.biesheuvel@linaro.org>
+  tony.luck@intel.com <tony.luck@intel.com>
+ " fenghua.yu@intel.com <fenghua.yu@intel.com>\0"
  "\00:1\0"
  "b\0"
  "On 3/16/19 2:31 AM, lijiang wrote:\n"
@@ -239,10 +236,6 @@
  ">>>\n"
  ">>> Thanks\n"
  ">>> Dave\n"
- ">>>\n"
- "_______________________________________________\n"
- "kexec mailing list\n"
- "kexec@lists.infradead.org\n"
- http://lists.infradead.org/mailman/listinfo/kexec
+ >>>
 
-ff965eea65527701cd608ec84a473941b9d8cda1e1926affaae7e799cf561028
+4369b7ca9ddeaa3ded331040145dbfbd0c23648199f54d72d564cfc258d25f3f

diff --git a/a/1.txt b/N2/1.txt
index 46a2c77..b83afef 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -1,216 +1,150 @@
-On 3/16/19 2:31 AM, lijiang wrote:
-> 
-> 
-> 在 2018年12月05日 05:33, Lendacky, Thomas 写道:
->> On 11/29/2018 09:37 PM, Dave Young wrote:
->>> + more people
->>>
->>> On 11/29/18 at 04:09pm, Lianbo Jiang wrote:
->>>> When doing kexec_file_load, the first kernel needs to pass the e820
->>>> reserved ranges to the second kernel. But kernel can not exactly
->>>> match the e820 reserved ranges when walking through the iomem resources
->>>> with the descriptor 'IORES_DESC_NONE', because several e820 types(
->>>> e.g. E820_TYPE_RESERVED_KERN/E820_TYPE_RAM/E820_TYPE_UNUSABLE/E820
->>>> _TYPE_RESERVED) are converted to the descriptor 'IORES_DESC_NONE'. It
->>>> may pass these four types to the kdump kernel, that is not desired result.
->>>>
->>>> So, this patch adds a new I/O resource descriptor 'IORES_DESC_RESERVED'
->>>> for the iomem resources search interfaces. It is helpful to exactly
->>>> match the reserved resource ranges when walking through iomem resources.
->>>>
->>>> In addition, since the new descriptor 'IORES_DESC_RESERVED' is introduced,
->>>> these code originally related to the descriptor 'IORES_DESC_NONE' need to
->>>> be updated. Otherwise, it will be easily confused and also cause some
->>>> errors. Because the 'E820_TYPE_RESERVED' type is converted to the new
->>>> descriptor 'IORES_DESC_RESERVED' instead of 'IORES_DESC_NONE', it has been
->>>> changed.
->>>>
->>>> Suggested-by: Dave Young <dyoung@redhat.com>
->>>> Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
->>>> ---
->>>>  arch/ia64/kernel/efi.c |  4 ++++
->>>>  arch/x86/kernel/e820.c |  2 +-
->>>>  arch/x86/mm/ioremap.c  | 13 ++++++++++++-
->>>>  include/linux/ioport.h |  1 +
->>>>  kernel/resource.c      |  6 +++---
->>>>  5 files changed, 21 insertions(+), 5 deletions(-)
->>>>
->>>> diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c
->>>> index 8f106638913c..1841e9b4db30 100644
->>>> --- a/arch/ia64/kernel/efi.c
->>>> +++ b/arch/ia64/kernel/efi.c
->>>> @@ -1231,6 +1231,10 @@ efi_initialize_iomem_resources(struct resource *code_resource,
->>>>  				break;
->>>>  
->>>>  			case EFI_RESERVED_TYPE:
->>>> +				name = "reserved";
->>>
->>> Ingo updated X86 code to use "Reserved",  I think it would be good to do
->>> same for this case as well
->>>
->>>> +				desc = IORES_DESC_RESERVED;
->>>> +				break;
->>>> +
->>>>  			case EFI_RUNTIME_SERVICES_CODE:
->>>>  			case EFI_RUNTIME_SERVICES_DATA:
->>>>  			case EFI_ACPI_RECLAIM_MEMORY:
->>>
->>> Originally, above 3 are all "reserved", so probably they all should be
->>> IORES_DESC_RESERVED.
->>>
->>> Can any IA64 people to review this?
->>>
->>>> diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
->>>> index 50895c2f937d..57fafdafb860 100644
->>>> --- a/arch/x86/kernel/e820.c
->>>> +++ b/arch/x86/kernel/e820.c
->>>> @@ -1048,10 +1048,10 @@ static unsigned long __init e820_type_to_iores_desc(struct e820_entry *entry)
->>>>  	case E820_TYPE_NVS:		return IORES_DESC_ACPI_NV_STORAGE;
->>>>  	case E820_TYPE_PMEM:		return IORES_DESC_PERSISTENT_MEMORY;
->>>>  	case E820_TYPE_PRAM:		return IORES_DESC_PERSISTENT_MEMORY_LEGACY;
->>>> +	case E820_TYPE_RESERVED:	return IORES_DESC_RESERVED;
->>>>  	case E820_TYPE_RESERVED_KERN:	/* Fall-through: */
->>>>  	case E820_TYPE_RAM:		/* Fall-through: */
->>>>  	case E820_TYPE_UNUSABLE:	/* Fall-through: */
->>>> -	case E820_TYPE_RESERVED:	/* Fall-through: */
->>>>  	default:			return IORES_DESC_NONE;
->>>>  	}
->>>>  }
->>>> diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
->>>> index 5378d10f1d31..fea2ef99415d 100644
->>>> --- a/arch/x86/mm/ioremap.c
->>>> +++ b/arch/x86/mm/ioremap.c
->>>> @@ -83,7 +83,18 @@ static bool __ioremap_check_ram(struct resource *res)
->>>>  
->>>>  static int __ioremap_check_desc_other(struct resource *res)
->>>>  {
->>>> -	return (res->desc != IORES_DESC_NONE);
->>>> +	/*
->>>> +	 * But now, the 'E820_TYPE_RESERVED' type is converted to the new
->>>> +	 * descriptor 'IORES_DESC_RESERVED' instead of 'IORES_DESC_NONE',
->>>> +	 * it has been changed. And the value of 'mem_flags.desc_other'
->>>> +	 * is equal to 'true' if we don't strengthen the condition in this
->>>> +	 * function, that is wrong. Because originally it is equal to
->>>> +	 * 'false' for the same reserved type.
->>>> +	 *
->>>> +	 * So, that would be nice to keep it the same as before.
->>>> +	 */
->>>> +	return ((res->desc != IORES_DESC_NONE) &&
->>>> +		(res->desc != IORES_DESC_RESERVED));
->>>>  }
->>>
->>> Added Tom since he added the check function.  Is it possible to only
->>> check explict valid desc types instead of exclude IORES_DESC_NONE?
->>
->> Sorry for the delay...
->>
->> The original intent of the check was to map most memory as encrypted under
->> SEV if it was marked with a specific descriptor, since it was likely to
->> not be MMIO. I tried converting most things that mapped memory to memremap
->> vs ioremap, but ACPI was one area that I left alone and this check catches
->> the mapping of the ACPI tables. I suppose it's possible to change this to
->> check just for IORES_DESC_ACPI_* values, but I would have to do some
->> testing.
-> 
-> Recently, i tested it according to your advice, here it is really checking for the
-> 'IORES_DESC_ACPI_*' values.  If you agree to this change, i would add the following
-> patch into this patch set and post them again.
-> 
-> [root@localhost linux]# git diff arch/x86/mm/ioremap.c
-> diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
-> index 0029604af8a4..0e3ba620612d 100644
-> --- a/arch/x86/mm/ioremap.c
-> +++ b/arch/x86/mm/ioremap.c
-> @@ -83,7 +83,8 @@ static bool __ioremap_check_ram(struct resource *res)
->  
->  static int __ioremap_check_desc_other(struct resource *res)
->  {
-> -       return (res->desc != IORES_DESC_NONE);
-> +       return ((res->desc == IORES_DESC_ACPI_TABLES) ||
-> +               (res->desc == IORES_DESC_ACPI_NV_STORAGE));
-
-I'm not a big fan of this. I think you should leave it as the previous
-check you had for IORES_DESC_NONE and IORES_DESC_RESERVED. There's no
-telling what type of resources may be mapped in the future where this
-will break.
-
-Adding a nice comment here about how IORES_DESC_NONE originally was to
-identify MMIO and reserved areas. Now IORES_DESC_RESERVED has been created
-for the reserved areas so the check needs to be expanded so that these
-areas aren't mapped encrypted when using ioremap.
-
-Thanks,
-Tom
-
->  }
-> 
-> 
-> Thanks.
-> Lianbo
-> 
->>
->> Thanks,
->> Tom
->>
->>>
->>>>  
->>>>  static int __ioremap_res_check(struct resource *res, void *arg)
->>>> diff --git a/include/linux/ioport.h b/include/linux/ioport.h
->>>> index da0ebaec25f0..6ed59de48bd5 100644
->>>> --- a/include/linux/ioport.h
->>>> +++ b/include/linux/ioport.h
->>>> @@ -133,6 +133,7 @@ enum {
->>>>  	IORES_DESC_PERSISTENT_MEMORY_LEGACY	= 5,
->>>>  	IORES_DESC_DEVICE_PRIVATE_MEMORY	= 6,
->>>>  	IORES_DESC_DEVICE_PUBLIC_MEMORY		= 7,
->>>> +	IORES_DESC_RESERVED			= 8,
->>>>  };
->>>>  
->>>>  /* helpers to define resources */
->>>> diff --git a/kernel/resource.c b/kernel/resource.c
->>>> index b0fbf685c77a..f34a632c4169 100644
->>>> --- a/kernel/resource.c
->>>> +++ b/kernel/resource.c
->>>> @@ -994,7 +994,7 @@ __reserve_region_with_split(struct resource *root, resource_size_t start,
->>>>  	res->start = start;
->>>>  	res->end = end;
->>>>  	res->flags = type | IORESOURCE_BUSY;
->>>> -	res->desc = IORES_DESC_NONE;
->>>> +	res->desc = IORES_DESC_RESERVED;
->>>>  
->>>>  	while (1) {
->>>>  
->>>> @@ -1029,7 +1029,7 @@ __reserve_region_with_split(struct resource *root, resource_size_t start,
->>>>  				next_res->start = conflict->end + 1;
->>>>  				next_res->end = end;
->>>>  				next_res->flags = type | IORESOURCE_BUSY;
->>>> -				next_res->desc = IORES_DESC_NONE;
->>>> +				next_res->desc = IORES_DESC_RESERVED;
->>>>  			}
->>>>  		} else {
->>>>  			res->start = conflict->end + 1;
->>>> @@ -1477,7 +1477,7 @@ static int __init reserve_setup(char *str)
->>>>  			res->start = io_start;
->>>>  			res->end = io_start + io_num - 1;
->>>>  			res->flags |= IORESOURCE_BUSY;
->>>> -			res->desc = IORES_DESC_NONE;
->>>> +			res->desc = IORES_DESC_RESERVED;
->>>>  			res->child = NULL;
->>>>  			if (request_resource(parent, res) == 0)
->>>>  				reserved = x+1;
->>>> -- 
->>>> 2.17.1
->>>>
->>>
->>>
->>> There are a lot of places call region_intersects which use DESC_NONE,
->>> I'm not sure if needed changes accordingly.  Cced Dan and Toshi.
->>>
->>>
->>> Thanks
->>> Dave
->>>
-_______________________________________________
-kexec mailing list
-kexec@lists.infradead.org
-http://lists.infradead.org/mailman/listinfo/kexec
+T24gMy8xNi8xOSAyOjMxIEFNLCBsaWppYW5nIHdyb3RlOg0KPiANCj4gDQo+IOWcqCAyMDE45bm0
+MTLmnIgwNeaXpSAwNTozMywgTGVuZGFja3ksIFRob21hcyDlhpnpgZM6DQo+PiBPbiAxMS8yOS8y
+MDE4IDA5OjM3IFBNLCBEYXZlIFlvdW5nIHdyb3RlOg0KPj4+ICsgbW9yZSBwZW9wbGUNCj4+Pg0K
+Pj4+IE9uIDExLzI5LzE4IGF0IDA0OjA5cG0sIExpYW5ibyBKaWFuZyB3cm90ZToNCj4+Pj4gV2hl
+biBkb2luZyBrZXhlY19maWxlX2xvYWQsIHRoZSBmaXJzdCBrZXJuZWwgbmVlZHMgdG8gcGFzcyB0
+aGUgZTgyMA0KPj4+PiByZXNlcnZlZCByYW5nZXMgdG8gdGhlIHNlY29uZCBrZXJuZWwuIEJ1dCBr
+ZXJuZWwgY2FuIG5vdCBleGFjdGx5DQo+Pj4+IG1hdGNoIHRoZSBlODIwIHJlc2VydmVkIHJhbmdl
+cyB3aGVuIHdhbGtpbmcgdGhyb3VnaCB0aGUgaW9tZW0gcmVzb3VyY2VzDQo+Pj4+IHdpdGggdGhl
+IGRlc2NyaXB0b3IgJ0lPUkVTX0RFU0NfTk9ORScsIGJlY2F1c2Ugc2V2ZXJhbCBlODIwIHR5cGVz
+KA0KPj4+PiBlLmcuIEU4MjBfVFlQRV9SRVNFUlZFRF9LRVJOL0U4MjBfVFlQRV9SQU0vRTgyMF9U
+WVBFX1VOVVNBQkxFL0U4MjANCj4+Pj4gX1RZUEVfUkVTRVJWRUQpIGFyZSBjb252ZXJ0ZWQgdG8g
+dGhlIGRlc2NyaXB0b3IgJ0lPUkVTX0RFU0NfTk9ORScuIEl0DQo+Pj4+IG1heSBwYXNzIHRoZXNl
+IGZvdXIgdHlwZXMgdG8gdGhlIGtkdW1wIGtlcm5lbCwgdGhhdCBpcyBub3QgZGVzaXJlZCByZXN1
+bHQuDQo+Pj4+DQo+Pj4+IFNvLCB0aGlzIHBhdGNoIGFkZHMgYSBuZXcgSS9PIHJlc291cmNlIGRl
+c2NyaXB0b3IgJ0lPUkVTX0RFU0NfUkVTRVJWRUQnDQo+Pj4+IGZvciB0aGUgaW9tZW0gcmVzb3Vy
+Y2VzIHNlYXJjaCBpbnRlcmZhY2VzLiBJdCBpcyBoZWxwZnVsIHRvIGV4YWN0bHkNCj4+Pj4gbWF0
+Y2ggdGhlIHJlc2VydmVkIHJlc291cmNlIHJhbmdlcyB3aGVuIHdhbGtpbmcgdGhyb3VnaCBpb21l
+bSByZXNvdXJjZXMuDQo+Pj4+DQo+Pj4+IEluIGFkZGl0aW9uLCBzaW5jZSB0aGUgbmV3IGRlc2Ny
+aXB0b3IgJ0lPUkVTX0RFU0NfUkVTRVJWRUQnIGlzIGludHJvZHVjZWQsDQo+Pj4+IHRoZXNlIGNv
+ZGUgb3JpZ2luYWxseSByZWxhdGVkIHRvIHRoZSBkZXNjcmlwdG9yICdJT1JFU19ERVNDX05PTkUn
+IG5lZWQgdG8NCj4+Pj4gYmUgdXBkYXRlZC4gT3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGVhc2lseSBj
+b25mdXNlZCBhbmQgYWxzbyBjYXVzZSBzb21lDQo+Pj4+IGVycm9ycy4gQmVjYXVzZSB0aGUgJ0U4
+MjBfVFlQRV9SRVNFUlZFRCcgdHlwZSBpcyBjb252ZXJ0ZWQgdG8gdGhlIG5ldw0KPj4+PiBkZXNj
+cmlwdG9yICdJT1JFU19ERVNDX1JFU0VSVkVEJyBpbnN0ZWFkIG9mICdJT1JFU19ERVNDX05PTkUn
+LCBpdCBoYXMgYmVlbg0KPj4+PiBjaGFuZ2VkLg0KPj4+Pg0KPj4+PiBTdWdnZXN0ZWQtYnk6IERh
+dmUgWW91bmcgPGR5b3VuZ0ByZWRoYXQuY29tPg0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBMaWFuYm8g
+SmlhbmcgPGxpamlhbmdAcmVkaGF0LmNvbT4NCj4+Pj4gLS0tDQo+Pj4+ICBhcmNoL2lhNjQva2Vy
+bmVsL2VmaS5jIHwgIDQgKysrKw0KPj4+PiAgYXJjaC94ODYva2VybmVsL2U4MjAuYyB8ICAyICst
+DQo+Pj4+ICBhcmNoL3g4Ni9tbS9pb3JlbWFwLmMgIHwgMTMgKysrKysrKysrKysrLQ0KPj4+PiAg
+aW5jbHVkZS9saW51eC9pb3BvcnQuaCB8ICAxICsNCj4+Pj4gIGtlcm5lbC9yZXNvdXJjZS5jICAg
+ICAgfCAgNiArKystLS0NCj4+Pj4gIDUgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwg
+NSBkZWxldGlvbnMoLSkNCj4+Pj4NCj4+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9rZXJuZWwv
+ZWZpLmMgYi9hcmNoL2lhNjQva2VybmVsL2VmaS5jDQo+Pj4+IGluZGV4IDhmMTA2NjM4OTEzYy4u
+MTg0MWU5YjRkYjMwIDEwMDY0NA0KPj4+PiAtLS0gYS9hcmNoL2lhNjQva2VybmVsL2VmaS5jDQo+
+Pj4+ICsrKyBiL2FyY2gvaWE2NC9rZXJuZWwvZWZpLmMNCj4+Pj4gQEAgLTEyMzEsNiArMTIzMSwx
+MCBAQCBlZmlfaW5pdGlhbGl6ZV9pb21lbV9yZXNvdXJjZXMoc3RydWN0IHJlc291cmNlICpjb2Rl
+X3Jlc291cmNlLA0KPj4+PiAgCQkJCWJyZWFrOw0KPj4+PiAgDQo+Pj4+ICAJCQljYXNlIEVGSV9S
+RVNFUlZFRF9UWVBFOg0KPj4+PiArCQkJCW5hbWUgPSAicmVzZXJ2ZWQiOw0KPj4+DQo+Pj4gSW5n
+byB1cGRhdGVkIFg4NiBjb2RlIHRvIHVzZSAiUmVzZXJ2ZWQiLCAgSSB0aGluayBpdCB3b3VsZCBi
+ZSBnb29kIHRvIGRvDQo+Pj4gc2FtZSBmb3IgdGhpcyBjYXNlIGFzIHdlbGwNCj4+Pg0KPj4+PiAr
+CQkJCWRlc2MgPSBJT1JFU19ERVNDX1JFU0VSVkVEOw0KPj4+PiArCQkJCWJyZWFrOw0KPj4+PiAr
+DQo+Pj4+ICAJCQljYXNlIEVGSV9SVU5USU1FX1NFUlZJQ0VTX0NPREU6DQo+Pj4+ICAJCQljYXNl
+IEVGSV9SVU5USU1FX1NFUlZJQ0VTX0RBVEE6DQo+Pj4+ICAJCQljYXNlIEVGSV9BQ1BJX1JFQ0xB
+SU1fTUVNT1JZOg0KPj4+DQo+Pj4gT3JpZ2luYWxseSwgYWJvdmUgMyBhcmUgYWxsICJyZXNlcnZl
+ZCIsIHNvIHByb2JhYmx5IHRoZXkgYWxsIHNob3VsZCBiZQ0KPj4+IElPUkVTX0RFU0NfUkVTRVJW
+RUQuDQo+Pj4NCj4+PiBDYW4gYW55IElBNjQgcGVvcGxlIHRvIHJldmlldyB0aGlzPw0KPj4+DQo+
+Pj4+IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZTgyMC5jIGIvYXJjaC94ODYva2VybmVs
+L2U4MjAuYw0KPj4+PiBpbmRleCA1MDg5NWMyZjkzN2QuLjU3ZmFmZGFmYjg2MCAxMDA2NDQNCj4+
+Pj4gLS0tIGEvYXJjaC94ODYva2VybmVsL2U4MjAuYw0KPj4+PiArKysgYi9hcmNoL3g4Ni9rZXJu
+ZWwvZTgyMC5jDQo+Pj4+IEBAIC0xMDQ4LDEwICsxMDQ4LDEwIEBAIHN0YXRpYyB1bnNpZ25lZCBs
+b25nIF9faW5pdCBlODIwX3R5cGVfdG9faW9yZXNfZGVzYyhzdHJ1Y3QgZTgyMF9lbnRyeSAqZW50
+cnkpDQo+Pj4+ICAJY2FzZSBFODIwX1RZUEVfTlZTOgkJcmV0dXJuIElPUkVTX0RFU0NfQUNQSV9O
+Vl9TVE9SQUdFOw0KPj4+PiAgCWNhc2UgRTgyMF9UWVBFX1BNRU06CQlyZXR1cm4gSU9SRVNfREVT
+Q19QRVJTSVNURU5UX01FTU9SWTsNCj4+Pj4gIAljYXNlIEU4MjBfVFlQRV9QUkFNOgkJcmV0dXJu
+IElPUkVTX0RFU0NfUEVSU0lTVEVOVF9NRU1PUllfTEVHQUNZOw0KPj4+PiArCWNhc2UgRTgyMF9U
+WVBFX1JFU0VSVkVEOglyZXR1cm4gSU9SRVNfREVTQ19SRVNFUlZFRDsNCj4+Pj4gIAljYXNlIEU4
+MjBfVFlQRV9SRVNFUlZFRF9LRVJOOgkvKiBGYWxsLXRocm91Z2g6ICovDQo+Pj4+ICAJY2FzZSBF
+ODIwX1RZUEVfUkFNOgkJLyogRmFsbC10aHJvdWdoOiAqLw0KPj4+PiAgCWNhc2UgRTgyMF9UWVBF
+X1VOVVNBQkxFOgkvKiBGYWxsLXRocm91Z2g6ICovDQo+Pj4+IC0JY2FzZSBFODIwX1RZUEVfUkVT
+RVJWRUQ6CS8qIEZhbGwtdGhyb3VnaDogKi8NCj4+Pj4gIAlkZWZhdWx0OgkJCXJldHVybiBJT1JF
+U19ERVNDX05PTkU7DQo+Pj4+ICAJfQ0KPj4+PiAgfQ0KPj4+PiBkaWZmIC0tZ2l0IGEvYXJjaC94
+ODYvbW0vaW9yZW1hcC5jIGIvYXJjaC94ODYvbW0vaW9yZW1hcC5jDQo+Pj4+IGluZGV4IDUzNzhk
+MTBmMWQzMS4uZmVhMmVmOTk0MTVkIDEwMDY0NA0KPj4+PiAtLS0gYS9hcmNoL3g4Ni9tbS9pb3Jl
+bWFwLmMNCj4+Pj4gKysrIGIvYXJjaC94ODYvbW0vaW9yZW1hcC5jDQo+Pj4+IEBAIC04Myw3ICs4
+MywxOCBAQCBzdGF0aWMgYm9vbCBfX2lvcmVtYXBfY2hlY2tfcmFtKHN0cnVjdCByZXNvdXJjZSAq
+cmVzKQ0KPj4+PiAgDQo+Pj4+ICBzdGF0aWMgaW50IF9faW9yZW1hcF9jaGVja19kZXNjX290aGVy
+KHN0cnVjdCByZXNvdXJjZSAqcmVzKQ0KPj4+PiAgew0KPj4+PiAtCXJldHVybiAocmVzLT5kZXNj
+ICE9IElPUkVTX0RFU0NfTk9ORSk7DQo+Pj4+ICsJLyoNCj4+Pj4gKwkgKiBCdXQgbm93LCB0aGUg
+J0U4MjBfVFlQRV9SRVNFUlZFRCcgdHlwZSBpcyBjb252ZXJ0ZWQgdG8gdGhlIG5ldw0KPj4+PiAr
+CSAqIGRlc2NyaXB0b3IgJ0lPUkVTX0RFU0NfUkVTRVJWRUQnIGluc3RlYWQgb2YgJ0lPUkVTX0RF
+U0NfTk9ORScsDQo+Pj4+ICsJICogaXQgaGFzIGJlZW4gY2hhbmdlZC4gQW5kIHRoZSB2YWx1ZSBv
+ZiAnbWVtX2ZsYWdzLmRlc2Nfb3RoZXInDQo+Pj4+ICsJICogaXMgZXF1YWwgdG8gJ3RydWUnIGlm
+IHdlIGRvbid0IHN0cmVuZ3RoZW4gdGhlIGNvbmRpdGlvbiBpbiB0aGlzDQo+Pj4+ICsJICogZnVu
+Y3Rpb24sIHRoYXQgaXMgd3JvbmcuIEJlY2F1c2Ugb3JpZ2luYWxseSBpdCBpcyBlcXVhbCB0bw0K
+Pj4+PiArCSAqICdmYWxzZScgZm9yIHRoZSBzYW1lIHJlc2VydmVkIHR5cGUuDQo+Pj4+ICsJICoN
+Cj4+Pj4gKwkgKiBTbywgdGhhdCB3b3VsZCBiZSBuaWNlIHRvIGtlZXAgaXQgdGhlIHNhbWUgYXMg
+YmVmb3JlLg0KPj4+PiArCSAqLw0KPj4+PiArCXJldHVybiAoKHJlcy0+ZGVzYyAhPSBJT1JFU19E
+RVNDX05PTkUpICYmDQo+Pj4+ICsJCShyZXMtPmRlc2MgIT0gSU9SRVNfREVTQ19SRVNFUlZFRCkp
+Ow0KPj4+PiAgfQ0KPj4+DQo+Pj4gQWRkZWQgVG9tIHNpbmNlIGhlIGFkZGVkIHRoZSBjaGVjayBm
+dW5jdGlvbi4gIElzIGl0IHBvc3NpYmxlIHRvIG9ubHkNCj4+PiBjaGVjayBleHBsaWN0IHZhbGlk
+IGRlc2MgdHlwZXMgaW5zdGVhZCBvZiBleGNsdWRlIElPUkVTX0RFU0NfTk9ORT8NCj4+DQo+PiBT
+b3JyeSBmb3IgdGhlIGRlbGF5Li4uDQo+Pg0KPj4gVGhlIG9yaWdpbmFsIGludGVudCBvZiB0aGUg
+Y2hlY2sgd2FzIHRvIG1hcCBtb3N0IG1lbW9yeSBhcyBlbmNyeXB0ZWQgdW5kZXINCj4+IFNFViBp
+ZiBpdCB3YXMgbWFya2VkIHdpdGggYSBzcGVjaWZpYyBkZXNjcmlwdG9yLCBzaW5jZSBpdCB3YXMg
+bGlrZWx5IHRvDQo+PiBub3QgYmUgTU1JTy4gSSB0cmllZCBjb252ZXJ0aW5nIG1vc3QgdGhpbmdz
+IHRoYXQgbWFwcGVkIG1lbW9yeSB0byBtZW1yZW1hcA0KPj4gdnMgaW9yZW1hcCwgYnV0IEFDUEkg
+d2FzIG9uZSBhcmVhIHRoYXQgSSBsZWZ0IGFsb25lIGFuZCB0aGlzIGNoZWNrIGNhdGNoZXMNCj4+
+IHRoZSBtYXBwaW5nIG9mIHRoZSBBQ1BJIHRhYmxlcy4gSSBzdXBwb3NlIGl0J3MgcG9zc2libGUg
+dG8gY2hhbmdlIHRoaXMgdG8NCj4+IGNoZWNrIGp1c3QgZm9yIElPUkVTX0RFU0NfQUNQSV8qIHZh
+bHVlcywgYnV0IEkgd291bGQgaGF2ZSB0byBkbyBzb21lDQo+PiB0ZXN0aW5nLg0KPiANCj4gUmVj
+ZW50bHksIGkgdGVzdGVkIGl0IGFjY29yZGluZyB0byB5b3VyIGFkdmljZSwgaGVyZSBpdCBpcyBy
+ZWFsbHkgY2hlY2tpbmcgZm9yIHRoZQ0KPiAnSU9SRVNfREVTQ19BQ1BJXyonIHZhbHVlcy4gIElm
+IHlvdSBhZ3JlZSB0byB0aGlzIGNoYW5nZSwgaSB3b3VsZCBhZGQgdGhlIGZvbGxvd2luZw0KPiBw
+YXRjaCBpbnRvIHRoaXMgcGF0Y2ggc2V0IGFuZCBwb3N0IHRoZW0gYWdhaW4uDQo+IA0KPiBbcm9v
+dEBsb2NhbGhvc3QgbGludXhdIyBnaXQgZGlmZiBhcmNoL3g4Ni9tbS9pb3JlbWFwLmMNCj4gZGlm
+ZiAtLWdpdCBhL2FyY2gveDg2L21tL2lvcmVtYXAuYyBiL2FyY2gveDg2L21tL2lvcmVtYXAuYw0K
+PiBpbmRleCAwMDI5NjA0YWY4YTQuLjBlM2JhNjIwNjEyZCAxMDA2NDQNCj4gLS0tIGEvYXJjaC94
+ODYvbW0vaW9yZW1hcC5jDQo+ICsrKyBiL2FyY2gveDg2L21tL2lvcmVtYXAuYw0KPiBAQCAtODMs
+NyArODMsOCBAQCBzdGF0aWMgYm9vbCBfX2lvcmVtYXBfY2hlY2tfcmFtKHN0cnVjdCByZXNvdXJj
+ZSAqcmVzKQ0KPiAgDQo+ICBzdGF0aWMgaW50IF9faW9yZW1hcF9jaGVja19kZXNjX290aGVyKHN0
+cnVjdCByZXNvdXJjZSAqcmVzKQ0KPiAgew0KPiAtICAgICAgIHJldHVybiAocmVzLT5kZXNjICE9
+IElPUkVTX0RFU0NfTk9ORSk7DQo+ICsgICAgICAgcmV0dXJuICgocmVzLT5kZXNjID09IElPUkVT
+X0RFU0NfQUNQSV9UQUJMRVMpIHx8DQo+ICsgICAgICAgICAgICAgICAocmVzLT5kZXNjID09IElP
+UkVTX0RFU0NfQUNQSV9OVl9TVE9SQUdFKSk7DQoNCkknbSBub3QgYSBiaWcgZmFuIG9mIHRoaXMu
+IEkgdGhpbmsgeW91IHNob3VsZCBsZWF2ZSBpdCBhcyB0aGUgcHJldmlvdXMNCmNoZWNrIHlvdSBo
+YWQgZm9yIElPUkVTX0RFU0NfTk9ORSBhbmQgSU9SRVNfREVTQ19SRVNFUlZFRC4gVGhlcmUncyBu
+bw0KdGVsbGluZyB3aGF0IHR5cGUgb2YgcmVzb3VyY2VzIG1heSBiZSBtYXBwZWQgaW4gdGhlIGZ1
+dHVyZSB3aGVyZSB0aGlzDQp3aWxsIGJyZWFrLg0KDQpBZGRpbmcgYSBuaWNlIGNvbW1lbnQgaGVy
+ZSBhYm91dCBob3cgSU9SRVNfREVTQ19OT05FIG9yaWdpbmFsbHkgd2FzIHRvDQppZGVudGlmeSBN
+TUlPIGFuZCByZXNlcnZlZCBhcmVhcy4gTm93IElPUkVTX0RFU0NfUkVTRVJWRUQgaGFzIGJlZW4g
+Y3JlYXRlZA0KZm9yIHRoZSByZXNlcnZlZCBhcmVhcyBzbyB0aGUgY2hlY2sgbmVlZHMgdG8gYmUg
+ZXhwYW5kZWQgc28gdGhhdCB0aGVzZQ0KYXJlYXMgYXJlbid0IG1hcHBlZCBlbmNyeXB0ZWQgd2hl
+biB1c2luZyBpb3JlbWFwLg0KDQpUaGFua3MsDQpUb20NCg0KPiAgfQ0KPiANCj4gDQo+IFRoYW5r
+cy4NCj4gTGlhbmJvDQo+IA0KPj4NCj4+IFRoYW5rcywNCj4+IFRvbQ0KPj4NCj4+Pg0KPj4+PiAg
+DQo+Pj4+ICBzdGF0aWMgaW50IF9faW9yZW1hcF9yZXNfY2hlY2soc3RydWN0IHJlc291cmNlICpy
+ZXMsIHZvaWQgKmFyZykNCj4+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaW9wb3J0Lmgg
+Yi9pbmNsdWRlL2xpbnV4L2lvcG9ydC5oDQo+Pj4+IGluZGV4IGRhMGViYWVjMjVmMC4uNmVkNTlk
+ZTQ4YmQ1IDEwMDY0NA0KPj4+PiAtLS0gYS9pbmNsdWRlL2xpbnV4L2lvcG9ydC5oDQo+Pj4+ICsr
+KyBiL2luY2x1ZGUvbGludXgvaW9wb3J0LmgNCj4+Pj4gQEAgLTEzMyw2ICsxMzMsNyBAQCBlbnVt
+IHsNCj4+Pj4gIAlJT1JFU19ERVNDX1BFUlNJU1RFTlRfTUVNT1JZX0xFR0FDWQk9IDUsDQo+Pj4+
+ICAJSU9SRVNfREVTQ19ERVZJQ0VfUFJJVkFURV9NRU1PUlkJPSA2LA0KPj4+PiAgCUlPUkVTX0RF
+U0NfREVWSUNFX1BVQkxJQ19NRU1PUlkJCT0gNywNCj4+Pj4gKwlJT1JFU19ERVNDX1JFU0VSVkVE
+CQkJPSA4LA0KPj4+PiAgfTsNCj4+Pj4gIA0KPj4+PiAgLyogaGVscGVycyB0byBkZWZpbmUgcmVz
+b3VyY2VzICovDQo+Pj4+IGRpZmYgLS1naXQgYS9rZXJuZWwvcmVzb3VyY2UuYyBiL2tlcm5lbC9y
+ZXNvdXJjZS5jDQo+Pj4+IGluZGV4IGIwZmJmNjg1Yzc3YS4uZjM0YTYzMmM0MTY5IDEwMDY0NA0K
+Pj4+PiAtLS0gYS9rZXJuZWwvcmVzb3VyY2UuYw0KPj4+PiArKysgYi9rZXJuZWwvcmVzb3VyY2Uu
+Yw0KPj4+PiBAQCAtOTk0LDcgKzk5NCw3IEBAIF9fcmVzZXJ2ZV9yZWdpb25fd2l0aF9zcGxpdChz
+dHJ1Y3QgcmVzb3VyY2UgKnJvb3QsIHJlc291cmNlX3NpemVfdCBzdGFydCwNCj4+Pj4gIAlyZXMt
+PnN0YXJ0ID0gc3RhcnQ7DQo+Pj4+ICAJcmVzLT5lbmQgPSBlbmQ7DQo+Pj4+ICAJcmVzLT5mbGFn
+cyA9IHR5cGUgfCBJT1JFU09VUkNFX0JVU1k7DQo+Pj4+IC0JcmVzLT5kZXNjID0gSU9SRVNfREVT
+Q19OT05FOw0KPj4+PiArCXJlcy0+ZGVzYyA9IElPUkVTX0RFU0NfUkVTRVJWRUQ7DQo+Pj4+ICAN
+Cj4+Pj4gIAl3aGlsZSAoMSkgew0KPj4+PiAgDQo+Pj4+IEBAIC0xMDI5LDcgKzEwMjksNyBAQCBf
+X3Jlc2VydmVfcmVnaW9uX3dpdGhfc3BsaXQoc3RydWN0IHJlc291cmNlICpyb290LCByZXNvdXJj
+ZV9zaXplX3Qgc3RhcnQsDQo+Pj4+ICAJCQkJbmV4dF9yZXMtPnN0YXJ0ID0gY29uZmxpY3QtPmVu
+ZCArIDE7DQo+Pj4+ICAJCQkJbmV4dF9yZXMtPmVuZCA9IGVuZDsNCj4+Pj4gIAkJCQluZXh0X3Jl
+cy0+ZmxhZ3MgPSB0eXBlIHwgSU9SRVNPVVJDRV9CVVNZOw0KPj4+PiAtCQkJCW5leHRfcmVzLT5k
+ZXNjID0gSU9SRVNfREVTQ19OT05FOw0KPj4+PiArCQkJCW5leHRfcmVzLT5kZXNjID0gSU9SRVNf
+REVTQ19SRVNFUlZFRDsNCj4+Pj4gIAkJCX0NCj4+Pj4gIAkJfSBlbHNlIHsNCj4+Pj4gIAkJCXJl
+cy0+c3RhcnQgPSBjb25mbGljdC0+ZW5kICsgMTsNCj4+Pj4gQEAgLTE0NzcsNyArMTQ3Nyw3IEBA
+IHN0YXRpYyBpbnQgX19pbml0IHJlc2VydmVfc2V0dXAoY2hhciAqc3RyKQ0KPj4+PiAgCQkJcmVz
+LT5zdGFydCA9IGlvX3N0YXJ0Ow0KPj4+PiAgCQkJcmVzLT5lbmQgPSBpb19zdGFydCArIGlvX251
+bSAtIDE7DQo+Pj4+ICAJCQlyZXMtPmZsYWdzIHw9IElPUkVTT1VSQ0VfQlVTWTsNCj4+Pj4gLQkJ
+CXJlcy0+ZGVzYyA9IElPUkVTX0RFU0NfTk9ORTsNCj4+Pj4gKwkJCXJlcy0+ZGVzYyA9IElPUkVT
+X0RFU0NfUkVTRVJWRUQ7DQo+Pj4+ICAJCQlyZXMtPmNoaWxkID0gTlVMTDsNCj4+Pj4gIAkJCWlm
+IChyZXF1ZXN0X3Jlc291cmNlKHBhcmVudCwgcmVzKSA9PSAwKQ0KPj4+PiAgCQkJCXJlc2VydmVk
+ID0geCsxOw0KPj4+PiAtLSANCj4+Pj4gMi4xNy4xDQo+Pj4+DQo+Pj4NCj4+Pg0KPj4+IFRoZXJl
+IGFyZSBhIGxvdCBvZiBwbGFjZXMgY2FsbCByZWdpb25faW50ZXJzZWN0cyB3aGljaCB1c2UgREVT
+Q19OT05FLA0KPj4+IEknbSBub3Qgc3VyZSBpZiBuZWVkZWQgY2hhbmdlcyBhY2NvcmRpbmdseS4g
+IENjZWQgRGFuIGFuZCBUb3NoaS4NCj4+Pg0KPj4+DQo+Pj4gVGhhbmtzDQo+Pj4gRGF2ZQ0KPj4+
+DQo
diff --git a/a/content_digest b/N2/content_digest
index fe0fb7a..fabdb00 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -7,242 +7,176 @@
  "Subject\0Re: [PATCH 1/2 v8] resource: add the new I/O resource descriptor 'IORES_DESC_RESERVED'\0"
  "Date\0Mon, 25 Mar 2019 19:34:25 +0000\0"
  "To\0lijiang <lijiang@redhat.com>\0"
- "Cc\0tony.luck@intel.com <tony.luck@intel.com>"
-  fenghua.yu@intel.com <fenghua.yu@intel.com>
-  linux-efi@vger.kernel.org <linux-efi@vger.kernel.org>
-  linux-ia64@vger.kernel.org <linux-ia64@vger.kernel.org>
-  bhe@redhat.com <bhe@redhat.com>
-  ard.biesheuvel@linaro.org <ard.biesheuvel@linaro.org>
-  peterz@infradead.org <peterz@infradead.org>
-  x86@kernel.org <x86@kernel.org>
-  kexec@lists.infradead.org <kexec@lists.infradead.org>
+ "Cc\0Dave Young <dyoung@redhat.com>"
   linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>
-  dave.hansen@linux.intel.com <dave.hansen@linux.intel.com>
+  kexec@lists.infradead.org <kexec@lists.infradead.org>
+  x86@kernel.org <x86@kernel.org>
+  linux-ia64@vger.kernel.org <linux-ia64@vger.kernel.org>
+  linux-efi@vger.kernel.org <linux-efi@vger.kernel.org>
+  tglx@linutronix.de <tglx@linutronix.de>
   mingo@redhat.com <mingo@redhat.com>
   bp@alien8.de <bp@alien8.de>
+  akpm@linux-foundation.org <akpm@linux-foundation.org>
+  dave.hansen@linux.intel.com <dave.hansen@linux.intel.com>
   luto@kernel.org <luto@kernel.org>
+  peterz@infradead.org <peterz@infradead.org>
+  ard.biesheuvel@linaro.org <ard.biesheuvel@linaro.org>
+  tony.luck@intel.com <tony.luck@intel.com>
+  fenghua.yu@intel.com <fenghua.yu@intel.com>
+  bhe@redhat.com <bhe@redhat.com>
   Toshi Kani <toshi.kani@hp.com>
-  tglx@linutronix.de <tglx@linutronix.de>
-  Dave Young <dyoung@redhat.com>
-  akpm@linux-foundation.org <akpm@linux-foundation.org>
  " Dan Williams <dan.j.williams@intel.com>\0"
  "\00:1\0"
  "b\0"
- "On 3/16/19 2:31 AM, lijiang wrote:\n"
- "> \n"
- "> \n"
- "> \345\234\250 2018\345\271\26412\346\234\21005\346\227\245 05:33, Lendacky, Thomas \345\206\231\351\201\223:\n"
- ">> On 11/29/2018 09:37 PM, Dave Young wrote:\n"
- ">>> + more people\n"
- ">>>\n"
- ">>> On 11/29/18 at 04:09pm, Lianbo Jiang wrote:\n"
- ">>>> When doing kexec_file_load, the first kernel needs to pass the e820\n"
- ">>>> reserved ranges to the second kernel. But kernel can not exactly\n"
- ">>>> match the e820 reserved ranges when walking through the iomem resources\n"
- ">>>> with the descriptor 'IORES_DESC_NONE', because several e820 types(\n"
- ">>>> e.g. E820_TYPE_RESERVED_KERN/E820_TYPE_RAM/E820_TYPE_UNUSABLE/E820\n"
- ">>>> _TYPE_RESERVED) are converted to the descriptor 'IORES_DESC_NONE'. It\n"
- ">>>> may pass these four types to the kdump kernel, that is not desired result.\n"
- ">>>>\n"
- ">>>> So, this patch adds a new I/O resource descriptor 'IORES_DESC_RESERVED'\n"
- ">>>> for the iomem resources search interfaces. It is helpful to exactly\n"
- ">>>> match the reserved resource ranges when walking through iomem resources.\n"
- ">>>>\n"
- ">>>> In addition, since the new descriptor 'IORES_DESC_RESERVED' is introduced,\n"
- ">>>> these code originally related to the descriptor 'IORES_DESC_NONE' need to\n"
- ">>>> be updated. Otherwise, it will be easily confused and also cause some\n"
- ">>>> errors. Because the 'E820_TYPE_RESERVED' type is converted to the new\n"
- ">>>> descriptor 'IORES_DESC_RESERVED' instead of 'IORES_DESC_NONE', it has been\n"
- ">>>> changed.\n"
- ">>>>\n"
- ">>>> Suggested-by: Dave Young <dyoung@redhat.com>\n"
- ">>>> Signed-off-by: Lianbo Jiang <lijiang@redhat.com>\n"
- ">>>> ---\n"
- ">>>>  arch/ia64/kernel/efi.c |  4 ++++\n"
- ">>>>  arch/x86/kernel/e820.c |  2 +-\n"
- ">>>>  arch/x86/mm/ioremap.c  | 13 ++++++++++++-\n"
- ">>>>  include/linux/ioport.h |  1 +\n"
- ">>>>  kernel/resource.c      |  6 +++---\n"
- ">>>>  5 files changed, 21 insertions(+), 5 deletions(-)\n"
- ">>>>\n"
- ">>>> diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c\n"
- ">>>> index 8f106638913c..1841e9b4db30 100644\n"
- ">>>> --- a/arch/ia64/kernel/efi.c\n"
- ">>>> +++ b/arch/ia64/kernel/efi.c\n"
- ">>>> @@ -1231,6 +1231,10 @@ efi_initialize_iomem_resources(struct resource *code_resource,\n"
- ">>>>  \t\t\t\tbreak;\n"
- ">>>>  \n"
- ">>>>  \t\t\tcase EFI_RESERVED_TYPE:\n"
- ">>>> +\t\t\t\tname = \"reserved\";\n"
- ">>>\n"
- ">>> Ingo updated X86 code to use \"Reserved\",  I think it would be good to do\n"
- ">>> same for this case as well\n"
- ">>>\n"
- ">>>> +\t\t\t\tdesc = IORES_DESC_RESERVED;\n"
- ">>>> +\t\t\t\tbreak;\n"
- ">>>> +\n"
- ">>>>  \t\t\tcase EFI_RUNTIME_SERVICES_CODE:\n"
- ">>>>  \t\t\tcase EFI_RUNTIME_SERVICES_DATA:\n"
- ">>>>  \t\t\tcase EFI_ACPI_RECLAIM_MEMORY:\n"
- ">>>\n"
- ">>> Originally, above 3 are all \"reserved\", so probably they all should be\n"
- ">>> IORES_DESC_RESERVED.\n"
- ">>>\n"
- ">>> Can any IA64 people to review this?\n"
- ">>>\n"
- ">>>> diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c\n"
- ">>>> index 50895c2f937d..57fafdafb860 100644\n"
- ">>>> --- a/arch/x86/kernel/e820.c\n"
- ">>>> +++ b/arch/x86/kernel/e820.c\n"
- ">>>> @@ -1048,10 +1048,10 @@ static unsigned long __init e820_type_to_iores_desc(struct e820_entry *entry)\n"
- ">>>>  \tcase E820_TYPE_NVS:\t\treturn IORES_DESC_ACPI_NV_STORAGE;\n"
- ">>>>  \tcase E820_TYPE_PMEM:\t\treturn IORES_DESC_PERSISTENT_MEMORY;\n"
- ">>>>  \tcase E820_TYPE_PRAM:\t\treturn IORES_DESC_PERSISTENT_MEMORY_LEGACY;\n"
- ">>>> +\tcase E820_TYPE_RESERVED:\treturn IORES_DESC_RESERVED;\n"
- ">>>>  \tcase E820_TYPE_RESERVED_KERN:\t/* Fall-through: */\n"
- ">>>>  \tcase E820_TYPE_RAM:\t\t/* Fall-through: */\n"
- ">>>>  \tcase E820_TYPE_UNUSABLE:\t/* Fall-through: */\n"
- ">>>> -\tcase E820_TYPE_RESERVED:\t/* Fall-through: */\n"
- ">>>>  \tdefault:\t\t\treturn IORES_DESC_NONE;\n"
- ">>>>  \t}\n"
- ">>>>  }\n"
- ">>>> diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c\n"
- ">>>> index 5378d10f1d31..fea2ef99415d 100644\n"
- ">>>> --- a/arch/x86/mm/ioremap.c\n"
- ">>>> +++ b/arch/x86/mm/ioremap.c\n"
- ">>>> @@ -83,7 +83,18 @@ static bool __ioremap_check_ram(struct resource *res)\n"
- ">>>>  \n"
- ">>>>  static int __ioremap_check_desc_other(struct resource *res)\n"
- ">>>>  {\n"
- ">>>> -\treturn (res->desc != IORES_DESC_NONE);\n"
- ">>>> +\t/*\n"
- ">>>> +\t * But now, the 'E820_TYPE_RESERVED' type is converted to the new\n"
- ">>>> +\t * descriptor 'IORES_DESC_RESERVED' instead of 'IORES_DESC_NONE',\n"
- ">>>> +\t * it has been changed. And the value of 'mem_flags.desc_other'\n"
- ">>>> +\t * is equal to 'true' if we don't strengthen the condition in this\n"
- ">>>> +\t * function, that is wrong. Because originally it is equal to\n"
- ">>>> +\t * 'false' for the same reserved type.\n"
- ">>>> +\t *\n"
- ">>>> +\t * So, that would be nice to keep it the same as before.\n"
- ">>>> +\t */\n"
- ">>>> +\treturn ((res->desc != IORES_DESC_NONE) &&\n"
- ">>>> +\t\t(res->desc != IORES_DESC_RESERVED));\n"
- ">>>>  }\n"
- ">>>\n"
- ">>> Added Tom since he added the check function.  Is it possible to only\n"
- ">>> check explict valid desc types instead of exclude IORES_DESC_NONE?\n"
- ">>\n"
- ">> Sorry for the delay...\n"
- ">>\n"
- ">> The original intent of the check was to map most memory as encrypted under\n"
- ">> SEV if it was marked with a specific descriptor, since it was likely to\n"
- ">> not be MMIO. I tried converting most things that mapped memory to memremap\n"
- ">> vs ioremap, but ACPI was one area that I left alone and this check catches\n"
- ">> the mapping of the ACPI tables. I suppose it's possible to change this to\n"
- ">> check just for IORES_DESC_ACPI_* values, but I would have to do some\n"
- ">> testing.\n"
- "> \n"
- "> Recently, i tested it according to your advice, here it is really checking for the\n"
- "> 'IORES_DESC_ACPI_*' values.  If you agree to this change, i would add the following\n"
- "> patch into this patch set and post them again.\n"
- "> \n"
- "> [root@localhost linux]# git diff arch/x86/mm/ioremap.c\n"
- "> diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c\n"
- "> index 0029604af8a4..0e3ba620612d 100644\n"
- "> --- a/arch/x86/mm/ioremap.c\n"
- "> +++ b/arch/x86/mm/ioremap.c\n"
- "> @@ -83,7 +83,8 @@ static bool __ioremap_check_ram(struct resource *res)\n"
- ">  \n"
- ">  static int __ioremap_check_desc_other(struct resource *res)\n"
- ">  {\n"
- "> -       return (res->desc != IORES_DESC_NONE);\n"
- "> +       return ((res->desc == IORES_DESC_ACPI_TABLES) ||\n"
- "> +               (res->desc == IORES_DESC_ACPI_NV_STORAGE));\n"
- "\n"
- "I'm not a big fan of this. I think you should leave it as the previous\n"
- "check you had for IORES_DESC_NONE and IORES_DESC_RESERVED. There's no\n"
- "telling what type of resources may be mapped in the future where this\n"
- "will break.\n"
- "\n"
- "Adding a nice comment here about how IORES_DESC_NONE originally was to\n"
- "identify MMIO and reserved areas. Now IORES_DESC_RESERVED has been created\n"
- "for the reserved areas so the check needs to be expanded so that these\n"
- "areas aren't mapped encrypted when using ioremap.\n"
- "\n"
- "Thanks,\n"
- "Tom\n"
- "\n"
- ">  }\n"
- "> \n"
- "> \n"
- "> Thanks.\n"
- "> Lianbo\n"
- "> \n"
- ">>\n"
- ">> Thanks,\n"
- ">> Tom\n"
- ">>\n"
- ">>>\n"
- ">>>>  \n"
- ">>>>  static int __ioremap_res_check(struct resource *res, void *arg)\n"
- ">>>> diff --git a/include/linux/ioport.h b/include/linux/ioport.h\n"
- ">>>> index da0ebaec25f0..6ed59de48bd5 100644\n"
- ">>>> --- a/include/linux/ioport.h\n"
- ">>>> +++ b/include/linux/ioport.h\n"
- ">>>> @@ -133,6 +133,7 @@ enum {\n"
- ">>>>  \tIORES_DESC_PERSISTENT_MEMORY_LEGACY\t= 5,\n"
- ">>>>  \tIORES_DESC_DEVICE_PRIVATE_MEMORY\t= 6,\n"
- ">>>>  \tIORES_DESC_DEVICE_PUBLIC_MEMORY\t\t= 7,\n"
- ">>>> +\tIORES_DESC_RESERVED\t\t\t= 8,\n"
- ">>>>  };\n"
- ">>>>  \n"
- ">>>>  /* helpers to define resources */\n"
- ">>>> diff --git a/kernel/resource.c b/kernel/resource.c\n"
- ">>>> index b0fbf685c77a..f34a632c4169 100644\n"
- ">>>> --- a/kernel/resource.c\n"
- ">>>> +++ b/kernel/resource.c\n"
- ">>>> @@ -994,7 +994,7 @@ __reserve_region_with_split(struct resource *root, resource_size_t start,\n"
- ">>>>  \tres->start = start;\n"
- ">>>>  \tres->end = end;\n"
- ">>>>  \tres->flags = type | IORESOURCE_BUSY;\n"
- ">>>> -\tres->desc = IORES_DESC_NONE;\n"
- ">>>> +\tres->desc = IORES_DESC_RESERVED;\n"
- ">>>>  \n"
- ">>>>  \twhile (1) {\n"
- ">>>>  \n"
- ">>>> @@ -1029,7 +1029,7 @@ __reserve_region_with_split(struct resource *root, resource_size_t start,\n"
- ">>>>  \t\t\t\tnext_res->start = conflict->end + 1;\n"
- ">>>>  \t\t\t\tnext_res->end = end;\n"
- ">>>>  \t\t\t\tnext_res->flags = type | IORESOURCE_BUSY;\n"
- ">>>> -\t\t\t\tnext_res->desc = IORES_DESC_NONE;\n"
- ">>>> +\t\t\t\tnext_res->desc = IORES_DESC_RESERVED;\n"
- ">>>>  \t\t\t}\n"
- ">>>>  \t\t} else {\n"
- ">>>>  \t\t\tres->start = conflict->end + 1;\n"
- ">>>> @@ -1477,7 +1477,7 @@ static int __init reserve_setup(char *str)\n"
- ">>>>  \t\t\tres->start = io_start;\n"
- ">>>>  \t\t\tres->end = io_start + io_num - 1;\n"
- ">>>>  \t\t\tres->flags |= IORESOURCE_BUSY;\n"
- ">>>> -\t\t\tres->desc = IORES_DESC_NONE;\n"
- ">>>> +\t\t\tres->desc = IORES_DESC_RESERVED;\n"
- ">>>>  \t\t\tres->child = NULL;\n"
- ">>>>  \t\t\tif (request_resource(parent, res) == 0)\n"
- ">>>>  \t\t\t\treserved = x+1;\n"
- ">>>> -- \n"
- ">>>> 2.17.1\n"
- ">>>>\n"
- ">>>\n"
- ">>>\n"
- ">>> There are a lot of places call region_intersects which use DESC_NONE,\n"
- ">>> I'm not sure if needed changes accordingly.  Cced Dan and Toshi.\n"
- ">>>\n"
- ">>>\n"
- ">>> Thanks\n"
- ">>> Dave\n"
- ">>>\n"
- "_______________________________________________\n"
- "kexec mailing list\n"
- "kexec@lists.infradead.org\n"
- http://lists.infradead.org/mailman/listinfo/kexec
+ "T24gMy8xNi8xOSAyOjMxIEFNLCBsaWppYW5nIHdyb3RlOg0KPiANCj4gDQo+IOWcqCAyMDE45bm0\n"
+ "MTLmnIgwNeaXpSAwNTozMywgTGVuZGFja3ksIFRob21hcyDlhpnpgZM6DQo+PiBPbiAxMS8yOS8y\n"
+ "MDE4IDA5OjM3IFBNLCBEYXZlIFlvdW5nIHdyb3RlOg0KPj4+ICsgbW9yZSBwZW9wbGUNCj4+Pg0K\n"
+ "Pj4+IE9uIDExLzI5LzE4IGF0IDA0OjA5cG0sIExpYW5ibyBKaWFuZyB3cm90ZToNCj4+Pj4gV2hl\n"
+ "biBkb2luZyBrZXhlY19maWxlX2xvYWQsIHRoZSBmaXJzdCBrZXJuZWwgbmVlZHMgdG8gcGFzcyB0\n"
+ "aGUgZTgyMA0KPj4+PiByZXNlcnZlZCByYW5nZXMgdG8gdGhlIHNlY29uZCBrZXJuZWwuIEJ1dCBr\n"
+ "ZXJuZWwgY2FuIG5vdCBleGFjdGx5DQo+Pj4+IG1hdGNoIHRoZSBlODIwIHJlc2VydmVkIHJhbmdl\n"
+ "cyB3aGVuIHdhbGtpbmcgdGhyb3VnaCB0aGUgaW9tZW0gcmVzb3VyY2VzDQo+Pj4+IHdpdGggdGhl\n"
+ "IGRlc2NyaXB0b3IgJ0lPUkVTX0RFU0NfTk9ORScsIGJlY2F1c2Ugc2V2ZXJhbCBlODIwIHR5cGVz\n"
+ "KA0KPj4+PiBlLmcuIEU4MjBfVFlQRV9SRVNFUlZFRF9LRVJOL0U4MjBfVFlQRV9SQU0vRTgyMF9U\n"
+ "WVBFX1VOVVNBQkxFL0U4MjANCj4+Pj4gX1RZUEVfUkVTRVJWRUQpIGFyZSBjb252ZXJ0ZWQgdG8g\n"
+ "dGhlIGRlc2NyaXB0b3IgJ0lPUkVTX0RFU0NfTk9ORScuIEl0DQo+Pj4+IG1heSBwYXNzIHRoZXNl\n"
+ "IGZvdXIgdHlwZXMgdG8gdGhlIGtkdW1wIGtlcm5lbCwgdGhhdCBpcyBub3QgZGVzaXJlZCByZXN1\n"
+ "bHQuDQo+Pj4+DQo+Pj4+IFNvLCB0aGlzIHBhdGNoIGFkZHMgYSBuZXcgSS9PIHJlc291cmNlIGRl\n"
+ "c2NyaXB0b3IgJ0lPUkVTX0RFU0NfUkVTRVJWRUQnDQo+Pj4+IGZvciB0aGUgaW9tZW0gcmVzb3Vy\n"
+ "Y2VzIHNlYXJjaCBpbnRlcmZhY2VzLiBJdCBpcyBoZWxwZnVsIHRvIGV4YWN0bHkNCj4+Pj4gbWF0\n"
+ "Y2ggdGhlIHJlc2VydmVkIHJlc291cmNlIHJhbmdlcyB3aGVuIHdhbGtpbmcgdGhyb3VnaCBpb21l\n"
+ "bSByZXNvdXJjZXMuDQo+Pj4+DQo+Pj4+IEluIGFkZGl0aW9uLCBzaW5jZSB0aGUgbmV3IGRlc2Ny\n"
+ "aXB0b3IgJ0lPUkVTX0RFU0NfUkVTRVJWRUQnIGlzIGludHJvZHVjZWQsDQo+Pj4+IHRoZXNlIGNv\n"
+ "ZGUgb3JpZ2luYWxseSByZWxhdGVkIHRvIHRoZSBkZXNjcmlwdG9yICdJT1JFU19ERVNDX05PTkUn\n"
+ "IG5lZWQgdG8NCj4+Pj4gYmUgdXBkYXRlZC4gT3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGVhc2lseSBj\n"
+ "b25mdXNlZCBhbmQgYWxzbyBjYXVzZSBzb21lDQo+Pj4+IGVycm9ycy4gQmVjYXVzZSB0aGUgJ0U4\n"
+ "MjBfVFlQRV9SRVNFUlZFRCcgdHlwZSBpcyBjb252ZXJ0ZWQgdG8gdGhlIG5ldw0KPj4+PiBkZXNj\n"
+ "cmlwdG9yICdJT1JFU19ERVNDX1JFU0VSVkVEJyBpbnN0ZWFkIG9mICdJT1JFU19ERVNDX05PTkUn\n"
+ "LCBpdCBoYXMgYmVlbg0KPj4+PiBjaGFuZ2VkLg0KPj4+Pg0KPj4+PiBTdWdnZXN0ZWQtYnk6IERh\n"
+ "dmUgWW91bmcgPGR5b3VuZ0ByZWRoYXQuY29tPg0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBMaWFuYm8g\n"
+ "SmlhbmcgPGxpamlhbmdAcmVkaGF0LmNvbT4NCj4+Pj4gLS0tDQo+Pj4+ICBhcmNoL2lhNjQva2Vy\n"
+ "bmVsL2VmaS5jIHwgIDQgKysrKw0KPj4+PiAgYXJjaC94ODYva2VybmVsL2U4MjAuYyB8ICAyICst\n"
+ "DQo+Pj4+ICBhcmNoL3g4Ni9tbS9pb3JlbWFwLmMgIHwgMTMgKysrKysrKysrKysrLQ0KPj4+PiAg\n"
+ "aW5jbHVkZS9saW51eC9pb3BvcnQuaCB8ICAxICsNCj4+Pj4gIGtlcm5lbC9yZXNvdXJjZS5jICAg\n"
+ "ICAgfCAgNiArKystLS0NCj4+Pj4gIDUgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwg\n"
+ "NSBkZWxldGlvbnMoLSkNCj4+Pj4NCj4+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9rZXJuZWwv\n"
+ "ZWZpLmMgYi9hcmNoL2lhNjQva2VybmVsL2VmaS5jDQo+Pj4+IGluZGV4IDhmMTA2NjM4OTEzYy4u\n"
+ "MTg0MWU5YjRkYjMwIDEwMDY0NA0KPj4+PiAtLS0gYS9hcmNoL2lhNjQva2VybmVsL2VmaS5jDQo+\n"
+ "Pj4+ICsrKyBiL2FyY2gvaWE2NC9rZXJuZWwvZWZpLmMNCj4+Pj4gQEAgLTEyMzEsNiArMTIzMSwx\n"
+ "MCBAQCBlZmlfaW5pdGlhbGl6ZV9pb21lbV9yZXNvdXJjZXMoc3RydWN0IHJlc291cmNlICpjb2Rl\n"
+ "X3Jlc291cmNlLA0KPj4+PiAgCQkJCWJyZWFrOw0KPj4+PiAgDQo+Pj4+ICAJCQljYXNlIEVGSV9S\n"
+ "RVNFUlZFRF9UWVBFOg0KPj4+PiArCQkJCW5hbWUgPSAicmVzZXJ2ZWQiOw0KPj4+DQo+Pj4gSW5n\n"
+ "byB1cGRhdGVkIFg4NiBjb2RlIHRvIHVzZSAiUmVzZXJ2ZWQiLCAgSSB0aGluayBpdCB3b3VsZCBi\n"
+ "ZSBnb29kIHRvIGRvDQo+Pj4gc2FtZSBmb3IgdGhpcyBjYXNlIGFzIHdlbGwNCj4+Pg0KPj4+PiAr\n"
+ "CQkJCWRlc2MgPSBJT1JFU19ERVNDX1JFU0VSVkVEOw0KPj4+PiArCQkJCWJyZWFrOw0KPj4+PiAr\n"
+ "DQo+Pj4+ICAJCQljYXNlIEVGSV9SVU5USU1FX1NFUlZJQ0VTX0NPREU6DQo+Pj4+ICAJCQljYXNl\n"
+ "IEVGSV9SVU5USU1FX1NFUlZJQ0VTX0RBVEE6DQo+Pj4+ICAJCQljYXNlIEVGSV9BQ1BJX1JFQ0xB\n"
+ "SU1fTUVNT1JZOg0KPj4+DQo+Pj4gT3JpZ2luYWxseSwgYWJvdmUgMyBhcmUgYWxsICJyZXNlcnZl\n"
+ "ZCIsIHNvIHByb2JhYmx5IHRoZXkgYWxsIHNob3VsZCBiZQ0KPj4+IElPUkVTX0RFU0NfUkVTRVJW\n"
+ "RUQuDQo+Pj4NCj4+PiBDYW4gYW55IElBNjQgcGVvcGxlIHRvIHJldmlldyB0aGlzPw0KPj4+DQo+\n"
+ "Pj4+IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZTgyMC5jIGIvYXJjaC94ODYva2VybmVs\n"
+ "L2U4MjAuYw0KPj4+PiBpbmRleCA1MDg5NWMyZjkzN2QuLjU3ZmFmZGFmYjg2MCAxMDA2NDQNCj4+\n"
+ "Pj4gLS0tIGEvYXJjaC94ODYva2VybmVsL2U4MjAuYw0KPj4+PiArKysgYi9hcmNoL3g4Ni9rZXJu\n"
+ "ZWwvZTgyMC5jDQo+Pj4+IEBAIC0xMDQ4LDEwICsxMDQ4LDEwIEBAIHN0YXRpYyB1bnNpZ25lZCBs\n"
+ "b25nIF9faW5pdCBlODIwX3R5cGVfdG9faW9yZXNfZGVzYyhzdHJ1Y3QgZTgyMF9lbnRyeSAqZW50\n"
+ "cnkpDQo+Pj4+ICAJY2FzZSBFODIwX1RZUEVfTlZTOgkJcmV0dXJuIElPUkVTX0RFU0NfQUNQSV9O\n"
+ "Vl9TVE9SQUdFOw0KPj4+PiAgCWNhc2UgRTgyMF9UWVBFX1BNRU06CQlyZXR1cm4gSU9SRVNfREVT\n"
+ "Q19QRVJTSVNURU5UX01FTU9SWTsNCj4+Pj4gIAljYXNlIEU4MjBfVFlQRV9QUkFNOgkJcmV0dXJu\n"
+ "IElPUkVTX0RFU0NfUEVSU0lTVEVOVF9NRU1PUllfTEVHQUNZOw0KPj4+PiArCWNhc2UgRTgyMF9U\n"
+ "WVBFX1JFU0VSVkVEOglyZXR1cm4gSU9SRVNfREVTQ19SRVNFUlZFRDsNCj4+Pj4gIAljYXNlIEU4\n"
+ "MjBfVFlQRV9SRVNFUlZFRF9LRVJOOgkvKiBGYWxsLXRocm91Z2g6ICovDQo+Pj4+ICAJY2FzZSBF\n"
+ "ODIwX1RZUEVfUkFNOgkJLyogRmFsbC10aHJvdWdoOiAqLw0KPj4+PiAgCWNhc2UgRTgyMF9UWVBF\n"
+ "X1VOVVNBQkxFOgkvKiBGYWxsLXRocm91Z2g6ICovDQo+Pj4+IC0JY2FzZSBFODIwX1RZUEVfUkVT\n"
+ "RVJWRUQ6CS8qIEZhbGwtdGhyb3VnaDogKi8NCj4+Pj4gIAlkZWZhdWx0OgkJCXJldHVybiBJT1JF\n"
+ "U19ERVNDX05PTkU7DQo+Pj4+ICAJfQ0KPj4+PiAgfQ0KPj4+PiBkaWZmIC0tZ2l0IGEvYXJjaC94\n"
+ "ODYvbW0vaW9yZW1hcC5jIGIvYXJjaC94ODYvbW0vaW9yZW1hcC5jDQo+Pj4+IGluZGV4IDUzNzhk\n"
+ "MTBmMWQzMS4uZmVhMmVmOTk0MTVkIDEwMDY0NA0KPj4+PiAtLS0gYS9hcmNoL3g4Ni9tbS9pb3Jl\n"
+ "bWFwLmMNCj4+Pj4gKysrIGIvYXJjaC94ODYvbW0vaW9yZW1hcC5jDQo+Pj4+IEBAIC04Myw3ICs4\n"
+ "MywxOCBAQCBzdGF0aWMgYm9vbCBfX2lvcmVtYXBfY2hlY2tfcmFtKHN0cnVjdCByZXNvdXJjZSAq\n"
+ "cmVzKQ0KPj4+PiAgDQo+Pj4+ICBzdGF0aWMgaW50IF9faW9yZW1hcF9jaGVja19kZXNjX290aGVy\n"
+ "KHN0cnVjdCByZXNvdXJjZSAqcmVzKQ0KPj4+PiAgew0KPj4+PiAtCXJldHVybiAocmVzLT5kZXNj\n"
+ "ICE9IElPUkVTX0RFU0NfTk9ORSk7DQo+Pj4+ICsJLyoNCj4+Pj4gKwkgKiBCdXQgbm93LCB0aGUg\n"
+ "J0U4MjBfVFlQRV9SRVNFUlZFRCcgdHlwZSBpcyBjb252ZXJ0ZWQgdG8gdGhlIG5ldw0KPj4+PiAr\n"
+ "CSAqIGRlc2NyaXB0b3IgJ0lPUkVTX0RFU0NfUkVTRVJWRUQnIGluc3RlYWQgb2YgJ0lPUkVTX0RF\n"
+ "U0NfTk9ORScsDQo+Pj4+ICsJICogaXQgaGFzIGJlZW4gY2hhbmdlZC4gQW5kIHRoZSB2YWx1ZSBv\n"
+ "ZiAnbWVtX2ZsYWdzLmRlc2Nfb3RoZXInDQo+Pj4+ICsJICogaXMgZXF1YWwgdG8gJ3RydWUnIGlm\n"
+ "IHdlIGRvbid0IHN0cmVuZ3RoZW4gdGhlIGNvbmRpdGlvbiBpbiB0aGlzDQo+Pj4+ICsJICogZnVu\n"
+ "Y3Rpb24sIHRoYXQgaXMgd3JvbmcuIEJlY2F1c2Ugb3JpZ2luYWxseSBpdCBpcyBlcXVhbCB0bw0K\n"
+ "Pj4+PiArCSAqICdmYWxzZScgZm9yIHRoZSBzYW1lIHJlc2VydmVkIHR5cGUuDQo+Pj4+ICsJICoN\n"
+ "Cj4+Pj4gKwkgKiBTbywgdGhhdCB3b3VsZCBiZSBuaWNlIHRvIGtlZXAgaXQgdGhlIHNhbWUgYXMg\n"
+ "YmVmb3JlLg0KPj4+PiArCSAqLw0KPj4+PiArCXJldHVybiAoKHJlcy0+ZGVzYyAhPSBJT1JFU19E\n"
+ "RVNDX05PTkUpICYmDQo+Pj4+ICsJCShyZXMtPmRlc2MgIT0gSU9SRVNfREVTQ19SRVNFUlZFRCkp\n"
+ "Ow0KPj4+PiAgfQ0KPj4+DQo+Pj4gQWRkZWQgVG9tIHNpbmNlIGhlIGFkZGVkIHRoZSBjaGVjayBm\n"
+ "dW5jdGlvbi4gIElzIGl0IHBvc3NpYmxlIHRvIG9ubHkNCj4+PiBjaGVjayBleHBsaWN0IHZhbGlk\n"
+ "IGRlc2MgdHlwZXMgaW5zdGVhZCBvZiBleGNsdWRlIElPUkVTX0RFU0NfTk9ORT8NCj4+DQo+PiBT\n"
+ "b3JyeSBmb3IgdGhlIGRlbGF5Li4uDQo+Pg0KPj4gVGhlIG9yaWdpbmFsIGludGVudCBvZiB0aGUg\n"
+ "Y2hlY2sgd2FzIHRvIG1hcCBtb3N0IG1lbW9yeSBhcyBlbmNyeXB0ZWQgdW5kZXINCj4+IFNFViBp\n"
+ "ZiBpdCB3YXMgbWFya2VkIHdpdGggYSBzcGVjaWZpYyBkZXNjcmlwdG9yLCBzaW5jZSBpdCB3YXMg\n"
+ "bGlrZWx5IHRvDQo+PiBub3QgYmUgTU1JTy4gSSB0cmllZCBjb252ZXJ0aW5nIG1vc3QgdGhpbmdz\n"
+ "IHRoYXQgbWFwcGVkIG1lbW9yeSB0byBtZW1yZW1hcA0KPj4gdnMgaW9yZW1hcCwgYnV0IEFDUEkg\n"
+ "d2FzIG9uZSBhcmVhIHRoYXQgSSBsZWZ0IGFsb25lIGFuZCB0aGlzIGNoZWNrIGNhdGNoZXMNCj4+\n"
+ "IHRoZSBtYXBwaW5nIG9mIHRoZSBBQ1BJIHRhYmxlcy4gSSBzdXBwb3NlIGl0J3MgcG9zc2libGUg\n"
+ "dG8gY2hhbmdlIHRoaXMgdG8NCj4+IGNoZWNrIGp1c3QgZm9yIElPUkVTX0RFU0NfQUNQSV8qIHZh\n"
+ "bHVlcywgYnV0IEkgd291bGQgaGF2ZSB0byBkbyBzb21lDQo+PiB0ZXN0aW5nLg0KPiANCj4gUmVj\n"
+ "ZW50bHksIGkgdGVzdGVkIGl0IGFjY29yZGluZyB0byB5b3VyIGFkdmljZSwgaGVyZSBpdCBpcyBy\n"
+ "ZWFsbHkgY2hlY2tpbmcgZm9yIHRoZQ0KPiAnSU9SRVNfREVTQ19BQ1BJXyonIHZhbHVlcy4gIElm\n"
+ "IHlvdSBhZ3JlZSB0byB0aGlzIGNoYW5nZSwgaSB3b3VsZCBhZGQgdGhlIGZvbGxvd2luZw0KPiBw\n"
+ "YXRjaCBpbnRvIHRoaXMgcGF0Y2ggc2V0IGFuZCBwb3N0IHRoZW0gYWdhaW4uDQo+IA0KPiBbcm9v\n"
+ "dEBsb2NhbGhvc3QgbGludXhdIyBnaXQgZGlmZiBhcmNoL3g4Ni9tbS9pb3JlbWFwLmMNCj4gZGlm\n"
+ "ZiAtLWdpdCBhL2FyY2gveDg2L21tL2lvcmVtYXAuYyBiL2FyY2gveDg2L21tL2lvcmVtYXAuYw0K\n"
+ "PiBpbmRleCAwMDI5NjA0YWY4YTQuLjBlM2JhNjIwNjEyZCAxMDA2NDQNCj4gLS0tIGEvYXJjaC94\n"
+ "ODYvbW0vaW9yZW1hcC5jDQo+ICsrKyBiL2FyY2gveDg2L21tL2lvcmVtYXAuYw0KPiBAQCAtODMs\n"
+ "NyArODMsOCBAQCBzdGF0aWMgYm9vbCBfX2lvcmVtYXBfY2hlY2tfcmFtKHN0cnVjdCByZXNvdXJj\n"
+ "ZSAqcmVzKQ0KPiAgDQo+ICBzdGF0aWMgaW50IF9faW9yZW1hcF9jaGVja19kZXNjX290aGVyKHN0\n"
+ "cnVjdCByZXNvdXJjZSAqcmVzKQ0KPiAgew0KPiAtICAgICAgIHJldHVybiAocmVzLT5kZXNjICE9\n"
+ "IElPUkVTX0RFU0NfTk9ORSk7DQo+ICsgICAgICAgcmV0dXJuICgocmVzLT5kZXNjID09IElPUkVT\n"
+ "X0RFU0NfQUNQSV9UQUJMRVMpIHx8DQo+ICsgICAgICAgICAgICAgICAocmVzLT5kZXNjID09IElP\n"
+ "UkVTX0RFU0NfQUNQSV9OVl9TVE9SQUdFKSk7DQoNCkknbSBub3QgYSBiaWcgZmFuIG9mIHRoaXMu\n"
+ "IEkgdGhpbmsgeW91IHNob3VsZCBsZWF2ZSBpdCBhcyB0aGUgcHJldmlvdXMNCmNoZWNrIHlvdSBo\n"
+ "YWQgZm9yIElPUkVTX0RFU0NfTk9ORSBhbmQgSU9SRVNfREVTQ19SRVNFUlZFRC4gVGhlcmUncyBu\n"
+ "bw0KdGVsbGluZyB3aGF0IHR5cGUgb2YgcmVzb3VyY2VzIG1heSBiZSBtYXBwZWQgaW4gdGhlIGZ1\n"
+ "dHVyZSB3aGVyZSB0aGlzDQp3aWxsIGJyZWFrLg0KDQpBZGRpbmcgYSBuaWNlIGNvbW1lbnQgaGVy\n"
+ "ZSBhYm91dCBob3cgSU9SRVNfREVTQ19OT05FIG9yaWdpbmFsbHkgd2FzIHRvDQppZGVudGlmeSBN\n"
+ "TUlPIGFuZCByZXNlcnZlZCBhcmVhcy4gTm93IElPUkVTX0RFU0NfUkVTRVJWRUQgaGFzIGJlZW4g\n"
+ "Y3JlYXRlZA0KZm9yIHRoZSByZXNlcnZlZCBhcmVhcyBzbyB0aGUgY2hlY2sgbmVlZHMgdG8gYmUg\n"
+ "ZXhwYW5kZWQgc28gdGhhdCB0aGVzZQ0KYXJlYXMgYXJlbid0IG1hcHBlZCBlbmNyeXB0ZWQgd2hl\n"
+ "biB1c2luZyBpb3JlbWFwLg0KDQpUaGFua3MsDQpUb20NCg0KPiAgfQ0KPiANCj4gDQo+IFRoYW5r\n"
+ "cy4NCj4gTGlhbmJvDQo+IA0KPj4NCj4+IFRoYW5rcywNCj4+IFRvbQ0KPj4NCj4+Pg0KPj4+PiAg\n"
+ "DQo+Pj4+ICBzdGF0aWMgaW50IF9faW9yZW1hcF9yZXNfY2hlY2soc3RydWN0IHJlc291cmNlICpy\n"
+ "ZXMsIHZvaWQgKmFyZykNCj4+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaW9wb3J0Lmgg\n"
+ "Yi9pbmNsdWRlL2xpbnV4L2lvcG9ydC5oDQo+Pj4+IGluZGV4IGRhMGViYWVjMjVmMC4uNmVkNTlk\n"
+ "ZTQ4YmQ1IDEwMDY0NA0KPj4+PiAtLS0gYS9pbmNsdWRlL2xpbnV4L2lvcG9ydC5oDQo+Pj4+ICsr\n"
+ "KyBiL2luY2x1ZGUvbGludXgvaW9wb3J0LmgNCj4+Pj4gQEAgLTEzMyw2ICsxMzMsNyBAQCBlbnVt\n"
+ "IHsNCj4+Pj4gIAlJT1JFU19ERVNDX1BFUlNJU1RFTlRfTUVNT1JZX0xFR0FDWQk9IDUsDQo+Pj4+\n"
+ "ICAJSU9SRVNfREVTQ19ERVZJQ0VfUFJJVkFURV9NRU1PUlkJPSA2LA0KPj4+PiAgCUlPUkVTX0RF\n"
+ "U0NfREVWSUNFX1BVQkxJQ19NRU1PUlkJCT0gNywNCj4+Pj4gKwlJT1JFU19ERVNDX1JFU0VSVkVE\n"
+ "CQkJPSA4LA0KPj4+PiAgfTsNCj4+Pj4gIA0KPj4+PiAgLyogaGVscGVycyB0byBkZWZpbmUgcmVz\n"
+ "b3VyY2VzICovDQo+Pj4+IGRpZmYgLS1naXQgYS9rZXJuZWwvcmVzb3VyY2UuYyBiL2tlcm5lbC9y\n"
+ "ZXNvdXJjZS5jDQo+Pj4+IGluZGV4IGIwZmJmNjg1Yzc3YS4uZjM0YTYzMmM0MTY5IDEwMDY0NA0K\n"
+ "Pj4+PiAtLS0gYS9rZXJuZWwvcmVzb3VyY2UuYw0KPj4+PiArKysgYi9rZXJuZWwvcmVzb3VyY2Uu\n"
+ "Yw0KPj4+PiBAQCAtOTk0LDcgKzk5NCw3IEBAIF9fcmVzZXJ2ZV9yZWdpb25fd2l0aF9zcGxpdChz\n"
+ "dHJ1Y3QgcmVzb3VyY2UgKnJvb3QsIHJlc291cmNlX3NpemVfdCBzdGFydCwNCj4+Pj4gIAlyZXMt\n"
+ "PnN0YXJ0ID0gc3RhcnQ7DQo+Pj4+ICAJcmVzLT5lbmQgPSBlbmQ7DQo+Pj4+ICAJcmVzLT5mbGFn\n"
+ "cyA9IHR5cGUgfCBJT1JFU09VUkNFX0JVU1k7DQo+Pj4+IC0JcmVzLT5kZXNjID0gSU9SRVNfREVT\n"
+ "Q19OT05FOw0KPj4+PiArCXJlcy0+ZGVzYyA9IElPUkVTX0RFU0NfUkVTRVJWRUQ7DQo+Pj4+ICAN\n"
+ "Cj4+Pj4gIAl3aGlsZSAoMSkgew0KPj4+PiAgDQo+Pj4+IEBAIC0xMDI5LDcgKzEwMjksNyBAQCBf\n"
+ "X3Jlc2VydmVfcmVnaW9uX3dpdGhfc3BsaXQoc3RydWN0IHJlc291cmNlICpyb290LCByZXNvdXJj\n"
+ "ZV9zaXplX3Qgc3RhcnQsDQo+Pj4+ICAJCQkJbmV4dF9yZXMtPnN0YXJ0ID0gY29uZmxpY3QtPmVu\n"
+ "ZCArIDE7DQo+Pj4+ICAJCQkJbmV4dF9yZXMtPmVuZCA9IGVuZDsNCj4+Pj4gIAkJCQluZXh0X3Jl\n"
+ "cy0+ZmxhZ3MgPSB0eXBlIHwgSU9SRVNPVVJDRV9CVVNZOw0KPj4+PiAtCQkJCW5leHRfcmVzLT5k\n"
+ "ZXNjID0gSU9SRVNfREVTQ19OT05FOw0KPj4+PiArCQkJCW5leHRfcmVzLT5kZXNjID0gSU9SRVNf\n"
+ "REVTQ19SRVNFUlZFRDsNCj4+Pj4gIAkJCX0NCj4+Pj4gIAkJfSBlbHNlIHsNCj4+Pj4gIAkJCXJl\n"
+ "cy0+c3RhcnQgPSBjb25mbGljdC0+ZW5kICsgMTsNCj4+Pj4gQEAgLTE0NzcsNyArMTQ3Nyw3IEBA\n"
+ "IHN0YXRpYyBpbnQgX19pbml0IHJlc2VydmVfc2V0dXAoY2hhciAqc3RyKQ0KPj4+PiAgCQkJcmVz\n"
+ "LT5zdGFydCA9IGlvX3N0YXJ0Ow0KPj4+PiAgCQkJcmVzLT5lbmQgPSBpb19zdGFydCArIGlvX251\n"
+ "bSAtIDE7DQo+Pj4+ICAJCQlyZXMtPmZsYWdzIHw9IElPUkVTT1VSQ0VfQlVTWTsNCj4+Pj4gLQkJ\n"
+ "CXJlcy0+ZGVzYyA9IElPUkVTX0RFU0NfTk9ORTsNCj4+Pj4gKwkJCXJlcy0+ZGVzYyA9IElPUkVT\n"
+ "X0RFU0NfUkVTRVJWRUQ7DQo+Pj4+ICAJCQlyZXMtPmNoaWxkID0gTlVMTDsNCj4+Pj4gIAkJCWlm\n"
+ "IChyZXF1ZXN0X3Jlc291cmNlKHBhcmVudCwgcmVzKSA9PSAwKQ0KPj4+PiAgCQkJCXJlc2VydmVk\n"
+ "ID0geCsxOw0KPj4+PiAtLSANCj4+Pj4gMi4xNy4xDQo+Pj4+DQo+Pj4NCj4+Pg0KPj4+IFRoZXJl\n"
+ "IGFyZSBhIGxvdCBvZiBwbGFjZXMgY2FsbCByZWdpb25faW50ZXJzZWN0cyB3aGljaCB1c2UgREVT\n"
+ "Q19OT05FLA0KPj4+IEknbSBub3Qgc3VyZSBpZiBuZWVkZWQgY2hhbmdlcyBhY2NvcmRpbmdseS4g\n"
+ "IENjZWQgRGFuIGFuZCBUb3NoaS4NCj4+Pg0KPj4+DQo+Pj4gVGhhbmtzDQo+Pj4gRGF2ZQ0KPj4+\n"
+ DQo
 
-ff965eea65527701cd608ec84a473941b9d8cda1e1926affaae7e799cf561028
+d9caddf0c1e6c2f238ae961d78cd14fa70307205043b292b2a0dbcadeb5b5648

diff --git a/a/1.txt b/N3/1.txt
index 46a2c77..9f0694d 100644
--- a/a/1.txt
+++ b/N3/1.txt
@@ -210,7 +210,3 @@ Tom
 >>> Thanks
 >>> Dave
 >>>
-_______________________________________________
-kexec mailing list
-kexec@lists.infradead.org
-http://lists.infradead.org/mailman/listinfo/kexec
diff --git a/a/content_digest b/N3/content_digest
index fe0fb7a..f73a7e7 100644
--- a/a/content_digest
+++ b/N3/content_digest
@@ -7,24 +7,24 @@
  "Subject\0Re: [PATCH 1/2 v8] resource: add the new I/O resource descriptor 'IORES_DESC_RESERVED'\0"
  "Date\0Mon, 25 Mar 2019 19:34:25 +0000\0"
  "To\0lijiang <lijiang@redhat.com>\0"
- "Cc\0tony.luck@intel.com <tony.luck@intel.com>"
-  fenghua.yu@intel.com <fenghua.yu@intel.com>
-  linux-efi@vger.kernel.org <linux-efi@vger.kernel.org>
-  linux-ia64@vger.kernel.org <linux-ia64@vger.kernel.org>
-  bhe@redhat.com <bhe@redhat.com>
-  ard.biesheuvel@linaro.org <ard.biesheuvel@linaro.org>
-  peterz@infradead.org <peterz@infradead.org>
-  x86@kernel.org <x86@kernel.org>
-  kexec@lists.infradead.org <kexec@lists.infradead.org>
+ "Cc\0Dave Young <dyoung@redhat.com>"
   linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>
-  dave.hansen@linux.intel.com <dave.hansen@linux.intel.com>
+  kexec@lists.infradead.org <kexec@lists.infradead.org>
+  x86@kernel.org <x86@kernel.org>
+  linux-ia64@vger.kernel.org <linux-ia64@vger.kernel.org>
+  linux-efi@vger.kernel.org <linux-efi@vger.kernel.org>
+  tglx@linutronix.de <tglx@linutronix.de>
   mingo@redhat.com <mingo@redhat.com>
   bp@alien8.de <bp@alien8.de>
+  akpm@linux-foundation.org <akpm@linux-foundation.org>
+  dave.hansen@linux.intel.com <dave.hansen@linux.intel.com>
   luto@kernel.org <luto@kernel.org>
+  peterz@infradead.org <peterz@infradead.org>
+  ard.biesheuvel@linaro.org <ard.biesheuvel@linaro.org>
+  tony.luck@intel.com <tony.luck@intel.com>
+  fenghua.yu@intel.com <fenghua.yu@intel.com>
+  bhe@redhat.com <bhe@redhat.com>
   Toshi Kani <toshi.kani@hp.com>
-  tglx@linutronix.de <tglx@linutronix.de>
-  Dave Young <dyoung@redhat.com>
-  akpm@linux-foundation.org <akpm@linux-foundation.org>
  " Dan Williams <dan.j.williams@intel.com>\0"
  "\00:1\0"
  "b\0"
@@ -239,10 +239,6 @@
  ">>>\n"
  ">>> Thanks\n"
  ">>> Dave\n"
- ">>>\n"
- "_______________________________________________\n"
- "kexec mailing list\n"
- "kexec@lists.infradead.org\n"
- http://lists.infradead.org/mailman/listinfo/kexec
+ >>>
 
-ff965eea65527701cd608ec84a473941b9d8cda1e1926affaae7e799cf561028
+c82578966fc78ae410c83d8826bf8a6d023e009c8dc3348954667e26da0eb556

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.