All of lore.kernel.org
 help / color / mirror / Atom feed
* [BUGFIX] [PATCH] kexec/x86: Do map crash kernel area
@ 2014-01-01 16:51 Don Slutz
  2014-01-01 17:47 ` Andrew Cooper
  2014-01-02 10:46 ` David Vrabel
  0 siblings, 2 replies; 9+ messages in thread
From: Don Slutz @ 2014-01-01 16:51 UTC (permalink / raw)
  To: xen-devel
  Cc: Keir Fraser, Ian Campbell, George Dunlap, Daniel Kiper,
	Don Slutz, David Vrabel, Jan Beulich

Revert of commit 7113a45451a9f656deeff070e47672043ed83664

Using kexec commit 027413d822fd57dd39d2d2afab1484bc6b6b84f9

With "crashkernel=256M@256M" ((XEN) Kdump: 256MB (262144kB) at 0x10000000)

~/kexec/build/sbin/kexec -p '--command-line=placeholder root=/dev/mapper/vg_f17--xen-lv_root ro rd.md=0 rd.dm=0 rd.lvm.lv=vg_f17-xen/lv_swap KEYTABLE=us SYSFONT=True rd.luks=0 console=ttyS0,9600n8 rd.lvm.lv=vg_f17-xen/lv_root LANG=en_US.UTF-8 earlyprintk=ttyS0 rd_NO_PLYMOUTH irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off' --initrd=/boot/initramfs-3.8.11-100.fc17.x86_64kdump.img /boot/vmlinuz-3.8.11-100.fc17.x86_64

Without it:

(XEN) [2014-01-01 15:40:12] ----[ Xen-4.4-unstable  x86_64  debug=n  Not tainted ]----
(XEN) [2014-01-01 15:40:12] CPU:    5
(XEN) [2014-01-01 15:40:12] RIP:    e008:[<ffff82d08021f1c9>] clear_page_sse2+0x9/0x30
(XEN) [2014-01-01 15:40:12] RFLAGS: 0000000000010216   CONTEXT: hypervisor
(XEN) [2014-01-01 15:40:12] rax: 0000000000000000   rbx: ffff8300104c6000   rcx: 00000000000000ff
(XEN) [2014-01-01 15:40:12] rdx: ffff830000000000   rsi: ffffffffffffffff   rdi: ffff8300104c6000
(XEN) [2014-01-01 15:40:12] rbp: 0000000000000007   rsp: ffff830823fdfcf0   r8:  00000000000104c6
(XEN) [2014-01-01 15:40:12] r9:  00000000104c7000   r10: 0000000000000000   r11: 00000000004c6000
(XEN) [2014-01-01 15:40:12] r12: ffff83083fb1bdb0   r13: ffff83083fb1bcc0   r14: 00000000104c6000
(XEN) [2014-01-01 15:40:12] r15: 0000000000100000   cr0: 0000000080050033   cr4: 00000000000426f0
(XEN) [2014-01-01 15:40:12] cr3: 0000000650813000   cr2: ffff8300104c6000
(XEN) [2014-01-01 15:40:12] ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
(XEN) [2014-01-01 15:40:12] Xen stack trace from rsp=ffff830823fdfcf0:
(XEN) [2014-01-01 15:40:12]    ffff82d080161dd1 ffff83083fb1bdb0 ffff82d080114d96 ffff830823fb7000
(XEN) [2014-01-01 15:40:12]    ffff82e0002098c0 0000000000000007 ffff830823fdfde0 ffff83083fb1bcc0
(XEN) [2014-01-01 15:40:12]    ffff83083fb1bdb0 0000000000000007 ffff830823fdfde0 ffff83083fb1bcc0
(XEN) [2014-01-01 15:40:12]    ffff82d0801150f4 0000000000000010 ffff83083fb1bd80 00000000000000e0
(XEN) [2014-01-01 15:40:12]    00000000fffffff2 0000000010000000 0000000020000000 ffff830823fdfde0
(XEN) [2014-01-01 15:40:12]    000000000000003e 0000000000000003 ffff82d0801152ec 00007f0df697d004
(XEN) [2014-01-01 15:40:12]    ffff83083fb1bcc0 00007ffffa0b1bd0 ffff880055784228 00007ffffa0b1bd0
(XEN) [2014-01-01 15:40:12]    ffff82d0801143e1 0000000000000002 0000000000000000 ffff83083f4bebe8
(XEN) [2014-01-01 15:40:12]    ffff82d08017c28a 0000000000000000 ffff830823fb70b0 0000000000000000
(XEN) [2014-01-01 15:40:12]    000000000083f4be ffff82d08012a6cb ffff8300bf2f9060 ffff82d0802ea620
(XEN) [2014-01-01 15:40:12]    ffff830823fd8000 00000007003e0001 00007f0df697e004 000000001ff53720
(XEN) [2014-01-01 15:40:12]    0000000100000007 ffff82e0107e97c0 ffff830823fb7000 0000000000000007
(XEN) [2014-01-01 15:40:12]    0000000000000001 ffff83083f4be000 ffff8300bf2f9000 000000000083f4be
(XEN) [2014-01-01 15:40:12]    ffff82d080218a58 ffff830823fdff18 ffff82d080218b32 ffff830823fd8000
(XEN) [2014-01-01 15:40:12]    0000000000000000 0000000000000217 00000032fd4ee0a7 0000000000000100
(XEN) [2014-01-01 15:40:12]    00000032fd4ee0a7 0000000000000033 ffff8300bf2f9000 ffff880057605e88
(XEN) [2014-01-01 15:40:12]    00007ffffa0b1bd0 ffff880055784228 ffff82d0801144ab 0000000000000000
(XEN) [2014-01-01 15:40:12]    ffff82d08021df79 00000026d8eb3c18 00000026d8f9b240 0000000000000000
(XEN) [2014-01-01 15:40:12]    000000280f8095dc ffff880057605e88 ffff880005331c00 0000000000000286
(XEN) [2014-01-01 15:40:12]    00007ffffa0b1d90 ffff88000561c180 000000001ff53720 0000000000000025
(XEN) [2014-01-01 15:40:12] Xen call trace:
(XEN) [2014-01-01 15:40:12]    [<ffff82d08021f1c9>] clear_page_sse2+0x9/0x30
(XEN) [2014-01-01 15:40:12]    [<ffff82d080161dd1>] clear_domain_page+0x11/0x20
(XEN) [2014-01-01 15:40:12]    [<ffff82d080114d96>] kimage_alloc_control_page+0x246/0x2d0
(XEN) [2014-01-01 15:40:12]    [<ffff82d0801150f4>] do_kimage_alloc+0x1c4/0x2e0
(XEN) [2014-01-01 15:40:12]    [<ffff82d0801152ec>] kimage_alloc+0xdc/0x100
(XEN) [2014-01-01 15:40:12]    [<ffff82d0801143e1>] do_kexec_op_internal+0x5f1/0x6b0
(XEN) [2014-01-01 15:40:12]    [<ffff82d08017c28a>] do_mmu_update+0x34a/0x1bf0
(XEN) [2014-01-01 15:40:12]    [<ffff82d08012a6cb>] add_entry+0x4b/0xb0
(XEN) [2014-01-01 15:40:12]    [<ffff82d080218a58>] toggle_guest_mode+0x28/0x40
(XEN) [2014-01-01 15:40:12]    [<ffff82d080218b32>] do_iret+0xc2/0x1a0
(XEN) [2014-01-01 15:40:12]    [<ffff82d0801144ab>] do_kexec_op+0xb/0x20
(XEN) [2014-01-01 15:40:12]    [<ffff82d08021df79>] syscall_enter+0xa9/0xae
(XEN) [2014-01-01 15:40:12]
(XEN) [2014-01-01 15:40:12] Pagetable walk from ffff8300104c6000:
(XEN) [2014-01-01 15:40:12]  L4[0x106] = 00000000bf468063 ffffffffffffffff
(XEN) [2014-01-01 15:40:12]  L3[0x000] = 00000000bf462063 ffffffffffffffff
(XEN) [2014-01-01 15:40:12]  L2[0x082] = 0000000000000000 ffffffffffffffff
(XEN) [2014-01-01 15:40:16]
(XEN) [2014-01-01 15:40:16] ****************************************
(XEN) [2014-01-01 15:40:16] Panic on CPU 5:
(XEN) [2014-01-01 15:40:16] FATAL PAGE FAULT
(XEN) [2014-01-01 15:40:16] [error_code=0002]
(XEN) [2014-01-01 15:40:16] Faulting linear address: ffff8300104c6000
(XEN) [2014-01-01 15:40:17] ****************************************
(XEN) [2014-01-01 15:40:17]
(XEN) [2014-01-01 15:40:17] Reboot in five seconds...

With this patch no panic and crash kernel works.

Signed-off-by: Don Slutz <dslutz@verizon.com>
---
 xen/arch/x86/setup.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 4833ca3..90f3294 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1098,6 +1098,10 @@ void __init __start_xen(unsigned long mbi_p)
                          PFN_UP(mod[i].mod_end), PAGE_HYPERVISOR);
     }
 
+    map_pages_to_xen((unsigned long)__va(kexec_crash_area.start),
+                     kexec_crash_area.start >> PAGE_SHIFT,
+                     PFN_UP(kexec_crash_area.size), PAGE_HYPERVISOR);
+
     xen_virt_end = ((unsigned long)_end + (1UL << L2_PAGETABLE_SHIFT) - 1) &
                    ~((1UL << L2_PAGETABLE_SHIFT) - 1);
     destroy_xen_mappings(xen_virt_end, XEN_VIRT_START + BOOTSTRAP_MAP_BASE);
-- 
1.7.11.7

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [BUGFIX] [PATCH] kexec/x86: Do map crash kernel area
  2014-01-01 16:51 [BUGFIX] [PATCH] kexec/x86: Do map crash kernel area Don Slutz
@ 2014-01-01 17:47 ` Andrew Cooper
  2014-01-02  1:41   ` Daniel Kiper
  2014-01-02 10:46 ` David Vrabel
  1 sibling, 1 reply; 9+ messages in thread
From: Andrew Cooper @ 2014-01-01 17:47 UTC (permalink / raw)
  To: Don Slutz, xen-devel
  Cc: Keir Fraser, Ian Campbell, George Dunlap, Daniel Kiper,
	David Vrabel, Jan Beulich

On 01/01/2014 16:51, Don Slutz wrote:
> Revert of commit 7113a45451a9f656deeff070e47672043ed83664
>
> Using kexec commit 027413d822fd57dd39d2d2afab1484bc6b6b84f9
>
> With "crashkernel=256M@256M" ((XEN) Kdump: 256MB (262144kB) at 0x10000000)
>
> ~/kexec/build/sbin/kexec -p '--command-line=placeholder root=/dev/mapper/vg_f17--xen-lv_root ro rd.md=0 rd.dm=0 rd.lvm.lv=vg_f17-xen/lv_swap KEYTABLE=us SYSFONT=True rd.luks=0 console=ttyS0,9600n8 rd.lvm.lv=vg_f17-xen/lv_root LANG=en_US.UTF-8 earlyprintk=ttyS0 rd_NO_PLYMOUTH irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off' --initrd=/boot/initramfs-3.8.11-100.fc17.x86_64kdump.img /boot/vmlinuz-3.8.11-100.fc17.x86_64
>
> Without it:
>
> (XEN) [2014-01-01 15:40:12] ----[ Xen-4.4-unstable  x86_64  debug=n  Not tainted ]----
> (XEN) [2014-01-01 15:40:12] CPU:    5
> (XEN) [2014-01-01 15:40:12] RIP:    e008:[<ffff82d08021f1c9>] clear_page_sse2+0x9/0x30
> (XEN) [2014-01-01 15:40:12] RFLAGS: 0000000000010216   CONTEXT: hypervisor
> (XEN) [2014-01-01 15:40:12] rax: 0000000000000000   rbx: ffff8300104c6000   rcx: 00000000000000ff
> (XEN) [2014-01-01 15:40:12] rdx: ffff830000000000   rsi: ffffffffffffffff   rdi: ffff8300104c6000
> (XEN) [2014-01-01 15:40:12] rbp: 0000000000000007   rsp: ffff830823fdfcf0   r8:  00000000000104c6
> (XEN) [2014-01-01 15:40:12] r9:  00000000104c7000   r10: 0000000000000000   r11: 00000000004c6000
> (XEN) [2014-01-01 15:40:12] r12: ffff83083fb1bdb0   r13: ffff83083fb1bcc0   r14: 00000000104c6000
> (XEN) [2014-01-01 15:40:12] r15: 0000000000100000   cr0: 0000000080050033   cr4: 00000000000426f0
> (XEN) [2014-01-01 15:40:12] cr3: 0000000650813000   cr2: ffff8300104c6000
> (XEN) [2014-01-01 15:40:12] ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
> (XEN) [2014-01-01 15:40:12] Xen stack trace from rsp=ffff830823fdfcf0:
> (XEN) [2014-01-01 15:40:12]    ffff82d080161dd1 ffff83083fb1bdb0 ffff82d080114d96 ffff830823fb7000
> (XEN) [2014-01-01 15:40:12]    ffff82e0002098c0 0000000000000007 ffff830823fdfde0 ffff83083fb1bcc0
> (XEN) [2014-01-01 15:40:12]    ffff83083fb1bdb0 0000000000000007 ffff830823fdfde0 ffff83083fb1bcc0
> (XEN) [2014-01-01 15:40:12]    ffff82d0801150f4 0000000000000010 ffff83083fb1bd80 00000000000000e0
> (XEN) [2014-01-01 15:40:12]    00000000fffffff2 0000000010000000 0000000020000000 ffff830823fdfde0
> (XEN) [2014-01-01 15:40:12]    000000000000003e 0000000000000003 ffff82d0801152ec 00007f0df697d004
> (XEN) [2014-01-01 15:40:12]    ffff83083fb1bcc0 00007ffffa0b1bd0 ffff880055784228 00007ffffa0b1bd0
> (XEN) [2014-01-01 15:40:12]    ffff82d0801143e1 0000000000000002 0000000000000000 ffff83083f4bebe8
> (XEN) [2014-01-01 15:40:12]    ffff82d08017c28a 0000000000000000 ffff830823fb70b0 0000000000000000
> (XEN) [2014-01-01 15:40:12]    000000000083f4be ffff82d08012a6cb ffff8300bf2f9060 ffff82d0802ea620
> (XEN) [2014-01-01 15:40:12]    ffff830823fd8000 00000007003e0001 00007f0df697e004 000000001ff53720
> (XEN) [2014-01-01 15:40:12]    0000000100000007 ffff82e0107e97c0 ffff830823fb7000 0000000000000007
> (XEN) [2014-01-01 15:40:12]    0000000000000001 ffff83083f4be000 ffff8300bf2f9000 000000000083f4be
> (XEN) [2014-01-01 15:40:12]    ffff82d080218a58 ffff830823fdff18 ffff82d080218b32 ffff830823fd8000
> (XEN) [2014-01-01 15:40:12]    0000000000000000 0000000000000217 00000032fd4ee0a7 0000000000000100
> (XEN) [2014-01-01 15:40:12]    00000032fd4ee0a7 0000000000000033 ffff8300bf2f9000 ffff880057605e88
> (XEN) [2014-01-01 15:40:12]    00007ffffa0b1bd0 ffff880055784228 ffff82d0801144ab 0000000000000000
> (XEN) [2014-01-01 15:40:12]    ffff82d08021df79 00000026d8eb3c18 00000026d8f9b240 0000000000000000
> (XEN) [2014-01-01 15:40:12]    000000280f8095dc ffff880057605e88 ffff880005331c00 0000000000000286
> (XEN) [2014-01-01 15:40:12]    00007ffffa0b1d90 ffff88000561c180 000000001ff53720 0000000000000025
> (XEN) [2014-01-01 15:40:12] Xen call trace:
> (XEN) [2014-01-01 15:40:12]    [<ffff82d08021f1c9>] clear_page_sse2+0x9/0x30
> (XEN) [2014-01-01 15:40:12]    [<ffff82d080161dd1>] clear_domain_page+0x11/0x20
> (XEN) [2014-01-01 15:40:12]    [<ffff82d080114d96>] kimage_alloc_control_page+0x246/0x2d0
> (XEN) [2014-01-01 15:40:12]    [<ffff82d0801150f4>] do_kimage_alloc+0x1c4/0x2e0
> (XEN) [2014-01-01 15:40:12]    [<ffff82d0801152ec>] kimage_alloc+0xdc/0x100
> (XEN) [2014-01-01 15:40:12]    [<ffff82d0801143e1>] do_kexec_op_internal+0x5f1/0x6b0
> (XEN) [2014-01-01 15:40:12]    [<ffff82d08017c28a>] do_mmu_update+0x34a/0x1bf0
> (XEN) [2014-01-01 15:40:12]    [<ffff82d08012a6cb>] add_entry+0x4b/0xb0
> (XEN) [2014-01-01 15:40:12]    [<ffff82d080218a58>] toggle_guest_mode+0x28/0x40
> (XEN) [2014-01-01 15:40:12]    [<ffff82d080218b32>] do_iret+0xc2/0x1a0
> (XEN) [2014-01-01 15:40:12]    [<ffff82d0801144ab>] do_kexec_op+0xb/0x20
> (XEN) [2014-01-01 15:40:12]    [<ffff82d08021df79>] syscall_enter+0xa9/0xae
> (XEN) [2014-01-01 15:40:12]
> (XEN) [2014-01-01 15:40:12] Pagetable walk from ffff8300104c6000:
> (XEN) [2014-01-01 15:40:12]  L4[0x106] = 00000000bf468063 ffffffffffffffff
> (XEN) [2014-01-01 15:40:12]  L3[0x000] = 00000000bf462063 ffffffffffffffff
> (XEN) [2014-01-01 15:40:12]  L2[0x082] = 0000000000000000 ffffffffffffffff
> (XEN) [2014-01-01 15:40:16]
> (XEN) [2014-01-01 15:40:16] ****************************************
> (XEN) [2014-01-01 15:40:16] Panic on CPU 5:
> (XEN) [2014-01-01 15:40:16] FATAL PAGE FAULT
> (XEN) [2014-01-01 15:40:16] [error_code=0002]
> (XEN) [2014-01-01 15:40:16] Faulting linear address: ffff8300104c6000
> (XEN) [2014-01-01 15:40:17] ****************************************
> (XEN) [2014-01-01 15:40:17]
> (XEN) [2014-01-01 15:40:17] Reboot in five seconds...
>
> With this patch no panic and crash kernel works.
>
> Signed-off-by: Don Slutz <dslutz@verizon.com>

Commit 7113a45451a9f656deeff070e47672043ed83664 was clearly not tested. 
kimage_alloc_crash_control_page() explicitly chooses a page inside the
crash region and clears it.

However, the sentiment of the commit is certainly desirable, to prevent
accidental playing in the crash region.

As the mappings are removed from Xen's directmap region,
map_domain_page() doesn't work (unless the debug highmem barrier is
sufficiently low that the crash regions ends up above it, and the
virtual address ends up coming from the mapcache).

This means that both here in clear_domain_page(), and later in
machine_kexec_load() where the code is copied in, is vulnerable to this
pagefault.

The solution to this problem which would leave the fewest mappings would
be to have kimage_alloc_crash_control_page() map the individual control
page to the main Xen pagetables, at which a call to point
map_domain_page() on it will work correctly.  This would need an
equivalent call to destroy_xen_mappings() in kimage_free().

However, it is far from neat.

I defer to others as to which approach is better, but suggest that one
way or another, the problem gets fixed very quickly, even if that means
taking this complete reversion now and submitting a proper fix in due
course.

~Andrew

> ---
>  xen/arch/x86/setup.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 4833ca3..90f3294 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1098,6 +1098,10 @@ void __init __start_xen(unsigned long mbi_p)
>                           PFN_UP(mod[i].mod_end), PAGE_HYPERVISOR);
>      }
>  
> +    map_pages_to_xen((unsigned long)__va(kexec_crash_area.start),
> +                     kexec_crash_area.start >> PAGE_SHIFT,
> +                     PFN_UP(kexec_crash_area.size), PAGE_HYPERVISOR);
> +
>      xen_virt_end = ((unsigned long)_end + (1UL << L2_PAGETABLE_SHIFT) - 1) &
>                     ~((1UL << L2_PAGETABLE_SHIFT) - 1);
>      destroy_xen_mappings(xen_virt_end, XEN_VIRT_START + BOOTSTRAP_MAP_BASE);

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [BUGFIX] [PATCH] kexec/x86: Do map crash kernel area
  2014-01-01 17:47 ` Andrew Cooper
@ 2014-01-02  1:41   ` Daniel Kiper
  2014-01-02 15:04     ` Don Slutz
  0 siblings, 1 reply; 9+ messages in thread
From: Daniel Kiper @ 2014-01-02  1:41 UTC (permalink / raw)
  To: Andrew Cooper
  Cc: Keir Fraser, Ian Campbell, George Dunlap, Don Slutz, xen-devel,
	David Vrabel, Jan Beulich

On Wed, Jan 01, 2014 at 05:47:16PM +0000, Andrew Cooper wrote:
> On 01/01/2014 16:51, Don Slutz wrote:

[...]

> > With this patch no panic and crash kernel works.
> >
> > Signed-off-by: Don Slutz <dslutz@verizon.com>
>
> Commit 7113a45451a9f656deeff070e47672043ed83664 was clearly not tested.
> kimage_alloc_crash_control_page() explicitly chooses a page inside the
> crash region and clears it.

I tested this patch earlier and now with latest Xen and kexec-tools commits.
I am not able to reproduce this issue on my machines. Don, could you
provide more details about your system and how did you build your
Xen and kexec-tools (configure, make options, etc.)?

Andrew, David, Did you run kexec tests in your automated test environment
with commit 7113a45451a9f656deeff070e47672043ed83664 applied? Could you
tell something about results?

> However, the sentiment of the commit is certainly desirable, to prevent
> accidental playing in the crash region.
>
> As the mappings are removed from Xen's directmap region,
> map_domain_page() doesn't work (unless the debug highmem barrier is
> sufficiently low that the crash regions ends up above it, and the
> virtual address ends up coming from the mapcache).
>
> This means that both here in clear_domain_page(), and later in
> machine_kexec_load() where the code is copied in, is vulnerable to this
> pagefault.
>
> The solution to this problem which would leave the fewest mappings would
> be to have kimage_alloc_crash_control_page() map the individual control
> page to the main Xen pagetables, at which a call to point
> map_domain_page() on it will work correctly.  This would need an
> equivalent call to destroy_xen_mappings() in kimage_free().
>
> However, it is far from neat.
>
> I defer to others as to which approach is better, but suggest that one
> way or another, the problem gets fixed very quickly, even if that means
> taking this complete reversion now and submitting a proper fix in due
> course.

I am on holiday until 06th January 2014 and I am not able to investigate
this issue deeper right now. If you feel that it is better to revert
this patch and later do second attempt to remove this mapping I do
not object.

Daniel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [BUGFIX] [PATCH] kexec/x86: Do map crash kernel area
  2014-01-01 16:51 [BUGFIX] [PATCH] kexec/x86: Do map crash kernel area Don Slutz
  2014-01-01 17:47 ` Andrew Cooper
@ 2014-01-02 10:46 ` David Vrabel
  2014-01-02 10:48   ` Andrew Cooper
  2014-01-07 12:11   ` Jan Beulich
  1 sibling, 2 replies; 9+ messages in thread
From: David Vrabel @ 2014-01-02 10:46 UTC (permalink / raw)
  To: Don Slutz
  Cc: Keir Fraser, Ian Campbell, George Dunlap, Daniel Kiper,
	xen-devel, Jan Beulich

On 01/01/14 16:51, Don Slutz wrote:
> Revert of commit 7113a45451a9f656deeff070e47672043ed83664

Since this commit introduced a regression, a revert is the best thing to
do here.

Acked-by: David Vrabel <david.vrabel@citrix.com>

> Using kexec commit 027413d822fd57dd39d2d2afab1484bc6b6b84f9
> 
> With "crashkernel=256M@256M" ((XEN) Kdump: 256MB (262144kB) at 0x10000000)

I guess Daniel tested a debug build without this crashkernel option.
This would place the crash region above the direct mapping region and
map_domain_page() would do the right thing.


> +    map_pages_to_xen((unsigned long)__va(kexec_crash_area.start),
> +                     kexec_crash_area.start >> PAGE_SHIFT,
> +                     PFN_UP(kexec_crash_area.size), PAGE_HYPERVISOR);
> +

This should be made conditional on the location of the crash region --
it is wrong to do this for portions of the crash region that are outside
the crash region.

David

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [BUGFIX] [PATCH] kexec/x86: Do map crash kernel area
  2014-01-02 10:46 ` David Vrabel
@ 2014-01-02 10:48   ` Andrew Cooper
  2014-01-02 11:49     ` David Vrabel
  2014-01-07 12:11   ` Jan Beulich
  1 sibling, 1 reply; 9+ messages in thread
From: Andrew Cooper @ 2014-01-02 10:48 UTC (permalink / raw)
  To: David Vrabel
  Cc: Keir Fraser, Ian Campbell, George Dunlap, Daniel Kiper,
	Don Slutz, xen-devel, Jan Beulich

On 02/01/14 10:46, David Vrabel wrote:
> On 01/01/14 16:51, Don Slutz wrote:
>> Revert of commit 7113a45451a9f656deeff070e47672043ed83664
> Since this commit introduced a regression, a revert is the best thing to
> do here.
>
> Acked-by: David Vrabel <david.vrabel@citrix.com>
>
>> Using kexec commit 027413d822fd57dd39d2d2afab1484bc6b6b84f9
>>
>> With "crashkernel=256M@256M" ((XEN) Kdump: 256MB (262144kB) at 0x10000000)
> I guess Daniel tested a debug build without this crashkernel option.
> This would place the crash region above the direct mapping region and
> map_domain_page() would do the right thing.
>
>
>> +    map_pages_to_xen((unsigned long)__va(kexec_crash_area.start),
>> +                     kexec_crash_area.start >> PAGE_SHIFT,
>> +                     PFN_UP(kexec_crash_area.size), PAGE_HYPERVISOR);
>> +
> This should be made conditional on the location of the crash region --
> it is wrong to do this for portions of the crash region that are outside
> the crash region.

Presume you mean "outside the direct-map region"?

~Andrew

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [BUGFIX] [PATCH] kexec/x86: Do map crash kernel area
  2014-01-02 10:48   ` Andrew Cooper
@ 2014-01-02 11:49     ` David Vrabel
  2014-01-07  0:23       ` Don Slutz
  0 siblings, 1 reply; 9+ messages in thread
From: David Vrabel @ 2014-01-02 11:49 UTC (permalink / raw)
  To: Andrew Cooper
  Cc: Keir Fraser, Ian Campbell, George Dunlap, Daniel Kiper,
	Don Slutz, xen-devel, Jan Beulich

On 02/01/14 10:48, Andrew Cooper wrote:
> On 02/01/14 10:46, David Vrabel wrote:
>> On 01/01/14 16:51, Don Slutz wrote:
>>> Revert of commit 7113a45451a9f656deeff070e47672043ed83664
>> Since this commit introduced a regression, a revert is the best thing to
>> do here.
>>
>> Acked-by: David Vrabel <david.vrabel@citrix.com>
>>
>>> Using kexec commit 027413d822fd57dd39d2d2afab1484bc6b6b84f9
>>>
>>> With "crashkernel=256M@256M" ((XEN) Kdump: 256MB (262144kB) at 0x10000000)
>> I guess Daniel tested a debug build without this crashkernel option.
>> This would place the crash region above the direct mapping region and
>> map_domain_page() would do the right thing.
>>
>>
>>> +    map_pages_to_xen((unsigned long)__va(kexec_crash_area.start),
>>> +                     kexec_crash_area.start >> PAGE_SHIFT,
>>> +                     PFN_UP(kexec_crash_area.size), PAGE_HYPERVISOR);
>>> +
>> This should be made conditional on the location of the crash region --
>> it is wrong to do this for portions of the crash region that are outside
>> the crash region.
> 
> Presume you mean "outside the direct-map region"?

Yes.

David

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [BUGFIX] [PATCH] kexec/x86: Do map crash kernel area
  2014-01-02  1:41   ` Daniel Kiper
@ 2014-01-02 15:04     ` Don Slutz
  0 siblings, 0 replies; 9+ messages in thread
From: Don Slutz @ 2014-01-02 15:04 UTC (permalink / raw)
  To: Daniel Kiper
  Cc: Keir Fraser, Ian Campbell, George Dunlap, Andrew Cooper,
	Don Slutz, xen-devel, David Vrabel, Jan Beulich

[-- Attachment #1: Type: text/plain, Size: 4387 bytes --]

On 01/01/14 20:41, Daniel Kiper wrote:
> On Wed, Jan 01, 2014 at 05:47:16PM +0000, Andrew Cooper wrote:
>> On 01/01/2014 16:51, Don Slutz wrote:
> [...]
>
>>> With this patch no panic and crash kernel works.
>>>
>>> Signed-off-by: Don Slutz <dslutz@verizon.com>
>> Commit 7113a45451a9f656deeff070e47672043ed83664 was clearly not tested.
>> kimage_alloc_crash_control_page() explicitly chooses a page inside the
>> crash region and clears it.
> I tested this patch earlier and now with latest Xen and kexec-tools commits.
> I am not able to reproduce this issue on my machines. Don, could you
> provide more details about your system and how did you build your
> Xen and kexec-tools (configure, make options, etc.)?

It is an older fedora17 system.

dcs-xen-54:~/xen>cat /etc/default/grub
GRUB_TIMEOUT=15
GRUB_DISTRIBUTOR="Fedora"
GRUB_DEFAULT=2
GRUB_TERMINAL="serial"
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=9600"
GRUB_CMDLINE_LINUX="rd.md=0 rd.dm=0 rd.lvm.lv=vg_f17-xen/lv_swap 
KEYTABLE=us SYSFONT=True rd.luks=0 console=ttyS0,9600n8 
rd.lvm.lv=vg_f17-xen/lv_root LANG=en_US.UTF-8 earlyprintk=ttyS0 
rd_NO_PLYMOUTH"
#GRUB_THEME="/boot/grub2/themes/system/theme.txt"
GRUB_CMDLINE_XEN="dom0_mem=2G loglvl=all guest_loglvl=all 
console_timestamps=1 com1=9600,8n1 console=com1 apic_verbosity=verbose 
crashkernel=256M@256M"
GRUB_CMDLINE_LINUX_XEN_REPLACE="rd.md=0 rd.dm=0 
rd.lvm.lv=vg_f17-xen/lv_swap  KEYTABLE=us SYSFONT=True rd.luks=0 
console=hvc0,9600n8 rd.lvm.lv=vg_f17-xen/lv_root LANG=en_US.UTF-8 
earlyprintk=xen rd_NO_PLYMOUTH"

dcs-xen-54:~/xen>cat .config
CONFIG_QEMU = http://xenbits.xen.org/git-http/qemu-xen-unstable.git
QEMU_UPSTREAM_EXTRA_CONFIG = --with-pkgversion=qemu-xen-4.4.0-rc1-0-gb97307e
QEMU_UPSTREAM_REVISION = qemu-xen-4.4.0-rc1
QEMU_UPSTREAM_URL = git@githq.cloudswitch.com:qemu.git
SEABIOS_UPSTREAM_TAG = rel-1.7.3.1
SEABIOS_UPSTREAM_URL = git@githq.cloudswitch.com:seabios-george.git
debug = n

dcs-xen-54:~/xen>uname -a
Linux dcs-xen-54 3.8.11-100.fc17.x86_64 #1 SMP Wed May 1 19:31:26 UTC 
2013 x86_64 x86_64 x86_64 GNU/Linux

Commands used to build (I use rpmbuild):

./configure --prefix=/usr --disable-stubdom
make dist
make -C xen MAP

The last is part of enabling xen crashdump analyser see:

http://lists.xen.org/archives/html/xen-devel/2013-02/msg01606.html

as are the patches:

* 588e9ba Adjust xen-crashdump-analyser info for 4.4.0
* f53550b Add new xen-crashdump-analyser info.
* a1f92d3 Introduce more offsets, and embed all offsets into the symbol file

Attached are these patches including the patch I use to enable rpmbuild 
(dcs-xen-54:~/xen>rpmbuild -bb xen-4.4.spec).  Not that I expect it to 
matter.  The "crashkernel=256M@256M" may be the key to reproducing it.

Also attached the complete console output from my test (kexec-broken.txt).

    -Don Slutz
> Andrew, David, Did you run kexec tests in your automated test environment
> with commit 7113a45451a9f656deeff070e47672043ed83664 applied? Could you
> tell something about results?
>
>> However, the sentiment of the commit is certainly desirable, to prevent
>> accidental playing in the crash region.
>>
>> As the mappings are removed from Xen's directmap region,
>> map_domain_page() doesn't work (unless the debug highmem barrier is
>> sufficiently low that the crash regions ends up above it, and the
>> virtual address ends up coming from the mapcache).
>>
>> This means that both here in clear_domain_page(), and later in
>> machine_kexec_load() where the code is copied in, is vulnerable to this
>> pagefault.
>>
>> The solution to this problem which would leave the fewest mappings would
>> be to have kimage_alloc_crash_control_page() map the individual control
>> page to the main Xen pagetables, at which a call to point
>> map_domain_page() on it will work correctly.  This would need an
>> equivalent call to destroy_xen_mappings() in kimage_free().
>>
>> However, it is far from neat.
>>
>> I defer to others as to which approach is better, but suggest that one
>> way or another, the problem gets fixed very quickly, even if that means
>> taking this complete reversion now and submitting a proper fix in due
>> course.
> I am on holiday until 06th January 2014 and I am not able to investigate
> this issue deeper right now. If you feel that it is better to revert
> this patch and later do second attempt to remove this mapping I do
> not object.
>
> Daniel


[-- Attachment #2: 0001-Adjust-to-use-rpmbuild.patch --]
[-- Type: text/x-patch, Size: 17163 bytes --]

>From 6654e8a1ba0077217c5b3c9d17ec2d154d199dc3 Mon Sep 17 00:00:00 2001
From: Don Slutz <dslutz@verizon.com>
Date: Wed, 30 Oct 2013 13:33:07 -0400
Subject: [PATCH 1/5] Adjust to use rpmbuild

Signed-off-by: Don Slutz <dslutz@verizon.com>
---
 gen_version.pl   | 391 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 update_config.pl | 109 ++++++++++++++++
 xen-4.4.spec     | 131 +++++++++++++++++++
 3 files changed, 631 insertions(+)
 create mode 100755 gen_version.pl
 create mode 100755 update_config.pl
 create mode 100644 xen-4.4.spec

diff --git a/gen_version.pl b/gen_version.pl
new file mode 100755
index 0000000..08ab7e6
--- /dev/null
+++ b/gen_version.pl
@@ -0,0 +1,391 @@
+#! /usr/bin/perl -w
+# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 2 -*-
+
+use strict;
+
+my $debug = 0;
+my $cygwin = $^O eq 'cygwin';
+my $brief = 0;
+my $major = 0;
+my $minor = 0;
+my $patch = 0;
+my $clean = 0;
+my $update = 0;
+my $tags = ' --tags';
+my $xen_conf = 0;
+
+while ((defined $ARGV[0]) &&
+       (substr($ARGV[0],0,1) eq '-')) {
+  my $opts = shift @ARGV;
+  if ($opts =~ /^-d(\d+)$/) {
+    $debug = $1;
+  } elsif ($opts eq '-d') {
+    $debug = shift @ARGV;
+  } elsif ($opts eq '-u') {
+    $cygwin = 0;
+  } elsif ($opts eq '-b') {
+    $brief = 1;
+  } elsif ($opts eq '-nt') {
+    $tags = '';
+  } elsif ($opts eq '-c') {
+    $xen_conf = 1;
+  } elsif ($opts eq '-major') {
+    $major = 1;
+  } elsif ($opts eq '-minor') {
+    $minor = 1;
+  } elsif ($opts eq '-patch') {
+    $patch = 1;
+  } elsif ($opts eq '-clean') {
+    $clean = 1;
+  } elsif ($opts eq '-update') {
+    $update = 1;
+  } else {
+    print "Unknown options \"$opts\" ignored\n";
+  }
+}
+
+die "Only one of -major -minor -patch" if ($major + $minor + $patch) > 1;
+
+$/ = "\cJ" if $cygwin;
+
+my $jenkins_build_number = $ENV{'BUILD_NUMBER'};
+$jenkins_build_number = '0000'
+  if ! defined $jenkins_build_number;
+
+sub clean_line {
+  my $line = shift @_;
+
+  chomp $line;
+  chop($line) if substr($line,-1,1) eq "\cM";
+  return $line;
+}
+
+sub three_parts {
+  my $ver = shift @_;
+  my @parts = split /-/, $ver;
+
+  while ($#parts > 2) {
+    my $old = shift @parts;
+    $parts[0] = $old.'-'. $parts[0];
+  }
+  return @parts;
+}
+
+my $branch = `basename \$(git rev-parse --abbrev-ref HEAD)`;
+chomp $branch;
+if ($debug =~ /br/) {
+  print STDERR "branch=$branch\n";
+}
+
+my %conf =
+  (
+   'QEMU_UPSTREAM_URL' => 'git@githq.cloudswitch.com:qemu.git',
+   'QEMU_UPSTREAM_REVISION' => 'origin/'.$branch,
+   'QEMU_UPSTREAM_EXTRA_CONFIG', => '--with-pkgversion=dirty',
+   'SEABIOS_UPSTREAM_URL' => 'git@githq.cloudswitch.com:seabios-george.git',
+   'SEABIOS_UPSTREAM_TAG' => 'origin/'.$branch,
+  );
+
+if ($xen_conf) {
+  open CONFIG, "Config.mk"
+    || die "Failed to open Config.mk: $!";
+  while(<CONFIG>) {
+    my $line = clean_line($_);
+    if ($line =~ /^QEMU_UPSTREAM_REVISION\s*\?=\s*(.*)$/) {
+      $conf{'QEMU_UPSTREAM_REVISION'} = $1;
+    } elsif ($line =~ /^SEABIOS_UPSTREAM_TAG\s*\?=\s*(.*)$/) {
+      $conf{'SEABIOS_UPSTREAM_TAG'} = $1;
+    }
+  }
+  close CONFIG;
+}
+
+my $base_xen_ver;
+my $xen_ver;
+my $qemu_ver;
+my $seabios_ver;
+my $uname_ver = "Unknown";
+
+open (UNAME, "uname -a|")
+  || die "Failed to open uname -a|: $!";
+$uname_ver = clean_line(<UNAME>);
+close UNAME;
+
+
+if (-f ".config") {
+  open (CONFIG, ".config")
+    || die "Failed to open .config: $!";
+  while(<CONFIG>) {
+    my $line = clean_line($_);
+    if ($line =~ /^(.*?)\s*=\s*(.*)$/) {
+      $conf{$1} = $2;
+    }
+  }
+  close CONFIG;
+}
+
+if ($debug =~ /cf/) {
+  for my $key (sort keys %conf) {
+    print STDERR $key,' = ',$conf{$key},$/;
+  }
+}
+
+if ($clean) {
+  my $cmd = "git clean -fdxq";
+  open (GIT, "$cmd|")
+    || die "Failed to git clean($cmd): $!";
+  print STDERR "$cmd\n";
+  while (<GIT>) {
+    print STDERR;
+  }
+  close GIT;
+  for my $git_dir ('firmware/seabios-dir-remote', 'qemu-xen-dir-remote', 'qemu-xen-traditional-dir-remote') {
+    if (-d "tools/$git_dir") {
+      $cmd = "rm -rf tools/$git_dir";
+      open (GIT, "$cmd|")
+        || die "Failed to clean dir($cmd): $!";
+      print STDERR "$cmd\n";
+      while (<GIT>) {
+        print STDERR;
+      }
+      close GIT;
+    }
+  }
+  open (CONFIG, ">.config")
+    || die "Failed to open for write .config: $!";
+  for my $key (sort keys %conf) {
+    print CONFIG $key,' = ',$conf{$key},$/;
+  }
+  close CONFIG;
+  $cmd = "mkdir -p rpmbuild_dir/BUILD rpmbuild_dir/BUILDROOT rpmbuild_dir/RPMS/x86_64";
+  open (GIT, "$cmd|")
+    || die "Failed to create jenkins rpm dirs dir($cmd): $!";
+  print STDERR "$cmd\n";
+  while (<GIT>) {
+    print STDERR;
+  }
+  close GIT;
+}
+
+if ($update) {
+  for my $git_dir ('firmware/seabios-dir-remote', 'qemu-xen-dir-remote', 'qemu-xen-traditional-dir-remote') {
+    if (-d "tools/$git_dir") {
+      my $cmd = "cd tools/$git_dir;git pull";
+      open (GIT, "$cmd|")
+        || die "Failed to update dir($cmd): $!";
+      print STDERR "$cmd\n";
+      while (<GIT>) {
+        print STDERR;
+      }
+      close GIT;
+    }
+  }
+}
+
+if (!-d 'tools/qemu-xen-dir') {
+  my $cmd = "export GIT=git;cd tools;../scripts/git-checkout.sh $conf{'QEMU_UPSTREAM_URL'} $conf{'QEMU_UPSTREAM_REVISION'} qemu-xen-dir";
+  open (GIT, "$cmd|")
+    || die "Failed to get qemu($cmd): $!";
+  print STDERR "$cmd\n";
+  while (<GIT>) {
+    print STDERR;
+  }
+  close GIT;
+}
+
+if (!-d 'tools/firmware/seabios-dir') {
+  my $cmd = "export GIT=git;cd tools/firmware;../../scripts/git-checkout.sh $conf{'SEABIOS_UPSTREAM_URL'} $conf{'SEABIOS_UPSTREAM_TAG'} seabios-dir";
+  open (GIT, "$cmd|")
+    || die "Failed to get seabios($cmd): $!";
+  print STDERR "$cmd\n";
+  while (<GIT>) {
+    print STDERR;
+  }
+  close GIT;
+}
+
+open (GIT, "git fetch --tags|")
+  || die "Failed to fetch tags via git: $!";
+binmode (GIT) if $cygwin;
+while(<GIT>) {
+  print STDERR;
+}
+close GIT;
+
+my @xen_ver_tags = ();
+open (GIT, "git log --oneline --decorate=full -20|")
+  || die "Failed to get xen version via git: $!";
+binmode (GIT) if $cygwin;
+while(<GIT>) {
+  push @xen_ver_tags, clean_line($_);
+}
+close GIT;
+
+my @qemu_ver_tags = ();
+open (GIT, "cd tools/qemu-xen-dir;git log --oneline --decorate=full -20|")
+  || die "Failed to get qemu version via git: $!";
+binmode (GIT) if $cygwin;
+while(<GIT>) {
+  push @qemu_ver_tags, clean_line($_);
+}
+close GIT;
+
+my @seabios_ver_tags = ();
+open (GIT, "cd tools/firmware/seabios-dir;git log --oneline --decorate=full -20|")
+  || die "Failed to get seabios version via git: $!";
+binmode (GIT) if $cygwin;
+while(<GIT>) {
+  push @seabios_ver_tags, clean_line($_);
+}
+close GIT;
+
+open (GIT, "git describe $tags --long --dirty|")
+  || die "Failed to get xen version via git: $!";
+binmode (GIT) if $cygwin;
+$xen_ver = clean_line(<GIT>);
+close GIT;
+$base_xen_ver = $xen_ver;
+if ($xen_ver =~ /^jenkins/) {
+  my $ghash;
+  for my $i (0 .. $#xen_ver_tags) {
+    my $line = $xen_ver_tags[$i];
+    if (($i == 0) && ($line =~ /^(\S+)/)) {
+      $ghash = 'g'.$1;
+    }
+    if ($line =~ m-\((.*)\)-) {
+      my @tags = split(/, /, $1);
+      my $cur = 0;
+      my $pre;
+      for my $part (@tags) {
+        if ($part =~ m-^tag: refs/tags/(ver_\d+\.\d+\.)(\d+)-) {
+          if ($2 >= $cur) {
+            $pre = $1;
+            $cur = $2;
+          }
+        }
+      }
+      if (defined $pre) {
+        $xen_ver = $pre.$cur.'-'.$i.'-'.$ghash;
+        $xen_ver .= '-dirty'
+          if $base_xen_ver =~ /dirty$/;
+        last;
+      }
+    }
+  }
+}
+
+open (GIT, "cd tools/qemu-xen-dir;git describe $tags --long --dirty|")
+  || die "Failed to get qemu version via git: $!";
+binmode (GIT) if $cygwin;
+$qemu_ver = clean_line(<GIT>);
+close GIT;
+
+open (GIT, "cd tools/firmware/seabios-dir;git describe $tags --long --dirty|")
+  || die "Failed to get seabios version via git: $!";
+binmode (GIT) if $cygwin;
+$seabios_ver = clean_line(<GIT>);
+close GIT;
+
+if ($debug =~ /sv/) {
+  print STDERR "xen_ver=$xen_ver qemu_ver=$qemu_ver seabios_ver=$seabios_ver\n";
+}
+
+my @xen_vers = three_parts($xen_ver);
+my @qemu_vers = three_parts($qemu_ver);
+my @seabios_vers = three_parts($seabios_ver);
+
+if ($debug =~ /pv/) {
+  for my $i (0..$#xen_vers) {
+    print STDERR "xen_vers[$i] = $xen_vers[$i]\n";
+  }
+  for my $i (0..$#qemu_vers) {
+    print STDERR "qemu_vers[$i] = $qemu_vers[$i]\n";
+  }
+  for my $i (0..$#seabios_vers) {
+    print STDERR "seabios_vers[$i] = $seabios_vers[$i]\n";
+  }
+}
+
+my $out = $xen_vers[0];
+if (($out ne $qemu_vers[0]) || ($out ne $seabios_vers[0])) {
+  die "Complex version: xen_ver=$xen_ver qemu_ver=$qemu_ver seabios_ver=$seabios_ver"
+    if $major || $minor || $patch || $clean;
+  if ($xen_vers[0] ne $qemu_vers[0]) {
+    $out .= '_'.$qemu_vers[0];
+  } else {
+    $out .= '_';
+  }
+  if ($xen_vers[0] ne $seabios_vers[0]) {
+    $out .= '_'.$seabios_vers[0];
+  } else {
+    $out .= '_';
+  }
+}
+if (($xen_vers[1] ne '0') || ($qemu_vers[1] ne '0') || ($seabios_vers[1] ne '0')) {
+  $out .= '_'.$xen_vers[1];
+  $out .= '_'.$qemu_vers[1];
+  $out .= '_'.$seabios_vers[1];
+}
+my $short_out = $out;
+$short_out .= '-dirty'
+  if $base_xen_ver =~ /dirty$/;
+$short_out =~ s/-/_/g;
+$out .= '_'.$xen_vers[2];
+$out .= '_'.$qemu_vers[2];
+$out .= '_'.$seabios_vers[2];
+$out =~ s/-/_/g;
+if (!-d 'dist/install/etc/xen') {
+  my $rc = system 'mkdir', '-p', 'dist/install/etc/xen';
+  die "Failed to create dist/install/etc/xen: $!"
+    if $rc != 0;
+}
+open(VERFILE, ">dist/install/etc/xen/gen_version")
+  || die "Failed to create dist/install/etc/xen/gen_version: $!";
+print VERFILE  $out,$/;
+print VERFILE  'all=',$out,$/;
+print VERFILE  'brief=',$short_out,$/;
+print VERFILE  'jenkins_build_number=',$jenkins_build_number,$/;
+print VERFILE  'base_xen_ver=',$base_xen_ver,$/;
+print VERFILE  'xen_ver=',$xen_ver,$/;
+print VERFILE  'qemu_ver=',$qemu_ver,$/;
+print VERFILE  'seabios_ver=',$seabios_ver,$/;
+print VERFILE  'uname_ver=',$uname_ver,$/;
+print VERFILE  'HOSTNAME=',$ENV{'HOSTNAME'},$/;
+for my $key (sort keys %conf) {
+  print VERFILE $key,'=',$conf{$key},$/;
+}
+for my $i (0 .. $#xen_ver_tags) {
+  print VERFILE  'xen_ver_tags['.$i.']=',$xen_ver_tags[$i],$/;
+}
+for my $i (0 .. $#qemu_ver_tags) {
+  print VERFILE  'qemu_ver_tags['.$i.']=',$qemu_ver_tags[$i],$/;
+}
+for my $i (0 .. $#seabios_ver_tags) {
+  print VERFILE  'seabios_ver_tags['.$i.']=',$seabios_ver_tags[$i],$/;
+}
+close VERFILE;
+if ($major) {
+  if ($short_out =~ /ver_(\d+)\.\d+\.\d+/) {
+    print $1,$/;
+  } else {
+    die "Failed to parse:$short_out";
+  }
+} elsif ($minor) {
+  if ($short_out =~ /ver_\d+\.(\d+)\.\d+/) {
+    print $1,$/;
+  } else {
+    die "Failed to parse:$short_out";
+  }
+} elsif ($patch) {
+  if ($short_out =~ /ver_\d+\.\d+\.(\d+)/) {
+    print $1,$/;
+  } else {
+    die "Failed to parse:$short_out";
+  }
+} elsif ($brief) {
+  print $short_out,$/;
+} else {
+  print $out,$/;
+}
+
+1;
diff --git a/update_config.pl b/update_config.pl
new file mode 100755
index 0000000..097f1da
--- /dev/null
+++ b/update_config.pl
@@ -0,0 +1,109 @@
+#! /usr/bin/perl -w
+# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 2 -*-
+
+use strict;
+
+my $debug = 0;
+my $cygwin = $^O eq 'cygwin';
+
+while ((defined $ARGV[0]) &&
+       (substr($ARGV[0],0,1) eq '-')) {
+  my $opts = shift @ARGV;
+  if ($opts =~ /^-d(\d+)$/) {
+    $debug = $1;
+  } elsif ($opts eq '-d') {
+    $debug = shift @ARGV;
+  } elsif ($opts eq '-u') {
+    $cygwin = 0;
+  } else {
+    print "Unknown options \"$opts\" ignored\n";
+  }
+}
+
+$/ = "\cJ" if $cygwin;
+
+sub clean_line {
+  my $line = shift @_;
+
+  chomp $line;
+  chop($line) if substr($line,-1,1) eq "\cM";
+  return $line;
+}
+
+my %conf =
+  (
+   'QEMU_UPSTREAM_URL' => 'git@githq.cloudswitch.com:qemu.git',
+   'QEMU_UPSTREAM_REVISION' => 'origin/dev-integration',
+   'QEMU_UPSTREAM_EXTRA_CONFIG', => '--with-pkgversion=dirty',
+   'SEABIOS_UPSTREAM_URL' => 'git@githq.cloudswitch.com:seabios-george.git',
+   'SEABIOS_UPSTREAM_TAG' => 'origin/dev-integration',
+  );
+my %conf_seen = ();
+my @configs = ();
+
+if (-f ".config") {
+  open (CONFIG, ".config")
+    || die "Failed to open .config: $!";
+  while(<CONFIG>) {
+    my $line = clean_line($_);
+    if ($line =~ /^(.*?)\s*=\s*(.*)$/) {
+      $conf{$1} = $2;
+      $conf_seen{$1} = 1;
+    }
+    push @configs, $line;
+  }
+}
+close CONFIG;
+
+for my $key (keys %conf) {
+  if (!defined $conf_seen{$key}) {
+    push @configs, "$key = $conf{$key}";
+  }
+}
+
+if (!-d 'tools/qemu-xen-dir') {
+  my $cmd = "export GIT=git;cd tools;../scripts/git-checkout.sh $conf{'QEMU_UPSTREAM_URL'} $conf{'QEMU_UPSTREAM_REVISION'} qemu-xen-dir";
+  open (GIT, "$cmd|")
+    || die "Failed to get qemu($cmd): $!";
+  print "$cmd\n";
+  while (<GIT>) {
+    print;
+  }
+  close GIT;
+}
+
+open (GIT, "cd tools/qemu-xen-dir;git describe --tags --long --dirty|")
+  || die "Failed to get qemu version via git: $!";
+binmode (GIT) if $cygwin;
+my $qemu_ver = clean_line(<GIT>);
+close GIT;
+
+print STDERR "qemu_ver=$qemu_ver\n"
+  if $debug =~ /qv/;
+
+for my $i (0..$#configs) {
+  my $line = $configs[$i];
+  if ($line =~ /^QEMU_UPSTREAM_EXTRA_CONFIG/) {
+    print STDERR "line=$line\n"
+      if $debug =~ /qc/;
+    my @parts = split / +/, $line;
+    my $found_pkgversion = 0;
+    for my $i (0..$#parts) {
+      if ($parts[$i] =~ /^--with-pkgversion=/) {
+        $parts[$i] = "--with-pkgversion=$qemu_ver";
+        $found_pkgversion = 1;
+      }
+    }
+    push @parts,  "--with-pkgversion=$qemu_ver"
+      if !$found_pkgversion;
+    $configs[$i] = join ' ', @parts;
+  }
+}
+
+open (CONFIG, ">.config")
+  || die "Failed to open for write .config: $!";
+for my $line (@configs) {
+  print CONFIG $line,$/;
+}
+close CONFIG;
+1;
diff --git a/xen-4.4.spec b/xen-4.4.spec
new file mode 100644
index 0000000..38ff5ba
--- /dev/null
+++ b/xen-4.4.spec
@@ -0,0 +1,131 @@
+Summary: The Xen Hypervisor, modified by CloudSwitch, Inc.
+Name: xen
+Version: 4.4.unstable
+Release: %(./gen_version.pl -b -update)
+License: GPLv2
+Group: System Environment/Kernel
+URL: http://www.xen.org
+#Source0: %{name}-%{version}.tar.gz
+BuildRoot: rpmbuild/BUILDROOT/%{name}-%{version}-%{release}
+
+# $ cd <xen source tree top directory>
+# $ rpmbuild -bb xen-4.3.spec
+
+%debug_package
+
+%description
+Xen Hypervisor
+
+%prep
+#%setup -q
+
+%build
+AT_DIR=%(pwd)
+rm -rf $RPM_BUILD_ROOT
+cd $AT_DIR
+./update_config.pl
+./configure --prefix=/usr --disable-stubdom
+./gen_version.pl
+make dist
+make -C xen MAP
+
+%install
+AT_DIR=%(pwd)
+mkdir -p $RPM_BUILD_ROOT
+cp -a $AT_DIR/dist/install/boot $RPM_BUILD_ROOT
+cp -a $AT_DIR/xen/System.map $RPM_BUILD_ROOT/boot/System.map-%{name}-%{version}-%{release}
+cp -a $AT_DIR/dist/install/etc $RPM_BUILD_ROOT
+cp -a $AT_DIR/dist/install/usr $RPM_BUILD_ROOT
+cp -a $AT_DIR/dist/install/var $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/var/log/xen/console
+mkdir -p $RPM_BUILD_ROOT/boot/flask
+# mv $RPM_BUILD_ROOT/boot/xenpolicy.24 $RPM_BUILD_ROOT/boot/flask/
+
+%post
+if [ $1 = 1 -a -f /sbin/grub2-mkconfig -a -f /boot/grub2/grub.cfg ]; then
+  /sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
+fi
+ldconfig
+chkconfig --add xencommons
+
+%preun
+chkconfig --del xencommons
+
+%postun
+if [ -f /sbin/grub2-mkconfig -a -f /boot/grub2/grub.cfg ]; then
+  /sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
+fi
+ldconfig
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%files
+%defattr(-,root,root,-)
+%config /etc/rc.d/init.d/xencommons
+%doc
+/boot
+/etc
+/var
+/usr/bin
+/usr/etc/qemu/target-x86_64.conf
+/usr/include
+/usr/sbin
+/usr/share
+/usr/lib64
+/usr/libexec
+/usr/lib/fs/ext2fs/fsimage.so
+/usr/lib/fs/fat/fsimage.so
+/usr/lib/fs/iso9660/fsimage.so
+/usr/lib/fs/reiserfs/fsimage.so
+/usr/lib/fs/ufs/fsimage.so
+/usr/lib/fs/xfs/fsimage.so
+/usr/lib/fs/zfs/fsimage.so
+/usr/lib/libblktapctl.a
+/usr/lib/libblktapctl.so
+/usr/lib/libblktapctl.so.1.0
+/usr/lib/libblktapctl.so.1.0.0
+/usr/lib/libfsimage.so
+/usr/lib/libfsimage.so.1.0
+/usr/lib/libfsimage.so.1.0.0
+/usr/lib/libvhd.a
+/usr/lib/libvhd.so
+/usr/lib/libvhd.so.1.0
+/usr/lib/libvhd.so.1.0.0
+/usr/lib/libxenctrl.a
+/usr/lib/libxenctrl.so
+/usr/lib/libxenctrl.so.4.3
+/usr/lib/libxenctrl.so.4.3.0
+/usr/lib/libxenguest.a
+/usr/lib/libxenguest.so
+/usr/lib/libxenguest.so.4.3
+/usr/lib/libxenguest.so.4.3.0
+/usr/lib/libxenlight.a
+/usr/lib/libxenlight.so
+/usr/lib/libxenlight.so.4.3
+/usr/lib/libxenlight.so.4.3.0
+/usr/lib/libxenstat.a
+/usr/lib/libxenstat.so
+/usr/lib/libxenstat.so.0
+/usr/lib/libxenstat.so.0.0
+/usr/lib/libxenstore.a
+/usr/lib/libxenstore.so
+/usr/lib/libxenstore.so.3.0
+/usr/lib/libxenstore.so.3.0.3
+/usr/lib/libxenvchan.a
+/usr/lib/libxenvchan.so
+/usr/lib/libxenvchan.so.1.0
+/usr/lib/libxenvchan.so.1.0.0
+/usr/lib/libxlutil.a
+/usr/lib/libxlutil.so
+/usr/lib/libxlutil.so.4.3
+/usr/lib/libxlutil.so.4.3.0
+/usr/lib/xen
+
+%changelog
+* Thu Oct  3 2013 Don Slutz <Don@CloudSwitch.com> - 4.3.0-%(./gen_version.pl -b -update)
+- Move xenpolicy.24 out of /boot
+
+* Wed Oct  3 2012 Harry Hart <hhart@harry-laptop.cloudswitch.com> - 4.2-1
+- Initial build.
-- 
1.7.11.7


[-- Attachment #3: 0002-Introduce-more-offsets-and-embed-all-offsets-into-th.patch --]
[-- Type: text/x-patch, Size: 4142 bytes --]

>From a1f92d31a1c64fe97a3f831fe0b7f1bb6fa4940b Mon Sep 17 00:00:00 2001
From: Andrew Cooper <andrew.cooper3@citrix.com>
Date: Wed, 20 Feb 2013 22:45:32 +0000
Subject: [PATCH 2/5] Introduce more offsets, and embed all offsets into the
 symbol file

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/Makefile                      |  1 +
 xen/arch/x86/x86_64/asm-offsets.c | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+)

diff --git a/xen/Makefile b/xen/Makefile
index 1ea2717..e48e89f 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -197,6 +197,7 @@ _cscope:
 .PHONY: _MAP
 _MAP:
 	$(NM) -n $(TARGET)-syms | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' > System.map
+	cat include/asm/asm-offsets.h | awk '/^#define __ASM_OFFSETS_H__/ { next } ; /^#define / { printf "%016x - +%s\n", $$3, $$2 }' >> System.map
 
 .PHONY: FORCE
 FORCE:
diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
index b0098b3..4168b98 100644
--- a/xen/arch/x86/x86_64/asm-offsets.c
+++ b/xen/arch/x86/x86_64/asm-offsets.c
@@ -54,8 +54,38 @@ void __dummy__(void)
     DEFINE(UREGS_user_sizeof, sizeof(struct cpu_user_regs));
     BLANK();
 
+    OFFSET(DOMAIN_id, struct domain, domain_id);
+    OFFSET(DOMAIN_shared_info, struct domain, shared_info);
+    OFFSET(DOMAIN_next, struct domain, next_in_list);
+    OFFSET(DOMAIN_max_vcpus, struct domain, max_vcpus);
+    OFFSET(DOMAIN_vcpus, struct domain, vcpu);
+    OFFSET(DOMAIN_is_hvm, struct domain, is_hvm);
+    OFFSET(DOMAIN_is_privileged, struct domain, is_privileged);
+    OFFSET(DOMAIN_tot_pages, struct domain, tot_pages);
+    OFFSET(DOMAIN_max_pages, struct domain, max_pages);
+    OFFSET(DOMAIN_shr_pages, struct domain, shr_pages);
+    OFFSET(DOMAIN_has_32bit_shinfo, struct domain, arch.has_32bit_shinfo);
+    OFFSET(DOMAIN_handle, struct domain, handle);
+    OFFSET(DOMAIN_paging_mode, struct domain, arch.paging.mode);
+    DEFINE(DOMAIN_sizeof, sizeof(struct domain));
+    BLANK();
+
+    OFFSET(SHARED_max_pfn, struct shared_info, arch.max_pfn);
+    OFFSET(SHARED_pfn_to_mfn_list_list, struct shared_info, arch.pfn_to_mfn_frame_list_list);
+    BLANK();
+
+    DEFINE(XEN_virt_start, __XEN_VIRT_START);
+    DEFINE(XEN_page_offset, __PAGE_OFFSET);
+#ifndef NDEBUG
+    DEFINE(XEN_DEBUG, 1);
+#else
+    DEFINE(XEN_DEBUG, 0);
+#endif
+    BLANK();
+
     OFFSET(irq_caps_offset, struct domain, irq_caps);
     OFFSET(next_in_list_offset, struct domain, next_in_list);
+    OFFSET(VCPU_vcpu_id, struct vcpu, vcpu_id);
     OFFSET(VCPU_processor, struct vcpu, processor);
     OFFSET(VCPU_domain, struct vcpu, domain);
     OFFSET(VCPU_vcpu_info, struct vcpu, vcpu_info);
@@ -86,7 +116,10 @@ void __dummy__(void)
     OFFSET(VCPU_kernel_sp, struct vcpu, arch.pv_vcpu.kernel_sp);
     OFFSET(VCPU_kernel_ss, struct vcpu, arch.pv_vcpu.kernel_ss);
     OFFSET(VCPU_guest_context_flags, struct vcpu, arch.vgc_flags);
+    OFFSET(VCPU_user_regs, struct vcpu, arch.user_regs);
+    OFFSET(VCPU_cr3, struct vcpu, arch.cr3);
     OFFSET(VCPU_nmi_pending, struct vcpu, nmi_pending);
+    OFFSET(VCPU_pause_flags, struct vcpu, pause_flags);
     OFFSET(VCPU_mce_pending, struct vcpu, mce_pending);
     OFFSET(VCPU_nmi_old_mask, struct vcpu, nmi_state.old_mask);
     OFFSET(VCPU_mce_old_mask, struct vcpu, mce_state.old_mask);
@@ -95,6 +128,7 @@ void __dummy__(void)
     DEFINE(VCPU_TRAP_MCE, VCPU_TRAP_MCE);
     DEFINE(_VGCF_failsafe_disables_events, _VGCF_failsafe_disables_events);
     DEFINE(_VGCF_syscall_disables_events,  _VGCF_syscall_disables_events);
+    DEFINE(VCPU_sizeof, sizeof(struct vcpu));
     BLANK();
 
     OFFSET(VCPU_svm_vmcb_pa, struct vcpu, arch.hvm_svm.vmcb_pa);
@@ -134,6 +168,7 @@ void __dummy__(void)
     OFFSET(CPUINFO_guest_cpu_user_regs, struct cpu_info, guest_cpu_user_regs);
     OFFSET(CPUINFO_processor_id, struct cpu_info, processor_id);
     OFFSET(CPUINFO_current_vcpu, struct cpu_info, current_vcpu);
+    OFFSET(CPUINFO_per_cpu_offset, struct cpu_info, per_cpu_offset);
     DEFINE(CPUINFO_sizeof, sizeof(struct cpu_info));
     BLANK();
 
-- 
1.7.11.7


[-- Attachment #4: 0003-Add-new-xen-crashdump-analyser-info.patch --]
[-- Type: text/x-patch, Size: 2283 bytes --]

>From f53550bba266c10b463bd5bb14ba761de986b393 Mon Sep 17 00:00:00 2001
From: Don Slutz <dslutz@verizon.com>
Date: Mon, 11 Nov 2013 14:36:40 -0500
Subject: [PATCH 3/5] Add new xen-crashdump-analyser info.

But do not delete old stuff.

Signed-off-by: Don Slutz <dslutz@verizon.com>
---
 xen/arch/x86/x86_64/asm-offsets.c | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
index 4168b98..c819127 100644
--- a/xen/arch/x86/x86_64/asm-offsets.c
+++ b/xen/arch/x86/x86_64/asm-offsets.c
@@ -65,6 +65,7 @@ void __dummy__(void)
     OFFSET(DOMAIN_max_pages, struct domain, max_pages);
     OFFSET(DOMAIN_shr_pages, struct domain, shr_pages);
     OFFSET(DOMAIN_has_32bit_shinfo, struct domain, arch.has_32bit_shinfo);
+    OFFSET(DOMAIN_pause_count, struct domain, pause_count);
     OFFSET(DOMAIN_handle, struct domain, handle);
     OFFSET(DOMAIN_paging_mode, struct domain, arch.paging.mode);
     DEFINE(DOMAIN_sizeof, sizeof(struct domain));
@@ -76,10 +77,23 @@ void __dummy__(void)
 
     DEFINE(XEN_virt_start, __XEN_VIRT_START);
     DEFINE(XEN_page_offset, __PAGE_OFFSET);
-#ifndef NDEBUG
-    DEFINE(XEN_DEBUG, 1);
+    DEFINE(VIRT_XEN_START, XEN_VIRT_START);
+    DEFINE(VIRT_XEN_END, XEN_VIRT_END);
+    DEFINE(VIRT_DIRECTMAP_START, DIRECTMAP_VIRT_START);
+    DEFINE(VIRT_DIRECTMAP_END, DIRECTMAP_VIRT_END);
+
+    DEFINE(XEN_DEBUG, debug_build());
+    DEFINE(XEN_STACK_SIZE, STACK_SIZE);
+    DEFINE(XEN_PRIMARY_STACK_SIZE, PRIMARY_STACK_SIZE);
+#ifdef MEMORY_GUARD
+    DEFINE(XEN_MEMORY_GUARD, 1);
 #else
-    DEFINE(XEN_DEBUG, 0);
+    DEFINE(XEN_MEMORY_GUARD, 0);
+#endif
+#ifdef CONFIG_FRAME_POINTER
+    DEFINE(XEN_FRAME_POINTER, 1);
+#else
+    DEFINE(XEN_FRAME_POINTER, 0);
 #endif
     BLANK();
 
@@ -120,6 +134,7 @@ void __dummy__(void)
     OFFSET(VCPU_cr3, struct vcpu, arch.cr3);
     OFFSET(VCPU_nmi_pending, struct vcpu, nmi_pending);
     OFFSET(VCPU_pause_flags, struct vcpu, pause_flags);
+    OFFSET(VCPU_pause_count, struct vcpu, pause_count);
     OFFSET(VCPU_mce_pending, struct vcpu, mce_pending);
     OFFSET(VCPU_nmi_old_mask, struct vcpu, nmi_state.old_mask);
     OFFSET(VCPU_mce_old_mask, struct vcpu, mce_state.old_mask);
-- 
1.7.11.7


[-- Attachment #5: 0004-Adjust-xen-crashdump-analyser-info-for-4.4.0.patch --]
[-- Type: text/x-patch, Size: 1049 bytes --]

>From 588e9baf3ee74c0efcbd91a639f74525a431f507 Mon Sep 17 00:00:00 2001
From: Don Slutz <dslutz@verizon.com>
Date: Wed, 20 Nov 2013 15:31:39 -0500
Subject: [PATCH 4/5] Adjust xen-crashdump-analyser info for 4.4.0

Signed-off-by: Don Slutz <dslutz@verizon.com>
---
 xen/arch/x86/x86_64/asm-offsets.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
index c819127..a7da0a3 100644
--- a/xen/arch/x86/x86_64/asm-offsets.c
+++ b/xen/arch/x86/x86_64/asm-offsets.c
@@ -59,7 +59,7 @@ void __dummy__(void)
     OFFSET(DOMAIN_next, struct domain, next_in_list);
     OFFSET(DOMAIN_max_vcpus, struct domain, max_vcpus);
     OFFSET(DOMAIN_vcpus, struct domain, vcpu);
-    OFFSET(DOMAIN_is_hvm, struct domain, is_hvm);
+    OFFSET(DOMAIN_guest_type, struct domain, guest_type);
     OFFSET(DOMAIN_is_privileged, struct domain, is_privileged);
     OFFSET(DOMAIN_tot_pages, struct domain, tot_pages);
     OFFSET(DOMAIN_max_pages, struct domain, max_pages);
-- 
1.7.11.7


[-- Attachment #6: kexec-broken.txt --]
[-- Type: text/plain, Size: 48038 bytes --]



Loading Xen xen ...
Loading Linux 3.8.11-100.fc17.x86_64 ...
Loading initial ramdisk ...
error: Can't get controller info.. __  __            _  _   _  _                      _        _     _      
 \ \/ /___ _ __   | || | | || |     _   _ _ __  ___| |_ __ _| |__ | | ___ 
  \  // _ \ '_ \  | || |_| || |_ __| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
  /  \  __/ | | | |__   _|__   _|__| |_| | | | \__ \ || (_| | |_) | |  __/
 /_/\_\___|_| |_|    |_|(_) |_|     \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
                                                                          
(XEN) Xen version 4.4-unstable (don@culpepper.cloudswitch.com) (gcc (GCC) 4.7.2 20120921 (Red Hat 4.7.2-2)) debug=n Tue Dec 31 11:33:10 EST 2013
(XEN) Latest ChangeSet: Wed Nov 20 15:31:39 2013 -0500 git:588e9ba
(XEN) Bootloader: GRUB 2.00~beta6
(XEN) Command line: placeholder dom0_mem=2G loglvl=all guest_loglvl=all console_timestamps=1 com1=9600,8n1 console=com1 apic_verbosity=verbose crashkernel=256M@256M
(XEN) Video information:
(XEN)  No VGA detected
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009b800 (usable)
(XEN)  000000000009b800 - 00000000000a0000 (reserved)
(XEN)  00000000000e0000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000bf63f000 (usable)
(XEN)  00000000bf63f000 - 00000000bf6bf000 (reserved)
(XEN)  00000000bf6bf000 - 00000000bf7bf000 (ACPI NVS)
(XEN)  00000000bf7bf000 - 00000000bf7ff000 (ACPI data)
(XEN)  00000000bf7ff000 - 00000000bf800000 (usable)
(XEN)  00000000bf800000 - 00000000c0000000 (reserved)
(XEN)  00000000e0000000 - 00000000f0000000 (reserved)
(XEN)  00000000feb00000 - 00000000feb04000 (reserved)
(XEN)  00000000fec00000 - 00000000fec01000 (reserved)
(XEN)  00000000fed10000 - 00000000fed1a000 (reserved)
(XEN)  00000000fed1c000 - 00000000fed20000 (reserved)
(XEN)  00000000fee00000 - 00000000fee01000 (reserved)
(XEN)  00000000ffd80000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000840000000 (usable)
(XEN) Kdump: 256MB (262144kB) at 0x10000000
(XEN) ACPI: RSDP 000FE020, 0024 (r2 INSYDE)
(XEN) ACPI: XSDT BF7FE170, 009C (r1 INSYDE BROMOLOW        1       1000013)
(XEN) ACPI: FACP BF7FC000, 00F4 (r4 INSYDE BROMOLOW        1 ACPI    40000)
(XEN) ACPI: DSDT BF7F2000, 5A40 (r1 INSYDE BROMOLOW        0 ACPI    40000)
(XEN) ACPI: FACS BF76E000, 0040
(XEN) ACPI: ASF! BF7FD000, 00A5 (r32 INSYDE BROMOLOW        1 ACPI    40000)
(XEN) ACPI: HPET BF7FB000, 0038 (r1 INSYDE BROMOLOW        1 ACPI    40000)
(XEN) ACPI: APIC BF7FA000, 0092 (r2 INSYDE BROMOLOW        1 ACPI    40000)
(XEN) ACPI: MCFG BF7F9000, 003C (r1 INSYDE BROMOLOW        1 ACPI    40000)
(XEN) ACPI: MSDM BF7F8000, 0055 (r3 INSYDE BROMOLOW        1 ACPI    40000)
(XEN) ACPI: SLIC BF7F1000, 0176 (r1 INSYDE BROMOLOW        1 ACPI    40000)
(XEN) ACPI: WDAT BF7F0000, 0224 (r1 INSYDE BROMOLOW        1 ACPI    40000)
(XEN) ACPI: BOOT BF7EE000, 0028 (r1 INSYDE BROMOLOW        1 ACPI    40000)
(XEN) ACPI: SSDT BF7ED000, 02F6 (r1 INSYDE BROMOLOW     1000 ACPI    40000)
(XEN) ACPI: SPCR BF7EC000, 0050 (r1 INSYDE BROMOLOW        1 ACPI    40000)
(XEN) ACPI: ASPT BF7EB000, 0034 (r7 INSYDE BROMOLOW        1 ACPI    40000)
(XEN) ACPI: SSDT BF7EA000, 0804 (r1 INSYDE BROMOLOW     3000 ACPI    40000)
(XEN) ACPI: SSDT BF7E9000, 0996 (r1 INSYDE BROMOLOW     3000 ACPI    40000)
(XEN) ACPI: DMAR BF7E8000, 0088 (r1 INTEL      SNB         1 INTL        1)
(XEN) System RAM: 32757MB (33544044kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000840000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000fe1b0
(XEN) DMI 2.7 present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x408
(XEN) ACPI: SLEEP INFO: pm1x_cnt[404,0], pm1x_evt[400,0]
(XEN) ACPI:             wakeup_vec[bf76e00c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 6:10 APIC version 21
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 6:10 APIC version 21
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
(XEN) Processor #2 6:10 APIC version 21
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
(XEN) Processor #3 6:10 APIC version 21
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
(XEN) Processor #4 6:10 APIC version 21
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
(XEN) Processor #5 6:10 APIC version 21
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x06] enabled)
(XEN) Processor #6 6:10 APIC version 21
(XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x07] enabled)
(XEN) Processor #7 6:10 APIC version 21
(XEN) ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])
(XEN) ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
(XEN) ACPI: HPET id: 0x8086a201 base: 0xfed00000
(XEN) ERST table was not found
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 8 CPUs (0 hotplug CPUs)
(XEN) mapped APIC to ffff82cfffdfb000 (fee00000)
(XEN) mapped IOAPIC to ffff82cfffdfa000 (fec00000)
(XEN) IRQ limits: 24 GSI, 1528 MSI/MSI-X
(XEN) Switched to APIC driver x2apic_cluster.
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 2400.077 MHz processor.
(XEN) Initing memory sharing.
(XEN) xstate_init: using cntxt_size: 0x340 and states: 0x7
(XEN) mce_intel.c:717: MCA Capability: BCAST 1 SER 0 CMCI 1 firstbank 0 extended MCE MSR 0
(XEN) Intel machine check reporting enabled
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - ff
(XEN) PCI: MCFG area at e0000000 reserved in E820
(XEN) PCI: Using MCFG for segment 0000 bus 00-ff
(XEN) Intel VT-d iommu 0 supported page sizes: 4kB.
(XEN) Intel VT-d Snoop Control enabled.
(XEN) Intel VT-d Dom0 DMA Passthrough not enabled.
(XEN) Intel VT-d Queued Invalidation enabled.
(XEN) Intel VT-d Interrupt Remapping enabled.
(XEN) Intel VT-d Shared EPT tables not enabled.
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) Interrupt remapping enabled
(XEN) Enabled directed EOI with ioapic_ack_old on!
(XEN) Suppress EOI broadcast on CPU#0
(XEN) enabled ExtINT on CPU#0
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using old ACK method
(XEN) init IO_APIC IRQs
(XEN)  IO-APIC (apicid-pin) 0-0, 0-16, 0-17, 0-18, 0-19, 0-20, 0-21, 0-22, 0-23 not connected.
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) number of MP IRQ sources: 15.
(XEN) number of IO-APIC #0 registers: 24.
(XEN) testing the IO APIC.......................
(XEN) IO APIC #0......
(XEN) .... register #00: 00000000
(XEN) .......    : physical APIC id: 00
(XEN) .......    : Delivery Type: 0
(XEN) .......    : LTS          : 0
(XEN) .... register #01: 00170020
(XEN) .......     : max redirection entries: 0017
(XEN) .......     : PRQ implemented: 0
(XEN) .......     : IO APIC version: 0020
(XEN) .... IRQ redirection table:
(XEN)  NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:   
(XEN)  00 000 00  1    0    0   0   0    0    0    00
(XEN)  01 000 00  0    0    0   0   0    1    1    30
(XEN)  02 000 00  0    0    0   0   0    1    1    F0
(XEN)  03 000 00  0    0    0   0   0    1    1    38
(XEN)  04 000 00  0    0    0   0   0    1    1    F1
(XEN)  05 000 00  0    0    0   0   0    1    1    40
(XEN)  06 000 00  0    0    0   0   0    1    1    48
(XEN)  07 000 00  0    0    0   0   0    1    1    50
(XEN)  08 000 00  0    0    0   0   0    1    1    58
(XEN)  09 000 00  1    1    0   0   0    1    1    60
(XEN)  0a 000 00  0    0    0   0   0    1    1    68
(XEN)  0b 000 00  0    0    0   0   0    1    1    70
(XEN)  0c 000 00  0    0    0   0   0    1    1    78
(XEN)  0d 000 00  0    0    0   0   0    1    1    88
(XEN)  0e 000 00  0    0    0   0   0    1    1    90
(XEN)  0f 000 00  0    0    0   0   0    1    1    98
(XEN)  10 000 00  1    0    0   0   0    0    0    00
(XEN)  11 025 05  1    0    0   0   0    1    2    C9
(XEN)  12 0E5 05  1    0    0   0   0    1    2    4D
(XEN)  13 000 00  1    0    0   0   0    0    0    00
(XEN)  14 000 00  1    0    0   0   0    0    0    00
(XEN)  15 0B1 01  1    0    0   0   0    1    2    C9
(XEN)  16 000 00  1    0    0   0   0    0    0    00
(XEN)  17 0B8 08  1    0    0   0   0    1    2    85
(XEN) Using vector-based indexing
(XEN) IRQ to pin mappings:
(XEN) IRQ240 -> 0:2
(XEN) IRQ48 -> 0:1
(XEN) IRQ56 -> 0:3
(XEN) IRQ241 -> 0:4
(XEN) IRQ64 -> 0:5
(XEN) IRQ72 -> 0:6
(XEN) IRQ80 -> 0:7
(XEN) IRQ88 -> 0:8
(XEN) IRQ96 -> 0:9
(XEN) IRQ104 -> 0:10
(XEN) IRQ112 -> 0:11
(XEN) IRQ120 -> 0:12
(XEN) IRQ136 -> 0:13
(XEN) IRQ144 -> 0:14
(XEN) IRQ152 -> 0:15
(XEN) .................................... done.
(XEN) Using local APIC timer interrupts.
(XEN) calibrating APIC timer ...
(XEN) ..... CPU clock speed is 2400.0502 MHz.
(XEN) ..... host bus clock speed is 100.0019 MHz.
(XEN) ..... bus_scale = 0x6669
(XEN) TSC deadline timer enabled
(XEN) [2014-01-01 15:37:20] Platform timer is 14.318MHz HPET
(XEN) [2014-01-01 15:37:20] Allocated console ring of 64 KiB.
(XEN) [2014-01-01 15:37:20] mwait-idle: MWAIT substates: 0x1120
(XEN) [2014-01-01 15:37:20] mwait-idle: v0.4 model 0x2a
(XEN) [2014-01-01 15:37:20] mwait-idle: lapic_timer_reliable_states 0xffffffff
(XEN) [2014-01-01 15:37:20] VMX: Supported advanced features:
(XEN) [2014-01-01 15:37:20]  - APIC MMIO access virtualisation
(XEN) [2014-01-01 15:37:20]  - APIC TPR shadow
(XEN) [2014-01-01 15:37:20]  - Extended Page Tables (EPT)
(XEN) [2014-01-01 15:37:20]  - Virtual-Processor Identifiers (VPID)
(XEN) [2014-01-01 15:37:20]  - Virtual NMI
(XEN) [2014-01-01 15:37:20]  - MSR direct-access bitmap
(XEN) [2014-01-01 15:37:20]  - Unrestricted Guest
(XEN) [2014-01-01 15:37:20] HVM: ASIDs enabled.
(XEN) [2014-01-01 15:37:20] HVM: VMX enabled
(XEN) [2014-01-01 15:37:20] HVM: Hardware Assisted Paging (HAP) detected
(XEN) [2014-01-01 15:37:20] HVM: HAP page sizes: 4kB, 2MB
(XEN) [2014-01-01 15:37:19] Suppress EOI broadcast on CPU#1
(XEN) [2014-01-01 15:37:19] masked ExtINT on CPU#1
(XEN) [2014-01-01 15:37:19] Suppress EOI broadcast on CPU#2
(XEN) [2014-01-01 15:37:19] masked ExtINT on CPU#2
(XEN) [2014-01-01 15:37:19] Suppress EOI broadcast on CPU#3
(XEN) [2014-01-01 15:37:19] masked ExtINT on CPU#3
(XEN) [2014-01-01 15:37:19] Suppress EOI broadcast on CPU#4
(XEN) [2014-01-01 15:37:19] masked ExtINT on CPU#4
(XEN) [2014-01-01 15:37:19] Suppress EOI broadcast on CPU#5
(XEN) [2014-01-01 15:37:19] masked ExtINT on CPU#5
(XEN) [2014-01-01 15:37:19] Suppress EOI broadcast on CPU#6
(XEN) [2014-01-01 15:37:19] masked ExtINT on CPU#6
(XEN) [2014-01-01 15:37:19] Suppress EOI broadcast on CPU#7
(XEN) [2014-01-01 15:37:19] masked ExtINT on CPU#7
(XEN) [2014-01-01 15:37:20] Brought up 8 CPUs
(XEN) [2014-01-01 15:37:20] ACPI sleep modes: S3
(XEN) [2014-01-01 15:37:20] mcheck_poll: Machine check polling timer started.
(XEN) [2014-01-01 15:37:20] *** LOADING DOMAIN 0 ***
(XEN) [2014-01-01 15:37:20]  Xen  kernel: 64-bit, lsb, compat32
(XEN) [2014-01-01 15:37:20]  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x2391000
(XEN) [2014-01-01 15:37:20] PHYSICAL MEMORY ARRANGEMENT:
(XEN) [2014-01-01 15:37:20]  Dom0 alloc.:   000000081c000000->0000000820000000 (489617 pages to be allocated)
(XEN) [2014-01-01 15:37:20]  Init. ramdisk: 000000083b891000->000000083ffffa00
(XEN) [2014-01-01 15:37:20] VIRTUAL MEMORY ARRANGEMENT:
(XEN) [2014-01-01 15:37:20]  Loaded kernel: ffffffff81000000->ffffffff82391000
(XEN) [2014-01-01 15:37:20]  Init. ramdisk: ffffffff82391000->ffffffff86affa00
(XEN) [2014-01-01 15:37:20]  Phys-Mach map: ffffffff86b00000->ffffffff86f00000
(XEN) [2014-01-01 15:37:20]  Start info:    ffffffff86f00000->ffffffff86f004b4
(XEN) [2014-01-01 15:37:20]  Page tables:   ffffffff86f01000->ffffffff86f3c000
(XEN) [2014-01-01 15:37:20]  Boot stack:    ffffffff86f3c000->ffffffff86f3d000
(XEN) [2014-01-01 15:37:20]  TOTAL:         ffffffff80000000->ffffffff87000000
(XEN) [2014-01-01 15:37:20]  ENTRY ADDRESS: ffffffff81cff210
(XEN) [2014-01-01 15:37:20] Dom0 has maximum 8 VCPUs
(XEN) [2014-01-01 15:37:24] Scrubbing Free RAM: ...........................................................................................................................................................................................................................................................................................................done.
(XEN) [2014-01-01 15:37:29] Initial low memory virq threshold set at 0x4000 pages.
(XEN) [2014-01-01 15:37:29] Std. Loglevel: All
(XEN) [2014-01-01 15:37:29] Guest Loglevel: All
(XEN) [2014-01-01 15:37:29] *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) [2014-01-01 15:37:29] Freed 292kB init memory.
mapping kernel into physical memory
about to get started...
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.8.11-100.fc17.x86_64 (mockbuild@bkernel01.phx2.fedoraproject.org) (gcc version 4.7.2 20120921 (Red Hat 4.7.2-2) (GCC) ) #1 SMP Wed May 1 19:31:26 UTC 2013
[    0.000000] Command line: placeholder root=/dev/mapper/vg_f17--xen-lv_root ro rd.md=0 rd.dm=0 rd.lvm.lv=vg_f17-xen/lv_swap KEYTABLE=us SYSFONT=True rd.luks=0 console=hvc0,9600n8 rd.lvm.lv=vg_f17-xen/lv_root LANG=en_US.UTF-8 earlyprintk=xen rd_NO_PLYMOUTH
[    0.000000] Freeing 9b-100 pfn range: 101 pages freed
[    0.000000] Released 101 pages of unused memory
[    0.000000] Set 264741 page(s) to 1-1 mapping
[    0.000000] Populating 80000-80065 pfn range: 101 pages added
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] Xen: [mem 0x0000000000000000-0x000000000009afff] usable
[    0.000000] Xen: [mem 0x000000000009b800-0x00000000000fffff] reserved
[    0.000000] Xen: [mem 0x0000000000100000-0x00000000bf63efff] usable
[    0.000000] Xen: [mem 0x00000000bf63f000-0x00000000bf6befff] reserved
[    0.000000] Xen: [mem 0x00000000bf6bf000-0x00000000bf7befff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000bf7bf000-0x00000000bf7fefff] ACPI data
[    0.000000] Xen: [mem 0x00000000bf7ff000-0x00000000bf7fffff] usable
[    0.000000] Xen: [mem 0x00000000bf800000-0x00000000bfffffff] reserved
[    0.000000] Xen: [mem 0x00000000e0000000-0x00000000efffffff] reserved
[    0.000000] Xen: [mem 0x00000000feb00000-0x00000000feb03fff] reserved
[    0.000000] Xen: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[    0.000000] Xen: [mem 0x00000000fed10000-0x00000000fed19fff] reserved
[    0.000000] Xen: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] Xen: [mem 0x00000000fee00000-0x00000000feefffff] reserved
[    0.000000] Xen: [mem 0x00000000ffd80000-0x00000000ffffffff] reserved
[    0.000000] Xen: [mem 0x0000000100000000-0x00000005c0e16fff] usable
[    0.000000] Xen: [mem 0x00000005c0e17000-0x000000083fffffff] unusable
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.7 present.
[    0.000000] No AGP bridge found
[    0.000000] e820: last_pfn = 0x5c0e17 max_arch_pfn = 0x400000000
[    0.000000] x2apic enabled by BIOS, switching to x2apic ops
[    0.000000] e820: last_pfn = 0xbf800 max_arch_pfn = 0x400000000
[    0.000000] init_memory_mapping: [mem 0x00000000-0xbf7fffff]
[    0.000000] init_memory_mapping: [mem 0x100000000-0x5c0e16fff]
[    0.000000] RAMDISK: [mem 0x02391000-0x06afffff]
[    0.000000] ACPI: RSDP 00000000000fe020 00024 (v02 INSYDE)
[    0.000000] ACPI: XSDT 00000000bf7fe170 0009C (v01 INSYDE BROMOLOW 00000001      01000013)
[    0.000000] ACPI: FACP 00000000bf7fc000 000F4 (v04 INSYDE BROMOLOW 00000001 ACPI 00040000)
[    0.000000] ACPI: DSDT 00000000bf7f2000 05A40 (v01 INSYDE BROMOLOW 00000000 ACPI 00040000)
[    0.000000] ACPI: FACS 00000000bf76e000 00040
[    0.000000] ACPI: ASF! 00000000bf7fd000 000A5 (v32 INSYDE BROMOLOW 00000001 ACPI 00040000)
[    0.000000] ACPI: HPET 00000000bf7fb000 00038 (v01 INSYDE BROMOLOW 00000001 ACPI 00040000)
[    0.000000] ACPI: APIC 00000000bf7fa000 00092 (v02 INSYDE BROMOLOW 00000001 ACPI 00040000)
[    0.000000] ACPI: MCFG 00000000bf7f9000 0003C (v01 INSYDE BROMOLOW 00000001 ACPI 00040000)
[    0.000000] ACPI: MSDM 00000000bf7f8000 00055 (v03 INSYDE BROMOLOW 00000001 ACPI 00040000)
[    0.000000] ACPI: SLIC 00000000bf7f1000 00176 (v01 INSYDE BROMOLOW 00000001 ACPI 00040000)
[    0.000000] ACPI: WDAT 00000000bf7f0000 00224 (v01 INSYDE BROMOLOW 00000001 ACPI 00040000)
[    0.000000] ACPI: BOOT 00000000bf7ee000 00028 (v01 INSYDE BROMOLOW 00000001 ACPI 00040000)
[    0.000000] ACPI: SSDT 00000000bf7ed000 002F6 (v01 INSYDE BROMOLOW 00001000 ACPI 00040000)
[    0.000000] ACPI: SPCR 00000000bf7ec000 00050 (v01 INSYDE BROMOLOW 00000001 ACPI 00040000)
[    0.000000] ACPI: ASPT 00000000bf7eb000 00034 (v07 INSYDE BROMOLOW 00000001 ACPI 00040000)
[    0.000000] ACPI: SSDT 00000000bf7ea000 00804 (v01 INSYDE BROMOLOW 00003000 ACPI 00040000)
[    0.000000] ACPI: SSDT 00000000bf7e9000 00996 (v01 INSYDE BROMOLOW 00003000 ACPI 00040000)
[    0.000000] ACPI: XMAR 00000000bf7e8000 00088 (v01 INTEL      SNB  00000001 INTL 00000001)
[    0.000000] Setting APIC routing to cluster x2apic.
[    0.000000] NUMA turned off
[    0.000000] Faking a node at [mem 0x0000000000000000-0x00000005c0e16fff]
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x5c0e16fff]
[    0.000000]   NODE_DATA [mem 0x7da34000-0x7da47fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x00010000-0x00ffffff]
[    0.000000]   DMA32    [mem 0x01000000-0xffffffff]
[    0.000000]   Normal   [mem 0x100000000-0x5c0e16fff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00010000-0x0009afff]
[    0.000000]   node   0: [mem 0x00100000-0xbf63efff]
[    0.000000]   node   0: [mem 0xbf7ff000-0xbf7fffff]
[    0.000000]   node   0: [mem 0x100000000-0x5c0e16fff]
[    0.000000] ACPI: PM-Timer IO Port: 0x408
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x04] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x06] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x07] enabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] smpboot: Allowing 8 CPUs, 0 hotplug CPUs
[    0.000000] PM: Registered nosave memory: 000000000009b000 - 000000000009c000
[    0.000000] PM: Registered nosave memory: 000000000009c000 - 0000000000100000
[    0.000000] PM: Registered nosave memory: 00000000bf63f000 - 00000000bf6bf000
[    0.000000] PM: Registered nosave memory: 00000000bf6bf000 - 00000000bf7bf000
[    0.000000] PM: Registered nosave memory: 00000000bf7bf000 - 00000000bf7ff000
[    0.000000] PM: Registered nosave memory: 00000000bf800000 - 00000000c0000000
[    0.000000] PM: Registered nosave memory: 00000000c0000000 - 00000000e0000000
[    0.000000] PM: Registered nosave memory: 00000000e0000000 - 00000000f0000000
[    0.000000] PM: Registered nosave memory: 00000000f0000000 - 00000000feb00000
[    0.000000] PM: Registered nosave memory: 00000000feb00000 - 00000000feb04000
[    0.000000] PM: Registered nosave memory: 00000000feb04000 - 00000000fec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000fec01000
[    0.000000] PM: Registered nosave memory: 00000000fec01000 - 00000000fed10000
[    0.000000] PM: Registered nosave memory: 00000000fed10000 - 00000000fed1a000
[    0.000000] PM: Registered nosave memory: 00000000fed1a000 - 00000000fed1c000
[    0.000000] PM: Registered nosave memory: 00000000fed1c000 - 00000000fed20000
[    0.000000] PM: Registered nosave memory: 00000000fed20000 - 00000000fee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000fef00000
[    0.000000] PM: Registered nosave memory: 00000000fef00000 - 00000000ffd80000
[    0.000000] PM: Registered nosave memory: 00000000ffd80000 - 0000000100000000
[    0.000000] e820: [mem 0xc0000000-0xdfffffff] available for PCI devices
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.4-unstable (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:128 nr_cpumask_bits:128 nr_cpu_ids:8 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff880066c00000 s84608 r8192 d21888 u262144
[   11.222615] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 5676548
[   11.222619] Policy zone: Normal
[   11.222622] Kernel command line: placeholder root=/dev/mapper/vg_f17--xen-lv_root ro rd.md=0 rd.dm=0 rd.lvm.lv=vg_f17-xen/lv_swap KEYTABLE=us SYSFONT=True rd.luks=0 console=hvc0,9600n8 rd.lvm.lv=vg_f17-xen/lv_root LANG=en_US.UTF-8 earlyprintk=xen rd_NO_PLYMOUTH
[   11.223443] PID hash table entries: 4096 (order: 3, 32768 bytes)
[   11.223450] __ex_table already sorted, skipping sort
[   11.223493] xsave: enabled xstate_bv 0x7, cntxt size 0x340
[   11.255707] software IO TLB [mem 0x62c00000-0x66c00000] (64MB) mapped at [ffff880062c00000-ffff880066bfffff]
[   11.269831] Memory: 1528328k/24131676k available (6512k kernel code, 1059028k absent, 21544320k reserved, 6706k data, 1080k init)
[   11.269946] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[   11.269998] Hierarchical RCU implementation.
[   11.270001]  RCU restricting CPUs from NR_CPUS=128 to nr_cpu_ids=8.
[   11.270015] NR_IRQS:8448 nr_irqs:744 16
[   11.270119] xen: sci override: global_irq=9 trigger=0 polarity=0
[   11.270162] xen: acpi sci 9
[   11.270550] Console: colour dummy device 80x25
[   11.270555] console [hvc0] enabled, bootconsole disabled
[   11.270555] console [hvc0] enabled, bootconsole disabled
[   11.283830] allocated 92798976 bytes of page_cgroup
[   11.283837] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[   11.283912] installing Xen timer for CPU 0
[   11.283951] tsc: Detected 2400.076 MHz processor
[   11.283959] Calibrating delay loop (skipped), value calculated using timer frequency.. 4800.15 BogoMIPS (lpj=2400076)
[   11.283966] pid_max: default: 32768 minimum: 301
[   11.284030] Security Framework initialized
[   11.284040] SELinux:  Initializing.
[   11.291424] Dentry cache hash table entries: 4194304 (order: 13, 33554432 bytes)
[   11.303321] Inode-cache hash table entries: 2097152 (order: 12, 16777216 bytes)
[   11.307426] Mount-cache hash table entries: 256
[   11.307763] Initializing cgroup subsys cpuacct
[   11.307768] Initializing cgroup subsys memory
[   11.307800] Initializing cgroup subsys devices
[   11.307804] Initializing cgroup subsys freezer
[   11.307809] Initializing cgroup subsys net_cls
[   11.307813] Initializing cgroup subsys blkio
[   11.307816] Initializing cgroup subsys perf_event
[   11.307912] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
[   11.307912] ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
[   11.307922] CPU: Physical Processor ID: 0
[   11.307925] CPU: Processor Core ID: 0
[   11.307929] mce: CPU supports 2 MCE banks
(XEN) [2014-01-01 15:37:31] traps.c:2516:d0 Domain attempted WRMSR 000000000000082f from 0x00000000000000f2 to 0x00000000000000f9.
[   11.307972] Last level iTLB entries: 4KB 512, 2MB 0, 4MB 0
[   11.307972] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32
[   11.307972] tlb_flushall_shift: 5
[   11.308107] Freeing SMP alternatives: 24k freed
[   11.310286] ACPI: Core revision 20121018
[   11.327224] ftrace: allocating 24318 entries in 95 pages
[   11.345107] Performance Events: unsupported p6 CPU model 42 no PMU driver, software events only.
[   11.346751] NMI watchdog: disabled (cpu0): hardware events not enabled
[   11.346848] installing Xen timer for CPU 1
(XEN) [2014-01-01 15:37:31] traps.c:2516:d0 Domain attempted WRMSR 000000000000082f from 0x00000000000000f2 to 0x00000000000000f9.
[   11.347319] installing Xen timer for CPU 2
(XEN) [2014-01-01 15:37:31] traps.c:2516:d0 Domain attempted WRMSR 000000000000082f from 0x00000000000000f2 to 0x00000000000000f9.
[   11.347717] installing Xen timer for CPU 3
(XEN) [2014-01-01 15:37:31] traps.c:2516:d0 Domain attempted WRMSR 000000000000082f from 0x00000000000000f2 to 0x00000000000000f9.
[   11.348059] installing Xen timer for CPU 4
(XEN) [2014-01-01 15:37:31] traps.c:2516:d0 Domain attempted WRMSR 000000000000082f from 0x00000000000000f2 to 0x00000000000000f9.
[   11.348442] installing Xen timer for CPU 5
(XEN) [2014-01-01 15:37:31] traps.c:2516:d0 Domain attempted WRMSR 000000000000082f from 0x00000000000000f2 to 0x00000000000000f9.
[   11.348779] installing Xen timer for CPU 6
(XEN) [2014-01-01 15:37:31] traps.c:2516:d0 Domain attempted WRMSR 000000000000082f from 0x00000000000000f2 to 0x00000000000000f9.
[   11.349136] installing Xen timer for CPU 7
(XEN) [2014-01-01 15:37:31] traps.c:2516:d0 Domain attempted WRMSR 000000000000082f from 0x00000000000000f2 to 0x00000000000000f9.
[   11.349343] Brought up 8 CPUs
[   11.349825] devtmpfs: initialized
[   11.350345] PM: Registering ACPI NVS region [mem 0xbf6bf000-0xbf7befff] (1048576 bytes)
[   11.351325] atomic64 test passed for x86-64 platform with CX8 and with SSE
[   11.351354] Grant tables using version 2 layout.
[   11.351374] Grant table initialized
[   11.351414] RTC time: 15:37:31, date: 01/01/14
[   11.351473] NET: Registered protocol family 16
[   11.351906] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
[   11.351913] ACPI: bus type pci registered
[   11.352129] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
[   11.352139] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
[   11.411030] PCI: Using configuration type 1 for base access
[   11.412351] bio: create slab <bio-0> at 0
[   11.412497] ACPI: Added _OSI(Module Device)
[   11.412502] ACPI: Added _OSI(Processor Device)
[   11.412505] ACPI: Added _OSI(3.0 _SCP Extensions)
[   11.412509] ACPI: Added _OSI(Processor Aggregator Device)
[   11.415302] ACPI: Executed 1 blocks of module-level executable AML code
[   11.421127] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[   11.421668] ACPI: SSDT 00000000bf6b0798 00727 (v01  PmRef  Cpu0Cst 00003001 INTL 20100121)
[   11.422023] ACPI: Dynamic OEM Table Load:
[   11.422029] ACPI: SSDT           (null) 00727 (v01  PmRef  Cpu0Cst 00003001 INTL 20100121)
[   11.424574] ACPI: SSDT 00000000bf6b1a98 00303 (v01  PmRef    ApIst 00003000 INTL 20100121)
[   11.424962] ACPI: Dynamic OEM Table Load:
[   11.424967] ACPI: SSDT           (null) 00303 (v01  PmRef    ApIst 00003000 INTL 20100121)
[   11.427551] ACPI: SSDT 00000000bf6afd98 00119 (v01  PmRef    ApCst 00003000 INTL 20100121)
[   11.427897] ACPI: Dynamic OEM Table Load:
[   11.427903] ACPI: SSDT           (null) 00119 (v01  PmRef    ApCst 00003000 INTL 20100121)
[   11.431978] ACPI: Interpreter enabled
[   11.431986] ACPI: (supports S0 S1 S3 S4 S5)
[   11.432018] ACPI: Using IOAPIC for interrupt routing
[   11.436050] ACPI: Power Resource [FN00] (off)
[   11.436145] ACPI: Power Resource [FN01] (off)
[   11.436251] ACPI: Power Resource [FN02] (off)
[   11.436343] ACPI: Power Resource [FN03] (off)
[   11.436433] ACPI: Power Resource [FN04] (off)
[   11.436875] ACPI: No dock devices found.
[   11.436882] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[   11.437237] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-fe])
[   11.438076] PCI host bridge to bus 0000:00
[   11.438083] pci_bus 0000:00: root bus resource [bus 00-fe]
[   11.438088] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7]
[   11.438092] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
[   11.438097] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
[   11.438102] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfeafffff]
[   11.443293] pci 0000:00:01.0: PCI bridge to [bus 01]
[   11.445422] pci 0000:00:01.1: PCI bridge to [bus 02]
[   11.447553] pci 0000:00:01.2: PCI bridge to [bus 03]
[   11.448712] pci 0000:00:1c.0: PCI bridge to [bus 04]
[   11.449873] pci 0000:00:1c.1: PCI bridge to [bus 05]
[   11.451138] pci 0000:00:1c.2: PCI bridge to [bus 06]
[   11.453932] pci 0000:00:1c.4: PCI bridge to [bus 07]
[   11.457128] pci 0000:00:1c.5: PCI bridge to [bus 08]
[   11.457348] pci 0000:00:1e.0: PCI bridge to [bus 09] (subtractive decode)
[   11.457946]  pci0000:00: ACPI _OSC support notification failed, disabling PCIe ASPM
[   11.457952]  pci0000:00: Unable to request _OSC control (_OSC support mask: 0x08)
(XEN) [2014-01-01 15:37:31] PCI add device 0000:00:00.0
(XEN) [2014-01-01 15:37:31] PCI add device 0000:00:01.0
(XEN) [2014-01-01 15:37:31] PCI add device 0000:00:01.1
(XEN) [2014-01-01 15:37:31] PCI add device 0000:00:01.2
(XEN) [2014-01-01 15:37:31] PCI add device 0000:00:1c.0
(XEN) [2014-01-01 15:37:31] PCI add device 0000:00:1c.1
(XEN) [2014-01-01 15:37:31] PCI add device 0000:00:1c.2
(XEN) [2014-01-01 15:37:31] PCI add device 0000:00:1c.4
(XEN) [2014-01-01 15:37:31] PCI add device 0000:00:1c.5
(XEN) [2014-01-01 15:37:31] PCI add device 0000:00:1e.0
(XEN) [2014-01-01 15:37:31] PCI add device 0000:00:1f.0
(XEN) [2014-01-01 15:37:31] PCI add device 0000:00:1f.3
(XEN) [2014-01-01 15:37:31] PCI add device 0000:01:00.0
(XEN) [2014-01-01 15:37:31] PCI add device 0000:01:00.1
(XEN) [2014-01-01 15:37:31] PCI add device 0000:02:00.0
(XEN) [2014-01-01 15:37:31] PCI add dev[   20.095173] IPv6: ADDRCONF(NETDEV_UP): eth3: link is not ready
[   20.095671] e1000: eth3 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   20.095969] IPv6: ADDRCONF(NETDEV_CHANGE): eth3: link becomes ready
network[738]: Bringing up interface eth3:  [  OK  ]
[   20.328040] IPv6: ADDRCONF(NETDEV_UP): eth4: link is not ready
[   20.328699] e1000: eth4 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   20.329009] IPv6: ADDRCONF(NETDEV_CHANGE): eth4: link becomes ready
network[738]: Bringing up interface eth4:  [  OK  ]
[   20.561955] IPv6: ADDRCONF(NETDEV_UP): eth5: link is not ready
[   20.562695] e1000: eth5 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   20.563003] IPv6: ADDRCONF(NETDEV_CHANGE): eth5: link becomes ready
network[738]: Bringing up interface eth5:  [  OK  ]
[   20.794772] IPv6: ADDRCONF(NETDEV_UP): eth6: link is not ready
[   20.795704] e1000: eth6 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   20.796014] IPv6: ADDRCONF(NETDEV_CHANGE): eth6: link becomes ready
network[738]: Bringing up interface eth6:  [  OK  ]
[   21.028076] IPv6: ADDRCONF(NETDEV_UP): eth7: link is not ready
[   21.028724] e1000: eth7 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   21.029023] IPv6: ADDRCONF(NETDEV_CHANGE): eth7: link becomes ready
network[738]: Bringing up interface eth7:  [  OK  ]
[   22.118825] 8021q: 802.1Q VLAN Support v1.8
[   22.118846] 8021q: adding VLAN 0 to HW filter on device eth0
[   22.118869] 8021q: adding VLAN 0 to HW filter on device eth1
[   22.118890] 8021q: adding VLAN 0 to HW filter on device eth3
[   22.118918] 8021q: adding VLAN 0 to HW filter on device eth4
[   22.118947] 8021q: adding VLAN 0 to HW filter on device eth5
[   22.118975] 8021q: adding VLAN 0 to HW filter on device eth6
[   22.119004] 8021q: adding VLAN 0 to HW filter on device eth7
[   22.183337] device eth3.23 entered promiscuous mode
[   22.183388] device eth3 entered promiscuous mode
network[738]: Bringing up interface eth3.23:  [  OK  ]
[   22.294045] device eth4.24 entered promiscuous mode
[   22.294067] device eth4 entered promiscuous mode
network[738]: Bringing up interface eth4.24:  [  OK  ]
[   22.405486] device eth5.25 entered promiscuous mode
[   22.405507] device eth5 entered promiscuous mode
network[738]: Bringing up interface eth5.25:  [  OK  ]
[   22.514847] device eth6.26 entered promiscuous mode
[   22.514869] device eth6 entered promiscuous mode
network[738]: Bringing up interface eth6.26:  [  OK  ]
[   22.624938] device eth7.27 entered promiscuous mode
[   22.624960] device eth7 entered promiscuous mode
network[738]: Bringing up interface eth7.27:  [  OK  ]
network[738]: Bringing up interface xenbr0:
[   22.712708] xenbr0: port 1(eth0) entered forwarding state
[   22.712721] xenbr0: port 1(eth0) entered forwarding state
network[738]: Determining IP information for xenbr0... done.
network[738]: [  OK  ]
network[738]: Bringing up interface xenbr1:
[   25.186092] xenbr1: port 1(eth1) entered forwarding state
[   25.186110] xenbr1: port 1(eth1) entered forwarding state
network[738]: Determining IP information for xenbr1... done.
network[738]: [  OK  ]
network[738]: Bringing up interface xenbr3:
[   27.707860] xenbr3: port 1(eth3.23) entered forwarding state
[   27.707880] xenbr3: port 1(eth3.23) entered forwarding state
network[738]: Determining IP information for xenbr3... done.
network[738]: [  OK  ]
network[738]: Bringing up interface xenbr4:
[   30.224960] xenbr4: port 1(eth4.24) entered forwarding state
[   30.224979] xenbr4: port 1(eth4.24) entered forwarding state
network[738]: Determining IP information for xenbr4... done.
network[738]: [  OK  ]
network[738]: Bringing up interface xenbr5:
[   32.742655] xenbr5: port 1(eth5.25) entered forwarding state
[   32.742674] xenbr5: port 1(eth5.25) entered forwarding state
network[738]: Determining IP information for xenbr5... done.
network[738]: [  OK  ]
network[738]: Bringing up interface xenbr6:
[   35.257714] xenbr6: port 1(eth6.26) entered forwarding state
[   35.257734] xenbr6: port 1(eth6.26) entered forwarding state
network[738]: Determining IP information for xenbr6... done.
network[738]: [  OK  ]
[   37.720117] xenbr0: port 1(eth0) entered forwarding state
network[738]: Bringing up interface xenbr7:
[   37.775576] xenbr7: port 1(eth7.27) entered forwarding state
[   37.775595] xenbr7: port 1(eth7.27) entered forwarding state
network[738]: Determining IP information for xenbr7... done.
network[738]: [  OK  ]
[   40.216233] xenbr1: port 1(eth1) entered forwarding state
[  OK  ] Started LSB: Bring up/down networking.
[  OK  ] Reached target Network.
         Starting OpenSSH server daemon...
         Starting OpenVPN Robust And Highly Flexible Tunnelin...e/client/udp...
         Starting RPC bind service...
[  OK  ] Started OpenSSH server daemon.
[  OK  ] Started OpenVPN Robust And Highly Flexible Tunneling...rge/client/udp.
[  OK  ] Started RPC bind service.
         Starting NFS file locking service....
[  OK  ] Started NFS file locking service..
[  OK  ] Reached target Remote File Systems (Pre).
         Mounting /filer...
         Mounting /scratch...
[   40.491025] FS-Cache: Loaded
[   40.491596] Key type dns_resolver registered
[   40.493979] FS-Cache: Netfs 'nfs' registered for caching
         Mounting /isos...
[   40.502181] NFS: Registering the id_resolver key type
[   40.502201] Key type id_resolver registered
[   40.502205] Key type id_legacy registered

Fedora release 17 (Beefy Miracle)
Kernel 3.8.11-100.fc17.x86_64 on an x86_64 (hvc0)

dcs-xen-54 login: [  133.931861] device vif1.0 entered promiscuous mode
[  133.935393] IPv6: ADDRCONF(NETDEV_UP): vif1.0: link is not ready
[  134.070915] device vif1.0-emu entered promiscuous mode
[  134.074008] xenbr1: port 3(vif1.0-emu) entered forwarding state
[  134.074019] xenbr1: port 3(vif1.0-emu) entered forwarding state
(d1) [2014-01-01 15:39:34] HVM Loader
(d1) [2014-01-01 15:39:34] Detected Xen v4.4-unstable
(d1) [2014-01-01 15:39:34] Xenbus rings @0xfeffc000, event channel 4
(d1) [2014-01-01 15:39:34] System requested SeaBIOS
(d1) [2014-01-01 15:39:34] CPU speed is 2400 MHz
(d1) [2014-01-01 15:39:34] Relocating guest memory for lowmem MMIO space disabled
(XEN) [2014-01-01 15:39:34] irq.c:270: Dom1 PCI link 0 changed 0 -> 5
(d1) [2014-01-01 15:39:34] PCI-ISA link 0 routed to IRQ5
(XEN) [2014-01-01 15:39:34] irq.c:270: Dom1 PCI link 1 changed 0 -> 10
(d1) [2014-01-01 15:39:34] PCI-ISA link 1 routed to IRQ10
(XEN) [2014-01-01 15:39:34] irq.c:270: Dom1 PCI link 2 changed 0 -> 11
(d1) [2014-01-01 15:39:34] PCI-ISA link 2 routed to IRQ11
(XEN) [2014-01-01 15:39:34] irq.c:270: Dom1 PCI link 3 changed 0 -> 5
(d1) [2014-01-01 15:39:34] PCI-ISA link 3 routed to IRQ5
(d1) [2014-01-01 15:39:34] pci dev 01:3 INTA->IRQ10
(d1) [2014-01-01 15:39:34] pci dev 02:0 INTA->IRQ11
(d1) [2014-01-01 15:39:34] pci dev 04:0 INTA->IRQ5
(d1) [2014-01-01 15:39:34] RAM in high memory; setting high_mem resource base to 10c000000
(d1) [2014-01-01 15:39:34] pci dev 02:0 bar 14 size 001000000: 0f0000008
(d1) [2014-01-01 15:39:34] pci dev 03:0 bar 10 size 001000000: 0f1000008
(d1) [2014-01-01 15:39:34] pci dev 04:0 bar 30 size 000040000: 0f2000000
(d1) [2014-01-01 15:39:34] pci dev 04:0 bar 10 size 000020000: 0f2040000
(d1) [2014-01-01 15:39:34] pci dev 03:0 bar 30 size 000010000: 0f2060000
(d1) [2014-01-01 15:39:34] pci dev 03:0 bar 18 size 000001000: 0f2070000
(d1) [2014-01-01 15:39:34] pci dev 02:0 bar 10 size 000000100: 00000c001
(d1) [2014-01-01 15:39:34] pci dev 04:0 bar 14 size 000000040: 00000c101
(d1) [2014-01-01 15:39:34] pci dev 01:1 bar 20 size 000000010: 00000c141
(d1) [2014-01-01 15:39:34] Multiprocessor initialisation:
(d1) [2014-01-01 15:39:34]  - CPU0 ... 36-bit phys ... fixed MTRRs ... var MTRRs [2/8] ... done.
(d1) [2014-01-01 15:39:34]  - CPU1 ... 36-bit phys ... fixed MTRRs ... var MTRRs [2/8] ... done.
(d1) [2014-01-01 15:39:34] Writing SMBIOS tables ...
(d1) [2014-01-01 15:39:34] Loading SeaBIOS ...
(d1) [2014-01-01 15:39:34] Creating MP tables ...
(d1) [2014-01-01 15:39:34] Loading ACPI ...
(d1) [2014-01-01 15:39:34] vm86 TSS at fc00a080
(d1) [2014-01-01 15:39:34] BIOS map:
(d1) [2014-01-01 15:39:34]  10000-100d3: Scratch space
(d1) [2014-01-01 15:39:34]  e0000-fffff: Main BIOS
(d1) [2014-01-01 15:39:34] E820 table:
(d1) [2014-01-01 15:39:34]  [00]: 00000000:00000000 - 00000000:000a0000: RAM
(d1) [2014-01-01 15:39:34]  HOLE: 00000000:000a0000 - 00000000:000e0000
(d1) [2014-01-01 15:39:34]  [01]: 00000000:000e0000 - 00000000:00100000: RESERVED
(d1) [2014-01-01 15:39:34]  [02]: 00000000:00100000 - 00000000:f0000000: RAM
(d1) [2014-01-01 15:39:34]  HOLE: 00000000:f0000000 - 00000000:fc000000
(d1) [2014-01-01 15:39:34]  [03]: 00000000:fc000000 - 00000001:00000000: RESERVED
(d1) [2014-01-01 15:39:34]  [04]: 00000001:00000000 - 00000001:0c000000: RAM
(d1) [2014-01-01 15:39:34] Invoking SeaBIOS ...
(d1) [2014-01-01 15:39:34] SeaBIOS (version rel-1.7.3.1-0-g7d9cbe6-20131231_113608-dcs-xen-54)
(d1) [2014-01-01 15:39:34] 
(d1) [2014-01-01 15:39:34] Found Xen hypervisor signature at 40000000
(d1) [2014-01-01 15:39:34] xen: copy e820...
(d1) [2014-01-01 15:39:34] Relocating init from 0x000e2001 to 0xeffe0600 (size 63795)
(d1) [2014-01-01 15:39:34] CPU Mhz=2401
(d1) [2014-01-01 15:39:34] Found 7 PCI devices (max PCI bus is 00)
(d1) [2014-01-01 15:39:34] Allocated Xen hypercall page at effff000
(d1) [2014-01-01 15:39:34] Detected Xen v4.4-unstable
(d1) [2014-01-01 15:39:34] xen: copy BIOS tables...
(d1) [2014-01-01 15:39:34] Copying SMBIOS entry point from 0x00010010 to 0x000f1920
(d1) [2014-01-01 15:39:34] Copying MPTABLE from 0xfc001170/fc001180 to 0x000f1820
(d1) [2014-01-01 15:39:34] Copying PIR from 0x00010030 to 0x000f17a0
(d1) [2014-01-01 15:39:34] Copying ACPI RSDP from 0x000100b0 to 0x000f1770
(d1) [2014-01-01 15:39:34] Using pmtimer, ioport 0xb008, freq 3579 kHz
(d1) [2014-01-01 15:39:34] Scan for VGA option rom
(d1) [2014-01-01 15:39:34] WARNING! Found unaligned PCI rom (vd=1234:1111)
(d1) [2014-01-01 15:39:34] Running option rom at c000:0003
(XEN) [2014-01-01 15:39:34] stdvga.c:147:d1 entering stdvga and caching modes
(d1) [2014-01-01 15:39:34] Turning on vga text mode console
(d1) [2014-01-01 15:39:34] SeaBIOS (version rel-1.7.3.1-0-g7d9cbe6-20131231_113608-dcs-xen-54)
(d1) [2014-01-01 15:39:34] Machine UUID d60df350-6607-4732-bb87-cf0a43ef0c78
(d1) [2014-01-01 15:39:34] Found 0 lpt ports
(d1) [2014-01-01 15:39:34] Found 1 serial ports
(d1) [2014-01-01 15:39:34] ATA controller 1 at 1f0/3f4/0 (irq 14 dev 9)
(d1) [2014-01-01 15:39:34] ATA controller 2 at 170/374/0 (irq 15 dev 9)
(d1) [2014-01-01 15:39:34] ata0-0: QEMU HARDDISK ATA-7 Hard-Disk (20480 MiBytes)
(d1) [2014-01-01 15:39:34] Searching bootorder for: /pci@i0cf8/*@1,1/drive@0/disk@0
(d1) [2014-01-01 15:39:34] DVD/CD [ata1-0: QEMU DVD-ROM ATAPI-4 DVD/CD]
(d1) [2014-01-01 15:39:34] Searching bootorder for: /pci@i0cf8/*@1,1/drive@1/disk@0
(d1) [2014-01-01 15:39:34] DVD/CD [ata1-1: QEMU DVD-ROM ATAPI-4 DVD/CD]
(d1) [2014-01-01 15:39:34] Searching bootorder for: /pci@i0cf8/*@1,1/drive@1/disk@1
(d1) [2014-01-01 15:39:34] PS2 keyboard initialized
(d1) [2014-01-01 15:39:34] All threads complete.
(d1) [2014-01-01 15:39:34] Scan for option roms
(d1) [2014-01-01 15:39:34] Running option rom at ca00:0003
(d1) [2014-01-01 15:39:34] pmm call arg1=1
(d1) [2014-01-01 15:39:34] pmm call arg1=0
(d1) [2014-01-01 15:39:34] pmm call arg1=1
(d1) [2014-01-01 15:39:34] pmm call arg1=0
(d1) [2014-01-01 15:39:34] Searching bootorder for: /pci@i0cf8/*@4
(d1) [2014-01-01 15:39:34] 
(d1) [2014-01-01 15:39:34] Press F12 for boot menu.
(d1) [2014-01-01 15:39:34] 
(d1) [2014-01-01 15:39:36] Searching bootorder for: HALT
(d1) [2014-01-01 15:39:36] drive 0x000f1720: PCHS=16383/16/63 translation=lba LCHS=1024/255/63 s=41943040
(d1) [2014-01-01 15:39:36] Space available for UMB: cb000-ee800, f0000-f1690
(d1) [2014-01-01 15:39:36] Returned 61440 bytes of ZoneHigh
(d1) [2014-01-01 15:39:36] e820 map has 7 items:
(d1) [2014-01-01 15:39:36]   0: 0000000000000000 - 000000000009fc00 = 1 RAM
(d1) [2014-01-01 15:39:36]   1: 000000000009fc00 - 00000000000a0000 = 2 RESERVED
(d1) [2014-01-01 15:39:36]   2: 00000000000f0000 - 0000000000100000 = 2 RESERVED
(d1) [2014-01-01 15:39:36]   3: 0000000000100000 - 00000000effff000 = 1 RAM
(d1) [2014-01-01 15:39:36]   4: 00000000effff000 - 00000000f0000000 = 2 RESERVED
(d1) [2014-01-01 15:39:36]   5: 00000000fc000000 - 0000000100000000 = 2 RESERVED
(d1) [2014-01-01 15:39:36]   6: 0000000100000000 - 000000010c000000 = 1 RAM
(d1) [2014-01-01 15:39:36] enter handle_19:
(d1) [2014-01-01 15:39:36]   NULL
(d1) [2014-01-01 15:39:36] Booting from Hard Disk...
(d1) [2014-01-01 15:39:36] Booting from 0000:7c00
[  149.112714] xenbr1: port 3(vif1.0-emu) entered forwarding state
(XEN) [2014-01-01 15:40:12] ----[ Xen-4.4-unstable  x86_64  debug=n  Not tainted ]----
(XEN) [2014-01-01 15:40:12] CPU:    5
(XEN) [2014-01-01 15:40:12] RIP:    e008:[<ffff82d08021f1c9>] clear_page_sse2+0x9/0x30
(XEN) [2014-01-01 15:40:12] RFLAGS: 0000000000010216   CONTEXT: hypervisor
(XEN) [2014-01-01 15:40:12] rax: 0000000000000000   rbx: ffff8300104c6000   rcx: 00000000000000ff
(XEN) [2014-01-01 15:40:12] rdx: ffff830000000000   rsi: ffffffffffffffff   rdi: ffff8300104c6000
(XEN) [2014-01-01 15:40:12] rbp: 0000000000000007   rsp: ffff830823fdfcf0   r8:  00000000000104c6
(XEN) [2014-01-01 15:40:12] r9:  00000000104c7000   r10: 0000000000000000   r11: 00000000004c6000
(XEN) [2014-01-01 15:40:12] r12: ffff83083fb1bdb0   r13: ffff83083fb1bcc0   r14: 00000000104c6000
(XEN) [2014-01-01 15:40:12] r15: 0000000000100000   cr0: 0000000080050033   cr4: 00000000000426f0
(XEN) [2014-01-01 15:40:12] cr3: 0000000650813000   cr2: ffff8300104c6000
(XEN) [2014-01-01 15:40:12] ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
(XEN) [2014-01-01 15:40:12] Xen stack trace from rsp=ffff830823fdfcf0:
(XEN) [2014-01-01 15:40:12]    ffff82d080161dd1 ffff83083fb1bdb0 ffff82d080114d96 ffff830823fb7000
(XEN) [2014-01-01 15:40:12]    ffff82e0002098c0 0000000000000007 ffff830823fdfde0 ffff83083fb1bcc0
(XEN) [2014-01-01 15:40:12]    ffff83083fb1bdb0 0000000000000007 ffff830823fdfde0 ffff83083fb1bcc0
(XEN) [2014-01-01 15:40:12]    ffff82d0801150f4 0000000000000010 ffff83083fb1bd80 00000000000000e0
(XEN) [2014-01-01 15:40:12]    00000000fffffff2 0000000010000000 0000000020000000 ffff830823fdfde0
(XEN) [2014-01-01 15:40:12]    000000000000003e 0000000000000003 ffff82d0801152ec 00007f0df697d004
(XEN) [2014-01-01 15:40:12]    ffff83083fb1bcc0 00007ffffa0b1bd0 ffff880055784228 00007ffffa0b1bd0
(XEN) [2014-01-01 15:40:12]    ffff82d0801143e1 0000000000000002 0000000000000000 ffff83083f4bebe8
(XEN) [2014-01-01 15:40:12]    ffff82d08017c28a 0000000000000000 ffff830823fb70b0 0000000000000000
(XEN) [2014-01-01 15:40:12]    000000000083f4be ffff82d08012a6cb ffff8300bf2f9060 ffff82d0802ea620
(XEN) [2014-01-01 15:40:12]    ffff830823fd8000 00000007003e0001 00007f0df697e004 000000001ff53720
(XEN) [2014-01-01 15:40:12]    0000000100000007 ffff82e0107e97c0 ffff830823fb7000 0000000000000007
(XEN) [2014-01-01 15:40:12]    0000000000000001 ffff83083f4be000 ffff8300bf2f9000 000000000083f4be
(XEN) [2014-01-01 15:40:12]    ffff82d080218a58 ffff830823fdff18 ffff82d080218b32 ffff830823fd8000
(XEN) [2014-01-01 15:40:12]    0000000000000000 0000000000000217 00000032fd4ee0a7 0000000000000100
(XEN) [2014-01-01 15:40:12]    00000032fd4ee0a7 0000000000000033 ffff8300bf2f9000 ffff880057605e88
(XEN) [2014-01-01 15:40:12]    00007ffffa0b1bd0 ffff880055784228 ffff82d0801144ab 0000000000000000
(XEN) [2014-01-01 15:40:12]    ffff82d08021df79 00000026d8eb3c18 00000026d8f9b240 0000000000000000
(XEN) [2014-01-01 15:40:12]    000000280f8095dc ffff880057605e88 ffff880005331c00 0000000000000286
(XEN) [2014-01-01 15:40:12]    00007ffffa0b1d90 ffff88000561c180 000000001ff53720 0000000000000025
(XEN) [2014-01-01 15:40:12] Xen call trace:
(XEN) [2014-01-01 15:40:12]    [<ffff82d08021f1c9>] clear_page_sse2+0x9/0x30
(XEN) [2014-01-01 15:40:12]    [<ffff82d080161dd1>] clear_domain_page+0x11/0x20
(XEN) [2014-01-01 15:40:12]    [<ffff82d080114d96>] kimage_alloc_control_page+0x246/0x2d0
(XEN) [2014-01-01 15:40:12]    [<ffff82d0801150f4>] do_kimage_alloc+0x1c4/0x2e0
(XEN) [2014-01-01 15:40:12]    [<ffff82d0801152ec>] kimage_alloc+0xdc/0x100
(XEN) [2014-01-01 15:40:12]    [<ffff82d0801143e1>] do_kexec_op_internal+0x5f1/0x6b0
(XEN) [2014-01-01 15:40:12]    [<ffff82d08017c28a>] do_mmu_update+0x34a/0x1bf0
(XEN) [2014-01-01 15:40:12]    [<ffff82d08012a6cb>] add_entry+0x4b/0xb0
(XEN) [2014-01-01 15:40:12]    [<ffff82d080218a58>] toggle_guest_mode+0x28/0x40
(XEN) [2014-01-01 15:40:12]    [<ffff82d080218b32>] do_iret+0xc2/0x1a0
(XEN) [2014-01-01 15:40:12]    [<ffff82d0801144ab>] do_kexec_op+0xb/0x20
(XEN) [2014-01-01 15:40:12]    [<ffff82d08021df79>] syscall_enter+0xa9/0xae
(XEN) [2014-01-01 15:40:12] 
(XEN) [2014-01-01 15:40:12] Pagetable walk from ffff8300104c6000:
(XEN) [2014-01-01 15:40:12]  L4[0x106] = 00000000bf468063 ffffffffffffffff
(XEN) [2014-01-01 15:40:12]  L3[0x000] = 00000000bf462063 ffffffffffffffff
(XEN) [2014-01-01 15:40:12]  L2[0x082] = 0000000000000000 ffffffffffffffff 
(XEN) [2014-01-01 15:40:16] 
(XEN) [2014-01-01 15:40:16] ****************************************
(XEN) [2014-01-01 15:40:16] Panic on CPU 5:
(XEN) [2014-01-01 15:40:16] FATAL PAGE FAULT
(XEN) [2014-01-01 15:40:16] [error_code=0002]
(XEN) [2014-01-01 15:40:16] Faulting linear address: ffff8300104c6000
(XEN) [2014-01-01 15:40:17] ****************************************
(XEN) [2014-01-01 15:40:17] 
(XEN) [2014-01-01 15:40:17] Reboot in five seconds...



[-- Attachment #7: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [BUGFIX] [PATCH] kexec/x86: Do map crash kernel area
  2014-01-02 11:49     ` David Vrabel
@ 2014-01-07  0:23       ` Don Slutz
  0 siblings, 0 replies; 9+ messages in thread
From: Don Slutz @ 2014-01-07  0:23 UTC (permalink / raw)
  To: David Vrabel
  Cc: Keir Fraser, Ian Campbell, George Dunlap, Andrew Cooper,
	Daniel Kiper, Don Slutz, xen-devel, Jan Beulich

On 01/02/14 06:49, David Vrabel wrote:
> On 02/01/14 10:48, Andrew Cooper wrote:
>> On 02/01/14 10:46, David Vrabel wrote:
>>> On 01/01/14 16:51, Don Slutz wrote:
>>>> Revert of commit 7113a45451a9f656deeff070e47672043ed83664
>>> Since this commit introduced a regression, a revert is the best thing to
>>> do here.
>>>
>>> Acked-by: David Vrabel <david.vrabel@citrix.com>
>>>
>>>> Using kexec commit 027413d822fd57dd39d2d2afab1484bc6b6b84f9
>>>>
>>>> With "crashkernel=256M@256M" ((XEN) Kdump: 256MB (262144kB) at 0x10000000)
>>> I guess Daniel tested a debug build without this crashkernel option.
>>> This would place the crash region above the direct mapping region and
>>> map_domain_page() would do the right thing.
>>>
>>>
>>>> +    map_pages_to_xen((unsigned long)__va(kexec_crash_area.start),
>>>> +                     kexec_crash_area.start >> PAGE_SHIFT,
>>>> +                     PFN_UP(kexec_crash_area.size), PAGE_HYPERVISOR);
>>>> +
>>> This should be made conditional on the location of the crash region --
>>> it is wrong to do this for portions of the crash region that are outside
>>> the crash region.
>> Presume you mean "outside the direct-map region"?
> Yes.
>
> David

I have no idea on how to even check for "outside the direct-map region" 
and how to test any additional changes.  Testing with "crashkernel=256M" 
((XEN) Kdump: 256MB (262144kB) at 0x82a1be000) does not work before or 
after this patch.  In both cases, I get an error out of kexec:

~/kexec/build/sbin/kexec -p '--command-line=placeholder 
root=/dev/mapper/vg_f17--xen-lv_root ro rd.md=0 rd.dm=0 
rd.lvm.lv=vg_f17-xen/lv_swap KEYTABLE=us SYSFONT=True rd.luks=0 
console=ttyS0,9600n8 rd.lvm.lv=vg_f17-xen/lv_root LANG=en_US.UTF-8 
earlyprintk=ttyS0 rd_NO_PLYMOUTH irqpoll nr_cpus=1 reset_devices 
cgroup_disable=memory mce=off' 
--initrd=/boot/initramfs-3.8.11-100.fc17.x86_64kdump.img 
/boot/vmlinuz-3.8.11-100.fc17.x86_64
Could not find a free area of memory of 0xa000 bytes...
locate_hole failed

I am currently busy with other tasks and so do not expect to get to 
learning about xen's direct-map region and/or finding out why kexec does 
not work in this case before xen 4.4.0 release date.

    -Don Slutz

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [BUGFIX] [PATCH] kexec/x86: Do map crash kernel area
  2014-01-02 10:46 ` David Vrabel
  2014-01-02 10:48   ` Andrew Cooper
@ 2014-01-07 12:11   ` Jan Beulich
  1 sibling, 0 replies; 9+ messages in thread
From: Jan Beulich @ 2014-01-07 12:11 UTC (permalink / raw)
  To: David Vrabel
  Cc: Keir Fraser, Ian Campbell, George Dunlap, Daniel Kiper,
	Don Slutz, xen-devel

>>> On 02.01.14 at 11:46, David Vrabel <david.vrabel@citrix.com> wrote:
> On 01/01/14 16:51, Don Slutz wrote:
>> Revert of commit 7113a45451a9f656deeff070e47672043ed83664
> 
> Since this commit introduced a regression, a revert is the best thing to
> do here.
> 
> Acked-by: David Vrabel <david.vrabel@citrix.com>

I don't agree: Reverting this would imply restoring the issue with
mapping the kexec range even when outside the direct map area.

Furthermore I intend to backport this change, as from all I can
tell prior to your rework of the kexec code it was entirely unused
(and hence should never have been there).

>> +    map_pages_to_xen((unsigned long)__va(kexec_crash_area.start),
>> +                     kexec_crash_area.start >> PAGE_SHIFT,
>> +                     PFN_UP(kexec_crash_area.size), PAGE_HYPERVISOR);
>> +
> 
> This should be made conditional on the location of the crash region --
> it is wrong to do this for portions of the crash region that are outside
> the crash region.

Either that or the kexec code would become independent of the
specific behavioral aspects of the direct map and map_domain_page().
It's the latter that I'd prefer, not the least because I'm getting the
impression that restoring the code (even if conditional) would still not
help when the kexec area is not only outside the direct map area, but
beyond accessible RAM boundaries (i.e. on MFNs for which mfn_valid()
would return false).

Jan

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-01-07 12:11 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-01 16:51 [BUGFIX] [PATCH] kexec/x86: Do map crash kernel area Don Slutz
2014-01-01 17:47 ` Andrew Cooper
2014-01-02  1:41   ` Daniel Kiper
2014-01-02 15:04     ` Don Slutz
2014-01-02 10:46 ` David Vrabel
2014-01-02 10:48   ` Andrew Cooper
2014-01-02 11:49     ` David Vrabel
2014-01-07  0:23       ` Don Slutz
2014-01-07 12:11   ` Jan Beulich

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