On 05/03/2013 02:18 PM, Ross Philipson wrote:
On 05/03/2013 10:31 AM, Konrad Rzeszutek Wilk wrote:
Only Unusable AddressRange is forbidden to be used by OS. So we set tboot
memory as E820_UNUSABLE for both Linux kernel& Xen cases in the beginning.
But in Linux case, we then found some issues so we had to reset the type to
RESERVED to fix that issue.
That is all I can recall now.
Ok, well we are running into a problem too with our dom0 Linux. It is
trying to map that range at 0x800000 even though it is clearly marked as
E820_UNUSABLE in the memory map that it is provided. This seems
completely wrong and Xen mm code crashes when this occurs. So we wanted
to understand all aspects of this in trying to figure this out. Thanks
for the explanation. If you could remember what issue you saw in Linux
that caused you to switch to using reserved that might prove helpful.
It could be a bug in the Linux arch/x86/xen/setup.c code that parses the E820
provided by Xen. There is code in there to mark 'balloon' memory as
E820_UNUSABLE
and it might be squashing the tboot E820_UNUSABLE along with its own
region of E820_RAM that it has marked as E820_UNUSABLE.
What version of Linux kernel are you running and what does the earlyprintk=xen
(on the Linux line) give you?
Oh I am sorry - I gave you incorrect information. We are not seeing the
crash on our xenified 2.6.32 kernel. We just started seeing it in our
newer 3.2 pvops kernel. Sorry for the confusion.
Thanks
And the list blocked my earlier post of the log because it was too big.
Here is a truncated version with just the output from dom0 and the crash.
--
Ross Philipson
[ 0.000000] Reserving virtual address space above 0xff400000
[ 0.000000] Linux version 3.2.39 (build@scoot) (gcc version 4.6.4 20120303
(prerelease) (GCC) ) #1 SMP Wed Apr 3 17:14:16 UTC 2013
[ 0.000000] Freeing 60-68 pfn range: 8 pages freed
[ 0.000000] Freeing 9c-100 pfn range: 100 pages freed
[ 0.000000] Freeing 800-975 pfn range: 373 pages freed
[ 0.000000] Released 481 pages of unused memory
[ 0.000000] Set 160226 page(s) to 1-1 mapping
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] Xen: 0000000000000000 - 0000000000060000 (usable)
[ 0.000000] Xen: 0000000000060000 - 0000000000068000 (reserved)
[ 0.000000] Xen: 0000000000068000 - 000000000009c000 (usable)
[ 0.000000] Xen: 000000000009c400 - 0000000000100000 (reserved)
[ 0.000000] Xen: 0000000000100000 - 0000000000800000 (usable)
[ 0.000000] Xen: 0000000000800000 - 0000000000975000 (unusable)
[ 0.000000] Xen: 0000000000975000 - 0000000020000000 (usable)
[ 0.000000] Xen: 0000000020000000 - 0000000020200000 (reserved)
[ 0.000000] Xen: 0000000020200000 - 0000000040004000 (usable)
[ 0.000000] Xen: 0000000040004000 - 0000000040005000 (reserved)
[ 0.000000] Xen: 0000000040005000 - 0000000060000000 (usable)
[ 0.000000] Xen: 0000000060000000 - 0000000060200000 (reserved)
[ 0.000000] Xen: 0000000060200000 - 00000000b0401000 (usable)
[ 0.000000] Xen: 00000000b0401000 - 00000000d9400000 (unusable)
[ 0.000000] Xen: 00000000d9400000 - 00000000d9c28000 (reserved)
[ 0.000000] Xen: 00000000d9c28000 - 00000000d9e5a000 (ACPI NVS)
[ 0.000000] Xen: 00000000d9e5a000 - 00000000d9e67000 (reserved)
[ 0.000000] Xen: 00000000d9e67000 - 00000000d9ea8000 (ACPI NVS)
[ 0.000000] Xen: 00000000d9ea8000 - 00000000d9ead000 (reserved)
[ 0.000000] Xen: 00000000d9ead000 - 00000000d9ef0000 (ACPI NVS)
[ 0.000000] Xen: 00000000d9ef0000 - 00000000dac00000 (reserved)
[ 0.000000] Xen: 00000000daf00000 - 00000000db000000 (unusable)
[ 0.000000] Xen: 00000000db800000 - 00000000dfa00000 (reserved)
[ 0.000000] Xen: 00000000f8000000 - 00000000fc000000 (reserved)
[ 0.000000] Xen: 00000000fec00000 - 00000000fec01000 (reserved)
[ 0.000000] Xen: 00000000fed00000 - 00000000fed04000 (reserved)
[ 0.000000] Xen: 00000000fed1c000 - 00000000fed20000 (reserved)
[ 0.000000] Xen: 00000000fed20000 - 00000000fed30000 (unusable)
[ 0.000000] Xen: 00000000fee00000 - 00000000fee01000 (reserved)
[ 0.000000] Xen: 00000000ff000000 - 0000000100000000 (reserved)
[ 0.000000] Xen: 0000000100000000 - 000000021e600000 (unusable)
[ 0.000000] bootconsole [xenboot0] enabled
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] SMBIOS 2.7 present.
[ 0.000000] last_pfn = 0xb0401 max_arch_pfn = 0x1000000
[ 0.000000] init_memory_mapping: 0000000000000000-0000000036ffe000
(XEN) mm.c:901:d0 Error getting mfn 14060 (pfn 5555555555555555) from L1 entry
0000000014060023 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4971:d0 ptwr_emulate: fixing up invalid PAE PTE 0000000014060023
(XEN) mm.c:901:d0 Error getting mfn 14061 (pfn 5555555555555555) from L1 entry
0000000014061023 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4971:d0 ptwr_emulate: fixing up invalid PAE PTE 0000000014061023
(XEN) mm.c:901:d0 Error getting mfn 14062 (pfn 5555555555555555) from L1 entry
0000000014062023 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4971:d0 ptwr_emulate: fixing up invalid PAE PTE 0000000014062023
(XEN) mm.c:901:d0 Error getting mfn 14063 (pfn 5555555555555555) from L1 entry
0000000014063023 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4971:d0 ptwr_emulate: fixing up invalid PAE PTE 0000000014063023
(XEN) mm.c:901:d0 Error getting mfn 14064 (pfn 5555555555555555) from L1 entry
0000000014064023 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4971:d0 ptwr_emulate: fixing up invalid PAE PTE 0000000014064023
(XEN) mm.c:901:d0 Error getting mfn 14065 (pfn 5555555555555555) from L1 entry
0000000014065023 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4971:d0 ptwr_emulate: fixing up invalid PAE PTE 0000000014065023
(XEN) mm.c:901:d0 Error getting mfn 14066 (pfn 5555555555555555) from L1 entry
0000000014066023 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4971:d0 ptwr_emulate: fixing up invalid PAE PTE 0000000014066023
(XEN) mm.c:901:d0 Error getting mfn 14067 (pfn 5555555555555555) from L1 entry
0000000014067023 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4971:d0 ptwr_emulate: fixing up invalid PAE PTE 0000000014067023
(XEN) mm.c:901:d0 Error getting mfn 1409c (pfn 5555555555555555) from L1 entry
000000001409c023 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4971:d0 ptwr_emulate: fixing up invalid PAE PTE 000000001409c023
(XEN) mm.c:901:d0 Error getting mfn 1409d (pfn 5555555555555555) from L1 entry
000000001409d023 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4971:d0 ptwr_emulate: fixing up invalid PAE PTE 000000001409d023
(XEN) mm.c:901:d0 Error getting mfn 1409e (pfn 5555555555555555) from L1 entry
000000001409e023 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4971:d0 ptwr_emulate: fixing up invalid PAE PTE 000000001409e023
(XEN) mm.c:901:d0 Error getting mfn 1409f (pfn 5555555555555555) from L1 entry
000000001409f023 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4971:d0 ptwr_emulate: fixing up invalid PAE PTE 000000001409f023
(XEN) mm.c:901:d0 Error getting mfn 14800 (pfn 5555555555555555) from L1 entry
0000000014800023 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4971:d0 ptwr_emulate: fixing up invalid PAE PTE 0000000014800023
(XEN) mm.c:901:d0 Error getting mfn 800 (pfn 5555555555555555) from L1 entry
0000000000800403 for l1e_owner=0, pg_owner=0
(XEN) mm.c:4976:d0 ptwr_emulate: could not get_page_from_l1e()
[ 0.000000] BUG: unable to handle kernel NULL pointer dereference at
(null)
[ 0.000000] IP: [<c100851f>] xen_set_pte+0x2f/0x80
[ 0.000000] *pdpt = 0000000000000000 *pde = 229fa00000000d2e *pte =
229fabfb30a0ad2f
[ 0.000000] Oops: 0003 [#1] SMP
[ 0.000000] Modules linked in:
[ 0.000000]
[ 0.000000] Pid: 0, comm: swapper Not tainted 3.2.39 #1 Dell Inc. Latitude
E6430/0DV71K
[ 0.000000] EIP: e019:[<c100851f>] EFLAGS: 00010046 CPU: 0
[ 0.000000] EIP is at xen_set_pte+0x2f/0x80
[ 0.000000] EAX: c285f000 EBX: ffffffff ECX: 00000000 EDX: 00000000
[ 0.000000] ESI: 00000000 EDI: 00800403 EBP: c1625e40 ESP: c1625e20
[ 0.000000] DS: e021 ES: e021 FS: 00d8 GS: 0000 SS: e021
[ 0.000000] Process swapper (pid: 0, ti=c1624000 task=c1629f20
task.ti=c1624000)
[ 0.000000] Stack:
[ 0.000000] 00000000 00000000 c1625e3c c10055d1 c285f000 ffffffff 00000000
00000800
[ 0.000000] c1625e4c c1681a93 c0800000 c1625e54 c1443593 c1625ea0 c169034c
00000801
[ 0.000000] c285f000 00000000 c1772020 00000004 00036ffe 00000000 00800000
c16f4018
[ 0.000000] Call Trace:
[ 0.000000] [<c10055d1>] ? xen_make_pte+0x61/0x100
[ 0.000000] [<c1681a93>] xen_set_pte_init+0x15/0x18
[ 0.000000] [<c1443593>] set_pte+0x14/0x16
[ 0.000000] [<c169034c>] kernel_physical_mapping_init+0x19b/0x262
[ 0.000000] [<c142a2ad>] init_memory_mapping+0x1cd/0x4e0
[ 0.000000] [<c1683879>] setup_arch+0x760/0xd06
[ 0.000000] [<c167e4bb>] start_kernel+0x75/0x2db
[ 0.000000] [<c167e0ba>] i386_start_kernel+0xa9/0xaf
[ 0.000000] [<c1680f97>] xen_start_kernel+0x5a6/0x5ae
[ 0.000000] Code: 89 d7 56 89 ce 53 83 ec 14 89 45 f0 a1 64 22 67 c1 85 c0
75 20 8b 45 f0 89 fa 89 f1 e8 fb fc ff ff 84 c0 75 08 8b 45 f0 89 70 04 <89> 38
83 c4 14 5b 5e 5f 5d c3 a1 70 22 67 c1 85 c0 89 45
[ 0.000000] EIP: [<c100851f>] xen_set_pte+0x2f/0x80 SS:ESP e021:c1625e20
[ 0.000000] CR2: 0000000000000000
[ 0.000000] ---[ end trace a01632e227b357f8 ]---
[ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
[ 0.000000] Pid: 0, comm: swapper Tainted: G D 3.2.39 #1
[ 0.000000] Call Trace:
[ 0.000000] [<c1444500>] ? printk+0x18/0x1a
[ 0.000000] [<c14443da>] panic+0x57/0x160
[ 0.000000] [<c1072e2a>] ? blocking_notifier_call_chain+0x1a/0x20
[ 0.000000] [<c1054377>] do_exit+0x637/0x710
[ 0.000000] [<c1009648>] ? __raw_callee_save_xen_save_fl+0x8/0x8
[ 0.000000] [<c144c3c7>] ? _raw_spin_unlock_irqrestore+0x17/0x20
[ 0.000000] [<c1052327>] ? kmsg_dump+0x37/0xc0
[ 0.000000] [<c1444500>] ? printk+0x18/0x1a
[ 0.000000] [<c10153f5>] oops_end+0x95/0xd0
[ 0.000000] [<c1443d8c>] no_context+0x173/0x17b
[ 0.000000] [<c1443ebd>] __bad_area_nosemaphore+0x129/0x131
[ 0.000000] [<c1034d20>] ? vmalloc_sync_all+0x240/0x240
[ 0.000000] [<c1443ed7>] bad_area_nosemaphore+0x12/0x14
[ 0.000000] [<c1034fc7>] do_page_fault+0x2a7/0x400
[ 0.000000] [<c121f221>] ? format_decode+0x341/0x3b0
[ 0.000000] [<c1034d20>] ? vmalloc_sync_all+0x240/0x240
[ 0.000000] [<c144cabe>] error_code+0x5a/0x60
[ 0.000000] [<c1034d20>] ? vmalloc_sync_all+0x240/0x240
[ 0.000000] [<c100851f>] ? xen_set_pte+0x2f/0x80
[ 0.000000] [<c10055d1>] ? xen_make_pte+0x61/0x100
[ 0.000000] [<c1681a93>] xen_set_pte_init+0x15/0x18
[ 0.000000] [<c1443593>] set_pte+0x14/0x16
[ 0.000000] [<c169034c>] kernel_physical_mapping_init+0x19b/0x262
[ 0.000000] [<c142a2ad>] init_memory_mapping+0x1cd/0x4e0
[ 0.000000] [<c1683879>] setup_arch+0x760/0xd06
[ 0.000000] [<c167e4bb>] start_kernel+0x75/0x2db
[ 0.000000] [<c167e0ba>] i386_start_kernel+0xa9/0xaf
[ 0.000000] [<c1680f97>] xen_start_kernel+0x5a6/0x5ae
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.
TBOOT: wait until all APs ready for txt shutdown
TBOOT: cap'ed dynamic PCRs
TBOOT: waiting for APs (0) to exit guests...
TBOOT: .
TBOOT:
TBOOT: all APs exited guests
TBOOT: secrets flag cleared
TBOOT: memory configuration unlocked
TBOOT: private config space closed
TBOOT: executing GETSEC[SEXIT]...
TBOOT: measured environment torn down
TBOOT: shutdown_system() called for shutdown_type: TB_SHUTDOWN_REBOOT
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
tboot-devel mailing list
tboot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tboot-devel