Message ID | BCA04D5D9A3B764C9B7405BBA4D4A3C035EF7BC7@ALPMBAPA12.e2k.ad.ge.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tpm_crb - workaround broken ACPI tables | expand |
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
> 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
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
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
> 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
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?
> 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
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
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
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.
> > 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]
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?
> 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| | | | | | | | ]
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.
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.
--- 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);
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>