When tboot rewrites the e820 map on the X1 Carbon (booting Legacy, not
UEFI), it discards a >2GiB region of memory below the 4GiB boundary.

e820 map without tboot:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009cfff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009d000-0x000000000009ffff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff]
reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000000fffffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000010000000-0x000000001000afff]
reserved
[    0.000000] BIOS-e820: [mem 0x000000001000b000-0x00000000bdcaffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000bdcb0000-0x00000000cc7fefff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000cc7ff000-0x00000000cc97efff] ACPI
NVS
[    0.000000] BIOS-e820: [mem 0x00000000cc97f000-0x00000000cc9fefff] ACPI
data
[    0.000000] BIOS-e820: [mem 0x00000000cc9ff000-0x00000000cfffffff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed08000-0x00000000fed08fff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed10000-0x00000000fed19fff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000ffa00000-0x00000000ffffffff]
reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000022dffffff] usable

e820 map with tboot:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000005ffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000000060000-0x0000000000067fff]
reserved
[    0.000000] BIOS-e820: [mem 0x0000000000068000-0x000000000009cfff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009d000-0x000000000009ffff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff]
reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000007fffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000000800000-0x0000000000ac8fff]
reserved
[    0.000000] BIOS-e820: [mem 0x0000000000ac9000-0x000000000fffffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000010000000-0x00000000cc7fefff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000cc7ff000-0x00000000cc97efff] ACPI
NVS
[    0.000000] BIOS-e820: [mem 0x00000000cc97f000-0x00000000cc9fefff] ACPI
data
[    0.000000] BIOS-e820: [mem 0x00000000cc9ff000-0x00000000cfffffff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed08000-0x00000000fed08fff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed10000-0x00000000fed19fff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed2ffff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff]
reserved
[    0.000000] BIOS-e820: [mem 0x00000000ffa00000-0x00000000ffffffff]
reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000022dffffff] usable

Note the missing "[mem 0x000000001000b000-0x00000000bdcaffff] usable" line
when tboot is in use, represending ~2.6GiB.

Culprit code is common/e820.c:630-636. My interpretation of the comment
nearby is that this code is trying to avoid DMA-protecting reserved regions
<4GiB, but that region isn't reserved, nor does it overlap with any
reserved regions on this platform. I suspect this code is just being a
little bit too conservative.

Help?

Justin
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
tboot-devel mailing list
tboot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tboot-devel

Reply via email to