tpm_crb - workaround broken ACPI tables
diff mbox series

Message ID BCA04D5D9A3B764C9B7405BBA4D4A3C035EF7BC7@ALPMBAPA12.e2k.ad.ge.com
State New
Headers show
Series
  • tpm_crb - workaround broken ACPI tables
Related show

Commit Message

Safford, David (GE Global Research, US) July 11, 2019, 12:29 p.m. UTC
Most x86 desktops and laptops have firmware TPMs which support the
CRB interface. Unfortunately, the linux tpm_crb driver depends on
perfectly correct ACPI tables, and there are a *lot* of systems out
there with broken tpm_crb entries. (Not one of my five tpm_crb
systems works with the existing driver.) While it is good to
encourage vendors to fix their firmware, many refuse ("It works on
Windows"), leaving users in the lurch.

This patch adds a kernel parameter "tpm_crb.force=1" that works
around the problem in every case I have tested so far. Basically
it does two things:
	- it trusts the cmd and resp addresses in the CRB registers
	- it ignores all alleged IO resource conflicts

Both workarounds make sense. If there really were an address conflict,
or if the register values really were wrong, the device would not be
working at all. And testing with this patch has shown that in every
case (so far), the problem has been bogus ACPI entries.

This patch is against the upstream 5.2 kernel.

Signed-off-by: David Safford <david.safford@ge.com>

Comments

Jason Gunthorpe July 11, 2019, 2:58 p.m. UTC | #1
On Thu, Jul 11, 2019 at 12:29:30PM +0000, Safford, David (GE Global Research, US) wrote:
> Most x86 desktops and laptops have firmware TPMs which support the
> CRB interface. Unfortunately, the linux tpm_crb driver depends on
> perfectly correct ACPI tables, and there are a *lot* of systems out
> there with broken tpm_crb entries. (Not one of my five tpm_crb
> systems works with the existing driver.) While it is good to
> encourage vendors to fix their firmware, many refuse ("It works on
> Windows"), leaving users in the lurch.
> 
> This patch adds a kernel parameter "tpm_crb.force=1" that works
> around the problem in every case I have tested so far. Basically
> it does two things:
> 	- it trusts the cmd and resp addresses in the CRB registers
> 	- it ignores all alleged IO resource conflicts
> 
> Both workarounds make sense. If there really were an address conflict,
> or if the register values really were wrong, the device would not be
> working at all. And testing with this patch has shown that in every
> case (so far), the problem has been bogus ACPI entries.
> 
> This patch is against the upstream 5.2 kernel.
> 
> Signed-off-by: David Safford <david.safford@ge.com>

I think we need to ask the ioresource and ACPI people how to fix this
properly and automatically. Maybe some ACPI quirk or maybe we try to
resorve the resoruce and fall back to forcing or something

I don't think t a module parameter is the right answer

Jaason
Safford, David (GE Global Research, US) July 11, 2019, 4:44 p.m. UTC | #2
> From: Jason Gunthorpe <jgg@ziepe.ca>
> Sent: Thursday, July 11, 2019 10:59 AM
> To: Safford, David (GE Global Research, US) <david.safford@ge.com>
> Cc: linux-integrity@vger.kernel.org; jarkko.sakkinen@linux.intel.com;
> Wiseman, Monty (GE Global Research, US) <monty.wiseman@ge.com>
> Subject: EXT: Re: [PATCH] tpm_crb - workaround broken ACPI tables
> 
> On Thu, Jul 11, 2019 at 12:29:30PM +0000, Safford, David (GE Global Research,
> US) wrote:
> > Most x86 desktops and laptops have firmware TPMs which support the CRB
> > interface. Unfortunately, the linux tpm_crb driver depends on
> > perfectly correct ACPI tables, and there are a *lot* of systems out
> > there with broken tpm_crb entries. (Not one of my five tpm_crb systems
> > works with the existing driver.) While it is good to encourage vendors
> > to fix their firmware, many refuse ("It works on Windows"), leaving
> > users in the lurch.
> >
> > This patch adds a kernel parameter "tpm_crb.force=1" that works around
> > the problem in every case I have tested so far. Basically it does two
> > things:
> > 	- it trusts the cmd and resp addresses in the CRB registers
> > 	- it ignores all alleged IO resource conflicts
> >
> > Both workarounds make sense. If there really were an address conflict,
> > or if the register values really were wrong, the device would not be
> > working at all. And testing with this patch has shown that in every
> > case (so far), the problem has been bogus ACPI entries.
> >
> > This patch is against the upstream 5.2 kernel.
> >
> > Signed-off-by: David Safford <david.safford@ge.com>
> 
> I think we need to ask the ioresource and ACPI people how to fix this
> properly and automatically. Maybe some ACPI quirk or maybe we try to
> resorve the resoruce and fall back to forcing or something
> 
> I don't think t a module parameter is the right answer
> 
> Jaason

I would argue that this is the right place to fix the problem, as only the 
tpm_crb driver has the semantic knowledge to get the valid addresses
and sizes from the tpm_crb device registers dynamically. I'm not sure how 
you would fix things in the ACPI subsystem, without a monstrous table for
all the broken systems, or duplicating the driver's code. And I think we
want a module parameter, both for safety, and to encourage vendors to
fix their tables.

dave
Jason Gunthorpe July 11, 2019, 6:50 p.m. UTC | #3
On Thu, Jul 11, 2019 at 04:44:59PM +0000, Safford, David (GE Global Research, US) wrote:
> > From: Jason Gunthorpe <jgg@ziepe.ca>
> > Sent: Thursday, July 11, 2019 10:59 AM
> > To: Safford, David (GE Global Research, US) <david.safford@ge.com>
> > Cc: linux-integrity@vger.kernel.org; jarkko.sakkinen@linux.intel.com;
> > Wiseman, Monty (GE Global Research, US) <monty.wiseman@ge.com>
> > Subject: EXT: Re: [PATCH] tpm_crb - workaround broken ACPI tables
> > 
> > On Thu, Jul 11, 2019 at 12:29:30PM +0000, Safford, David (GE Global Research,
> > US) wrote:
> > > Most x86 desktops and laptops have firmware TPMs which support the CRB
> > > interface. Unfortunately, the linux tpm_crb driver depends on
> > > perfectly correct ACPI tables, and there are a *lot* of systems out
> > > there with broken tpm_crb entries. (Not one of my five tpm_crb systems
> > > works with the existing driver.) While it is good to encourage vendors
> > > to fix their firmware, many refuse ("It works on Windows"), leaving
> > > users in the lurch.
> > >
> > > This patch adds a kernel parameter "tpm_crb.force=1" that works around
> > > the problem in every case I have tested so far. Basically it does two
> > > things:
> > > 	- it trusts the cmd and resp addresses in the CRB registers
> > > 	- it ignores all alleged IO resource conflicts
> > >
> > > Both workarounds make sense. If there really were an address conflict,
> > > or if the register values really were wrong, the device would not be
> > > working at all. And testing with this patch has shown that in every
> > > case (so far), the problem has been bogus ACPI entries.
> > >
> > > This patch is against the upstream 5.2 kernel.
> > >
> > > Signed-off-by: David Safford <david.safford@ge.com>
> > 
> > I think we need to ask the ioresource and ACPI people how to fix this
> > properly and automatically. Maybe some ACPI quirk or maybe we try to
> > resorve the resoruce and fall back to forcing or something
> > 
> > I don't think t a module parameter is the right answer
> > 
> > Jaason
> 
> I would argue that this is the right place to fix the problem, as only the 
> tpm_crb driver has the semantic knowledge to get the valid addresses
> and sizes from the tpm_crb device registers dynamically.

Linux has had this for a long time, so if it hasn't worked to fix the
BIOS then we need to accept it will not get fixed and move on,
IMHO. People should expect the TPM2 will start automatically without a
module option.

I'm not even sure why this is happening, it could be something the
ACPI side is doing that maybe isn't a good idea.

Jason
Jarkko Sakkinen July 11, 2019, 7:16 p.m. UTC | #4
On Thu, Jul 11, 2019 at 12:29:30PM +0000, Safford, David (GE Global Research, US) wrote:
> Most x86 desktops and laptops have firmware TPMs which support the
> CRB interface. Unfortunately, the linux tpm_crb driver depends on
> perfectly correct ACPI tables, and there are a *lot* of systems out
> there with broken tpm_crb entries. (Not one of my five tpm_crb
> systems works with the existing driver.) While it is good to
> encourage vendors to fix their firmware, many refuse ("It works on
> Windows"), leaving users in the lurch.
> 
> This patch adds a kernel parameter "tpm_crb.force=1" that works
> around the problem in every case I have tested so far. Basically
> it does two things:
> 	- it trusts the cmd and resp addresses in the CRB registers
> 	- it ignores all alleged IO resource conflicts
> 
> Both workarounds make sense. If there really were an address conflict,
> or if the register values really were wrong, the device would not be
> working at all. And testing with this patch has shown that in every
> case (so far), the problem has been bogus ACPI entries.
> 
> This patch is against the upstream 5.2 kernel.
> 
> Signed-off-by: David Safford <david.safford@ge.com>

OK so in the past we've figured out the right way workaround these as
we've encountered faulty TPMs. tpm_crb does not depend on perfectly
correct ACPI tables. It already does some fixups for certain situations.

This change does not have a scope to put short.

/Jarkko
Safford, David (GE Global Research, US) July 11, 2019, 7:31 p.m. UTC | #5
> From: Jason Gunthorpe <jgg@ziepe.ca>
> Sent: Thursday, July 11, 2019 2:50 PM
> To: Safford, David (GE Global Research, US) <david.safford@ge.com>
> Cc: linux-integrity@vger.kernel.org; jarkko.sakkinen@linux.intel.com;
> Wiseman, Monty (GE Global Research, US) <monty.wiseman@ge.com>
> Subject: EXT: Re: [PATCH] tpm_crb - workaround broken ACPI tables
> 
> On Thu, Jul 11, 2019 at 04:44:59PM +0000, Safford, David (GE Global Research,
> US) wrote:
> > > From: Jason Gunthorpe <jgg@ziepe.ca>
> > > Sent: Thursday, July 11, 2019 10:59 AM
> > > To: Safford, David (GE Global Research, US) <david.safford@ge.com>
> > > Cc: linux-integrity@vger.kernel.org;
> > > jarkko.sakkinen@linux.intel.com; Wiseman, Monty (GE Global Research,
> > > US) <monty.wiseman@ge.com>
> > > Subject: EXT: Re: [PATCH] tpm_crb - workaround broken ACPI tables
> > >
> > > On Thu, Jul 11, 2019 at 12:29:30PM +0000, Safford, David (GE Global
> > > Research,
> > > US) wrote:
> > > > Most x86 desktops and laptops have firmware TPMs which support the
> > > > CRB interface. Unfortunately, the linux tpm_crb driver depends on
> > > > perfectly correct ACPI tables, and there are a *lot* of systems
> > > > out there with broken tpm_crb entries. (Not one of my five tpm_crb
> > > > systems works with the existing driver.) While it is good to
> > > > encourage vendors to fix their firmware, many refuse ("It works on
> > > > Windows"), leaving users in the lurch.
> > > >
> > > > This patch adds a kernel parameter "tpm_crb.force=1" that works
> > > > around the problem in every case I have tested so far. Basically
> > > > it does two
> > > > things:
> > > > 	- it trusts the cmd and resp addresses in the CRB registers
> > > > 	- it ignores all alleged IO resource conflicts
> > > >
> > > > Both workarounds make sense. If there really were an address
> > > > conflict, or if the register values really were wrong, the device
> > > > would not be working at all. And testing with this patch has shown
> > > > that in every case (so far), the problem has been bogus ACPI entries.
> > > >
> > > > This patch is against the upstream 5.2 kernel.
> > > >
> > > > Signed-off-by: David Safford <david.safford@ge.com>
> > >
> > > I think we need to ask the ioresource and ACPI people how to fix
> > > this properly and automatically. Maybe some ACPI quirk or maybe we
> > > try to resorve the resoruce and fall back to forcing or something
> > >
> > > I don't think t a module parameter is the right answer
> > >
> > > Jaason
> >
> > I would argue that this is the right place to fix the problem, as only
> > the tpm_crb driver has the semantic knowledge to get the valid
> > addresses and sizes from the tpm_crb device registers dynamically.
> 
> Linux has had this for a long time, so if it hasn't worked to fix the BIOS then
> we need to accept it will not get fixed and move on, IMHO. People should
> expect the TPM2 will start automatically without a module option.

With the current driver the TPM2 does not start at all in these cases.
The patch could be extended to try the fallback automatically if the ACPI
method fails, to eliminate the module option, but I wasn't trying to be that bold.

> I'm not even sure why this is happening, it could be something the ACPI side
> is doing that maybe isn't a good idea.
> 
> Jason

As far as I can tell, some OEMs simply are putting bad data in the tables.
I have seen at least one report where a BIOS update did fix the problem.

dave
Matthew Garrett July 11, 2019, 8:33 p.m. UTC | #6
On Thu, Jul 11, 2019 at 12:32 PM Safford, David (GE Global Research,
US) <david.safford@ge.com> wrote:
> As far as I can tell, some OEMs simply are putting bad data in the tables.
> I have seen at least one report where a BIOS update did fix the problem.

The issue is that the CRB region is mapped into a region marked as
ACPI NVS. drivers/acpi/nvs.c claims this region and as a result a
resource conflict is generated. Since Windows is clearly fine with
other drivers using ACPI NVS regions, the correct fix involves
figuring out a way to either share these resources or allow tpm_crb to
reclaim the region from the NVS driver. Note that the NVS driver's
behaviour is to save and restore NVS regions over suspend/resume, so
simply forcibly allocating the resource will result in two separate
codepaths touching the region on resume - this seems like a bad
outcome. Ideally this could be solved generically, but practically
(given we've only seen this around TPMs, as far as I can tell) adding
a hook to nvs.c that allowed drivers aware of the issue to have the
space handed off to them might be easier.

Have you seen this on any non-AMD systems?
Safford, David (GE Global Research, US) July 12, 2019, 12:41 p.m. UTC | #7
> The issue is that the CRB region is mapped into a region marked as ACPI NVS.
> drivers/acpi/nvs.c claims this region and as a result a resource conflict is
> generated. Since Windows is clearly fine with other drivers using ACPI NVS
> regions, the correct fix involves figuring out a way to either share these
> resources or allow tpm_crb to reclaim the region from the NVS driver. Note
> that the NVS driver's behaviour is to save and restore NVS regions over
> suspend/resume, so simply forcibly allocating the resource will result in two
> separate codepaths touching the region on resume - this seems like a bad
> outcome. Ideally this could be solved generically, but practically (given we've
> only seen this around TPMs, as far as I can tell) adding a hook to nvs.c that
> allowed drivers aware of the issue to have the space handed off to them
> might be easier.
> 
> Have you seen this on any non-AMD systems?

Thanks - that was very helpful.
All of my misbehaving systems are AMD - mostly Ryzen and Threadripper towers,
of various motherboard OEMs. One system is a 3rd gen Ryzen laptop (Asus FX505dy).

Interestingly, all of the towers show the situation you describe:
[    1.760855] tpm_crb MSFT0101:00: can't request region for resource 
[mem 0x78edf000-0x78edffff]
[    1.760856] tpm_crb: probe of MSFT0101:00 failed with error -16
[    1.884540] ima: No TPM chip found, activating TPM-bypass!

78ab6000-78efafff : ACPI Non-volatile Storage
  78edb000-78edbfff : MSFT0101:00
  78edf000-78edffff : MSFT0101:00
78efb000-79cfcfff : Reserved

But the laptop shows a new layout:
[    2.069539] tpm_crb MSFT0101:00: can't request region for resource 
[mem 0xbd11f000-0xbd122fff]
[    2.069543] tpm_crb: probe of MSFT0101:00 failed with error -16
[    2.177663] ima: No TPM chip found, activating TPM-bypass!

bbc64000-bd14afff : Reserved
  bd11f000-bd11ffff : MSFT0101:00
  bd123000-bd123fff : MSFT0101:00
bd14b000-bd179fff : ACPI Tables
bd17a000-bd328fff : ACPI Non-volatile Storage

I never suspend/resume the towers, and apparently therefore avoid
ACPI-NVS mayhem. On the laptop, I suspend and resume all the time,
and apparently have no conflict as the region is not labeled ACPI-NVS.

Have you looked at the sequencing during suspend/restore?
If ACPI is the last to save, and first to restore, the TPM's use may
still be safe. I'll try to run some tests along those lines, and look
at the nvs driver.

thanks,
dave
Jason Gunthorpe July 12, 2019, 3:06 p.m. UTC | #8
On Fri, Jul 12, 2019 at 12:41:58PM +0000, Safford, David (GE Global Research, US) wrote:
> 
> > The issue is that the CRB region is mapped into a region marked as ACPI NVS.
> > drivers/acpi/nvs.c claims this region and as a result a resource conflict is
> > generated. Since Windows is clearly fine with other drivers using ACPI NVS
> > regions, the correct fix involves figuring out a way to either share these
> > resources or allow tpm_crb to reclaim the region from the NVS driver. Note
> > that the NVS driver's behaviour is to save and restore NVS regions over
> > suspend/resume, so simply forcibly allocating the resource will result in two
> > separate codepaths touching the region on resume - this seems like a bad
> > outcome. 

I wonder if the CRB in the nvs actually needs to be save/restored in
AMD's implementation?

Sounds like the answer is to have TPM CRB somehow detect NVS and
acquire the resource from it, while somehow sequencing suspend/resume
properly.

Jason
Jarkko Sakkinen July 12, 2019, 3:48 p.m. UTC | #9
On Fri, 2019-07-12 at 12:06 -0300, Jason Gunthorpe wrote:
> I wonder if the CRB in the nvs actually needs to be save/restored in
> AMD's implementation?
> 
> Sounds like the answer is to have TPM CRB somehow detect NVS and
> acquire the resource from it, while somehow sequencing suspend/resume
> properly.

Would be cool if we would be able to get someone from AMD to give
some details just to ensure that we are doing the right thing.

/Jarkko
Matthew Garrett July 12, 2019, 6:24 p.m. UTC | #10
On Fri, Jul 12, 2019 at 5:42 AM Safford, David (GE Global Research,
US) <david.safford@ge.com> wrote:
> Thanks - that was very helpful.
> All of my misbehaving systems are AMD - mostly Ryzen and Threadripper towers,
> of various motherboard OEMs. One system is a 3rd gen Ryzen laptop (Asus FX505dy).

I suspect the issue comes from AMD's reference code rather than
multiple vendors all having made the same mistake. Unfortunate.

> But the laptop shows a new layout:
> [    2.069539] tpm_crb MSFT0101:00: can't request region for resource
> [mem 0xbd11f000-0xbd122fff]
> [    2.069543] tpm_crb: probe of MSFT0101:00 failed with error -16
> [    2.177663] ima: No TPM chip found, activating TPM-bypass!
>
> bbc64000-bd14afff : Reserved
>   bd11f000-bd11ffff : MSFT0101:00
>   bd123000-bd123fff : MSFT0101:00
> bd14b000-bd179fff : ACPI Tables
> bd17a000-bd328fff : ACPI Non-volatile Storage

Hmm, that's interesting. Is this a UEFI or BIOS system? Can you
provide the e820 data from dmesg?

> Have you looked at the sequencing during suspend/restore?
> If ACPI is the last to save, and first to restore, the TPM's use may
> still be safe. I'll try to run some tests along those lines, and look
> at the nvs driver.

The NVS stuff was largely implemented by attempting to identify what
Windows was doing and duplicating that, so it's kind of dangerous to
rely on its ordering - there's a risk it might end up changing
suddenly in order to mimic Windows' behaviour more closely.
Safford, David (GE Global Research, US) July 12, 2019, 7:05 p.m. UTC | #11
> 
> I suspect the issue comes from AMD's reference code rather than multiple
> vendors all having made the same mistake. Unfortunate.

Yes.

> > But the laptop shows a new layout:
> > [    2.069539] tpm_crb MSFT0101:00: can't request region for resource
> > [mem 0xbd11f000-0xbd122fff]
> > [    2.069543] tpm_crb: probe of MSFT0101:00 failed with error -16
> > [    2.177663] ima: No TPM chip found, activating TPM-bypass!
> >
> > bbc64000-bd14afff : Reserved
> >   bd11f000-bd11ffff : MSFT0101:00
> >   bd123000-bd123fff : MSFT0101:00
> > bd14b000-bd179fff : ACPI Tables
> > bd17a000-bd328fff : ACPI Non-volatile Storage
> 
> Hmm, that's interesting. Is this a UEFI or BIOS system? Can you provide the
> e820 data from dmesg?

UEFI - the laptop dmesg e820 follows:

[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000000a0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x0000000009ec1fff] usable
[    0.000000] BIOS-e820: [mem 0x0000000009ec2000-0x0000000009ffffff] reserved
[    0.000000] BIOS-e820: [mem 0x000000000a000000-0x000000000a1fffff] usable
[    0.000000] BIOS-e820: [mem 0x000000000a200000-0x000000000a20afff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x000000000a20b000-0x00000000bbc63fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000bbc64000-0x00000000bd14afff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000bd14b000-0x00000000bd179fff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000bd17a000-0x00000000bd328fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000bd329000-0x00000000bdbb0fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000bdbb1000-0x00000000beffffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000bf000000-0x00000000bfffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fd000000-0x00000000fdffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000feb80000-0x00000000fec01fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec10000-0x00000000fec10fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed40000-0x00000000fed44fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed80000-0x00000000fed8ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fedc2000-0x00000000fedcffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fedd4000-0x00000000fedd5fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000feefffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000042effffff] usable
[    0.000000] BIOS-e820: [mem 0x000000042f000000-0x000000043effffff] reserved
[    0.000000] BIOS-e820: [mem 0x000000043f000000-0x000000043f33ffff] usable
[    0.000000] BIOS-e820: [mem 0x000000043f340000-0x000000043fffffff] reserved
[    0.000000] e820: update [mem 0xba4fd018-0xba50d057] usable ==> usable
[    0.000000] e820: update [mem 0xba4fd018-0xba50d057] usable ==> usable
[    0.000000] e820: update [mem 0xba4ef018-0xba4fc457] usable ==> usable
[    0.000000] e820: update [mem 0xba4ef018-0xba4fc457] usable ==> usable
[    0.000443] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000444] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000807] e820: update [mem 0xc0000000-0xffffffff] usable ==> reserved
[    0.574421] e820: reserve RAM buffer [mem 0x09ec2000-0x0bffffff]
[    0.574422] e820: reserve RAM buffer [mem 0x0a200000-0x0bffffff]
[    0.574422] e820: reserve RAM buffer [mem 0xba4ef018-0xbbffffff]
[    0.574423] e820: reserve RAM buffer [mem 0xba4fd018-0xbbffffff]
[    0.574423] e820: reserve RAM buffer [mem 0xbbc64000-0xbbffffff]
[    0.574424] e820: reserve RAM buffer [mem 0xbf000000-0xbfffffff]
[    0.574424] e820: reserve RAM buffer [mem 0x42f000000-0x42fffffff]
[    0.574424] e820: reserve RAM buffer [mem 0x43f340000-0x43fffffff]
Matthew Garrett July 12, 2019, 8:36 p.m. UTC | #12
On Fri, Jul 12, 2019 at 12:05 PM Safford, David (GE Global Research,
US) <david.safford@ge.com> wrote:

> UEFI - the laptop dmesg e820 follows:

Could you boot with efi=debug and attach the EFI memory map?
Safford, David (GE Global Research, US) July 14, 2019, 7:28 p.m. UTC | #13
> On Fri, Jul 12, 2019 at 12:05 PM Safford, David (GE Global Research,
> US) <david.safford@ge.com> wrote:
> 
> > UEFI - the laptop dmesg e820 follows:
> 
> Could you boot with efi=debug and attach the EFI memory map?

Follows:
[    0.000000] efi: mem00: [Conventional Memory|   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000000000000000-0x0000000000000fff] (0MB)
[    0.000000] efi: mem01: [Loader Data        |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000000000001000-0x0000000000001fff] (0MB)
[    0.000000] efi: mem02: [Conventional Memory|   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000000000002000-0x000000000009ffff] (0MB)
[    0.000000] efi: mem03: [Conventional Memory|   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000000000100000-0x0000000000ffffff] (15MB)
[    0.000000] efi: mem04: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000000001000000-0x000000000101ffff] (0MB)
[    0.000000] efi: mem05: [Conventional Memory|   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000000001020000-0x0000000001ffffff] (15MB)
[    0.000000] efi: mem06: [Loader Data        |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000000002000000-0x00000000040a7fff] (32MB)
[    0.000000] efi: mem07: [Conventional Memory|   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000040a8000-0x0000000009ec1fff] (94MB)
[    0.000000] efi: mem08: [Reserved           |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000000009ec2000-0x0000000009ffffff] (1MB)
[    0.000000] efi: mem09: [Conventional Memory|   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x000000000a000000-0x000000000a1fffff] (2MB)
[    0.000000] efi: mem10: [ACPI Memory NVS    |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x000000000a200000-0x000000000a20afff] (0MB)
[    0.000000] efi: mem11: [Conventional Memory|   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x000000000a20b000-0x00000000568cdfff] (1222MB)
[    0.000000] efi: mem12: [Loader Data        |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000568ce000-0x0000000060099fff] (151MB)
[    0.000000] efi: mem13: [Loader Code        |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x000000006009a000-0x000000007fffefff] (511MB)
[    0.000000] efi: mem14: [Loader Data        |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x000000007ffff000-0x000000007fffffff] (0MB)
[    0.000000] efi: mem15: [Conventional Memory|   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000000080000000-0x00000000b7d50fff] (893MB)
[    0.000000] efi: mem16: [Loader Code        |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000b7d51000-0x00000000b7ef9fff] (1MB)
[    0.000000] efi: mem17: [Loader Data        |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000b7efa000-0x00000000b80a2fff] (1MB)
[    0.000000] efi: mem18: [Loader Code        |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000b80a3000-0x00000000b81b3fff] (1MB)
[    0.000000] efi: mem19: [Conventional Memory|   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000b81b4000-0x00000000b82dbfff] (1MB)
[    0.000000] efi: mem20: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000b82dc000-0x00000000ba2c1fff] (31MB)
[    0.000000] efi: mem21: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba2c2000-0x00000000ba456fff] (1MB)
[    0.000000] efi: mem22: [Conventional Memory|   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba457000-0x00000000ba4e7fff] (0MB)
[    0.000000] efi: mem23: [Loader Data        |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba4e8000-0x00000000ba513fff] (0MB)
[    0.000000] efi: mem24: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba514000-0x00000000ba517fff] (0MB)
[    0.000000] efi: mem25: [Loader Data        |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba518000-0x00000000ba518fff] (0MB)
[    0.000000] efi: mem26: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba519000-0x00000000ba51bfff] (0MB)
[    0.000000] efi: mem27: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba51c000-0x00000000ba553fff] (0MB)
[    0.000000] efi: mem28: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba554000-0x00000000ba567fff] (0MB)
[    0.000000] efi: mem29: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba568000-0x00000000ba568fff] (0MB)
[    0.000000] efi: mem30: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba569000-0x00000000ba580fff] (0MB)
[    0.000000] efi: mem31: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba581000-0x00000000ba584fff] (0MB)
[    0.000000] efi: mem32: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba585000-0x00000000ba5ebfff] (0MB)
[    0.000000] efi: mem33: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba5ec000-0x00000000ba73ffff] (1MB)
[    0.000000] efi: mem34: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba740000-0x00000000ba743fff] (0MB)
[    0.000000] efi: mem35: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba744000-0x00000000ba749fff] (0MB)
[    0.000000] efi: mem36: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba74a000-0x00000000ba893fff] (1MB)
[    0.000000] efi: mem37: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba894000-0x00000000ba9a6fff] (1MB)
[    0.000000] efi: mem38: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba9a7000-0x00000000baa03fff] (0MB)
[    0.000000] efi: mem39: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa04000-0x00000000baa58fff] (0MB)
[    0.000000] efi: mem40: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa59000-0x00000000baa81fff] (0MB)
[    0.000000] efi: mem41: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa82000-0x00000000baa89fff] (0MB)
[    0.000000] efi: mem42: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa8a000-0x00000000baa91fff] (0MB)
[    0.000000] efi: mem43: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa92000-0x00000000baa94fff] (0MB)
[    0.000000] efi: mem44: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa95000-0x00000000baa97fff] (0MB)
[    0.000000] efi: mem45: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa98000-0x00000000baa99fff] (0MB)
[    0.000000] efi: mem46: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa9a000-0x00000000baa9bfff] (0MB)
[    0.000000] efi: mem47: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa9c000-0x00000000baaaffff] (0MB)
[    0.000000] efi: mem48: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baab0000-0x00000000baab9fff] (0MB)
[    0.000000] efi: mem49: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baaba000-0x00000000baacbfff] (0MB)
[    0.000000] efi: mem50: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baacc000-0x00000000baacdfff] (0MB)
[    0.000000] efi: mem51: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baace000-0x00000000baad3fff] (0MB)
[    0.000000] efi: mem52: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baad4000-0x00000000baad9fff] (0MB)
[    0.000000] efi: mem53: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baada000-0x00000000baae7fff] (0MB)
[    0.000000] efi: mem54: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baae8000-0x00000000baaf0fff] (0MB)
[    0.000000] efi: mem55: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baaf1000-0x00000000bab03fff] (0MB)
[    0.000000] efi: mem56: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab04000-0x00000000bab04fff] (0MB)
[    0.000000] efi: mem57: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab05000-0x00000000bab07fff] (0MB)
[    0.000000] efi: mem58: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab08000-0x00000000bab09fff] (0MB)
[    0.000000] efi: mem59: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab0a000-0x00000000bab0bfff] (0MB)
[    0.000000] efi: mem60: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab0c000-0x00000000bab0cfff] (0MB)
[    0.000000] efi: mem61: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab0d000-0x00000000bab1ffff] (0MB)
[    0.000000] efi: mem62: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab20000-0x00000000bab29fff] (0MB)
[    0.000000] efi: mem63: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab2a000-0x00000000bab2bfff] (0MB)
[    0.000000] efi: mem64: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab2c000-0x00000000bab2ffff] (0MB)
[    0.000000] efi: mem65: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab30000-0x00000000bab30fff] (0MB)
[    0.000000] efi: mem66: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab31000-0x00000000bac1efff] (0MB)
[    0.000000] efi: mem67: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac1f000-0x00000000bac27fff] (0MB)
[    0.000000] efi: mem68: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac28000-0x00000000bac2efff] (0MB)
[    0.000000] efi: mem69: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac2f000-0x00000000bac3afff] (0MB)
[    0.000000] efi: mem70: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac3b000-0x00000000bac3cfff] (0MB)
[    0.000000] efi: mem71: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac3d000-0x00000000bac3efff] (0MB)
[    0.000000] efi: mem72: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac3f000-0x00000000bac40fff] (0MB)
[    0.000000] efi: mem73: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac41000-0x00000000bac4efff] (0MB)
[    0.000000] efi: mem74: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac4f000-0x00000000bac50fff] (0MB)
[    0.000000] efi: mem75: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac51000-0x00000000bac63fff] (0MB)
[    0.000000] efi: mem76: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac64000-0x00000000bac6afff] (0MB)
[    0.000000] efi: mem77: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac6b000-0x00000000bac6ffff] (0MB)
[    0.000000] efi: mem78: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac70000-0x00000000bac73fff] (0MB)
[    0.000000] efi: mem79: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac74000-0x00000000bac77fff] (0MB)
[    0.000000] efi: mem80: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac78000-0x00000000bacc7fff] (0MB)
[    0.000000] efi: mem81: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bacc8000-0x00000000bacf5fff] (0MB)
[    0.000000] efi: mem82: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bacf6000-0x00000000bacfdfff] (0MB)
[    0.000000] efi: mem83: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bacfe000-0x00000000bad00fff] (0MB)
[    0.000000] efi: mem84: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad01000-0x00000000bad0dfff] (0MB)
[    0.000000] efi: mem85: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad0e000-0x00000000bad26fff] (0MB)
[    0.000000] efi: mem86: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad27000-0x00000000bad27fff] (0MB)
[    0.000000] efi: mem87: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad28000-0x00000000bad28fff] (0MB)
[    0.000000] efi: mem88: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad29000-0x00000000bad29fff] (0MB)
[    0.000000] efi: mem89: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad2a000-0x00000000bad34fff] (0MB)
[    0.000000] efi: mem90: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad35000-0x00000000bad5ffff] (0MB)
[    0.000000] efi: mem91: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad60000-0x00000000bad6afff] (0MB)
[    0.000000] efi: mem92: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad6b000-0x00000000bad73fff] (0MB)
[    0.000000] efi: mem93: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad74000-0x00000000bad89fff] (0MB)
[    0.000000] efi: mem94: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad8a000-0x00000000bad8dfff] (0MB)
[    0.000000] efi: mem95: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad8e000-0x00000000badb0fff] (0MB)
[    0.000000] efi: mem96: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badb1000-0x00000000badb8fff] (0MB)
[    0.000000] efi: mem97: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badb9000-0x00000000badbafff] (0MB)
[    0.000000] efi: mem98: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badbb000-0x00000000badbcfff] (0MB)
[    0.000000] efi: mem99: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badbd000-0x00000000badcefff] (0MB)
[    0.000000] efi: mem100: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badcf000-0x00000000badd0fff] (0MB)
[    0.000000] efi: mem101: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badd1000-0x00000000badd2fff] (0MB)
[    0.000000] efi: mem102: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badd3000-0x00000000badd4fff] (0MB)
[    0.000000] efi: mem103: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badd5000-0x00000000baddefff] (0MB)
[    0.000000] efi: mem104: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baddf000-0x00000000bade3fff] (0MB)
[    0.000000] efi: mem105: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bade4000-0x00000000badeffff] (0MB)
[    0.000000] efi: mem106: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badf0000-0x00000000badf1fff] (0MB)
[    0.000000] efi: mem107: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badf2000-0x00000000badf3fff] (0MB)
[    0.000000] efi: mem108: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badf4000-0x00000000badf4fff] (0MB)
[    0.000000] efi: mem109: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badf5000-0x00000000bae06fff] (0MB)
[    0.000000] efi: mem110: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae07000-0x00000000bae07fff] (0MB)
[    0.000000] efi: mem111: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae08000-0x00000000bae08fff] (0MB)
[    0.000000] efi: mem112: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae09000-0x00000000bae09fff] (0MB)
[    0.000000] efi: mem113: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae0a000-0x00000000bae0bfff] (0MB)
[    0.000000] efi: mem114: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae0c000-0x00000000bae0dfff] (0MB)
[    0.000000] efi: mem115: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae0e000-0x00000000bae15fff] (0MB)
[    0.000000] efi: mem116: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae16000-0x00000000bae17fff] (0MB)
[    0.000000] efi: mem117: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae18000-0x00000000bae19fff] (0MB)
[    0.000000] efi: mem118: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae1a000-0x00000000bae1afff] (0MB)
[    0.000000] efi: mem119: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae1b000-0x00000000bae1bfff] (0MB)
[    0.000000] efi: mem120: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae1c000-0x00000000bae1cfff] (0MB)
[    0.000000] efi: mem121: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae1d000-0x00000000bae1dfff] (0MB)
[    0.000000] efi: mem122: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae1e000-0x00000000bae1efff] (0MB)
[    0.000000] efi: mem123: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae1f000-0x00000000bae1ffff] (0MB)
[    0.000000] efi: mem124: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae20000-0x00000000bae21fff] (0MB)
[    0.000000] efi: mem125: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae22000-0x00000000bae22fff] (0MB)
[    0.000000] efi: mem126: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae23000-0x00000000bae23fff] (0MB)
[    0.000000] efi: mem127: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae24000-0x00000000bae24fff] (0MB)
[    0.000000] efi: mem128: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae25000-0x00000000bae25fff] (0MB)
[    0.000000] efi: mem129: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae26000-0x00000000bae26fff] (0MB)
[    0.000000] efi: mem130: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae27000-0x00000000bae27fff] (0MB)
[    0.000000] efi: mem131: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae28000-0x00000000bae2ffff] (0MB)
[    0.000000] efi: mem132: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae30000-0x00000000bae37fff] (0MB)
[    0.000000] efi: mem133: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae38000-0x00000000bae40fff] (0MB)
[    0.000000] efi: mem134: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae41000-0x00000000bae42fff] (0MB)
[    0.000000] efi: mem135: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae43000-0x00000000bae44fff] (0MB)
[    0.000000] efi: mem136: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae45000-0x00000000bae47fff] (0MB)
[    0.000000] efi: mem137: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae48000-0x00000000bae4cfff] (0MB)
[    0.000000] efi: mem138: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae4d000-0x00000000bae4ffff] (0MB)
[    0.000000] efi: mem139: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae50000-0x00000000bae56fff] (0MB)
[    0.000000] efi: mem140: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae57000-0x00000000bae5dfff] (0MB)
[    0.000000] efi: mem141: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae5e000-0x00000000bae61fff] (0MB)
[    0.000000] efi: mem142: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae62000-0x00000000bae62fff] (0MB)
[    0.000000] efi: mem143: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae63000-0x00000000bae65fff] (0MB)
[    0.000000] efi: mem144: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae66000-0x00000000bae67fff] (0MB)
[    0.000000] efi: mem145: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae68000-0x00000000bae68fff] (0MB)
[    0.000000] efi: mem146: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae69000-0x00000000bae69fff] (0MB)
[    0.000000] efi: mem147: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae6a000-0x00000000bae6efff] (0MB)
[    0.000000] efi: mem148: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae6f000-0x00000000bae70fff] (0MB)
[    0.000000] efi: mem149: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae71000-0x00000000bae71fff] (0MB)
[    0.000000] efi: mem150: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae72000-0x00000000bae72fff] (0MB)
[    0.000000] efi: mem151: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae73000-0x00000000bae75fff] (0MB)
[    0.000000] efi: mem152: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae76000-0x00000000bae76fff] (0MB)
[    0.000000] efi: mem153: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae77000-0x00000000bae7dfff] (0MB)
[    0.000000] efi: mem154: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae7e000-0x00000000bae7ffff] (0MB)
[    0.000000] efi: mem155: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae80000-0x00000000bae83fff] (0MB)
[    0.000000] efi: mem156: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae84000-0x00000000baea1fff] (0MB)
[    0.000000] efi: mem157: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baea2000-0x00000000baeb3fff] (0MB)
[    0.000000] efi: mem158: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baeb4000-0x00000000baebbfff] (0MB)
[    0.000000] efi: mem159: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baebc000-0x00000000baebcfff] (0MB)
[    0.000000] efi: mem160: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baebd000-0x00000000baebdfff] (0MB)
[    0.000000] efi: mem161: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baebe000-0x00000000baebefff] (0MB)
[    0.000000] efi: mem162: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baebf000-0x00000000baec1fff] (0MB)
[    0.000000] efi: mem163: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baec2000-0x00000000baec5fff] (0MB)
[    0.000000] efi: mem164: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baec6000-0x00000000baec6fff] (0MB)
[    0.000000] efi: mem165: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baec7000-0x00000000baeccfff] (0MB)
[    0.000000] efi: mem166: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baecd000-0x00000000baecdfff] (0MB)
[    0.000000] efi: mem167: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baece000-0x00000000baed0fff] (0MB)
[    0.000000] efi: mem168: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baed1000-0x00000000baed2fff] (0MB)
[    0.000000] efi: mem169: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baed3000-0x00000000baeeefff] (0MB)
[    0.000000] efi: mem170: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baeef000-0x00000000baef0fff] (0MB)
[    0.000000] efi: mem171: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baef1000-0x00000000baefbfff] (0MB)
[    0.000000] efi: mem172: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baefc000-0x00000000baefcfff] (0MB)
[    0.000000] efi: mem173: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baefd000-0x00000000baefefff] (0MB)
[    0.000000] efi: mem174: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baeff000-0x00000000baf03fff] (0MB)
[    0.000000] efi: mem175: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baf04000-0x00000000baf04fff] (0MB)
[    0.000000] efi: mem176: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baf05000-0x00000000bb305fff] (4MB)
[    0.000000] efi: mem177: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb306000-0x00000000bb311fff] (0MB)
[    0.000000] efi: mem178: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb312000-0x00000000bb312fff] (0MB)
[    0.000000] efi: mem179: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb313000-0x00000000bb317fff] (0MB)
[    0.000000] efi: mem180: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb318000-0x00000000bb31bfff] (0MB)
[    0.000000] efi: mem181: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb31c000-0x00000000bb31cfff] (0MB)
[    0.000000] efi: mem182: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb31d000-0x00000000bb31dfff] (0MB)
[    0.000000] efi: mem183: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb31e000-0x00000000bb31efff] (0MB)
[    0.000000] efi: mem184: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb31f000-0x00000000bb326fff] (0MB)
[    0.000000] efi: mem185: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb327000-0x00000000bb330fff] (0MB)
[    0.000000] efi: mem186: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb331000-0x00000000bb375fff] (0MB)
[    0.000000] efi: mem187: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb376000-0x00000000bb376fff] (0MB)
[    0.000000] efi: mem188: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb377000-0x00000000bb378fff] (0MB)
[    0.000000] efi: mem189: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb379000-0x00000000bb37bfff] (0MB)
[    0.000000] efi: mem190: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb37c000-0x00000000bbc63fff] (8MB)
[    0.000000] efi: mem191: [Reserved           |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bbc64000-0x00000000bd14afff] (20MB)
[    0.000000] efi: mem192: [ACPI Reclaim Memory|   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bd14b000-0x00000000bd179fff] (0MB)
[    0.000000] efi: mem193: [ACPI Memory NVS    |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bd17a000-0x00000000bd328fff] (1MB)
[    0.000000] efi: mem194: [Runtime Data       |RUN|  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bd329000-0x00000000bdafffff] (7MB)
[    0.000000] efi: mem195: [Runtime Code       |RUN|  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bdb00000-0x00000000bdbb0fff] (0MB)
[    0.000000] efi: mem196: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bdbb1000-0x00000000bdd33fff] (1MB)
[    0.000000] efi: mem197: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bdd34000-0x00000000bdd4ffff] (0MB)
[    0.000000] efi: mem198: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bdd50000-0x00000000bdd7cfff] (0MB)
[    0.000000] efi: mem199: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bdd7d000-0x00000000bdd8cfff] (0MB)
[    0.000000] efi: mem200: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bdd8d000-0x00000000bef7cfff] (17MB)
[    0.000000] efi: mem201: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bef7d000-0x00000000bef84fff] (0MB)
[    0.000000] efi: mem202: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bef85000-0x00000000befa9fff] (0MB)
[    0.000000] efi: mem203: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000befaa000-0x00000000befb9fff] (0MB)
[    0.000000] efi: mem204: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000befba000-0x00000000befdafff] (0MB)
[    0.000000] efi: mem205: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000befdb000-0x00000000befeffff] (0MB)
[    0.000000] efi: mem206: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000beff0000-0x00000000beff7fff] (0MB)
[    0.000000] efi: mem207: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000beff8000-0x00000000beffffff] (0MB)
[    0.000000] efi: mem208: [Conventional Memory|   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000000100000000-0x000000042effffff] (13040MB)
[    0.000000] efi: mem209: [Conventional Memory|   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x000000043f000000-0x000000043f33ffff] (3MB)
[    0.000000] efi: mem210: [Reserved           |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000000a0000-0x00000000000fffff] (0MB)
[    0.000000] efi: mem211: [Reserved           |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bf000000-0x00000000bfffffff] (16MB)
[    0.000000] efi: mem212: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000f8000000-0x00000000fbffffff] (64MB)
[    0.000000] efi: mem213: [Memory Mapped I/O  |RUN|  |  |  |  |  |  |   |  |  |  |UC] range=[0x00000000fd000000-0x00000000fdffffff] (16MB)
[    0.000000] efi: mem214: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000feb80000-0x00000000fec01fff] (0MB)
[    0.000000] efi: mem215: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fec10000-0x00000000fec10fff] (0MB)
[    0.000000] efi: mem216: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fed00000-0x00000000fed00fff] (0MB)
[    0.000000] efi: mem217: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fed40000-0x00000000fed44fff] (0MB)
[    0.000000] efi: mem218: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fed80000-0x00000000fed8ffff] (0MB)
[    0.000000] efi: mem219: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fedc2000-0x00000000fedcffff] (0MB)
[    0.000000] efi: mem220: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fedd4000-0x00000000fedd5fff] (0MB)
[    0.000000] efi: mem221: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fee00000-0x00000000feefffff] (1MB)
[    0.000000] efi: mem222: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000ff000000-0x00000000ffffffff] (16MB)
[    0.000000] efi: mem223: [Reserved           |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x000000042f000000-0x000000043effffff] (256MB)
[    0.000000] efi: mem224: [Reserved           |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x000000043f340000-0x000000043fffffff] (12MB)
[    0.398165] efi: EFI runtime memory map:
[    0.398170] efi: mem00: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000ff000000-0x00000000ffffffff] (16MB)
[    0.398171] efi: mem01: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fee00000-0x00000000feefffff] (1MB)
[    0.398173] efi: mem02: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fedd4000-0x00000000fedd5fff] (0MB)
[    0.398174] efi: mem03: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fedc2000-0x00000000fedcffff] (0MB)
[    0.398175] efi: mem04: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fed80000-0x00000000fed8ffff] (0MB)
[    0.398177] efi: mem05: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fed40000-0x00000000fed44fff] (0MB)
[    0.398178] efi: mem06: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fed00000-0x00000000fed00fff] (0MB)
[    0.398179] efi: mem07: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000fec10000-0x00000000fec10fff] (0MB)
[    0.398180] efi: mem08: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000feb80000-0x00000000fec01fff] (0MB)
[    0.398181] efi: mem09: [Memory Mapped I/O  |RUN|  |  |  |  |  |  |   |  |  |  |UC] range=[0x00000000fd000000-0x00000000fdffffff] (16MB)
[    0.398182] efi: mem10: [Memory Mapped I/O  |RUN|  |  |  |  |WP|  |   |WB|WT|  |UC] range=[0x00000000f8000000-0x00000000fbffffff] (64MB)
[    0.398184] efi: mem11: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000beff8000-0x00000000beffffff] (0MB)
[    0.398185] efi: mem12: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000beff0000-0x00000000beff7fff] (0MB)
[    0.398186] efi: mem13: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000befdb000-0x00000000befeffff] (0MB)
[    0.398188] efi: mem14: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000befba000-0x00000000befdafff] (0MB)
[    0.398189] efi: mem15: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000befaa000-0x00000000befb9fff] (0MB)
[    0.398190] efi: mem16: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bef85000-0x00000000befa9fff] (0MB)
[    0.398191] efi: mem17: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bef7d000-0x00000000bef84fff] (0MB)
[    0.398192] efi: mem18: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bdd8d000-0x00000000bef7cfff] (17MB)
[    0.398193] efi: mem19: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bdd7d000-0x00000000bdd8cfff] (0MB)
[    0.398194] efi: mem20: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bdd50000-0x00000000bdd7cfff] (0MB)
[    0.398196] efi: mem21: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bdd34000-0x00000000bdd4ffff] (0MB)
[    0.398197] efi: mem22: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bdbb1000-0x00000000bdd33fff] (1MB)
[    0.398199] efi: mem23: [Runtime Code       |RUN|  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bdb00000-0x00000000bdbb0fff] (0MB)
[    0.398200] efi: mem24: [Runtime Data       |RUN|  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bd329000-0x00000000bdafffff] (7MB)
[    0.398201] efi: mem25: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb37c000-0x00000000bbc63fff] (8MB)
[    0.398202] efi: mem26: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb379000-0x00000000bb37bfff] (0MB)
[    0.398203] efi: mem27: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb377000-0x00000000bb378fff] (0MB)
[    0.398204] efi: mem28: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb376000-0x00000000bb376fff] (0MB)
[    0.398205] efi: mem29: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb331000-0x00000000bb375fff] (0MB)
[    0.398206] efi: mem30: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb327000-0x00000000bb330fff] (0MB)
[    0.398208] efi: mem31: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb31f000-0x00000000bb326fff] (0MB)
[    0.398209] efi: mem32: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb31e000-0x00000000bb31efff] (0MB)
[    0.398210] efi: mem33: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb31d000-0x00000000bb31dfff] (0MB)
[    0.398211] efi: mem34: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb31c000-0x00000000bb31cfff] (0MB)
[    0.398212] efi: mem35: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb318000-0x00000000bb31bfff] (0MB)
[    0.398213] efi: mem36: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb313000-0x00000000bb317fff] (0MB)
[    0.398214] efi: mem37: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb312000-0x00000000bb312fff] (0MB)
[    0.398216] efi: mem38: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bb306000-0x00000000bb311fff] (0MB)
[    0.398217] efi: mem39: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baf05000-0x00000000bb305fff] (4MB)
[    0.398218] efi: mem40: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baf04000-0x00000000baf04fff] (0MB)
[    0.398219] efi: mem41: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baeff000-0x00000000baf03fff] (0MB)
[    0.398220] efi: mem42: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baefd000-0x00000000baefefff] (0MB)
[    0.398221] efi: mem43: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baefc000-0x00000000baefcfff] (0MB)
[    0.398222] efi: mem44: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baef1000-0x00000000baefbfff] (0MB)
[    0.398223] efi: mem45: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baeef000-0x00000000baef0fff] (0MB)
[    0.398225] efi: mem46: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baed3000-0x00000000baeeefff] (0MB)
[    0.398226] efi: mem47: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baed1000-0x00000000baed2fff] (0MB)
[    0.398227] efi: mem48: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baece000-0x00000000baed0fff] (0MB)
[    0.398228] efi: mem49: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baecd000-0x00000000baecdfff] (0MB)
[    0.398229] efi: mem50: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baec7000-0x00000000baeccfff] (0MB)
[    0.398230] efi: mem51: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baec6000-0x00000000baec6fff] (0MB)
[    0.398231] efi: mem52: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baec2000-0x00000000baec5fff] (0MB)
[    0.398232] efi: mem53: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baebf000-0x00000000baec1fff] (0MB)
[    0.398234] efi: mem54: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baebe000-0x00000000baebefff] (0MB)
[    0.398235] efi: mem55: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baebd000-0x00000000baebdfff] (0MB)
[    0.398236] efi: mem56: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baebc000-0x00000000baebcfff] (0MB)
[    0.398237] efi: mem57: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baeb4000-0x00000000baebbfff] (0MB)
[    0.398238] efi: mem58: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baea2000-0x00000000baeb3fff] (0MB)
[    0.398239] efi: mem59: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae84000-0x00000000baea1fff] (0MB)
[    0.398240] efi: mem60: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae80000-0x00000000bae83fff] (0MB)
[    0.398242] efi: mem61: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae7e000-0x00000000bae7ffff] (0MB)
[    0.398243] efi: mem62: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae77000-0x00000000bae7dfff] (0MB)
[    0.398244] efi: mem63: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae76000-0x00000000bae76fff] (0MB)
[    0.398245] efi: mem64: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae73000-0x00000000bae75fff] (0MB)
[    0.398246] efi: mem65: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae72000-0x00000000bae72fff] (0MB)
[    0.398247] efi: mem66: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae71000-0x00000000bae71fff] (0MB)
[    0.398248] efi: mem67: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae6f000-0x00000000bae70fff] (0MB)
[    0.398249] efi: mem68: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae6a000-0x00000000bae6efff] (0MB)
[    0.398251] efi: mem69: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae69000-0x00000000bae69fff] (0MB)
[    0.398252] efi: mem70: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae68000-0x00000000bae68fff] (0MB)
[    0.398253] efi: mem71: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae66000-0x00000000bae67fff] (0MB)
[    0.398254] efi: mem72: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae63000-0x00000000bae65fff] (0MB)
[    0.398255] efi: mem73: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae62000-0x00000000bae62fff] (0MB)
[    0.398256] efi: mem74: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae5e000-0x00000000bae61fff] (0MB)
[    0.398257] efi: mem75: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae57000-0x00000000bae5dfff] (0MB)
[    0.398258] efi: mem76: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae50000-0x00000000bae56fff] (0MB)
[    0.398260] efi: mem77: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae4d000-0x00000000bae4ffff] (0MB)
[    0.398261] efi: mem78: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae48000-0x00000000bae4cfff] (0MB)
[    0.398262] efi: mem79: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae45000-0x00000000bae47fff] (0MB)
[    0.398263] efi: mem80: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae43000-0x00000000bae44fff] (0MB)
[    0.398264] efi: mem81: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae41000-0x00000000bae42fff] (0MB)
[    0.398265] efi: mem82: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae38000-0x00000000bae40fff] (0MB)
[    0.398266] efi: mem83: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae30000-0x00000000bae37fff] (0MB)
[    0.398268] efi: mem84: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae28000-0x00000000bae2ffff] (0MB)
[    0.398269] efi: mem85: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae27000-0x00000000bae27fff] (0MB)
[    0.398270] efi: mem86: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae26000-0x00000000bae26fff] (0MB)
[    0.398271] efi: mem87: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae25000-0x00000000bae25fff] (0MB)
[    0.398272] efi: mem88: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae24000-0x00000000bae24fff] (0MB)
[    0.398273] efi: mem89: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae23000-0x00000000bae23fff] (0MB)
[    0.398274] efi: mem90: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae22000-0x00000000bae22fff] (0MB)
[    0.398275] efi: mem91: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae20000-0x00000000bae21fff] (0MB)
[    0.398277] efi: mem92: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae1f000-0x00000000bae1ffff] (0MB)
[    0.398278] efi: mem93: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae1e000-0x00000000bae1efff] (0MB)
[    0.398279] efi: mem94: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae1d000-0x00000000bae1dfff] (0MB)
[    0.398280] efi: mem95: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae1c000-0x00000000bae1cfff] (0MB)
[    0.398281] efi: mem96: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae1b000-0x00000000bae1bfff] (0MB)
[    0.398282] efi: mem97: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae1a000-0x00000000bae1afff] (0MB)
[    0.398283] efi: mem98: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae18000-0x00000000bae19fff] (0MB)
[    0.398284] efi: mem99: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae16000-0x00000000bae17fff] (0MB)
[    0.398286] efi: mem100: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae0e000-0x00000000bae15fff] (0MB)
[    0.398287] efi: mem101: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae0c000-0x00000000bae0dfff] (0MB)
[    0.398288] efi: mem102: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae0a000-0x00000000bae0bfff] (0MB)
[    0.398289] efi: mem103: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae09000-0x00000000bae09fff] (0MB)
[    0.398290] efi: mem104: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae08000-0x00000000bae08fff] (0MB)
[    0.398291] efi: mem105: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bae07000-0x00000000bae07fff] (0MB)
[    0.398293] efi: mem106: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badf5000-0x00000000bae06fff] (0MB)
[    0.398294] efi: mem107: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badf4000-0x00000000badf4fff] (0MB)
[    0.398295] efi: mem108: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badf2000-0x00000000badf3fff] (0MB)
[    0.398296] efi: mem109: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badf0000-0x00000000badf1fff] (0MB)
[    0.398297] efi: mem110: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bade4000-0x00000000badeffff] (0MB)
[    0.398298] efi: mem111: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baddf000-0x00000000bade3fff] (0MB)
[    0.398299] efi: mem112: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badd5000-0x00000000baddefff] (0MB)
[    0.398300] efi: mem113: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badd3000-0x00000000badd4fff] (0MB)
[    0.398302] efi: mem114: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badd1000-0x00000000badd2fff] (0MB)
[    0.398303] efi: mem115: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badcf000-0x00000000badd0fff] (0MB)
[    0.398304] efi: mem116: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badbd000-0x00000000badcefff] (0MB)
[    0.398305] efi: mem117: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badbb000-0x00000000badbcfff] (0MB)
[    0.398306] efi: mem118: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badb9000-0x00000000badbafff] (0MB)
[    0.398307] efi: mem119: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000badb1000-0x00000000badb8fff] (0MB)
[    0.398308] efi: mem120: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad8e000-0x00000000badb0fff] (0MB)
[    0.398310] efi: mem121: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad8a000-0x00000000bad8dfff] (0MB)
[    0.398311] efi: mem122: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad74000-0x00000000bad89fff] (0MB)
[    0.398312] efi: mem123: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad6b000-0x00000000bad73fff] (0MB)
[    0.398313] efi: mem124: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad60000-0x00000000bad6afff] (0MB)
[    0.398314] efi: mem125: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad35000-0x00000000bad5ffff] (0MB)
[    0.398315] efi: mem126: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad2a000-0x00000000bad34fff] (0MB)
[    0.398316] efi: mem127: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad29000-0x00000000bad29fff] (0MB)
[    0.398317] efi: mem128: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad28000-0x00000000bad28fff] (0MB)
[    0.398319] efi: mem129: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad27000-0x00000000bad27fff] (0MB)
[    0.398320] efi: mem130: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad0e000-0x00000000bad26fff] (0MB)
[    0.398321] efi: mem131: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bad01000-0x00000000bad0dfff] (0MB)
[    0.398322] efi: mem132: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bacfe000-0x00000000bad00fff] (0MB)
[    0.398323] efi: mem133: [Boot Data          |RUN|  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bacfd000-0x00000000bacfdfff] (0MB)
[    0.398324] efi: mem134: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bacf6000-0x00000000bacfcfff] (0MB)
[    0.398325] efi: mem135: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bacc8000-0x00000000bacf5fff] (0MB)
[    0.398327] efi: mem136: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac78000-0x00000000bacc7fff] (0MB)
[    0.398328] efi: mem137: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac74000-0x00000000bac77fff] (0MB)
[    0.398329] efi: mem138: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac70000-0x00000000bac73fff] (0MB)
[    0.398330] efi: mem139: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac6b000-0x00000000bac6ffff] (0MB)
[    0.398331] efi: mem140: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac64000-0x00000000bac6afff] (0MB)
[    0.398332] efi: mem141: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac51000-0x00000000bac63fff] (0MB)
[    0.398333] efi: mem142: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac4f000-0x00000000bac50fff] (0MB)
[    0.398334] efi: mem143: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac41000-0x00000000bac4efff] (0MB)
[    0.398336] efi: mem144: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac3f000-0x00000000bac40fff] (0MB)
[    0.398337] efi: mem145: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac3d000-0x00000000bac3efff] (0MB)
[    0.398338] efi: mem146: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac3b000-0x00000000bac3cfff] (0MB)
[    0.398339] efi: mem147: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac2f000-0x00000000bac3afff] (0MB)
[    0.398340] efi: mem148: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac28000-0x00000000bac2efff] (0MB)
[    0.398341] efi: mem149: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bac1f000-0x00000000bac27fff] (0MB)
[    0.398342] efi: mem150: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab31000-0x00000000bac1efff] (0MB)
[    0.398344] efi: mem151: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab30000-0x00000000bab30fff] (0MB)
[    0.398345] efi: mem152: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab2c000-0x00000000bab2ffff] (0MB)
[    0.398346] efi: mem153: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab2a000-0x00000000bab2bfff] (0MB)
[    0.398347] efi: mem154: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab20000-0x00000000bab29fff] (0MB)
[    0.398348] efi: mem155: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab0d000-0x00000000bab1ffff] (0MB)
[    0.398349] efi: mem156: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab0c000-0x00000000bab0cfff] (0MB)
[    0.398350] efi: mem157: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab0a000-0x00000000bab0bfff] (0MB)
[    0.398351] efi: mem158: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab08000-0x00000000bab09fff] (0MB)
[    0.398353] efi: mem159: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab05000-0x00000000bab07fff] (0MB)
[    0.398354] efi: mem160: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000bab04000-0x00000000bab04fff] (0MB)
[    0.398355] efi: mem161: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baaf1000-0x00000000bab03fff] (0MB)
[    0.398356] efi: mem162: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baae8000-0x00000000baaf0fff] (0MB)
[    0.398357] efi: mem163: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baada000-0x00000000baae7fff] (0MB)
[    0.398358] efi: mem164: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baad4000-0x00000000baad9fff] (0MB)
[    0.398359] efi: mem165: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baace000-0x00000000baad3fff] (0MB)
[    0.398361] efi: mem166: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baacc000-0x00000000baacdfff] (0MB)
[    0.398362] efi: mem167: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baaba000-0x00000000baacbfff] (0MB)
[    0.398363] efi: mem168: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baab0000-0x00000000baab9fff] (0MB)
[    0.398364] efi: mem169: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa9c000-0x00000000baaaffff] (0MB)
[    0.398365] efi: mem170: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa9a000-0x00000000baa9bfff] (0MB)
[    0.398366] efi: mem171: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa98000-0x00000000baa99fff] (0MB)
[    0.398367] efi: mem172: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa95000-0x00000000baa97fff] (0MB)
[    0.398368] efi: mem173: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa92000-0x00000000baa94fff] (0MB)
[    0.398370] efi: mem174: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa8a000-0x00000000baa91fff] (0MB)
[    0.398371] efi: mem175: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa82000-0x00000000baa89fff] (0MB)
[    0.398372] efi: mem176: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa59000-0x00000000baa81fff] (0MB)
[    0.398373] efi: mem177: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000baa04000-0x00000000baa58fff] (0MB)
[    0.398374] efi: mem178: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba9a7000-0x00000000baa03fff] (0MB)
[    0.398375] efi: mem179: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba894000-0x00000000ba9a6fff] (1MB)
[    0.398376] efi: mem180: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba814000-0x00000000ba893fff] (0MB)
[    0.398378] efi: mem181: [Boot Data          |RUN|  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba7e5000-0x00000000ba813fff] (0MB)
[    0.398379] efi: mem182: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba74a000-0x00000000ba7e4fff] (0MB)
[    0.398380] efi: mem183: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba744000-0x00000000ba749fff] (0MB)
[    0.398381] efi: mem184: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba740000-0x00000000ba743fff] (0MB)
[    0.398382] efi: mem185: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba5ec000-0x00000000ba73ffff] (1MB)
[    0.398383] efi: mem186: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba585000-0x00000000ba5ebfff] (0MB)
[    0.398384] efi: mem187: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba581000-0x00000000ba584fff] (0MB)
[    0.398385] efi: mem188: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba569000-0x00000000ba580fff] (0MB)
[    0.398387] efi: mem189: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba568000-0x00000000ba568fff] (0MB)
[    0.398388] efi: mem190: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba554000-0x00000000ba567fff] (0MB)
[    0.398389] efi: mem191: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba51c000-0x00000000ba553fff] (0MB)
[    0.398390] efi: mem192: [Boot Data          |RUN|  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba519000-0x00000000ba51bfff] (0MB)
[    0.398391] efi: mem193: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba514000-0x00000000ba517fff] (0MB)
[    0.398392] efi: mem194: [Boot Code          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000ba2c2000-0x00000000ba456fff] (1MB)
[    0.398393] efi: mem195: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x00000000b82dc000-0x00000000ba2c1fff] (31MB)
[    0.398395] efi: mem196: [Boot Data          |   |  |  |  |  |  |  |   |WB|WT|WC|UC] range=[0x0000000001000000-0x000000000101ffff] (0MB)
[    0.400176] efi: memattr: Processing EFI Memory Attributes table:
[    0.400178] efi: memattr:  0x0000bd329000-0x0000bdafffff [Runtime Data       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400207] efi: memattr:  0x0000bdb00000-0x0000bdb23fff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400211] efi: memattr:  0x0000bdb24000-0x0000bdb26fff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400213] efi: memattr:  0x0000bdb27000-0x0000bdb2bfff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400215] efi: memattr:  0x0000bdb2c000-0x0000bdb2cfff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400216] efi: memattr:  0x0000bdb2d000-0x0000bdb30fff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400218] efi: memattr:  0x0000bdb31000-0x0000bdb32fff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400220] efi: memattr:  0x0000bdb33000-0x0000bdb36fff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400222] efi: memattr:  0x0000bdb37000-0x0000bdb37fff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400223] efi: memattr:  0x0000bdb38000-0x0000bdb3bfff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400225] efi: memattr:  0x0000bdb3c000-0x0000bdb3ffff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400227] efi: memattr:  0x0000bdb40000-0x0000bdb44fff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400229] efi: memattr:  0x0000bdb45000-0x0000bdb52fff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400231] efi: memattr:  0x0000bdb53000-0x0000bdb5bfff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400233] efi: memattr:  0x0000bdb5c000-0x0000bdb5dfff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400235] efi: memattr:  0x0000bdb5e000-0x0000bdb62fff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400237] efi: memattr:  0x0000bdb63000-0x0000bdb63fff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400238] efi: memattr:  0x0000bdb64000-0x0000bdb68fff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400240] efi: memattr:  0x0000bdb69000-0x0000bdb69fff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400242] efi: memattr:  0x0000bdb6a000-0x0000bdb6efff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400244] efi: memattr:  0x0000bdb6f000-0x0000bdb6ffff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400245] efi: memattr:  0x0000bdb70000-0x0000bdb74fff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400247] efi: memattr:  0x0000bdb75000-0x0000bdb75fff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400249] efi: memattr:  0x0000bdb76000-0x0000bdb79fff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400250] efi: memattr:  0x0000bdb7a000-0x0000bdb7afff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400252] efi: memattr:  0x0000bdb7b000-0x0000bdb7efff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400254] efi: memattr:  0x0000bdb7f000-0x0000bdb8cfff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400256] efi: memattr:  0x0000bdb8d000-0x0000bdb93fff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400258] efi: memattr:  0x0000bdb94000-0x0000bdb98fff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400260] efi: memattr:  0x0000bdb99000-0x0000bdb9dfff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400262] efi: memattr:  0x0000bdb9e000-0x0000bdba2fff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400264] efi: memattr:  0x0000bdba3000-0x0000bdba7fff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
[    0.400266] efi: memattr:  0x0000bdba8000-0x0000bdbabfff [Runtime Code       |RUN|  |  |  |  |  |RO|   |  |  |  |  ]
[    0.400267] efi: memattr:  0x0000bdbac000-0x0000bdbb0fff [Runtime Code       |RUN|  |  |XP|  |  |  |   |  |  |  |  ]
Matthew Garrett July 14, 2019, 11:48 p.m. UTC | #14
Hmm that's weird - that's a surprisingly large region of reserved
space. I've no idea why that would be covered, and it definitely makes
things more complicated.
Matthew Garrett July 15, 2019, 7:44 p.m. UTC | #15
On Sun, Jul 14, 2019 at 4:48 PM Matthew Garrett <mjg59@google.com> wrote:
>
> Hmm that's weird - that's a surprisingly large region of reserved
> space. I've no idea why that would be covered, and it definitely makes
> things more complicated.

My gut feeling here is that we should figure out something with the
NVS code to handle the common case, and independently try to figure
out what's going on with this machine.

Patch
diff mbox series

--- a/drivers/char/tpm/tpm_crb.c	2019-07-07 18:41:56.000000000 -0400
+++ b/drivers/char/tpm/tpm_crb.c	2019-07-10 11:12:37.269766833 -0400
@@ -108,6 +108,12 @@ 
 	u32 smc_func_id;
 };
 
+static bool force;
+#ifdef CONFIG_X86
+module_param(force, bool, 0444);
+MODULE_PARM_DESC(force, "Force register provided mappings to overcome broken acpi tables");
+#endif
+
 static bool crb_wait_for_reg_32(u32 __iomem *reg, u32 mask, u32 value,
 				unsigned long timeout)
 {
@@ -460,9 +466,12 @@ 
 	if (start != new_res.start)
 		return (void __iomem *) ERR_PTR(-EINVAL);
 
-	if (!resource_contains(io_res, &new_res))
-		return devm_ioremap_resource(dev, &new_res);
-
+	if (!resource_contains(io_res, &new_res)){
+		if (force)
+			return ioremap(start, size);
+		else
+			return devm_ioremap_resource(dev, &new_res);
+	}
 	return priv->iobase + (new_res.start - io_res->start);
 }
 
@@ -480,6 +489,11 @@ 
 	if (start + size - 1 <= io_res->end)
 		return size;
 
+	if (force) {
+		dev_err(dev, FW_BUG "ACPI cmd size broken. Using %llX\n", size);
+		return size;
+	}
+
 	dev_err(dev,
 		FW_BUG "ACPI region does not cover the entire command/response buffer. %pr vs %llx %llx\n",
 		io_res, start, size);
@@ -512,8 +526,11 @@ 
 		dev_err(dev, FW_BUG "TPM2 ACPI table does not define a memory resource\n");
 		return -EINVAL;
 	}
+	if (force)
+		priv->iobase = ioremap(io_res.start, io_res.end - io_res.start + 1);
+	else
+		priv->iobase = devm_ioremap_resource(dev, &io_res);
 
-	priv->iobase = devm_ioremap_resource(dev, &io_res);
 	if (IS_ERR(priv->iobase))
 		return PTR_ERR(priv->iobase);