From xen-devel-bounces@lists.xen.org Tue Oct 02 12:11:37 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Oct 2012 12:11:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TJ1Jm-000127-3E; Tue, 02 Oct 2012 12:11:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kiviniemi.valtteri@gmail.com>) id 1TJ1Jk-000121-H6
	for Xen-devel@lists.xen.org; Tue, 02 Oct 2012 12:11:17 +0000
Received: from [85.158.143.35:32415] by server-1.bemta-4.messagelabs.com id
	EF/FF-05684-3E9DA605; Tue, 02 Oct 2012 12:11:15 +0000
X-Env-Sender: kiviniemi.valtteri@gmail.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1349179868!14577554!1
X-Originating-IP: [209.85.160.173]
X-SpamReason: No, hits=1.4 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_40_50, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, ML_RADAR_SPEW_LINKS_23,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8573 invoked from network); 2 Oct 2012 12:11:09 -0000
Received: from mail-gh0-f173.google.com (HELO mail-gh0-f173.google.com)
	(209.85.160.173)
	by server-3.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	2 Oct 2012 12:11:09 -0000
Received: by ghy16 with SMTP id 16so1869648ghy.32
	for <Xen-devel@lists.xen.org>; Tue, 02 Oct 2012 05:11:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=oxsFxO/pbW77JqLKwHo3ZM9eK+wlLo/mp+c89GzYwEo=;
	b=G6IB35PQhj3NlpJX2ME/c3hn09zgRUjBUjWz6xJb4zzmRXaW/o2MVqZTI/n748ly5N
	Uml2rmfCOwWH5cSiM0mO2vj2nd/5pTwnKWeHNWRMDKeZ7uGNSfzJoR5r7+ieyd9V5RKv
	o+2cvyimuD/H8TUtmXsKfQSudHI0MQ3Wok6zxa8y+KkXrVJsqiOGgxbd5tZ/Wwadmqms
	BshiOr0R8HGpao2Mm7tRj2p7eFDC3x/Wee2Q3RgrmjX9gnYBAkFvaNnJPEJGVrAoIxiF
	LgUJqQ3DHAAyQTrPwEiEjyBPZQh8D16Rgejmndy5q47HVxzxHJohOBq3BHvxgR6cgQ/K
	tZUw==
MIME-Version: 1.0
Received: by 10.236.151.99 with SMTP id a63mr18355479yhk.120.1349179867929;
	Tue, 02 Oct 2012 05:11:07 -0700 (PDT)
Received: by 10.147.129.8 with HTTP; Tue, 2 Oct 2012 05:11:07 -0700 (PDT)
In-Reply-To: <CAN=sCCH3UjK=xs8MwJMLUvU0Otpwu30f3aBDOv+vxis3hVxUmg@mail.gmail.com>
References: <CAN=sCCFuDywL6h8mESz5iN+UBYp9sW7YvGCB0LpYJQWQM+2fHg@mail.gmail.com>
	<20121001062232.GV8912@reaktio.net>
	<CAN=sCCFh5ndexg8AiRzUrf7LtKTPmPcj05TMrd6DoFttiCTDbQ@mail.gmail.com>
	<20121001144042.GC8912@reaktio.net>
	<CAN=sCCHsRXWvbmJFEgBLP+PsW=MLRHNRNpi26hvok8pFiWsjJg@mail.gmail.com>
	<20121001160117.GD8912@reaktio.net>
	<CAN=sCCHXj+4iEmxJNFdtmeVvqrF2q_kDNqF6d9=bRCq8uMOdkw@mail.gmail.com>
	<20121001164757.GF8912@reaktio.net>
	<CAN=sCCF5B-Ga9ZvTJ=pMWjFXjA5Y=so4ZgEKu5ee+iyddd7hvA@mail.gmail.com>
	<20121001182437.GG8912@reaktio.net>
	<CAN=sCCH3UjK=xs8MwJMLUvU0Otpwu30f3aBDOv+vxis3hVxUmg@mail.gmail.com>
Date: Tue, 2 Oct 2012 15:11:07 +0300
Message-ID: <CAN=sCCF9OSuCZ7t1gi+q-A+2xSyRyoo5Jz+DoFXCK0_-D9065Q@mail.gmail.com>
From: Valtteri Kiviniemi <kiviniemi.valtteri@gmail.com>
To: =?ISO-8859-1?Q?Pasi_K=E4rkk=E4inen?= <pasik@iki.fi>
Cc: Xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Xen 4.0.4, kernel 3.5.0 HVM crash and kernel BUG
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============7769507901113686720=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============7769507901113686720==
Content-Type: multipart/alternative; boundary=20cf303a2e35c41b0104cb126a25

--20cf303a2e35c41b0104cb126a25
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,

Another update:

I wanted to check that if a Linux HVM would boot with working VNC console,
so I tried to launch a Debian Squeeze installer on HVM. It refused to start
ant told me that vbd hotplug scripts were not working. After that failure
even the Windows domU would not anymore start which was previously starting
ok.

The hotplug scripts also starts hanging on the processes.

root      9401  0.1  0.1  17700  1640 ?        S    15:05   0:00 /bin/bash
/etc/xen/scripts/xen-hotplug-cleanup
root      9441  0.1  0.1  17700  1644 ?        S    15:05   0:00 /bin/bash
/etc/xen/scripts/xen-hotplug-cleanup
root      9481  0.1  0.1  17700  1640 ?        S    15:05   0:00 /bin/bash
/etc/xen/scripts/xen-hotplug-cleanup
root      9560  0.1  0.1  17700  1640 ?        S    15:05   0:00 /bin/bash
/etc/xen/scripts/xen-hotplug-cleanup
root     10738  0.1  0.1  17696  1636 ?        S    15:05   0:00 /bin/bash
/etc/xen/scripts/xen-hotplug-cleanup
root     10747  0.1  0.1  17792  1736 ?        S    15:05   0:00 /bin/bash
/etc/xen/scripts/block remove
root     11286  0.0  0.0   4080   324 ?        S    15:06   0:00 sleep 1
root     11290  0.0  0.0   4080   324 ?        S    15:06   0:00 sleep 1
root     11294  0.0  0.0   4080   324 ?        S    15:06   0:00 sleep 1
root     11298  0.0  0.0   4080   324 ?        S    15:06   0:00 sleep 1
root     11302  0.0  0.0   4080   320 ?        S    15:06   0:00 sleep 1
root     11306  0.0  0.0   4080   320 ?        S    15:06   0:00 sleep 1

Then I did a xm destroy and I had again the kernel BUG on dmesg. So it
seems that the problem is not fixed by using 3.6.0. Udev version is 175-7.




2012/10/1 Valtteri Kiviniemi <kiviniemi.valtteri@gmail.com>

> Hi,
>
> CPU: Intel Core i7-3770 3.4GHz
> http://ark.intel.com/products/65719/
>
> MB: Intel DQ77MK (latest bios updated)
>
> http://www.intel.com/content/www/us/en/motherboards/desktop-motherboards/=
desktop-board-dq77mk.html
>
> Memory: 32GB (4 x 8GB DDR3-1600MHz)
>
> Host is Debian wheezy/testing, Xen 4.0.4 and latest 3.6.0 kernel.
>
> Noticed also some errors in xm dmesg:
>
> root@xen-2:~# xm dmesg
>
> (XEN) Xen version 4.0.4 (root@dataproof.fi) (gcc version 4.7.1 (Debian
> 4.7.1-7) ) Sun Sep 30 20:28:26 EEST 2012
> (XEN) Latest ChangeSet: unavailable
> (XEN) Bootloader: GNU GRUB 0.97
> (XEN) Command line: dom0_mem=3D1280M cpufreq=3Dxen clocksource=3Dhpet
> (XEN) Video information:
> (XEN)  VGA is text mode 80x25, font 8x16
> (XEN)  VBE/DDC methods: none; EDID transfer time: 0 seconds
> (XEN)  EDID info not retrieved because no DDC retrieval method detected
> (XEN) Disc information:
> (XEN)  Found 4 MBR signatures
> (XEN)  Found 4 EDD information structures
> (XEN) Xen-e820 RAM map:
> (XEN)  0000000000000000 - 000000000009d800 (usable)
> (XEN)  000000000009d800 - 00000000000a0000 (reserved)
> (XEN)  00000000000e0000 - 0000000000100000 (reserved)
> (XEN)  0000000000100000 - 0000000020000000 (usable)
> (XEN)  0000000020000000 - 0000000020200000 (reserved)
> (XEN)  0000000020200000 - 0000000040004000 (usable)
> (XEN)  0000000040004000 - 0000000040005000 (reserved)
> (XEN)  0000000040005000 - 00000000dbe44000 (usable)
> (XEN)  00000000dbe44000 - 00000000dc2d7000 (reserved)
> (XEN)  00000000dc2d7000 - 00000000dc2e7000 (ACPI data)
> (XEN)  00000000dc2e7000 - 00000000dc40c000 (ACPI NVS)
> (XEN)  00000000dc40c000 - 00000000dc6af000 (reserved)
> (XEN)  00000000dc6af000 - 00000000dc6b0000 (usable)
> (XEN)  00000000dc6b0000 - 00000000dc6f3000 (ACPI NVS)
> (XEN)  00000000dc6f3000 - 00000000dd000000 (usable)
> (XEN)  00000000dd800000 - 00000000dfa00000 (reserved)
> (XEN)  00000000f8000000 - 00000000fc000000 (reserved)
> (XEN)  00000000fec00000 - 00000000fec01000 (reserved)
> (XEN)  00000000fed00000 - 00000000fed04000 (reserved)
> (XEN)  00000000fed1c000 - 00000000fed20000 (reserved)
> (XEN)  00000000fee00000 - 00000000fee01000 (reserved)
> (XEN)  00000000ff000000 - 0000000100000000 (reserved)
> (XEN)  0000000100000000 - 000000081e600000 (usable)
> (XEN) ACPI: RSDP 000F0490, 0024 (r2  INTEL)
> (XEN) ACPI: XSDT DC2DB080, 007C (r1 INTEL  DQ77MK         32 AMI     1001=
3)
> (XEN) ACPI: FACP DC2E51F0, 010C (r5 INTEL  DQ77MK         32 AMI     1001=
3)
> (XEN) ACPI Warning (tbfadt-0232): FADT (revision 5) is longer than ACPI
> 2.0 version, truncating length 0x10C to 0xF4 [20070126]
> (XEN) ACPI: DSDT DC2DB188, A061 (r2 INTEL  DQ77MK         32 INTL 2005111=
7)
> (XEN) ACPI: FACS DC40A080, 0040
> (XEN) ACPI: APIC DC2E5300, 0092 (r3 INTEL  DQ77MK         32 AMI     1001=
3)
> (XEN) ACPI: FPDT DC2E5398, 0044 (r1 INTEL  DQ77MK         32 AMI     1001=
3)
> (XEN) ACPI: TCPA DC2E53E0, 0032 (r2 INTEL  DQ77MK         32 MSFT  100001=
3)
> (XEN) ACPI: MCFG DC2E5418, 003C (r1 INTEL  DQ77MK         32 MSFT       9=
7)
> (XEN) ACPI: HPET DC2E5458, 0038 (r1 INTEL  DQ77MK         32 AMI.        =
5)
> (XEN) ACPI: SSDT DC2E5490, 036D (r1 INTEL  DQ77MK         32 INTL 2009111=
2)
> (XEN) ACPI: SSDT DC2E5800, 09AA (r1 INTEL  DQ77MK         32 INTL 2005111=
7)
> (XEN) ACPI: SSDT DC2E61B0, 0A92 (r1 INTEL  DQ77MK         32 INTL 2005111=
7)
> (XEN) ACPI: DMAR DC2E6C48, 00B8 (r1 INTEL  DQ77MK         32 INTL        =
1)
> (XEN) ACPI: ASF! DC2E6D00, 00A5 (r32 INTEL  DQ77MK         32 TFSM
> F4240)
> (XEN) System RAM: 32682MB (33467320kB)
> (XEN) Domain heap initialised
> (XEN) ACPI: 32/64X FACS address mismatch in FADT -
> dc40a080/0000000000000000, using 32
> (XEN) Processor #0 7:10 APIC version 21
> (XEN) Processor #2 7:10 APIC version 21
> (XEN) Processor #4 7:10 APIC version 21
> (XEN) Processor #6 7:10 APIC version 21
> (XEN) Processor #1 7:10 APIC version 21
> (XEN) Processor #3 7:10 APIC version 21
> (XEN) Processor #5 7:10 APIC version 21
> (XEN) Processor #7 7:10 APIC version 21
> (XEN) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
> (XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
> (XEN) Switched to APIC driver x2apic_cluster.
> (XEN) x2APIC mode enabled.
> (XEN) Using scheduler: SMP Credit Scheduler (credit)
> (XEN) Detected 3392.369 MHz processor.
> (XEN) Initing memory sharing.
> (XEN) VMX: Supported advanced features:
> (XEN)  - APIC MMIO access virtualisation
> (XEN)  - APIC TPR shadow
> (XEN)  - Extended Page Tables (EPT)
> (XEN)  - Virtual-Processor Identifiers (VPID)
> (XEN)  - Virtual NMI
> (XEN)  - MSR direct-access bitmap
> (XEN)  - Unrestricted Guest
> (XEN) EPT supports 2MB super page.
> (XEN) HVM: ASIDs enabled.
> (XEN) HVM: VMX enabled
> (XEN) HVM: Hardware Assisted Paging detected.
> (XEN) Intel VT-d Snoop Control not 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) I/O virtualisation enabled
> (XEN)  - Dom0 mode: Relaxed
> (XEN) Enabled directed EOI with ioapic_ack_old on!
> (XEN) Total of 8 processors activated.
> (XEN) ENABLING IO-APIC IRQs
> (XEN)  -> Using old ACK method
> (XEN) TSC is reliable, synchronization unnecessary
> (XEN) Platform timer appears to have unexpectedly wrapped 1 times.
> (XEN) Platform timer is 14.318MHz HPET
> (XEN) Allocated console ring of 16 KiB.
> (XEN) Brought up 8 CPUs
> (XEN) *** LOADING DOMAIN 0 ***
> (XEN)  Xen  kernel: 64-bit, lsb, compat32
> (XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1ae7000
> (XEN) PHYSICAL MEMORY ARRANGEMENT:
> (XEN)  Dom0 alloc.:   0000000804000000->0000000806000000 (319488 pages to
> be allocated)
> (XEN) VIRTUAL MEMORY ARRANGEMENT:
> (XEN)  Loaded kernel: ffffffff81000000->ffffffff81ae7000
> (XEN)  Init. ramdisk: ffffffff81ae7000->ffffffff81ae7000
> (XEN)  Phys-Mach map: ffffffff81ae7000->ffffffff81d67000
> (XEN)  Start info:    ffffffff81d67000->ffffffff81d674b4
> (XEN)  Page tables:   ffffffff81d68000->ffffffff81d7b000
> (XEN)  Boot stack:    ffffffff81d7b000->ffffffff81d7c000
> (XEN)  TOTAL:         ffffffff80000000->ffffffff82000000
> (XEN)  ENTRY ADDRESS: ffffffff815e3210
> (XEN) Dom0 has maximum 8 VCPUs
> (XEN) [VT-D]iommu.c:718: BIOS did not enable IGD for VT properly.
> Disabling IGD VT-d engine.
> (XEN) Scrubbing Free RAM: done.
> (XEN) Xen trace buffers: disabled
> (XEN) Std. Loglevel: Errors and warnings
> (XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
> (XEN) Xen is relinquishing VGA console.
> (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input
> to Xen)
> (XEN) Freed 172kB init memory.
> (XEN) traps.c:2333:d0 Domain attempted WRMSR 000000000000008b from
> 00000012:00000000 to 00000000:00000000.
>
> - Valtteri
>
>
> 2012/10/1 Pasi K=E4rkk=E4inen <pasik@iki.fi>
>
>> On Mon, Oct 01, 2012 at 09:12:50PM +0300, Valtteri Kiviniemi wrote:
>> >    Hi,
>> >
>> >    Lowering memory or vcpu's does not help, problem is the same. I
>> originally
>> >    installed Xen 4.2.0 and the problem was same on that too. Then I
>> >    downgraded back to 4.0.4 since I thought that this might be a bug o=
n
>> >    4.2.0. I have been previously running Windows Server 2008 R2
>> succesfully
>> >    on Xen 4.0.x on different hardware with this same config. Hyperviso=
r
>> is
>> >    64bit and windows is 64bit.
>> >
>> >    Any ideas what to try next?
>> >
>>
>> What kind of hardware is that?
>>
>> xen.org automated testing regularly tests Windows VMs, and it works OK
>> there.
>>
>> -- Pasi
>>
>> >    Ps. qemu-dm.log is the following:
>> >
>> >    domid: 10
>> >    config qemu network with xen bridge for  tap10.0 xenbr0
>> >    Using file /dev/virtuals/ts in read-write mode
>> >    Using file /media/iso/windows_server_2008_r2_sp1.iso in read-only
>> mode
>> >    Watching /local/domain/0/device-model/10/logdirty/cmd
>> >    Watching /local/domain/0/device-model/10/command
>> >    qemu_map_cache_init nr_buckets =3D 10000 size 4194304
>> >    shared page at pfn feffd
>> >    buffered io page at pfn feffb
>> >    Guest uuid =3D 52f19e23-2955-c27d-a22c-60c5d8c60d5a
>> >    Time offset set 0
>> >    populating video RAM at ff000000
>> >    mapping video RAM from ff000000
>> >    Register xen platform.
>> >    Done register platform.
>> >    platform_fixed_ioport: changed ro/rw state of ROM memory area. now
>> is rw
>> >    state.
>> >    xs_read(/local/domain/0/device-model/10/xen_extended_power_mgmt):
>> read
>> >    error
>> >    medium change watch on `hdc' (index: 1):
>> >    /media/iso/windows_server_2008_r2_sp1.iso
>> >    I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size:=
 0
>> >    Log-dirty: no command yet.
>> >    xs_read(/local/domain/10/log-throttling): read error
>> >    qemu: ignoring not-understood drive `/local/domain/10/log-throttlin=
g'
>> >    medium change watch on `/local/domain/10/log-throttling' - unknown
>> device,
>> >    ignored
>> >    cirrus vga map change while on lfb mode
>> >    mapping vram to f0000000 - f0400000
>> >    platform_fixed_ioport: changed ro/rw state of ROM memory area. now
>> is rw
>> >    state.
>> >    platform_fixed_ioport: changed ro/rw state of ROM memory area. now
>> is ro
>> >    state.
>> >
>> >    2012/10/1 Pasi K=E4rkk=E4inen <[1]pasik@iki.fi>
>> >
>> >      On Mon, Oct 01, 2012 at 07:23:44PM +0300, Valtteri Kiviniemi wrot=
e:
>> >      >    Hi,
>> >      >
>> >      >    I have tried other config files, but the problem is the same=
.
>> At
>> >      the
>> >      >    moment I'm using a config file from another server where I
>> have a
>> >      working
>> >      >    Windows Server 2008 R2 installation, so I dont think that
>> there is
>> >      >    anything wrong with my config:
>> >      >
>> >
>> >      Did you try with less vcpus, for example 2 ?
>> >      how about with less memory, say 2 GB ?
>> >
>> >      Did you try with later Xen versions? Is that a 32bit Xen, or 64bi=
t
>> Xen
>> >      hypervisor?
>> >
>> >      -- Pasi
>> >      >    kernel =3D "/usr/lib/xen/boot/hvmloader"
>> >      >    builder =3D "hvm"
>> >      >    shadow_memory =3D "8"
>> >      >    memory =3D "4096"
>> >      >    name =3D "ts"
>> >      >    vcpus =3D "8"
>> >      >    cpus =3D ["0", "1", "2", "3", "4", "5", "6", "7"]
>> >      >    pae =3D "1"
>> >      >    acpi =3D "1"
>> >      >    apic =3D "1"
>> >      >    vfb =3D [ 'type=3Dvnc, vnclisten=3D10.100.100.50, vncpasswd=
=3Dxxx' ]
>> >      >    xen_extended_power_mgmt =3D "0"
>> >      >    vif =3D [ "type=3Dioemu, mac=3D00:16:3e:d7:d7:5d, bridge=3Dx=
enbr0" ]
>> >      >    disk =3D [ "phy:/dev/virtuals/ts,hda,w",
>> >      >    "file:/media/iso/windows_server_2008_r2_sp1.iso,hdc:cdrom,r"=
 ]
>> >      >    on_poweroff =3D "destroy"
>> >      >    on_reboot =3D "restart"
>> >      >    on_crash =3D "restart"
>> >      >    viridian =3D "1"
>> >      >    device_model =3D "/usr/lib/xen/bin/qemu-dm"
>> >      >    boot =3D "dc"
>> >      >    snapshot =3D "0"
>> >      >    vncconsole =3D "1"
>> >      >    sdl =3D "0"
>> >      >    opengl =3D "0"
>> >      >    vnc =3D "1"
>> >      >    nographic =3D "0"
>> >      >    stdvga =3D "0"
>> >      >    tsc_mode =3D "1"
>> >      >    monitor =3D "0"
>> >      >    localtime =3D "1"
>> >      >    usb =3D "0"
>> >      >    keymap =3D "fi"
>> >      >    xen_platform_pci =3D "1"
>> >      >    pci_msitranslate =3D "1"
>> >      >    pci_power_mgmt =3D "0"
>> >      >
>> >      >    2012/10/1 Pasi K=E4rkk=E4inen <[1][2]pasik@iki.fi>
>> >      >
>> >      >      On Mon, Oct 01, 2012 at 06:46:08PM +0300, Valtteri Kivinie=
mi
>> >      wrote:
>> >      >      >    Hi,
>> >      >      >
>> >      >      >    Yes, I have viridian=3D1 on my domU config.
>> >      >      >
>> >      >
>> >      >      Try with some known good domU configfile.
>> >      >
>> >      >      -- Pasi
>> >      >      >    2012/10/1 Pasi K=E4rkk=E4inen <[1][2][3]pasik@iki.fi>
>> >      >      >
>> >      >      >      On Mon, Oct 01, 2012 at 05:06:53PM +0300, Valtteri
>> >      Kiviniemi
>> >      >      wrote:
>> >      >      >      >    Hi,
>> >      >      >      >
>> >      >      >      >    I'm now using 3.6.0 and can't reproduce that
>> crash
>> >      anymore,
>> >      >      so it
>> >      >      >      seems
>> >      >      >      >    that it was a kernel bug.
>> >      >      >      >
>> >      >      >
>> >      >      >      OK.
>> >      >      >      >    However I'm still getting black screen on VNC
>> >      >      >      >    when trying to install Windows Server 2008 R2.
>> I can
>> >      see the
>> >      >      >      "windows is
>> >      >      >      >    loading files" screen but after the installer
>> starts
>> >      the VNC
>> >      >      >      display goes
>> >      >      >      >    black.
>> >      >      >      >
>> >      >      >      >    Any ideas?
>> >      >      >      >
>> >      >      >
>> >      >      >      Do you have viridian=3D1 specified for the windows =
vm?
>> >      >      >
>> >      >      >      -- Pasi
>> >      >      >
>> >      >      >      >    - Valtteri
>> >      >      >      >
>> >      >      >      >    2012/10/1 Pasi K=E4rkk=E4inen <[1][2][3][4]
>> pasik@iki.fi>
>> >      >      >      >
>> >      >      >      >      On Sun, Sep 30, 2012 at 11:18:03PM +0300,
>> Valtteri
>> >      >      Kiviniemi
>> >      >      >      wrote:
>> >      >      >      >      >    Hi,
>> >      >      >      >      >
>> >      >      >      >
>> >      >      >      >      Hello,
>> >      >      >      >      >    I'm trying to get Windows Server 2008 R=
2
>> >      installation
>> >      >      >      booting on
>> >      >      >      >      Xen
>> >      >      >      >      >    4.0.4. Using the following config:
>> >      >      >      >      >
>> >      >      >      >
>> >      >      >      >      <snip>
>> >      >      >      >      >
>> >      >      >      >      >    The domU will start booting just fine,
>> but
>> >      after a
>> >      >      few
>> >      >      >      minutes the
>> >      >      >      >      VNC
>> >      >      >      >      >    screen goes black. After that when
>> typing "xm
>> >      destroy
>> >      >      ts" it
>> >      >      >      will
>> >      >      >      >      trigger
>> >      >      >      >      >    a kernel BUG:
>> >      >      >      >      >
>> >      >      >      >      >    BUG: unable to handle kernel NULL point=
er
>> >      dereference
>> >      >      at
>> >      >      >      >      0000000000000030
>> >      >      >      >      >    IP: [<ffffffff810c50c4>] iput+0x3e/0x19=
5
>> >      >      >      >      >    PGD 0
>> >      >      >      >      >    Oops: 0000 [#1] SMP
>> >      >      >      >      >    CPU 6
>> >      >      >      >      >    Pid: 3571, comm: qemu-dm Not tainted
>> >      3.5.0-dom0 #1
>> >      >      >      >
>> >      >      >      >      First of all upgrade to latest 3.5.x Linux
>> kernel
>> >      release
>> >      >      .. so
>> >      >      >      at least
>> >      >      >      >      3.5.4.
>> >      >      >      >
>> >      >      >      >      -- Pasi
>> >      >      >      >
>> >      >      >      >      >    /DQ77MK
>> >      >      >      >      >    RIP: e030:[<ffffffff810c50c4>]
>> >       [<ffffffff810c50c4>]
>> >      >      >      >      iput+0x3e/0x195
>> >      >      >      >      >    RSP: e02b:ffff8800389ffbf8  EFLAGS:
>> 00010246
>> >      >      >      >      >    RAX: 0000000000000001 RBX:
>> ffff8800377b0720
>> >      RCX:
>> >      >      >      ffff8800501c0000
>> >      >      >      >      >    RDX: ffff8800501c0000 RSI:
>> ffff8800377b0790
>> >      RDI:
>> >      >      >      ffff8800377b0790
>> >      >      >      >      >    RBP: 0000000000000000 R08:
>> ffffffff815cdd00
>> >      R09:
>> >      >      >      0000000000000016
>> >      >      >      >      >    R10: fefefefefefefeff R11:
>> ffff8800377b0400
>> >      R12:
>> >      >      >      00000001000a3e0c
>> >      >      >      >      >    R13: 0000000000000000 R14:
>> 00000001000a3e0c
>> >      R15:
>> >      >      >      ffff8800389ffc28
>> >      >      >      >      >    FS:  00007f1af70a8700(0000)
>> >      GS:ffff880050180000(0000)
>> >      >      >      >      >    knlGS:0000000000000000
>> >      >      >      >      >    CS:  e033 DS: 0000 ES: 0000 CR0:
>> >      000000008005003b
>> >      >      >      >      >    CR2: 0000000000000030 CR3:
>> 000000000156d000
>> >      CR4:
>> >      >      >      0000000000002660
>> >      >      >      >      >    DR0: 0000000000000000 DR1:
>> 0000000000000000
>> >      DR2:
>> >      >      >      0000000000000000
>> >      >      >      >      >    DR3: 0000000000000000 DR6:
>> 00000000ffff0ff0
>> >      DR7:
>> >      >      >      0000000000000400
>> >      >      >      >      >    Process qemu-dm (pid: 3571, threadinfo
>> >      >      ffff8800389fe000,
>> >      >      >      task
>> >      >      >      >      >    ffff88003a721260)
>> >      >      >      >      >    Stack:
>> >      >      >      >      >     ffff88003a6d6400 ffff8800377b0000
>> >      00000001000a3e0c
>> >      >      >      >      ffffffff8133ce8f
>> >      >      >      >      >     ffff8800377b0400 ffffffff8134b6cd
>> >      ffff8800389ffc28
>> >      >      >      >      ffff8800389ffc28
>> >      >      >      >      >     ffff8800377b00f8 ffff8800377b0680
>> >      ffff880038cdcd60
>> >      >      >      >      ffff8800377b0000
>> >      >      >      >      >    Call Trace:
>> >      >      >      >      >     [<ffffffff8133ce8f>] ?
>> >      sk_release_kernel+0x23/0x39
>> >      >      >      >      >     [<ffffffff8134b6cd>] ?
>> >      netdev_run_todo+0x1e9/0x206
>> >      >      >      >      >     [<ffffffff8129798f>] ?
>> >      tun_chr_close+0x4c/0x7b
>> >      >      >      >      >     [<ffffffff810b39d3>] ? fput+0xe4/0x1c5
>> >      >      >      >      >     [<ffffffff810b202c>] ?
>> filp_close+0x61/0x68
>> >      >      >      >      >     [<ffffffff81035e62>] ?
>> >      put_files_struct+0x62/0xb9
>> >      >      >      >      >     [<ffffffff81036374>] ?
>> do_exit+0x24a/0x74c
>> >      >      >      >      >     [<ffffffff81036906>] ?
>> >      do_group_exit+0x6b/0x9d
>> >      >      >      >      >     [<ffffffff8103ea0b>] ?
>> >      >      get_signal_to_deliver+0x449/0x46e
>> >      >      >      >      >     [<ffffffff81009fa5>] ?
>> do_signal+0x28/0x4c4
>> >      >      >      >      >     [<ffffffff81027079>] ?
>> >      >      pvclock_clocksource_read+0x48/0xbf
>> >      >      >      >      >     [<ffffffff8105b745>] ?
>> ktime_get_ts+0x66/0xa8
>> >      >      >      >      >     [<ffffffff810bfb18>] ?
>> >      >      poll_select_copy_remaining+0xe0/0xf5
>> >      >      >      >      >     [<ffffffff8100a48d>] ?
>> >      do_notify_resume+0x3b/0x74
>> >      >      >      >      >     [<ffffffff81411a70>] ?
>> int_signal+0x12/0x17
>> >      >      >      >      >    Code: 00 00 00 40 74 02 0f 0b 48 8d 77
>> 70 48
>> >      8d bf 08
>> >      >      01 00
>> >      >      >      00 e8
>> >      >      >      >      8b 71 10
>> >      >      >      >      >    00 85 c0 0f 84 5d 01 00 00 48 8b 6b 18
>> f6 83
>> >      80 00 00
>> >      >      00 08
>> >      >      >      <4c> 8b
>> >      >      >      >      65 30
>> >      >      >      >      >    74 11 be 68 05 00 00 48 c7 c7 8e df 4f
>> 81 e8
>> >      bb d0
>> >      >      >      >      >    RIP  [<ffffffff810c50c4>] iput+0x3e/0x1=
95
>> >      >      >      >      >     RSP <ffff8800389ffbf8>
>> >      >      >      >      >    CR2: 0000000000000030
>> >      >      >      >      >    ---[ end trace 67cc1654658fedcc ]---
>> >      >      >      >      >    Fixing recursive fault but reboot is
>> needed!
>> >      >      >      >      >
>> >      >      >      >      >    I also tested Xen 4.2.0 and problem is
>> the
>> >      same. So
>> >      >      is this
>> >      >      >      a Xen
>> >      >      >      >      bug or a
>> >      >      >      >      >    kernel bug? I am running vanilla
>> >      >      [1][2][3][4][5]kernel.org kernel
>> >      >      >      3.5.0 and
>> >      >      >      >      my
>> >      >      >      >      >    hardware is Intel Core i7-3770 CPU and
>> Intel
>> >      DQ77MK
>> >      >      >      motherboard
>> >      >      >      >      with
>> >      >      >      >      >    latest bios.
>> >      >      >      >      >
>> >      >      >      >      >    Best regards,
>> >      >      >      >      >    Valtteri Kiviniemi
>> >      >      >      >      >
>> >      >      >      >      > References
>> >      >      >      >      >
>> >      >      >      >      >    Visible links
>> >      >      >      >      >    1. [3][4][5][6]http://kernel.org/
>> >      >      >      >
>> >      >      >      >      >
>> _______________________________________________
>> >      >      >      >      > Xen-devel mailing list
>> >      >      >      >      > [4][5][6][7]Xen-devel@lists.xen.org
>> >      >      >      >      > [5][6][7][8]http://lists.xen.org/xen-devel
>> >      >      >      >
>> >      >      >      > References
>> >      >      >      >
>> >      >      >      >    Visible links
>> >      >      >      >    1. mailto:[7][8][9]pasik@iki.fi
>> >      >      >      >    2. [8][9][10]http://kernel.org/
>> >      >      >      >    3. [9][10][11]http://kernel.org/
>> >      >      >      >    4. mailto:[10][11][12]Xen-devel@lists.xen.org
>> >      >      >      >    5. [11][12][13]http://lists.xen.org/xen-devel
>> >      >      >
>> >      >      > References
>> >      >      >
>> >      >      >    Visible links
>> >      >      >    1. mailto:[13][14]pasik@iki.fi
>> >      >      >    2. mailto:[14][15]pasik@iki.fi
>> >      >      >    3. [15][16]http://kernel.org/
>> >      >      >    4. [16][17]http://kernel.org/
>> >      >      >    5. mailto:[17][18]Xen-devel@lists.xen.org
>> >      >      >    6. [18][19]http://lists.xen.org/xen-devel
>> >      >      >    7. mailto:[19][20]pasik@iki.fi
>> >      >      >    8. [20][21]http://kernel.org/
>> >      >      >    9. [21][22]http://kernel.org/
>> >      >      >   10. mailto:[22][23]Xen-devel@lists.xen.org
>> >      >      >   11. [23][24]http://lists.xen.org/xen-devel
>> >      >
>> >      > References
>> >      >
>> >      >    Visible links
>> >      >    1. mailto:[25]pasik@iki.fi
>> >      >    2. mailto:[26]pasik@iki.fi
>> >      >    3. mailto:[27]pasik@iki.fi
>> >      >    4. [28]http://kernel.org/
>> >      >    5. [29]http://kernel.org/
>> >      >    6. mailto:[30]Xen-devel@lists.xen.org
>> >      >    7. [31]http://lists.xen.org/xen-devel
>> >      >    8. mailto:[32]pasik@iki.fi
>> >      >    9. [33]http://kernel.org/
>> >      >   10. [34]http://kernel.org/
>> >      >   11. mailto:[35]Xen-devel@lists.xen.org
>> >      >   12. [36]http://lists.xen.org/xen-devel
>> >      >   13. mailto:[37]pasik@iki.fi
>> >      >   14. mailto:[38]pasik@iki.fi
>> >      >   15. [39]http://kernel.org/
>> >      >   16. [40]http://kernel.org/
>> >      >   17. mailto:[41]Xen-devel@lists.xen.org
>> >      >   18. [42]http://lists.xen.org/xen-devel
>> >      >   19. mailto:[43]pasik@iki.fi
>> >      >   20. [44]http://kernel.org/
>> >      >   21. [45]http://kernel.org/
>> >      >   22. mailto:[46]Xen-devel@lists.xen.org
>> >      >   23. [47]http://lists.xen.org/xen-devel
>> >
>> > References
>> >
>> >    Visible links
>> >    1. mailto:pasik@iki.fi
>> >    2. mailto:pasik@iki.fi
>> >    3. mailto:pasik@iki.fi
>> >    4. mailto:pasik@iki.fi
>> >    5. http://kernel.org/
>> >    6. http://kernel.org/
>> >    7. mailto:Xen-devel@lists.xen.org
>> >    8. http://lists.xen.org/xen-devel
>> >    9. mailto:pasik@iki.fi
>> >   10. http://kernel.org/
>> >   11. http://kernel.org/
>> >   12. mailto:Xen-devel@lists.xen.org
>> >   13. http://lists.xen.org/xen-devel
>> >   14. mailto:pasik@iki.fi
>> >   15. mailto:pasik@iki.fi
>> >   16. http://kernel.org/
>> >   17. http://kernel.org/
>> >   18. mailto:Xen-devel@lists.xen.org
>> >   19. http://lists.xen.org/xen-devel
>> >   20. mailto:pasik@iki.fi
>> >   21. http://kernel.org/
>> >   22. http://kernel.org/
>> >   23. mailto:Xen-devel@lists.xen.org
>> >   24. http://lists.xen.org/xen-devel
>> >   25. mailto:pasik@iki.fi
>> >   26. mailto:pasik@iki.fi
>> >   27. mailto:pasik@iki.fi
>> >   28. http://kernel.org/
>> >   29. http://kernel.org/
>> >   30. mailto:Xen-devel@lists.xen.org
>> >   31. http://lists.xen.org/xen-devel
>> >   32. mailto:pasik@iki.fi
>> >   33. http://kernel.org/
>> >   34. http://kernel.org/
>> >   35. mailto:Xen-devel@lists.xen.org
>> >   36. http://lists.xen.org/xen-devel
>> >   37. mailto:pasik@iki.fi
>> >   38. mailto:pasik@iki.fi
>> >   39. http://kernel.org/
>> >   40. http://kernel.org/
>> >   41. mailto:Xen-devel@lists.xen.org
>> >   42. http://lists.xen.org/xen-devel
>> >   43. mailto:pasik@iki.fi
>> >   44. http://kernel.org/
>> >   45. http://kernel.org/
>> >   46. mailto:Xen-devel@lists.xen.org
>> >   47. http://lists.xen.org/xen-devel
>>
>
>

--20cf303a2e35c41b0104cb126a25
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br>Hi,<br><br>Another update:<br><br>I wanted to check that if a Linux HVM=
 would boot with working VNC console, so I tried to launch a Debian Squeeze=
 installer on HVM. It refused to start ant told me that vbd hotplug scripts=
 were not working. After that failure even the Windows domU would not anymo=
re start which was previously starting ok.<br>
<br>The hotplug scripts also starts hanging on the processes.<br><br>root=
=A0=A0=A0=A0=A0 9401=A0 0.1=A0 0.1=A0 17700=A0 1640 ?=A0=A0=A0=A0=A0=A0=A0 =
S=A0=A0=A0 15:05=A0=A0 0:00 /bin/bash /etc/xen/scripts/xen-hotplug-cleanup<=
br>root=A0=A0=A0=A0=A0 9441=A0 0.1=A0 0.1=A0 17700=A0 1644 ?=A0=A0=A0=A0=A0=
=A0=A0 S=A0=A0=A0 15:05=A0=A0 0:00 /bin/bash /etc/xen/scripts/xen-hotplug-c=
leanup<br>
root=A0=A0=A0=A0=A0 9481=A0 0.1=A0 0.1=A0 17700=A0 1640 ?=A0=A0=A0=A0=A0=A0=
=A0 S=A0=A0=A0 15:05=A0=A0 0:00 /bin/bash /etc/xen/scripts/xen-hotplug-clea=
nup<br>root=A0=A0=A0=A0=A0 9560=A0 0.1=A0 0.1=A0 17700=A0 1640 ?=A0=A0=A0=
=A0=A0=A0=A0 S=A0=A0=A0 15:05=A0=A0 0:00 /bin/bash /etc/xen/scripts/xen-hot=
plug-cleanup<br>
root=A0=A0=A0=A0 10738=A0 0.1=A0 0.1=A0 17696=A0 1636 ?=A0=A0=A0=A0=A0=A0=
=A0 S=A0=A0=A0 15:05=A0=A0 0:00 /bin/bash /etc/xen/scripts/xen-hotplug-clea=
nup<br>root=A0=A0=A0=A0 10747=A0 0.1=A0 0.1=A0 17792=A0 1736 ?=A0=A0=A0=A0=
=A0=A0=A0 S=A0=A0=A0 15:05=A0=A0 0:00 /bin/bash /etc/xen/scripts/block remo=
ve<br>
root=A0=A0=A0=A0 11286=A0 0.0=A0 0.0=A0=A0 4080=A0=A0 324 ?=A0=A0=A0=A0=A0=
=A0=A0 S=A0=A0=A0 15:06=A0=A0 0:00 sleep 1<br>root=A0=A0=A0=A0 11290=A0 0.0=
=A0 0.0=A0=A0 4080=A0=A0 324 ?=A0=A0=A0=A0=A0=A0=A0 S=A0=A0=A0 15:06=A0=A0 =
0:00 sleep 1<br>root=A0=A0=A0=A0 11294=A0 0.0=A0 0.0=A0=A0 4080=A0=A0 324 ?=
=A0=A0=A0=A0=A0=A0=A0 S=A0=A0=A0 15:06=A0=A0 0:00 sleep 1<br>
root=A0=A0=A0=A0 11298=A0 0.0=A0 0.0=A0=A0 4080=A0=A0 324 ?=A0=A0=A0=A0=A0=
=A0=A0 S=A0=A0=A0 15:06=A0=A0 0:00 sleep 1<br>root=A0=A0=A0=A0 11302=A0 0.0=
=A0 0.0=A0=A0 4080=A0=A0 320 ?=A0=A0=A0=A0=A0=A0=A0 S=A0=A0=A0 15:06=A0=A0 =
0:00 sleep 1<br>root=A0=A0=A0=A0 11306=A0 0.0=A0 0.0=A0=A0 4080=A0=A0 320 ?=
=A0=A0=A0=A0=A0=A0=A0 S=A0=A0=A0 15:06=A0=A0 0:00 sleep 1<br>
<br>Then I did a xm destroy and I had again the kernel BUG on dmesg. So it =
seems that the problem is not fixed by using 3.6.0. Udev version is 175-7.<=
br><br>=A0<br><div class=3D"gmail_quote"><br><br>2012/10/1 Valtteri Kivinie=
mi <span dir=3D"ltr">&lt;<a href=3D"mailto:kiviniemi.valtteri@gmail.com" ta=
rget=3D"_blank">kiviniemi.valtteri@gmail.com</a>&gt;</span><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">Hi,<br><br>CPU: Intel Core i7-3770 3.4GHz<br=
><a href=3D"http://ark.intel.com/products/65719/" target=3D"_blank">http://=
ark.intel.com/products/65719/</a><br>
<br>MB: Intel DQ77MK (latest bios updated)<br><a href=3D"http://www.intel.c=
om/content/www/us/en/motherboards/desktop-motherboards/desktop-board-dq77mk=
.html" target=3D"_blank">http://www.intel.com/content/www/us/en/motherboard=
s/desktop-motherboards/desktop-board-dq77mk.html</a><br>

<br>Memory: 32GB (4 x 8GB DDR3-1600MHz)<br><br>Host is Debian wheezy/testin=
g, Xen 4.0.4 and latest 3.6.0 kernel.<br><br>Noticed also some errors in xm=
 dmesg:<br><br>root@xen-2:~# xm dmesg<br><br>(XEN) Xen version 4.0.4 (<a hr=
ef=3D"mailto:root@dataproof.fi" target=3D"_blank">root@dataproof.fi</a>) (g=
cc version 4.7.1 (Debian 4.7.1-7) ) Sun Sep 30 20:28:26 EEST 2012<br>

(XEN) Latest ChangeSet: unavailable<br>(XEN) Bootloader: GNU GRUB 0.97<br>(=
XEN) Command line: dom0_mem=3D1280M cpufreq=3Dxen clocksource=3Dhpet<br>(XE=
N) Video information:<br>(XEN)=A0 VGA is text mode 80x25, font 8x16<br>(XEN=
)=A0 VBE/DDC methods: none; EDID transfer time: 0 seconds<br>

(XEN)=A0 EDID info not retrieved because no DDC retrieval method detected<b=
r>(XEN) Disc information:<br>(XEN)=A0 Found 4 MBR signatures<br>(XEN)=A0 Fo=
und 4 EDD information structures<br>(XEN) Xen-e820 RAM map:<br>(XEN)=A0 000=
0000000000000 - 000000000009d800 (usable)<br>

(XEN)=A0 000000000009d800 - 00000000000a0000 (reserved)<br>(XEN)=A0 0000000=
0000e0000 - 0000000000100000 (reserved)<br>(XEN)=A0 0000000000100000 - 0000=
000020000000 (usable)<br>(XEN)=A0 0000000020000000 - 0000000020200000 (rese=
rved)<br>

(XEN)=A0 0000000020200000 - 0000000040004000 (usable)<br>(XEN)=A0 000000004=
0004000 - 0000000040005000 (reserved)<br>(XEN)=A0 0000000040005000 - 000000=
00dbe44000 (usable)<br>(XEN)=A0 00000000dbe44000 - 00000000dc2d7000 (reserv=
ed)<br>

(XEN)=A0 00000000dc2d7000 - 00000000dc2e7000 (ACPI data)<br>(XEN)=A0 000000=
00dc2e7000 - 00000000dc40c000 (ACPI NVS)<br>(XEN)=A0 00000000dc40c000 - 000=
00000dc6af000 (reserved)<br>(XEN)=A0 00000000dc6af000 - 00000000dc6b0000 (u=
sable)<br>

(XEN)=A0 00000000dc6b0000 - 00000000dc6f3000 (ACPI NVS)<br>(XEN)=A0 0000000=
0dc6f3000 - 00000000dd000000 (usable)<br>(XEN)=A0 00000000dd800000 - 000000=
00dfa00000 (reserved)<br>(XEN)=A0 00000000f8000000 - 00000000fc000000 (rese=
rved)<br>

(XEN)=A0 00000000fec00000 - 00000000fec01000 (reserved)<br>(XEN)=A0 0000000=
0fed00000 - 00000000fed04000 (reserved)<br>(XEN)=A0 00000000fed1c000 - 0000=
0000fed20000 (reserved)<br>(XEN)=A0 00000000fee00000 - 00000000fee01000 (re=
served)<br>

(XEN)=A0 00000000ff000000 - 0000000100000000 (reserved)<br>(XEN)=A0 0000000=
100000000 - 000000081e600000 (usable)<br>(XEN) ACPI: RSDP 000F0490, 0024 (r=
2=A0 INTEL)<br>(XEN) ACPI: XSDT DC2DB080, 007C (r1 INTEL=A0 DQ77MK=A0=A0=A0=
=A0=A0=A0=A0=A0 32 AMI=A0=A0=A0=A0 10013)<br>

(XEN) ACPI: FACP DC2E51F0, 010C (r5 INTEL=A0 DQ77MK=A0=A0=A0=A0=A0=A0=A0=A0=
 32 AMI=A0=A0=A0=A0 10013)<br>(XEN) ACPI Warning (tbfadt-0232): FADT (revis=
ion 5) is longer than ACPI 2.0 version, truncating length 0x10C to 0xF4 [20=
070126]<br>(XEN) ACPI: DSDT DC2DB188, A061 (r2 INTEL=A0 DQ77MK=A0=A0=A0=A0=
=A0=A0=A0=A0 32 INTL 20051117)<br>

(XEN) ACPI: FACS DC40A080, 0040<br>(XEN) ACPI: APIC DC2E5300, 0092 (r3 INTE=
L=A0 DQ77MK=A0=A0=A0=A0=A0=A0=A0=A0 32 AMI=A0=A0=A0=A0 10013)<br>(XEN) ACPI=
: FPDT DC2E5398, 0044 (r1 INTEL=A0 DQ77MK=A0=A0=A0=A0=A0=A0=A0=A0 32 AMI=A0=
=A0=A0=A0 10013)<br>(XEN) ACPI: TCPA DC2E53E0, 0032 (r2 INTEL=A0 DQ77MK=A0=
=A0=A0=A0=A0=A0=A0=A0 32 MSFT=A0 1000013)<br>

(XEN) ACPI: MCFG DC2E5418, 003C (r1 INTEL=A0 DQ77MK=A0=A0=A0=A0=A0=A0=A0=A0=
 32 MSFT=A0=A0=A0=A0=A0=A0 97)<br>(XEN) ACPI: HPET DC2E5458, 0038 (r1 INTEL=
=A0 DQ77MK=A0=A0=A0=A0=A0=A0=A0=A0 32 AMI.=A0=A0=A0=A0=A0=A0=A0 5)<br>(XEN)=
 ACPI: SSDT DC2E5490, 036D (r1 INTEL=A0 DQ77MK=A0=A0=A0=A0=A0=A0=A0=A0 32 I=
NTL 20091112)<br>

(XEN) ACPI: SSDT DC2E5800, 09AA (r1 INTEL=A0 DQ77MK=A0=A0=A0=A0=A0=A0=A0=A0=
 32 INTL 20051117)<br>(XEN) ACPI: SSDT DC2E61B0, 0A92 (r1 INTEL=A0 DQ77MK=
=A0=A0=A0=A0=A0=A0=A0=A0 32 INTL 20051117)<br>(XEN) ACPI: DMAR DC2E6C48, 00=
B8 (r1 INTEL=A0 DQ77MK=A0=A0=A0=A0=A0=A0=A0=A0 32 INTL=A0=A0=A0=A0=A0=A0=A0=
 1)<br>

(XEN) ACPI: ASF! DC2E6D00, 00A5 (r32 INTEL=A0 DQ77MK=A0=A0=A0=A0=A0=A0=A0=
=A0 32 TFSM=A0=A0=A0 F4240)<br>(XEN) System RAM: 32682MB (33467320kB)<br>(X=
EN) Domain heap initialised<br>(XEN) ACPI: 32/64X FACS address mismatch in =
FADT - dc40a080/0000000000000000, using 32<br>

(XEN) Processor #0 7:10 APIC version 21<br>(XEN) Processor #2 7:10 APIC ver=
sion 21<br>(XEN) Processor #4 7:10 APIC version 21<br>(XEN) Processor #6 7:=
10 APIC version 21<br>(XEN) Processor #1 7:10 APIC version 21<br>(XEN) Proc=
essor #3 7:10 APIC version 21<br>

(XEN) Processor #5 7:10 APIC version 21<br>(XEN) Processor #7 7:10 APIC ver=
sion 21<br>(XEN) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI =
0-23<br>(XEN) Enabling APIC mode:=A0 Flat.=A0 Using 1 I/O APICs<br>(XEN) Sw=
itched to APIC driver x2apic_cluster.<br>

(XEN) x2APIC mode enabled.<br>(XEN) Using scheduler: SMP Credit Scheduler (=
credit)<br>(XEN) Detected 3392.369 MHz processor.<br>(XEN) Initing memory s=
haring.<br>(XEN) VMX: Supported advanced features:<br>(XEN)=A0 - APIC MMIO =
access virtualisation<br>

(XEN)=A0 - APIC TPR shadow<br>(XEN)=A0 - Extended Page Tables (EPT)<br>(XEN=
)=A0 - Virtual-Processor Identifiers (VPID)<br>(XEN)=A0 - Virtual NMI<br>(X=
EN)=A0 - MSR direct-access bitmap<br>(XEN)=A0 - Unrestricted Guest<br>(XEN)=
 EPT supports 2MB super page.<br>

(XEN) HVM: ASIDs enabled.<br>(XEN) HVM: VMX enabled<br>(XEN) HVM: Hardware =
Assisted Paging detected.<br>(XEN) Intel VT-d Snoop Control not enabled.<br=
>(XEN) Intel VT-d Dom0 DMA Passthrough not enabled.<br>(XEN) Intel VT-d Que=
ued Invalidation enabled.<br>

(XEN) Intel VT-d Interrupt Remapping enabled.<br>(XEN) I/O virtualisation e=
nabled<br>(XEN)=A0 - Dom0 mode: Relaxed<br>(XEN) Enabled directed EOI with =
ioapic_ack_old on!<br>(XEN) Total of 8 processors activated.<br>(XEN) ENABL=
ING IO-APIC IRQs<br>

(XEN)=A0 -&gt; Using old ACK method<br>(XEN) TSC is reliable, synchronizati=
on unnecessary<br>(XEN) Platform timer appears to have unexpectedly wrapped=
 1 times.<br>(XEN) Platform timer is 14.318MHz HPET<br>(XEN) Allocated cons=
ole ring of 16 KiB.<br>

(XEN) Brought up 8 CPUs<br>(XEN) *** LOADING DOMAIN 0 ***<br>(XEN)=A0 Xen=
=A0 kernel: 64-bit, lsb, compat32<br>(XEN)=A0 Dom0 kernel: 64-bit, PAE, lsb=
, paddr 0x1000000 -&gt; 0x1ae7000<br>(XEN) PHYSICAL MEMORY ARRANGEMENT:<br>=
(XEN)=A0 Dom0 alloc.:=A0=A0 0000000804000000-&gt;0000000806000000 (319488 p=
ages to be allocated)<br>

(XEN) VIRTUAL MEMORY ARRANGEMENT:<br>(XEN)=A0 Loaded kernel: ffffffff810000=
00-&gt;ffffffff81ae7000<br>(XEN)=A0 Init. ramdisk: ffffffff81ae7000-&gt;fff=
fffff81ae7000<br>(XEN)=A0 Phys-Mach map: ffffffff81ae7000-&gt;ffffffff81d67=
000<br>

(XEN)=A0 Start info:=A0=A0=A0 ffffffff81d67000-&gt;ffffffff81d674b4<br>(XEN=
)=A0 Page tables:=A0=A0 ffffffff81d68000-&gt;ffffffff81d7b000<br>(XEN)=A0 B=
oot stack:=A0=A0=A0 ffffffff81d7b000-&gt;ffffffff81d7c000<br>(XEN)=A0 TOTAL=
:=A0=A0=A0=A0=A0=A0=A0=A0 ffffffff80000000-&gt;ffffffff82000000<br>

(XEN)=A0 ENTRY ADDRESS: ffffffff815e3210<br>(XEN) Dom0 has maximum 8 VCPUs<=
br>(XEN) [VT-D]iommu.c:718: BIOS did not enable IGD for VT properly.=A0 Dis=
abling IGD VT-d engine.<br>(XEN) Scrubbing Free RAM: done.<br>(XEN) Xen tra=
ce buffers: disabled<br>

(XEN) Std. Loglevel: Errors and warnings<br>(XEN) Guest Loglevel: Nothing (=
Rate-limited: Errors and warnings)<br>(XEN) Xen is relinquishing VGA consol=
e.<br>(XEN) *** Serial input -&gt; DOM0 (type &#39;CTRL-a&#39; three times =
to switch input to Xen)<br>

(XEN) Freed 172kB init memory.<br>(XEN) traps.c:2333:d0 Domain attempted WR=
MSR 000000000000008b from 00000012:00000000 to 00000000:00000000.<span clas=
s=3D"HOEnZb"><font color=3D"#888888"><br><br>- Valtteri</font></span><div c=
lass=3D"HOEnZb">
<div class=3D"h5"><br><br><div class=3D"gmail_quote">2012/10/1 Pasi K=E4rkk=
=E4inen <span dir=3D"ltr">&lt;<a href=3D"mailto:pasik@iki.fi" target=3D"_bl=
ank">pasik@iki.fi</a>&gt;</span><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div>On Mon, Oct 01, 2012 at 09:12:50PM +030=
0, Valtteri Kiviniemi wrote:<br>
&gt; =A0 =A0Hi,<br>
&gt;<br>
</div><div>&gt; =A0 =A0Lowering memory or vcpu&#39;s does not help, problem=
 is the same. I originally<br>
&gt; =A0 =A0installed Xen 4.2.0 and the problem was same on that too. Then =
I<br>
&gt; =A0 =A0downgraded back to 4.0.4 since I thought that this might be a b=
ug on<br>
&gt; =A0 =A04.2.0. I have been previously running Windows Server 2008 R2 su=
ccesfully<br>
&gt; =A0 =A0on Xen 4.0.x on different hardware with this same config. Hyper=
visor is<br>
&gt; =A0 =A064bit and windows is 64bit.<br>
&gt;<br>
&gt; =A0 =A0Any ideas what to try next?<br>
&gt;<br>
<br>
</div>What kind of hardware is that?<br>
<br>
<a href=3D"http://xen.org" target=3D"_blank">xen.org</a> automated testing =
regularly tests Windows VMs, and it works OK there.<br>
<br>
-- Pasi<br>
<div><div><br>
&gt; =A0 =A0Ps. qemu-dm.log is the following:<br>
&gt;<br>
&gt; =A0 =A0domid: 10<br>
&gt; =A0 =A0config qemu network with xen bridge for =A0tap10.0 xenbr0<br>
&gt; =A0 =A0Using file /dev/virtuals/ts in read-write mode<br>
&gt; =A0 =A0Using file /media/iso/windows_server_2008_r2_sp1.iso in read-on=
ly mode<br>
&gt; =A0 =A0Watching /local/domain/0/device-model/10/logdirty/cmd<br>
&gt; =A0 =A0Watching /local/domain/0/device-model/10/command<br>
&gt; =A0 =A0qemu_map_cache_init nr_buckets =3D 10000 size 4194304<br>
&gt; =A0 =A0shared page at pfn feffd<br>
&gt; =A0 =A0buffered io page at pfn feffb<br>
&gt; =A0 =A0Guest uuid =3D 52f19e23-2955-c27d-a22c-60c5d8c60d5a<br>
&gt; =A0 =A0Time offset set 0<br>
&gt; =A0 =A0populating video RAM at ff000000<br>
&gt; =A0 =A0mapping video RAM from ff000000<br>
&gt; =A0 =A0Register xen platform.<br>
&gt; =A0 =A0Done register platform.<br>
&gt; =A0 =A0platform_fixed_ioport: changed ro/rw state of ROM memory area. =
now is rw<br>
&gt; =A0 =A0state.<br>
&gt; =A0 =A0xs_read(/local/domain/0/device-model/10/xen_extended_power_mgmt=
): read<br>
&gt; =A0 =A0error<br>
&gt; =A0 =A0medium change watch on `hdc&#39; (index: 1):<br>
&gt; =A0 =A0/media/iso/windows_server_2008_r2_sp1.iso<br>
&gt; =A0 =A0I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, s=
ize: 0<br>
&gt; =A0 =A0Log-dirty: no command yet.<br>
&gt; =A0 =A0xs_read(/local/domain/10/log-throttling): read error<br>
&gt; =A0 =A0qemu: ignoring not-understood drive `/local/domain/10/log-throt=
tling&#39;<br>
&gt; =A0 =A0medium change watch on `/local/domain/10/log-throttling&#39; - =
unknown device,<br>
&gt; =A0 =A0ignored<br>
&gt; =A0 =A0cirrus vga map change while on lfb mode<br>
&gt; =A0 =A0mapping vram to f0000000 - f0400000<br>
&gt; =A0 =A0platform_fixed_ioport: changed ro/rw state of ROM memory area. =
now is rw<br>
&gt; =A0 =A0state.<br>
&gt; =A0 =A0platform_fixed_ioport: changed ro/rw state of ROM memory area. =
now is ro<br>
&gt; =A0 =A0state.<br>
&gt;<br>
</div></div><div><div>&gt; =A0 =A02012/10/1 Pasi K=E4rkk=E4inen &lt;[1]<a h=
ref=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik@iki.fi</a>&gt;<br>
&gt;<br>
&gt; =A0 =A0 =A0On Mon, Oct 01, 2012 at 07:23:44PM +0300, Valtteri Kiviniem=
i wrote:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0Hi,<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0I have tried other config files, but the proble=
m is the same. At<br>
&gt; =A0 =A0 =A0the<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0moment I&#39;m using a config file from another=
 server where I have a<br>
&gt; =A0 =A0 =A0working<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0Windows Server 2008 R2 installation, so I dont =
think that there is<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0anything wrong with my config:<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt;<br>
&gt; =A0 =A0 =A0Did you try with less vcpus, for example 2 ?<br>
&gt; =A0 =A0 =A0how about with less memory, say 2 GB ?<br>
&gt;<br>
&gt; =A0 =A0 =A0Did you try with later Xen versions? Is that a 32bit Xen, o=
r 64bit Xen<br>
&gt; =A0 =A0 =A0hypervisor?<br>
&gt;<br>
&gt; =A0 =A0 =A0-- Pasi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0kernel =3D &quot;/usr/lib/xen/boot/hvmloader&qu=
ot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0builder =3D &quot;hvm&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0shadow_memory =3D &quot;8&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0memory =3D &quot;4096&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0name =3D &quot;ts&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0vcpus =3D &quot;8&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0cpus =3D [&quot;0&quot;, &quot;1&quot;, &quot;2=
&quot;, &quot;3&quot;, &quot;4&quot;, &quot;5&quot;, &quot;6&quot;, &quot;7=
&quot;]<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0pae =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0acpi =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0apic =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0vfb =3D [ &#39;type=3Dvnc, vnclisten=3D10.100.1=
00.50, vncpasswd=3Dxxx&#39; ]<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0xen_extended_power_mgmt =3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0vif =3D [ &quot;type=3Dioemu, mac=3D00:16:3e:d7=
:d7:5d, bridge=3Dxenbr0&quot; ]<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0disk =3D [ &quot;phy:/dev/virtuals/ts,hda,w&quo=
t;,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0&quot;file:/media/iso/windows_server_2008_r2_sp=
1.iso,hdc:cdrom,r&quot; ]<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0on_poweroff =3D &quot;destroy&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0on_reboot =3D &quot;restart&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0on_crash =3D &quot;restart&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0viridian =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0device_model =3D &quot;/usr/lib/xen/bin/qemu-dm=
&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0boot =3D &quot;dc&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0snapshot =3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0vncconsole =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0sdl =3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0opengl =3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0vnc =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0nographic =3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0stdvga =3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0tsc_mode =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0monitor =3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0localtime =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0usb =3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0keymap =3D &quot;fi&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0xen_platform_pci =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0pci_msitranslate =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0pci_power_mgmt =3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt;<br>
</div></div><div>&gt; =A0 =A0 =A0&gt; =A0 =A02012/10/1 Pasi K=E4rkk=E4inen =
&lt;[1][2]<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik@iki.fi</a=
>&gt;<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0On Mon, Oct 01, 2012 at 06:46:08PM +0300, V=
altteri Kiviniemi<br>
&gt; =A0 =A0 =A0wrote:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Hi,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Yes, I have viridian=3D1 on my =
domU config.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Try with some known good domU configfile.<b=
r>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0-- Pasi<br>
</div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A02012/10/1 Pasi K=E4rkk=E4=
inen &lt;[1][2][3]<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik@i=
ki.fi</a>&gt;<br>
<div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0On Mon, Oct 01, 2012 at 05:=
06:53PM +0300, Valtteri<br>
&gt; =A0 =A0 =A0Kiviniemi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0wrote:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Hi,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0I&#39;m now usi=
ng 3.6.0 and can&#39;t reproduce that crash<br>
&gt; =A0 =A0 =A0anymore,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0so it<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0seems<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0that it was a k=
ernel bug.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0OK.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0However I&#39;m=
 still getting black screen on VNC<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0when trying to =
install Windows Server 2008 R2. I can<br>
&gt; =A0 =A0 =A0see the<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&quot;windows is<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0loading files&q=
uot; screen but after the installer starts<br>
&gt; =A0 =A0 =A0the VNC<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0display goes<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0black.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Any ideas?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Do you have viridian=3D1 sp=
ecified for the windows vm?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0-- Pasi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0- Valtteri<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
</div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A02012/10/1=
 Pasi K=E4rkk=E4inen &lt;[1][2][3][4]<a href=3D"mailto:pasik@iki.fi" target=
=3D"_blank">pasik@iki.fi</a>&gt;<br>
<div><div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0On Sun, Sep=
 30, 2012 at 11:18:03PM +0300, Valtteri<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Kiviniemi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0wrote:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0Hi,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Hello,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0I&#39;m trying to get Windows Server 2008 R2<br>
&gt; =A0 =A0 =A0installation<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0booting on<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Xen<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A04.0.4. Using the following config:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&lt;snip&gt=
;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0The domU will start booting just fine, but<br>
&gt; =A0 =A0 =A0after a<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0few<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0minutes the<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0VNC<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0screen goes black. After that when typing &quot;xm<br>
&gt; =A0 =A0 =A0destroy<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ts&quot; it<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0will<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0trigger<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0a kernel BUG:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0BUG: unable to handle kernel NULL pointer<br>
&gt; =A0 =A0 =A0dereference<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0at<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A000000000000=
00030<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0IP: [&lt;ffffffff810c50c4&gt;] iput+0x3e/0x195<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0PGD 0<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0Oops: 0000 [#1] SMP<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0CPU 6<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0Pid: 3571, comm: qemu-dm Not tainted<br>
&gt; =A0 =A0 =A03.5.0-dom0 #1<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0First of al=
l upgrade to latest 3.5.x Linux kernel<br>
&gt; =A0 =A0 =A0release<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0.. so<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0at least<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A03.5.4.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0-- Pasi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0/DQ77MK<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0RIP: e030:[&lt;ffffffff810c50c4&gt;]<br>
&gt; =A0 =A0 =A0 [&lt;ffffffff810c50c4&gt;]<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0iput+0x3e/0=
x195<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0RSP: e02b:ffff8800389ffbf8 =A0EFLAGS: 00010246<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0RAX: 0000000000000001 RBX: ffff8800377b0720<br>
&gt; =A0 =A0 =A0RCX:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ffff8800501c0000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0RDX: ffff8800501c0000 RSI: ffff8800377b0790<br>
&gt; =A0 =A0 =A0RDI:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ffff8800377b0790<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0RBP: 0000000000000000 R08: ffffffff815cdd00<br>
&gt; =A0 =A0 =A0R09:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A00000000000000016<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0R10: fefefefefefefeff R11: ffff8800377b0400<br>
&gt; =A0 =A0 =A0R12:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A000000001000a3e0c<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0R13: 0000000000000000 R14: 00000001000a3e0c<br>
&gt; =A0 =A0 =A0R15:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ffff8800389ffc28<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0FS: =A000007f1af70a8700(0000)<br>
&gt; =A0 =A0 =A0GS:ffff880050180000(0000)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0knlGS:0000000000000000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0CS: =A0e033 DS: 0000 ES: 0000 CR0:<br>
&gt; =A0 =A0 =A0000000008005003b<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0CR2: 0000000000000030 CR3: 000000000156d000<br>
&gt; =A0 =A0 =A0CR4:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A00000000000002660<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0DR0: 0000000000000000 DR1: 0000000000000000<br>
&gt; =A0 =A0 =A0DR2:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A00000000000000000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0DR3: 0000000000000000 DR6: 00000000ffff0ff0<br>
&gt; =A0 =A0 =A0DR7:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A00000000000000400<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0Process qemu-dm (pid: 3571, threadinfo<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ffff8800389fe000,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0task<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0ffff88003a721260)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0Stack:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 ffff88003a6d6400 ffff8800377b0000<br>
&gt; =A0 =A0 =A000000001000a3e0c<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ffffffff813=
3ce8f<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 ffff8800377b0400 ffffffff8134b6cd<br>
&gt; =A0 =A0 =A0ffff8800389ffc28<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ffff8800389=
ffc28<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 ffff8800377b00f8 ffff8800377b0680<br>
&gt; =A0 =A0 =A0ffff880038cdcd60<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ffff8800377=
b0000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0Call Trace:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff8133ce8f&gt;] ?<br>
&gt; =A0 =A0 =A0sk_release_kernel+0x23/0x39<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff8134b6cd&gt;] ?<br>
&gt; =A0 =A0 =A0netdev_run_todo+0x1e9/0x206<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff8129798f&gt;] ?<br>
&gt; =A0 =A0 =A0tun_chr_close+0x4c/0x7b<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff810b39d3&gt;] ? fput+0xe4/0x1c5<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff810b202c&gt;] ? filp_close+0x61/0x68<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff81035e62&gt;] ?<br>
&gt; =A0 =A0 =A0put_files_struct+0x62/0xb9<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff81036374&gt;] ? do_exit+0x24a/0x74c<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff81036906&gt;] ?<br>
&gt; =A0 =A0 =A0do_group_exit+0x6b/0x9d<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff8103ea0b&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0get_signal_to_deliver+0x449/0x46e<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff81009fa5&gt;] ? do_signal+0x28/0x4c4<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff81027079&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0pvclock_clocksource_read+0x48/0xbf<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff8105b745&gt;] ? ktime_get_ts+0x66/0xa8<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff810bfb18&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0poll_select_copy_remaining+0xe0/0xf5<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff8100a48d&gt;] ?<br>
&gt; =A0 =A0 =A0do_notify_resume+0x3b/0x74<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 [&lt;ffffffff81411a70&gt;] ? int_signal+0x12/0x17<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0Code: 00 00 00 40 74 02 0f 0b 48 8d 77 70 48<br>
&gt; =A0 =A0 =A08d bf 08<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A001 00<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A000 e8<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A08b 71 10<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A000 85 c0 0f 84 5d 01 00 00 48 8b 6b 18 f6 83<br>
&gt; =A0 =A0 =A080 00 00<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A000 08<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&lt;4c&gt; 8b<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A065 30<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A074 11 be 68 05 00 00 48 c7 c7 8e df 4f 81 e8<br>
&gt; =A0 =A0 =A0bb d0<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0RIP =A0[&lt;ffffffff810c50c4&gt;] iput+0x3e/0x195<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 RSP &lt;ffff8800389ffbf8&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0CR2: 0000000000000030<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0---[ end trace 67cc1654658fedcc ]---<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0Fixing recursive fault but reboot is needed!<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0I also tested Xen 4.2.0 and problem is the<br>
&gt; =A0 =A0 =A0same. So<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0is this<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0a Xen<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0bug or a<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0kernel bug? I am running vanilla<br>
</div></div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0[1][2][3][4][5]<a href=3D"http:=
//kernel.org" target=3D"_blank">kernel.org</a> kernel<br>
<div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A03.5.0 and<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0my<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0hardware is Intel Core i7-3770 CPU and Intel<br>
&gt; =A0 =A0 =A0DQ77MK<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0motherboard<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0with<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0latest bios.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0Best regards,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0Valtteri Kiviniemi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; Refere=
nces<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0Visible links<br>
</div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A01. [3][4][5][6]<a href=3D"http://kernel.org/" target=3D"_blank">http=
://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; ______=
_________________________________________<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; Xen-de=
vel mailing list<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; [4][5]=
[6][7]<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-deve=
l@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; [5][6]=
[7][8]<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://l=
ists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; References<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Visible links<b=
r>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A01. mailto:[7][8=
][9]<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A02. [8][9][10]<a=
 href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A03. [9][10][11]<=
a href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A04. mailto:[10][=
11][12]<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-dev=
el@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A05. [11][12][13]=
<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists.x=
en.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; References<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Visible links<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A01. mailto:[13][14]<a href=3D"ma=
ilto:pasik@iki.fi" target=3D"_blank">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A02. mailto:[14][15]<a href=3D"ma=
ilto:pasik@iki.fi" target=3D"_blank">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A03. [15][16]<a href=3D"http://ke=
rnel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A04. [16][17]<a href=3D"http://ke=
rnel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A05. mailto:[17][18]<a href=3D"ma=
ilto:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@lists.xen.org</a>=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A06. [18][19]<a href=3D"http://li=
sts.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel</a>=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A07. mailto:[19][20]<a href=3D"ma=
ilto:pasik@iki.fi" target=3D"_blank">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A08. [20][21]<a href=3D"http://ke=
rnel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A09. [21][22]<a href=3D"http://ke=
rnel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 10. mailto:[22][23]<a href=3D"mail=
to:Xen-devel@lists.xen.org" target=3D"_blank">Xen-devel@lists.xen.org</a><b=
r>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 11. [23][24]<a href=3D"http://list=
s.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel</a><b=
r>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; References<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0Visible links<br>
&gt; =A0 =A0 =A0&gt; =A0 =A01. mailto:[25]<a href=3D"mailto:pasik@iki.fi" t=
arget=3D"_blank">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A02. mailto:[26]<a href=3D"mailto:pasik@iki.fi" t=
arget=3D"_blank">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A03. mailto:[27]<a href=3D"mailto:pasik@iki.fi" t=
arget=3D"_blank">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A04. [28]<a href=3D"http://kernel.org/" target=3D=
"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A05. [29]<a href=3D"http://kernel.org/" target=3D=
"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A06. mailto:[30]<a href=3D"mailto:Xen-devel@lists=
.xen.org" target=3D"_blank">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A07. [31]<a href=3D"http://lists.xen.org/xen-deve=
l" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A08. mailto:[32]<a href=3D"mailto:pasik@iki.fi" t=
arget=3D"_blank">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A09. [33]<a href=3D"http://kernel.org/" target=3D=
"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 10. [34]<a href=3D"http://kernel.org/" target=3D"_=
blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 11. mailto:[35]<a href=3D"mailto:Xen-devel@lists.x=
en.org" target=3D"_blank">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 12. [36]<a href=3D"http://lists.xen.org/xen-devel"=
 target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 13. mailto:[37]<a href=3D"mailto:pasik@iki.fi" tar=
get=3D"_blank">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 14. mailto:[38]<a href=3D"mailto:pasik@iki.fi" tar=
get=3D"_blank">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 15. [39]<a href=3D"http://kernel.org/" target=3D"_=
blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 16. [40]<a href=3D"http://kernel.org/" target=3D"_=
blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 17. mailto:[41]<a href=3D"mailto:Xen-devel@lists.x=
en.org" target=3D"_blank">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 18. [42]<a href=3D"http://lists.xen.org/xen-devel"=
 target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 19. mailto:[43]<a href=3D"mailto:pasik@iki.fi" tar=
get=3D"_blank">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 20. [44]<a href=3D"http://kernel.org/" target=3D"_=
blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 21. [45]<a href=3D"http://kernel.org/" target=3D"_=
blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 22. mailto:[46]<a href=3D"mailto:Xen-devel@lists.x=
en.org" target=3D"_blank">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 23. [47]<a href=3D"http://lists.xen.org/xen-devel"=
 target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
<div>&gt;<br>
&gt; References<br>
&gt;<br>
&gt; =A0 =A0Visible links<br>
&gt; =A0 =A01. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pas=
ik@iki.fi</a><br>
&gt; =A0 =A02. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pas=
ik@iki.fi</a><br>
&gt; =A0 =A03. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pas=
ik@iki.fi</a><br>
</div>&gt; =A0 =A04. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blan=
k">pasik@iki.fi</a><br>
&gt; =A0 =A05. <a href=3D"http://kernel.org/" target=3D"_blank">http://kern=
el.org/</a><br>
&gt; =A0 =A06. <a href=3D"http://kernel.org/" target=3D"_blank">http://kern=
el.org/</a><br>
&gt; =A0 =A07. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"=
_blank">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A08. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank"=
>http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A09. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pas=
ik@iki.fi</a><br>
&gt; =A0 10. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 11. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 12. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_b=
lank">Xen-devel@lists.xen.org</a><br>
&gt; =A0 13. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 14. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik=
@iki.fi</a><br>
&gt; =A0 15. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik=
@iki.fi</a><br>
&gt; =A0 16. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 17. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 18. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_b=
lank">Xen-devel@lists.xen.org</a><br>
&gt; =A0 19. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 20. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik=
@iki.fi</a><br>
&gt; =A0 21. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 22. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 23. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_b=
lank">Xen-devel@lists.xen.org</a><br>
&gt; =A0 24. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 25. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik=
@iki.fi</a><br>
&gt; =A0 26. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik=
@iki.fi</a><br>
&gt; =A0 27. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik=
@iki.fi</a><br>
&gt; =A0 28. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 29. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 30. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_b=
lank">Xen-devel@lists.xen.org</a><br>
&gt; =A0 31. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 32. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik=
@iki.fi</a><br>
&gt; =A0 33. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 34. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 35. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_b=
lank">Xen-devel@lists.xen.org</a><br>
&gt; =A0 36. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 37. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik=
@iki.fi</a><br>
&gt; =A0 38. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik=
@iki.fi</a><br>
&gt; =A0 39. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 40. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 41. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_b=
lank">Xen-devel@lists.xen.org</a><br>
&gt; =A0 42. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 43. mailto:<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pasik=
@iki.fi</a><br>
&gt; =A0 44. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 45. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 46. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org" target=3D"_b=
lank">Xen-devel@lists.xen.org</a><br>
&gt; =A0 47. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
</blockquote></div><br>
</div></div></blockquote></div><br>

--20cf303a2e35c41b0104cb126a25--


--===============7769507901113686720==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--===============7769507901113686720==--


From xen-devel-bounces@lists.xen.org Tue Oct 02 13:01:36 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Oct 2012 13:01:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TJ265-0001iI-Ax; Tue, 02 Oct 2012 13:01:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kiviniemi.valtteri@gmail.com>) id 1TJ263-0001iD-8i
	for Xen-devel@lists.xen.org; Tue, 02 Oct 2012 13:01:12 +0000
Received: from [85.158.138.51:50687] by server-10.bemta-3.messagelabs.com id
	18/61-02525-695EA605; Tue, 02 Oct 2012 13:01:10 +0000
X-Env-Sender: kiviniemi.valtteri@gmail.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1349182864!31011395!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=0.9 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_50_60, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, ML_RADAR_SPEW_LINKS_23,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20398 invoked from network); 2 Oct 2012 13:01:05 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-15.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	2 Oct 2012 13:01:05 -0000
Received: by ggcs5 with SMTP id s5so304690ggc.32
	for <Xen-devel@lists.xen.org>; Tue, 02 Oct 2012 06:01:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=ir0+tuAmtRhNQbD09Y57LO3kK8QWLx7zPO8tOWzMMjs=;
	b=MUpKQAOxaQ9/G1QA+M6m2mSJG7UUKEzR0e78+VZYgAcjn3rcklOVV8thoszosxnFTV
	fp9Z6hzHocf7ZdrkKz5CeI6P/io7IsOcSSzN5VYb2VAshw+YzmxiNwpGXJ5RbRW7mbLn
	7AjMGK26AiROnhzJCVGpELT4pI2clO513B3KSs5E/Hlq8OtbSQd8BoIA3GZikcseILBE
	taqFOH1k4roejwdqBCGUQRcVaGwPVjQTkLitm9yOwwRhaQGdO51Bfy4BH2vP6aWTYXzQ
	O6J0DEIvCDC+tJd2hyskyUrwFQhkyPM6IcNQwdVb/nNIVaCfkjsL7N60JpeM8kjmNLwD
	IWsA==
MIME-Version: 1.0
Received: by 10.101.166.35 with SMTP id t35mr5666116ano.63.1349182864121; Tue,
	02 Oct 2012 06:01:04 -0700 (PDT)
Received: by 10.147.129.8 with HTTP; Tue, 2 Oct 2012 06:01:04 -0700 (PDT)
In-Reply-To: <20121002121932.GL8912@reaktio.net>
References: <CAN=sCCFh5ndexg8AiRzUrf7LtKTPmPcj05TMrd6DoFttiCTDbQ@mail.gmail.com>
	<20121001144042.GC8912@reaktio.net>
	<CAN=sCCHsRXWvbmJFEgBLP+PsW=MLRHNRNpi26hvok8pFiWsjJg@mail.gmail.com>
	<20121001160117.GD8912@reaktio.net>
	<CAN=sCCHXj+4iEmxJNFdtmeVvqrF2q_kDNqF6d9=bRCq8uMOdkw@mail.gmail.com>
	<20121001164757.GF8912@reaktio.net>
	<CAN=sCCF5B-Ga9ZvTJ=pMWjFXjA5Y=so4ZgEKu5ee+iyddd7hvA@mail.gmail.com>
	<20121001182437.GG8912@reaktio.net>
	<CAN=sCCH3UjK=xs8MwJMLUvU0Otpwu30f3aBDOv+vxis3hVxUmg@mail.gmail.com>
	<CAN=sCCF9OSuCZ7t1gi+q-A+2xSyRyoo5Jz+DoFXCK0_-D9065Q@mail.gmail.com>
	<20121002121932.GL8912@reaktio.net>
Date: Tue, 2 Oct 2012 16:01:04 +0300
Message-ID: <CAN=sCCH_HCAW=9VGWg651g-AKAP2mqGVCvVovCtCQrU5HazxjQ@mail.gmail.com>
From: Valtteri Kiviniemi <kiviniemi.valtteri@gmail.com>
To: =?ISO-8859-1?Q?Pasi_K=E4rkk=E4inen?= <pasik@iki.fi>
Cc: Xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Xen 4.0.4, kernel 3.5.0 HVM crash and kernel BUG
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0697706113319296394=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============0697706113319296394==
Content-Type: multipart/alternative; boundary=001636ef09ad5a601804cb131d45

--001636ef09ad5a601804cb131d45
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,

I already tried 3.2, 3.5, 3.5.0, 3.6.0-rc7 and 3.6.0, same problem all of
those. My dom0 config is the same config that I'am using on other server
where HVM is working, so I dont think that it is a config problem. I have
triple checked everything and all should be ok. dom0 dmesg shows the same
crash that I have previously posted here. /var/log/xen/ does not contain
any specific errors.

Could this be some kind of broblem with my motherboard bios being buggy or
CPU not supported? I'm using the new intel Ivy Bridge processor which has
integrated GPU, but that should not probably cause these kind of problems.
Or maybe some ACPI problem? xm dmesg is showing some notices about ACPI. Is
there any ACPI kernel parameters that I should try booting? This has to be
somekind of problem with my hardware, or then maybe it could be a kernel
problem too. I just really cant figure this out myself, I have tried
everything.

Lets take a quick summary of what has been tested, what hardware I'm using
etc.

Xen-versions tested: 4.2.0, 4.0.4
Kernel-versions tested: 3.2.0, 3.5.0, 3.5.4, 3.6.0-rc7, 3.6.0

Host OS: Debian testing/wheezy, udev version 175-7, 2.13-35, python version
2.7.3~rc2-2.1

Hardware:

CPU: Intel Core i7-3770 3.4GHz
MB: Intel DQ77MK (latest bios updated)
Memory: 32GB (4 x 8GB DDR3-1600MHz)

All relevant log files and configs:

dom0 dmesg: http://nago.fi/dmesg.txt
qemu-dm log: http://nago.fi/qemu-dm.txt
xm dmesg log: http://nago.fi/xm-dmesg.txt
domU config: http://nago.fi/domu-config.txt
dom0 kernel config: http://nago.fi/dom0-config.txt

I have also tried playing with every setting on that domU that I can think
of and tried different configs etc.

- Valtteri

2012/10/2 Pasi K=E4rkk=E4inen <pasik@iki.fi>

> On Tue, Oct 02, 2012 at 03:11:07PM +0300, Valtteri Kiviniemi wrote:
> >    Hi,
> >
> >    Another update:
> >
> >    I wanted to check that if a Linux HVM would boot with working VNC
> console,
> >    so I tried to launch a Debian Squeeze installer on HVM. It refused t=
o
> >    start ant told me that vbd hotplug scripts were not working. After
> that
> >    failure even the Windows domU would not anymore start which was
> previously
> >    starting ok.
> >
> >    The hotplug scripts also starts hanging on the processes.
> >
> >    root      9401  0.1  0.1  17700  1640 ?        S    15:05   0:00
> /bin/bash
> >    /etc/xen/scripts/xen-hotplug-cleanup
> >    root      9441  0.1  0.1  17700  1644 ?        S    15:05   0:00
> /bin/bash
> >    /etc/xen/scripts/xen-hotplug-cleanup
> >    root      9481  0.1  0.1  17700  1640 ?        S    15:05   0:00
> /bin/bash
> >    /etc/xen/scripts/xen-hotplug-cleanup
> >    root      9560  0.1  0.1  17700  1640 ?        S    15:05   0:00
> /bin/bash
> >    /etc/xen/scripts/xen-hotplug-cleanup
> >    root     10738  0.1  0.1  17696  1636 ?        S    15:05   0:00
> /bin/bash
> >    /etc/xen/scripts/xen-hotplug-cleanup
> >    root     10747  0.1  0.1  17792  1736 ?        S    15:05   0:00
> /bin/bash
> >    /etc/xen/scripts/block remove
> >    root     11286  0.0  0.0   4080   324 ?        S    15:06   0:00
> sleep 1
> >    root     11290  0.0  0.0   4080   324 ?        S    15:06   0:00
> sleep 1
> >    root     11294  0.0  0.0   4080   324 ?        S    15:06   0:00
> sleep 1
> >    root     11298  0.0  0.0   4080   324 ?        S    15:06   0:00
> sleep 1
> >    root     11302  0.0  0.0   4080   320 ?        S    15:06   0:00
> sleep 1
> >    root     11306  0.0  0.0   4080   320 ?        S    15:06   0:00
> sleep 1
> >
> >    Then I did a xm destroy and I had again the kernel BUG on dmesg. So =
it
> >    seems that the problem is not fixed by using 3.6.0. Udev version is
> 175-7.
> >
>
> So you have definitely something broken in your system,
> probably in your dom0 kernel. Try with Linux 3.5.4 or 3.4.x,
> and see how that goes.
>
> Any errors in dom0 dmesg? How about in /var/log/xen/* ?
>
> -- Pasi
>
> >
> >
> >    2012/10/1 Valtteri Kiviniemi <[1]kiviniemi.valtteri@gmail.com>
> >
> >      Hi,
> >
> >      CPU: Intel Core i7-3770 3.4GHz
> >      [2]http://ark.intel.com/products/65719/
> >
> >      MB: Intel DQ77MK (latest bios updated)
> >      [3]
> http://www.intel.com/content/www/us/en/motherboards/desktop-motherboards/=
desktop-board-dq77mk.html
> >
> >      Memory: 32GB (4 x 8GB DDR3-1600MHz)
> >
> >      Host is Debian wheezy/testing, Xen 4.0.4 and latest 3.6.0 kernel.
> >
> >      Noticed also some errors in xm dmesg:
> >
> >      root@xen-2:~# xm dmesg
> >
> >      (XEN) Xen version 4.0.4 ([4]root@dataproof.fi) (gcc version 4.7.1
> >      (Debian 4.7.1-7) ) Sun Sep 30 20:28:26 EEST 2012
> >      (XEN) Latest ChangeSet: unavailable
> >      (XEN) Bootloader: GNU GRUB 0.97
> >      (XEN) Command line: dom0_mem=3D1280M cpufreq=3Dxen clocksource=3Dh=
pet
> >      (XEN) Video information:
> >      (XEN)  VGA is text mode 80x25, font 8x16
> >      (XEN)  VBE/DDC methods: none; EDID transfer time: 0 seconds
> >      (XEN)  EDID info not retrieved because no DDC retrieval method
> detected
> >      (XEN) Disc information:
> >      (XEN)  Found 4 MBR signatures
> >      (XEN)  Found 4 EDD information structures
> >      (XEN) Xen-e820 RAM map:
> >      (XEN)  0000000000000000 - 000000000009d800 (usable)
> >      (XEN)  000000000009d800 - 00000000000a0000 (reserved)
> >      (XEN)  00000000000e0000 - 0000000000100000 (reserved)
> >      (XEN)  0000000000100000 - 0000000020000000 (usable)
> >      (XEN)  0000000020000000 - 0000000020200000 (reserved)
> >      (XEN)  0000000020200000 - 0000000040004000 (usable)
> >      (XEN)  0000000040004000 - 0000000040005000 (reserved)
> >      (XEN)  0000000040005000 - 00000000dbe44000 (usable)
> >      (XEN)  00000000dbe44000 - 00000000dc2d7000 (reserved)
> >      (XEN)  00000000dc2d7000 - 00000000dc2e7000 (ACPI data)
> >      (XEN)  00000000dc2e7000 - 00000000dc40c000 (ACPI NVS)
> >      (XEN)  00000000dc40c000 - 00000000dc6af000 (reserved)
> >      (XEN)  00000000dc6af000 - 00000000dc6b0000 (usable)
> >      (XEN)  00000000dc6b0000 - 00000000dc6f3000 (ACPI NVS)
> >      (XEN)  00000000dc6f3000 - 00000000dd000000 (usable)
> >      (XEN)  00000000dd800000 - 00000000dfa00000 (reserved)
> >      (XEN)  00000000f8000000 - 00000000fc000000 (reserved)
> >      (XEN)  00000000fec00000 - 00000000fec01000 (reserved)
> >      (XEN)  00000000fed00000 - 00000000fed04000 (reserved)
> >      (XEN)  00000000fed1c000 - 00000000fed20000 (reserved)
> >      (XEN)  00000000fee00000 - 00000000fee01000 (reserved)
> >      (XEN)  00000000ff000000 - 0000000100000000 (reserved)
> >      (XEN)  0000000100000000 - 000000081e600000 (usable)
> >      (XEN) ACPI: RSDP 000F0490, 0024 (r2  INTEL)
> >      (XEN) ACPI: XSDT DC2DB080, 007C (r1 INTEL  DQ77MK         32 AMI
> >      10013)
> >      (XEN) ACPI: FACP DC2E51F0, 010C (r5 INTEL  DQ77MK         32 AMI
> >      10013)
> >      (XEN) ACPI Warning (tbfadt-0232): FADT (revision 5) is longer than
> ACPI
> >      2.0 version, truncating length 0x10C to 0xF4 [20070126]
> >      (XEN) ACPI: DSDT DC2DB188, A061 (r2 INTEL  DQ77MK         32 INTL
> >      20051117)
> >      (XEN) ACPI: FACS DC40A080, 0040
> >      (XEN) ACPI: APIC DC2E5300, 0092 (r3 INTEL  DQ77MK         32 AMI
> >      10013)
> >      (XEN) ACPI: FPDT DC2E5398, 0044 (r1 INTEL  DQ77MK         32 AMI
> >      10013)
> >      (XEN) ACPI: TCPA DC2E53E0, 0032 (r2 INTEL  DQ77MK         32 MSFT
> >      1000013)
> >      (XEN) ACPI: MCFG DC2E5418, 003C (r1 INTEL  DQ77MK         32 MSFT
> >      97)
> >      (XEN) ACPI: HPET DC2E5458, 0038 (r1 INTEL  DQ77MK         32 AMI.
> >      5)
> >      (XEN) ACPI: SSDT DC2E5490, 036D (r1 INTEL  DQ77MK         32 INTL
> >      20091112)
> >      (XEN) ACPI: SSDT DC2E5800, 09AA (r1 INTEL  DQ77MK         32 INTL
> >      20051117)
> >      (XEN) ACPI: SSDT DC2E61B0, 0A92 (r1 INTEL  DQ77MK         32 INTL
> >      20051117)
> >      (XEN) ACPI: DMAR DC2E6C48, 00B8 (r1 INTEL  DQ77MK         32 INTL
> >      1)
> >      (XEN) ACPI: ASF! DC2E6D00, 00A5 (r32 INTEL  DQ77MK         32 TFSM
> >      F4240)
> >      (XEN) System RAM: 32682MB (33467320kB)
> >      (XEN) Domain heap initialised
> >      (XEN) ACPI: 32/64X FACS address mismatch in FADT -
> >      dc40a080/0000000000000000, using 32
> >      (XEN) Processor #0 7:10 APIC version 21
> >      (XEN) Processor #2 7:10 APIC version 21
> >      (XEN) Processor #4 7:10 APIC version 21
> >      (XEN) Processor #6 7:10 APIC version 21
> >      (XEN) Processor #1 7:10 APIC version 21
> >      (XEN) Processor #3 7:10 APIC version 21
> >      (XEN) Processor #5 7:10 APIC version 21
> >      (XEN) Processor #7 7:10 APIC version 21
> >      (XEN) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-=
23
> >      (XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
> >      (XEN) Switched to APIC driver x2apic_cluster.
> >      (XEN) x2APIC mode enabled.
> >      (XEN) Using scheduler: SMP Credit Scheduler (credit)
> >      (XEN) Detected 3392.369 MHz processor.
> >      (XEN) Initing memory sharing.
> >      (XEN) VMX: Supported advanced features:
> >      (XEN)  - APIC MMIO access virtualisation
> >      (XEN)  - APIC TPR shadow
> >      (XEN)  - Extended Page Tables (EPT)
> >      (XEN)  - Virtual-Processor Identifiers (VPID)
> >      (XEN)  - Virtual NMI
> >      (XEN)  - MSR direct-access bitmap
> >      (XEN)  - Unrestricted Guest
> >      (XEN) EPT supports 2MB super page.
> >      (XEN) HVM: ASIDs enabled.
> >      (XEN) HVM: VMX enabled
> >      (XEN) HVM: Hardware Assisted Paging detected.
> >      (XEN) Intel VT-d Snoop Control not 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) I/O virtualisation enabled
> >      (XEN)  - Dom0 mode: Relaxed
> >      (XEN) Enabled directed EOI with ioapic_ack_old on!
> >      (XEN) Total of 8 processors activated.
> >      (XEN) ENABLING IO-APIC IRQs
> >      (XEN)  -> Using old ACK method
> >      (XEN) TSC is reliable, synchronization unnecessary
> >      (XEN) Platform timer appears to have unexpectedly wrapped 1 times.
> >      (XEN) Platform timer is 14.318MHz HPET
> >      (XEN) Allocated console ring of 16 KiB.
> >      (XEN) Brought up 8 CPUs
> >      (XEN) *** LOADING DOMAIN 0 ***
> >      (XEN)  Xen  kernel: 64-bit, lsb, compat32
> >      (XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1ae7000
> >      (XEN) PHYSICAL MEMORY ARRANGEMENT:
> >      (XEN)  Dom0 alloc.:   0000000804000000->0000000806000000 (319488
> pages
> >      to be allocated)
> >      (XEN) VIRTUAL MEMORY ARRANGEMENT:
> >      (XEN)  Loaded kernel: ffffffff81000000->ffffffff81ae7000
> >      (XEN)  Init. ramdisk: ffffffff81ae7000->ffffffff81ae7000
> >      (XEN)  Phys-Mach map: ffffffff81ae7000->ffffffff81d67000
> >      (XEN)  Start info:    ffffffff81d67000->ffffffff81d674b4
> >      (XEN)  Page tables:   ffffffff81d68000->ffffffff81d7b000
> >      (XEN)  Boot stack:    ffffffff81d7b000->ffffffff81d7c000
> >      (XEN)  TOTAL:         ffffffff80000000->ffffffff82000000
> >      (XEN)  ENTRY ADDRESS: ffffffff815e3210
> >      (XEN) Dom0 has maximum 8 VCPUs
> >      (XEN) [VT-D]iommu.c:718: BIOS did not enable IGD for VT properly.
> >      Disabling IGD VT-d engine.
> >      (XEN) Scrubbing Free RAM: done.
> >      (XEN) Xen trace buffers: disabled
> >      (XEN) Std. Loglevel: Errors and warnings
> >      (XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
> >      (XEN) Xen is relinquishing VGA console.
> >      (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switc=
h
> >      input to Xen)
> >      (XEN) Freed 172kB init memory.
> >      (XEN) traps.c:2333:d0 Domain attempted WRMSR 000000000000008b from
> >      00000012:00000000 to 00000000:00000000.
> >
> >      - Valtteri
> >
> >      2012/10/1 Pasi K=E4rkk=E4inen <[5]pasik@iki.fi>
> >
> >        On Mon, Oct 01, 2012 at 09:12:50PM +0300, Valtteri Kiviniemi
> wrote:
> >        >    Hi,
> >        >
> >        >    Lowering memory or vcpu's does not help, problem is the
> same. I
> >        originally
> >        >    installed Xen 4.2.0 and the problem was same on that too.
> Then I
> >        >    downgraded back to 4.0.4 since I thought that this might be
> a bug
> >        on
> >        >    4.2.0. I have been previously running Windows Server 2008 R=
2
> >        succesfully
> >        >    on Xen 4.0.x on different hardware with this same config.
> >        Hypervisor is
> >        >    64bit and windows is 64bit.
> >        >
> >        >    Any ideas what to try next?
> >        >
> >
> >        What kind of hardware is that?
> >
> >        [6]xen.org automated testing regularly tests Windows VMs, and it
> works
> >        OK there.
> >
> >        -- Pasi
> >        >    Ps. qemu-dm.log is the following:
> >        >
> >        >    domid: 10
> >        >    config qemu network with xen bridge for  tap10.0 xenbr0
> >        >    Using file /dev/virtuals/ts in read-write mode
> >        >    Using file /media/iso/windows_server_2008_r2_sp1.iso in
> read-only
> >        mode
> >        >    Watching /local/domain/0/device-model/10/logdirty/cmd
> >        >    Watching /local/domain/0/device-model/10/command
> >        >    qemu_map_cache_init nr_buckets =3D 10000 size 4194304
> >        >    shared page at pfn feffd
> >        >    buffered io page at pfn feffb
> >        >    Guest uuid =3D 52f19e23-2955-c27d-a22c-60c5d8c60d5a
> >        >    Time offset set 0
> >        >    populating video RAM at ff000000
> >        >    mapping video RAM from ff000000
> >        >    Register xen platform.
> >        >    Done register platform.
> >        >    platform_fixed_ioport: changed ro/rw state of ROM memory
> area.
> >        now is rw
> >        >    state.
> >        >
>  xs_read(/local/domain/0/device-model/10/xen_extended_power_mgmt):
> >        read
> >        >    error
> >        >    medium change watch on `hdc' (index: 1):
> >        >    /media/iso/windows_server_2008_r2_sp1.iso
> >        >    I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: =
0,
> >        size: 0
> >        >    Log-dirty: no command yet.
> >        >    xs_read(/local/domain/10/log-throttling): read error
> >        >    qemu: ignoring not-understood drive
> >        `/local/domain/10/log-throttling'
> >        >    medium change watch on `/local/domain/10/log-throttling' -
> >        unknown device,
> >        >    ignored
> >        >    cirrus vga map change while on lfb mode
> >        >    mapping vram to f0000000 - f0400000
> >        >    platform_fixed_ioport: changed ro/rw state of ROM memory
> area.
> >        now is rw
> >        >    state.
> >        >    platform_fixed_ioport: changed ro/rw state of ROM memory
> area.
> >        now is ro
> >        >    state.
> >        >
> >        >    2012/10/1 Pasi K=E4rkk=E4inen <[1][7]pasik@iki.fi>
> >        >
> >        >      On Mon, Oct 01, 2012 at 07:23:44PM +0300, Valtteri
> Kiviniemi
> >        wrote:
> >        >      >    Hi,
> >        >      >
> >        >      >    I have tried other config files, but the problem is
> the
> >        same. At
> >        >      the
> >        >      >    moment I'm using a config file from another server
> where I
> >        have a
> >        >      working
> >        >      >    Windows Server 2008 R2 installation, so I dont think
> that
> >        there is
> >        >      >    anything wrong with my config:
> >        >      >
> >        >
> >        >      Did you try with less vcpus, for example 2 ?
> >        >      how about with less memory, say 2 GB ?
> >        >
> >        >      Did you try with later Xen versions? Is that a 32bit Xen,
> or
> >        64bit Xen
> >        >      hypervisor?
> >        >
> >        >      -- Pasi
> >        >      >    kernel =3D "/usr/lib/xen/boot/hvmloader"
> >        >      >    builder =3D "hvm"
> >        >      >    shadow_memory =3D "8"
> >        >      >    memory =3D "4096"
> >        >      >    name =3D "ts"
> >        >      >    vcpus =3D "8"
> >        >      >    cpus =3D ["0", "1", "2", "3", "4", "5", "6", "7"]
> >        >      >    pae =3D "1"
> >        >      >    acpi =3D "1"
> >        >      >    apic =3D "1"
> >        >      >    vfb =3D [ 'type=3Dvnc, vnclisten=3D10.100.100.50,
> vncpasswd=3Dxxx'
> >        ]
> >        >      >    xen_extended_power_mgmt =3D "0"
> >        >      >    vif =3D [ "type=3Dioemu, mac=3D00:16:3e:d7:d7:5d,
> bridge=3Dxenbr0"
> >        ]
> >        >      >    disk =3D [ "phy:/dev/virtuals/ts,hda,w",
> >        >      >
> >         "file:/media/iso/windows_server_2008_r2_sp1.iso,hdc:cdrom,r" ]
> >        >      >    on_poweroff =3D "destroy"
> >        >      >    on_reboot =3D "restart"
> >        >      >    on_crash =3D "restart"
> >        >      >    viridian =3D "1"
> >        >      >    device_model =3D "/usr/lib/xen/bin/qemu-dm"
> >        >      >    boot =3D "dc"
> >        >      >    snapshot =3D "0"
> >        >      >    vncconsole =3D "1"
> >        >      >    sdl =3D "0"
> >        >      >    opengl =3D "0"
> >        >      >    vnc =3D "1"
> >        >      >    nographic =3D "0"
> >        >      >    stdvga =3D "0"
> >        >      >    tsc_mode =3D "1"
> >        >      >    monitor =3D "0"
> >        >      >    localtime =3D "1"
> >        >      >    usb =3D "0"
> >        >      >    keymap =3D "fi"
> >        >      >    xen_platform_pci =3D "1"
> >        >      >    pci_msitranslate =3D "1"
> >        >      >    pci_power_mgmt =3D "0"
> >        >      >
> >        >      >    2012/10/1 Pasi K=E4rkk=E4inen <[1][2][8]pasik@iki.fi=
>
> >        >      >
> >        >      >      On Mon, Oct 01, 2012 at 06:46:08PM +0300, Valtteri
> >        Kiviniemi
> >        >      wrote:
> >        >      >      >    Hi,
> >        >      >      >
> >        >      >      >    Yes, I have viridian=3D1 on my domU config.
> >        >      >      >
> >        >      >
> >        >      >      Try with some known good domU configfile.
> >        >      >
> >        >      >      -- Pasi
> >        >      >      >    2012/10/1 Pasi K=E4rkk=E4inen
> >        <[1][2][3][9]pasik@iki.fi>
> >        >      >      >
> >        >      >      >      On Mon, Oct 01, 2012 at 05:06:53PM +0300,
> >        Valtteri
> >        >      Kiviniemi
> >        >      >      wrote:
> >        >      >      >      >    Hi,
> >        >      >      >      >
> >        >      >      >      >    I'm now using 3.6.0 and can't reproduc=
e
> that
> >        crash
> >        >      anymore,
> >        >      >      so it
> >        >      >      >      seems
> >        >      >      >      >    that it was a kernel bug.
> >        >      >      >      >
> >        >      >      >
> >        >      >      >      OK.
> >        >      >      >      >    However I'm still getting black screen
> on
> >        VNC
> >        >      >      >      >    when trying to install Windows Server
> 2008
> >        R2. I can
> >        >      see the
> >        >      >      >      "windows is
> >        >      >      >      >    loading files" screen but after the
> >        installer starts
> >        >      the VNC
> >        >      >      >      display goes
> >        >      >      >      >    black.
> >        >      >      >      >
> >        >      >      >      >    Any ideas?
> >        >      >      >      >
> >        >      >      >
> >        >      >      >      Do you have viridian=3D1 specified for the
> windows
> >        vm?
> >        >      >      >
> >        >      >      >      -- Pasi
> >        >      >      >
> >        >      >      >      >    - Valtteri
> >        >      >      >      >
> >        >      >      >      >    2012/10/1 Pasi K=E4rkk=E4inen
> >        <[1][2][3][4][10]pasik@iki.fi>
> >        >      >      >      >
> >        >      >      >      >      On Sun, Sep 30, 2012 at 11:18:03PM
> +0300,
> >        Valtteri
> >        >      >      Kiviniemi
> >        >      >      >      wrote:
> >        >      >      >      >      >    Hi,
> >        >      >      >      >      >
> >        >      >      >      >
> >        >      >      >      >      Hello,
> >        >      >      >      >      >    I'm trying to get Windows Serve=
r
> 2008
> >        R2
> >        >      installation
> >        >      >      >      booting on
> >        >      >      >      >      Xen
> >        >      >      >      >      >    4.0.4. Using the following
> config:
> >        >      >      >      >      >
> >        >      >      >      >
> >        >      >      >      >      <snip>
> >        >      >      >      >      >
> >        >      >      >      >      >    The domU will start booting jus=
t
> >        fine, but
> >        >      after a
> >        >      >      few
> >        >      >      >      minutes the
> >        >      >      >      >      VNC
> >        >      >      >      >      >    screen goes black. After that
> when
> >        typing "xm
> >        >      destroy
> >        >      >      ts" it
> >        >      >      >      will
> >        >      >      >      >      trigger
> >        >      >      >      >      >    a kernel BUG:
> >        >      >      >      >      >
> >        >      >      >      >      >    BUG: unable to handle kernel NU=
LL
> >        pointer
> >        >      dereference
> >        >      >      at
> >        >      >      >      >      0000000000000030
> >        >      >      >      >      >    IP: [<ffffffff810c50c4>]
> >        iput+0x3e/0x195
> >        >      >      >      >      >    PGD 0
> >        >      >      >      >      >    Oops: 0000 [#1] SMP
> >        >      >      >      >      >    CPU 6
> >        >      >      >      >      >    Pid: 3571, comm: qemu-dm Not
> tainted
> >        >      3.5.0-dom0 #1
> >        >      >      >      >
> >        >      >      >      >      First of all upgrade to latest 3.5.x
> Linux
> >        kernel
> >        >      release
> >        >      >      .. so
> >        >      >      >      at least
> >        >      >      >      >      3.5.4.
> >        >      >      >      >
> >        >      >      >      >      -- Pasi
> >        >      >      >      >
> >        >      >      >      >      >    /DQ77MK
> >        >      >      >      >      >    RIP: e030:[<ffffffff810c50c4>]
> >        >       [<ffffffff810c50c4>]
> >        >      >      >      >      iput+0x3e/0x195
> >        >      >      >      >      >    RSP: e02b:ffff8800389ffbf8
>  EFLAGS:
> >        00010246
> >        >      >      >      >      >    RAX: 0000000000000001 RBX:
> >        ffff8800377b0720
> >        >      RCX:
> >        >      >      >      ffff8800501c0000
> >        >      >      >      >      >    RDX: ffff8800501c0000 RSI:
> >        ffff8800377b0790
> >        >      RDI:
> >        >      >      >      ffff8800377b0790
> >        >      >      >      >      >    RBP: 0000000000000000 R08:
> >        ffffffff815cdd00
> >        >      R09:
> >        >      >      >      0000000000000016
> >        >      >      >      >      >    R10: fefefefefefefeff R11:
> >        ffff8800377b0400
> >        >      R12:
> >        >      >      >      00000001000a3e0c
> >        >      >      >      >      >    R13: 0000000000000000 R14:
> >        00000001000a3e0c
> >        >      R15:
> >        >      >      >      ffff8800389ffc28
> >        >      >      >      >      >    FS:  00007f1af70a8700(0000)
> >        >      GS:ffff880050180000(0000)
> >        >      >      >      >      >    knlGS:0000000000000000
> >        >      >      >      >      >    CS:  e033 DS: 0000 ES: 0000 CR0=
:
> >        >      000000008005003b
> >        >      >      >      >      >    CR2: 0000000000000030 CR3:
> >        000000000156d000
> >        >      CR4:
> >        >      >      >      0000000000002660
> >        >      >      >      >      >    DR0: 0000000000000000 DR1:
> >        0000000000000000
> >        >      DR2:
> >        >      >      >      0000000000000000
> >        >      >      >      >      >    DR3: 0000000000000000 DR6:
> >        00000000ffff0ff0
> >        >      DR7:
> >        >      >      >      0000000000000400
> >        >      >      >      >      >    Process qemu-dm (pid: 3571,
> >        threadinfo
> >        >      >      ffff8800389fe000,
> >        >      >      >      task
> >        >      >      >      >      >    ffff88003a721260)
> >        >      >      >      >      >    Stack:
> >        >      >      >      >      >     ffff88003a6d6400
> ffff8800377b0000
> >        >      00000001000a3e0c
> >        >      >      >      >      ffffffff8133ce8f
> >        >      >      >      >      >     ffff8800377b0400
> ffffffff8134b6cd
> >        >      ffff8800389ffc28
> >        >      >      >      >      ffff8800389ffc28
> >        >      >      >      >      >     ffff8800377b00f8
> ffff8800377b0680
> >        >      ffff880038cdcd60
> >        >      >      >      >      ffff8800377b0000
> >        >      >      >      >      >    Call Trace:
> >        >      >      >      >      >     [<ffffffff8133ce8f>] ?
> >        >      sk_release_kernel+0x23/0x39
> >        >      >      >      >      >     [<ffffffff8134b6cd>] ?
> >        >      netdev_run_todo+0x1e9/0x206
> >        >      >      >      >      >     [<ffffffff8129798f>] ?
> >        >      tun_chr_close+0x4c/0x7b
> >        >      >      >      >      >     [<ffffffff810b39d3>] ?
> >        fput+0xe4/0x1c5
> >        >      >      >      >      >     [<ffffffff810b202c>] ?
> >        filp_close+0x61/0x68
> >        >      >      >      >      >     [<ffffffff81035e62>] ?
> >        >      put_files_struct+0x62/0xb9
> >        >      >      >      >      >     [<ffffffff81036374>] ?
> >        do_exit+0x24a/0x74c
> >        >      >      >      >      >     [<ffffffff81036906>] ?
> >        >      do_group_exit+0x6b/0x9d
> >        >      >      >      >      >     [<ffffffff8103ea0b>] ?
> >        >      >      get_signal_to_deliver+0x449/0x46e
> >        >      >      >      >      >     [<ffffffff81009fa5>] ?
> >        do_signal+0x28/0x4c4
> >        >      >      >      >      >     [<ffffffff81027079>] ?
> >        >      >      pvclock_clocksource_read+0x48/0xbf
> >        >      >      >      >      >     [<ffffffff8105b745>] ?
> >        ktime_get_ts+0x66/0xa8
> >        >      >      >      >      >     [<ffffffff810bfb18>] ?
> >        >      >      poll_select_copy_remaining+0xe0/0xf5
> >        >      >      >      >      >     [<ffffffff8100a48d>] ?
> >        >      do_notify_resume+0x3b/0x74
> >        >      >      >      >      >     [<ffffffff81411a70>] ?
> >        int_signal+0x12/0x17
> >        >      >      >      >      >    Code: 00 00 00 40 74 02 0f 0b 4=
8
> 8d
> >        77 70 48
> >        >      8d bf 08
> >        >      >      01 00
> >        >      >      >      00 e8
> >        >      >      >      >      8b 71 10
> >        >      >      >      >      >    00 85 c0 0f 84 5d 01 00 00 48 8=
b
> 6b
> >        18 f6 83
> >        >      80 00 00
> >        >      >      00 08
> >        >      >      >      <4c> 8b
> >        >      >      >      >      65 30
> >        >      >      >      >      >    74 11 be 68 05 00 00 48 c7 c7 8=
e
> df
> >        4f 81 e8
> >        >      bb d0
> >        >      >      >      >      >    RIP  [<ffffffff810c50c4>]
> >        iput+0x3e/0x195
> >        >      >      >      >      >     RSP <ffff8800389ffbf8>
> >        >      >      >      >      >    CR2: 0000000000000030
> >        >      >      >      >      >    ---[ end trace 67cc1654658fedcc
> ]---
> >        >      >      >      >      >    Fixing recursive fault but
> reboot is
> >        needed!
> >        >      >      >      >      >
> >        >      >      >      >      >    I also tested Xen 4.2.0 and
> problem
> >        is the
> >        >      same. So
> >        >      >      is this
> >        >      >      >      a Xen
> >        >      >      >      >      bug or a
> >        >      >      >      >      >    kernel bug? I am running vanill=
a
> >        >      >      [1][2][3][4][5][11]kernel.org kernel
> >        >      >      >      3.5.0 and
> >        >      >      >      >      my
> >        >      >      >      >      >    hardware is Intel Core i7-3770
> CPU
> >        and Intel
> >        >      DQ77MK
> >        >      >      >      motherboard
> >        >      >      >      >      with
> >        >      >      >      >      >    latest bios.
> >        >      >      >      >      >
> >        >      >      >      >      >    Best regards,
> >        >      >      >      >      >    Valtteri Kiviniemi
> >        >      >      >      >      >
> >        >      >      >      >      > References
> >        >      >      >      >      >
> >        >      >      >      >      >    Visible links
> >        >      >      >      >      >    1. [3][4][5][6][12]
> http://kernel.org/
> >        >      >      >      >
> >        >      >      >      >      >
> >        _______________________________________________
> >        >      >      >      >      > Xen-devel mailing list
> >        >      >      >      >      > [4][5][6][7][13]
> Xen-devel@lists.xen.org
> >        >      >      >      >      >
> >        [5][6][7][8][14]http://lists.xen.org/xen-devel
> >        >      >      >      >
> >        >      >      >      > References
> >        >      >      >      >
> >        >      >      >      >    Visible links
> >        >      >      >      >    1. mailto:[7][8][9][15]pasik@iki.fi
> >        >      >      >      >    2. [8][9][10][16]http://kernel.org/
> >        >      >      >      >    3. [9][10][11][17]http://kernel.org/
> >        >      >      >      >    4.
> >        mailto:[10][11][12][18]Xen-devel@lists.xen.org
> >        >      >      >      >    5.
> >        [11][12][13][19]http://lists.xen.org/xen-devel
> >        >      >      >
> >        >      >      > References
> >        >      >      >
> >        >      >      >    Visible links
> >        >      >      >    1. mailto:[13][14][20]pasik@iki.fi
> >        >      >      >    2. mailto:[14][15][21]pasik@iki.fi
> >        >      >      >    3. [15][16][22]http://kernel.org/
> >        >      >      >    4. [16][17][23]http://kernel.org/
> >        >      >      >    5. mailto:[17][18][24]Xen-devel@lists.xen.org
> >        >      >      >    6. [18][19][25]http://lists.xen.org/xen-devel
> >        >      >      >    7. mailto:[19][20][26]pasik@iki.fi
> >        >      >      >    8. [20][21][27]http://kernel.org/
> >        >      >      >    9. [21][22][28]http://kernel.org/
> >        >      >      >   10. mailto:[22][23][29]Xen-devel@lists.xen.org
> >        >      >      >   11. [23][24][30]http://lists.xen.org/xen-devel
> >        >      >
> >        >      > References
> >        >      >
> >        >      >    Visible links
> >        >      >    1. mailto:[25][31]pasik@iki.fi
> >        >      >    2. mailto:[26][32]pasik@iki.fi
> >        >      >    3. mailto:[27][33]pasik@iki.fi
> >        >      >    4. [28][34]http://kernel.org/
> >        >      >    5. [29][35]http://kernel.org/
> >        >      >    6. mailto:[30][36]Xen-devel@lists.xen.org
> >        >      >    7. [31][37]http://lists.xen.org/xen-devel
> >        >      >    8. mailto:[32][38]pasik@iki.fi
> >        >      >    9. [33][39]http://kernel.org/
> >        >      >   10. [34][40]http://kernel.org/
> >        >      >   11. mailto:[35][41]Xen-devel@lists.xen.org
> >        >      >   12. [36][42]http://lists.xen.org/xen-devel
> >        >      >   13. mailto:[37][43]pasik@iki.fi
> >        >      >   14. mailto:[38][44]pasik@iki.fi
> >        >      >   15. [39][45]http://kernel.org/
> >        >      >   16. [40][46]http://kernel.org/
> >        >      >   17. mailto:[41][47]Xen-devel@lists.xen.org
> >        >      >   18. [42][48]http://lists.xen.org/xen-devel
> >        >      >   19. mailto:[43][49]pasik@iki.fi
> >        >      >   20. [44][50]http://kernel.org/
> >        >      >   21. [45][51]http://kernel.org/
> >        >      >   22. mailto:[46][52]Xen-devel@lists.xen.org
> >        >      >   23. [47][53]http://lists.xen.org/xen-devel
> >        >
> >        > References
> >        >
> >        >    Visible links
> >        >    1. mailto:[54]pasik@iki.fi
> >        >    2. mailto:[55]pasik@iki.fi
> >        >    3. mailto:[56]pasik@iki.fi
> >        >    4. mailto:[57]pasik@iki.fi
> >        >    5. [58]http://kernel.org/
> >        >    6. [59]http://kernel.org/
> >        >    7. mailto:[60]Xen-devel@lists.xen.org
> >        >    8. [61]http://lists.xen.org/xen-devel
> >        >    9. mailto:[62]pasik@iki.fi
> >        >   10. [63]http://kernel.org/
> >        >   11. [64]http://kernel.org/
> >        >   12. mailto:[65]Xen-devel@lists.xen.org
> >        >   13. [66]http://lists.xen.org/xen-devel
> >        >   14. mailto:[67]pasik@iki.fi
> >        >   15. mailto:[68]pasik@iki.fi
> >        >   16. [69]http://kernel.org/
> >        >   17. [70]http://kernel.org/
> >        >   18. mailto:[71]Xen-devel@lists.xen.org
> >        >   19. [72]http://lists.xen.org/xen-devel
> >        >   20. mailto:[73]pasik@iki.fi
> >        >   21. [74]http://kernel.org/
> >        >   22. [75]http://kernel.org/
> >        >   23. mailto:[76]Xen-devel@lists.xen.org
> >        >   24. [77]http://lists.xen.org/xen-devel
> >        >   25. mailto:[78]pasik@iki.fi
> >        >   26. mailto:[79]pasik@iki.fi
> >        >   27. mailto:[80]pasik@iki.fi
> >        >   28. [81]http://kernel.org/
> >        >   29. [82]http://kernel.org/
> >        >   30. mailto:[83]Xen-devel@lists.xen.org
> >        >   31. [84]http://lists.xen.org/xen-devel
> >        >   32. mailto:[85]pasik@iki.fi
> >        >   33. [86]http://kernel.org/
> >        >   34. [87]http://kernel.org/
> >        >   35. mailto:[88]Xen-devel@lists.xen.org
> >        >   36. [89]http://lists.xen.org/xen-devel
> >        >   37. mailto:[90]pasik@iki.fi
> >        >   38. mailto:[91]pasik@iki.fi
> >        >   39. [92]http://kernel.org/
> >        >   40. [93]http://kernel.org/
> >        >   41. mailto:[94]Xen-devel@lists.xen.org
> >        >   42. [95]http://lists.xen.org/xen-devel
> >        >   43. mailto:[96]pasik@iki.fi
> >        >   44. [97]http://kernel.org/
> >        >   45. [98]http://kernel.org/
> >        >   46. mailto:[99]Xen-devel@lists.xen.org
> >        >   47. [100]http://lists.xen.org/xen-devel
> >
> > References
> >
> >    Visible links
> >    1. mailto:kiviniemi.valtteri@gmail.com
> >    2. http://ark.intel.com/products/65719/
> >    3.
> http://www.intel.com/content/www/us/en/motherboards/desktop-motherboards/=
desktop-board-dq77mk.html
> >    4. mailto:root@dataproof.fi
> >    5. mailto:pasik@iki.fi
> >    6. http://xen.org/
> >    7. mailto:pasik@iki.fi
> >    8. mailto:pasik@iki.fi
> >    9. mailto:pasik@iki.fi
> >   10. mailto:pasik@iki.fi
> >   11. http://kernel.org/
> >   12. http://kernel.org/
> >   13. mailto:Xen-devel@lists.xen.org
> >   14. http://lists.xen.org/xen-devel
> >   15. mailto:pasik@iki.fi
> >   16. http://kernel.org/
> >   17. http://kernel.org/
> >   18. mailto:Xen-devel@lists.xen.org
> >   19. http://lists.xen.org/xen-devel
> >   20. mailto:pasik@iki.fi
> >   21. mailto:pasik@iki.fi
> >   22. http://kernel.org/
> >   23. http://kernel.org/
> >   24. mailto:Xen-devel@lists.xen.org
> >   25. http://lists.xen.org/xen-devel
> >   26. mailto:pasik@iki.fi
> >   27. http://kernel.org/
> >   28. http://kernel.org/
> >   29. mailto:Xen-devel@lists.xen.org
> >   30. http://lists.xen.org/xen-devel
> >   31. mailto:pasik@iki.fi
> >   32. mailto:pasik@iki.fi
> >   33. mailto:pasik@iki.fi
> >   34. http://kernel.org/
> >   35. http://kernel.org/
> >   36. mailto:Xen-devel@lists.xen.org
> >   37. http://lists.xen.org/xen-devel
> >   38. mailto:pasik@iki.fi
> >   39. http://kernel.org/
> >   40. http://kernel.org/
> >   41. mailto:Xen-devel@lists.xen.org
> >   42. http://lists.xen.org/xen-devel
> >   43. mailto:pasik@iki.fi
> >   44. mailto:pasik@iki.fi
> >   45. http://kernel.org/
> >   46. http://kernel.org/
> >   47. mailto:Xen-devel@lists.xen.org
> >   48. http://lists.xen.org/xen-devel
> >   49. mailto:pasik@iki.fi
> >   50. http://kernel.org/
> >   51. http://kernel.org/
> >   52. mailto:Xen-devel@lists.xen.org
> >   53. http://lists.xen.org/xen-devel
> >   54. mailto:pasik@iki.fi
> >   55. mailto:pasik@iki.fi
> >   56. mailto:pasik@iki.fi
> >   57. mailto:pasik@iki.fi
> >   58. http://kernel.org/
> >   59. http://kernel.org/
> >   60. mailto:Xen-devel@lists.xen.org
> >   61. http://lists.xen.org/xen-devel
> >   62. mailto:pasik@iki.fi
> >   63. http://kernel.org/
> >   64. http://kernel.org/
> >   65. mailto:Xen-devel@lists.xen.org
> >   66. http://lists.xen.org/xen-devel
> >   67. mailto:pasik@iki.fi
> >   68. mailto:pasik@iki.fi
> >   69. http://kernel.org/
> >   70. http://kernel.org/
> >   71. mailto:Xen-devel@lists.xen.org
> >   72. http://lists.xen.org/xen-devel
> >   73. mailto:pasik@iki.fi
> >   74. http://kernel.org/
> >   75. http://kernel.org/
> >   76. mailto:Xen-devel@lists.xen.org
> >   77. http://lists.xen.org/xen-devel
> >   78. mailto:pasik@iki.fi
> >   79. mailto:pasik@iki.fi
> >   80. mailto:pasik@iki.fi
> >   81. http://kernel.org/
> >   82. http://kernel.org/
> >   83. mailto:Xen-devel@lists.xen.org
> >   84. http://lists.xen.org/xen-devel
> >   85. mailto:pasik@iki.fi
> >   86. http://kernel.org/
> >   87. http://kernel.org/
> >   88. mailto:Xen-devel@lists.xen.org
> >   89. http://lists.xen.org/xen-devel
> >   90. mailto:pasik@iki.fi
> >   91. mailto:pasik@iki.fi
> >   92. http://kernel.org/
> >   93. http://kernel.org/
> >   94. mailto:Xen-devel@lists.xen.org
> >   95. http://lists.xen.org/xen-devel
> >   96. mailto:pasik@iki.fi
> >   97. http://kernel.org/
> >   98. http://kernel.org/
> >   99. mailto:Xen-devel@lists.xen.org
> >  100. http://lists.xen.org/xen-devel
>

--001636ef09ad5a601804cb131d45
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,<br><br>I already tried 3.2, 3.5, 3.5.0, 3.6.0-rc7 and 3.6.0, same probl=
em all of those. My dom0 config is the same config that I&#39;am using on o=
ther server where HVM is working, so I dont think that it is a config probl=
em. I have triple checked everything and all should be ok. dom0 dmesg shows=
 the same crash that I have previously posted here. /var/log/xen/ does not =
contain any specific errors.<br>
<br>Could this be some kind of broblem with my motherboard bios being buggy=
 or CPU not supported? I&#39;m using the new intel Ivy Bridge processor whi=
ch has integrated GPU, but that should not probably cause these kind of pro=
blems. Or maybe some ACPI problem? xm dmesg is showing some notices about A=
CPI. Is there any ACPI kernel parameters that I should try booting? This ha=
s to be somekind of problem with my hardware, or then maybe it could be a k=
ernel problem too. I just really cant figure this out myself, I have tried =
everything.<br>
<br>Lets take a quick summary of what has been tested, what hardware I&#39;=
m using etc.<br><br>Xen-versions tested: 4.2.0, 4.0.4<br>Kernel-versions te=
sted: 3.2.0, 3.5.0, 3.5.4, 3.6.0-rc7, 3.6.0<br><br>Host OS: Debian testing/=
wheezy, udev version 175-7, 2.13-35, python version 2.7.3~rc2-2.1<br>
<br>Hardware: <br><br>CPU: Intel Core i7-3770 3.4GHz<br>MB: Intel DQ77MK (l=
atest bios updated)<br>Memory: 32GB (4 x 8GB DDR3-1600MHz)<br><br>All relev=
ant log files and configs:<br><br>dom0 dmesg: <a href=3D"http://nago.fi/dme=
sg.txt">http://nago.fi/dmesg.txt</a><br>
qemu-dm log: <a href=3D"http://nago.fi/qemu-dm.txt">http://nago.fi/qemu-dm.=
txt</a><br>xm dmesg log: <a href=3D"http://nago.fi/xm-dmesg.txt">http://nag=
o.fi/xm-dmesg.txt</a><br>domU config: <a href=3D"http://nago.fi/domu-config=
.txt">http://nago.fi/domu-config.txt</a><br>
dom0 kernel config: <a href=3D"http://nago.fi/dom0-config.txt">http://nago.=
fi/dom0-config.txt</a><br><br>I have also tried playing with every setting =
on that domU that I can think of and tried different configs etc.<br><br>
- Valtteri<br><br><div class=3D"gmail_quote">2012/10/2 Pasi K=E4rkk=E4inen =
<span dir=3D"ltr">&lt;<a href=3D"mailto:pasik@iki.fi" target=3D"_blank">pas=
ik@iki.fi</a>&gt;</span><br><blockquote class=3D"gmail_quote" style=3D"marg=
in:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class=3D"im">On Tue, Oct 02, 2012 at 03:11:07PM +0300, Valtteri Kivini=
emi wrote:<br>
&gt; =A0 =A0Hi,<br>
&gt;<br>
</div><div><div class=3D"h5">&gt; =A0 =A0Another update:<br>
&gt;<br>
&gt; =A0 =A0I wanted to check that if a Linux HVM would boot with working V=
NC console,<br>
&gt; =A0 =A0so I tried to launch a Debian Squeeze installer on HVM. It refu=
sed to<br>
&gt; =A0 =A0start ant told me that vbd hotplug scripts were not working. Af=
ter that<br>
&gt; =A0 =A0failure even the Windows domU would not anymore start which was=
 previously<br>
&gt; =A0 =A0starting ok.<br>
&gt;<br>
&gt; =A0 =A0The hotplug scripts also starts hanging on the processes.<br>
&gt;<br>
&gt; =A0 =A0root =A0 =A0 =A09401 =A00.1 =A00.1 =A017700 =A01640 ? =A0 =A0 =
=A0 =A0S =A0 =A015:05 =A0 0:00 /bin/bash<br>
&gt; =A0 =A0/etc/xen/scripts/xen-hotplug-cleanup<br>
&gt; =A0 =A0root =A0 =A0 =A09441 =A00.1 =A00.1 =A017700 =A01644 ? =A0 =A0 =
=A0 =A0S =A0 =A015:05 =A0 0:00 /bin/bash<br>
&gt; =A0 =A0/etc/xen/scripts/xen-hotplug-cleanup<br>
&gt; =A0 =A0root =A0 =A0 =A09481 =A00.1 =A00.1 =A017700 =A01640 ? =A0 =A0 =
=A0 =A0S =A0 =A015:05 =A0 0:00 /bin/bash<br>
&gt; =A0 =A0/etc/xen/scripts/xen-hotplug-cleanup<br>
&gt; =A0 =A0root =A0 =A0 =A09560 =A00.1 =A00.1 =A017700 =A01640 ? =A0 =A0 =
=A0 =A0S =A0 =A015:05 =A0 0:00 /bin/bash<br>
&gt; =A0 =A0/etc/xen/scripts/xen-hotplug-cleanup<br>
&gt; =A0 =A0root =A0 =A0 10738 =A00.1 =A00.1 =A017696 =A01636 ? =A0 =A0 =A0=
 =A0S =A0 =A015:05 =A0 0:00 /bin/bash<br>
&gt; =A0 =A0/etc/xen/scripts/xen-hotplug-cleanup<br>
&gt; =A0 =A0root =A0 =A0 10747 =A00.1 =A00.1 =A017792 =A01736 ? =A0 =A0 =A0=
 =A0S =A0 =A015:05 =A0 0:00 /bin/bash<br>
&gt; =A0 =A0/etc/xen/scripts/block remove<br>
&gt; =A0 =A0root =A0 =A0 11286 =A00.0 =A00.0 =A0 4080 =A0 324 ? =A0 =A0 =A0=
 =A0S =A0 =A015:06 =A0 0:00 sleep 1<br>
&gt; =A0 =A0root =A0 =A0 11290 =A00.0 =A00.0 =A0 4080 =A0 324 ? =A0 =A0 =A0=
 =A0S =A0 =A015:06 =A0 0:00 sleep 1<br>
&gt; =A0 =A0root =A0 =A0 11294 =A00.0 =A00.0 =A0 4080 =A0 324 ? =A0 =A0 =A0=
 =A0S =A0 =A015:06 =A0 0:00 sleep 1<br>
&gt; =A0 =A0root =A0 =A0 11298 =A00.0 =A00.0 =A0 4080 =A0 324 ? =A0 =A0 =A0=
 =A0S =A0 =A015:06 =A0 0:00 sleep 1<br>
&gt; =A0 =A0root =A0 =A0 11302 =A00.0 =A00.0 =A0 4080 =A0 320 ? =A0 =A0 =A0=
 =A0S =A0 =A015:06 =A0 0:00 sleep 1<br>
&gt; =A0 =A0root =A0 =A0 11306 =A00.0 =A00.0 =A0 4080 =A0 320 ? =A0 =A0 =A0=
 =A0S =A0 =A015:06 =A0 0:00 sleep 1<br>
&gt;<br>
&gt; =A0 =A0Then I did a xm destroy and I had again the kernel BUG on dmesg=
. So it<br>
&gt; =A0 =A0seems that the problem is not fixed by using 3.6.0. Udev versio=
n is 175-7.<br>
&gt;<br>
<br>
</div></div>So you have definitely something broken in your system,<br>
probably in your dom0 kernel. Try with Linux 3.5.4 or 3.4.x,<br>
and see how that goes.<br>
<br>
Any errors in dom0 dmesg? How about in /var/log/xen/* ?<br>
<br>
-- Pasi<br>
<br>
&gt;<br>
&gt;<br>
&gt; =A0 =A02012/10/1 Valtteri Kiviniemi &lt;[1]<a href=3D"mailto:kiviniemi=
.valtteri@gmail.com">kiviniemi.valtteri@gmail.com</a>&gt;<br>
<div class=3D"im">&gt;<br>
&gt; =A0 =A0 =A0Hi,<br>
&gt;<br>
&gt; =A0 =A0 =A0CPU: Intel Core i7-3770 3.4GHz<br>
</div>&gt; =A0 =A0 =A0[2]<a href=3D"http://ark.intel.com/products/65719/" t=
arget=3D"_blank">http://ark.intel.com/products/65719/</a><br>
<div class=3D"im">&gt;<br>
&gt; =A0 =A0 =A0MB: Intel DQ77MK (latest bios updated)<br>
</div>&gt; =A0 =A0 =A0[3]<a href=3D"http://www.intel.com/content/www/us/en/=
motherboards/desktop-motherboards/desktop-board-dq77mk.html" target=3D"_bla=
nk">http://www.intel.com/content/www/us/en/motherboards/desktop-motherboard=
s/desktop-board-dq77mk.html</a><br>

<div class=3D"im">&gt;<br>
&gt; =A0 =A0 =A0Memory: 32GB (4 x 8GB DDR3-1600MHz)<br>
&gt;<br>
&gt; =A0 =A0 =A0Host is Debian wheezy/testing, Xen 4.0.4 and latest 3.6.0 k=
ernel.<br>
&gt;<br>
&gt; =A0 =A0 =A0Noticed also some errors in xm dmesg:<br>
&gt;<br>
&gt; =A0 =A0 =A0root@xen-2:~# xm dmesg<br>
&gt;<br>
</div>&gt; =A0 =A0 =A0(XEN) Xen version 4.0.4 ([4]<a href=3D"mailto:root@da=
taproof.fi">root@dataproof.fi</a>) (gcc version 4.7.1<br>
<div><div class=3D"h5">&gt; =A0 =A0 =A0(Debian 4.7.1-7) ) Sun Sep 30 20:28:=
26 EEST 2012<br>
&gt; =A0 =A0 =A0(XEN) Latest ChangeSet: unavailable<br>
&gt; =A0 =A0 =A0(XEN) Bootloader: GNU GRUB 0.97<br>
&gt; =A0 =A0 =A0(XEN) Command line: dom0_mem=3D1280M cpufreq=3Dxen clocksou=
rce=3Dhpet<br>
&gt; =A0 =A0 =A0(XEN) Video information:<br>
&gt; =A0 =A0 =A0(XEN) =A0VGA is text mode 80x25, font 8x16<br>
&gt; =A0 =A0 =A0(XEN) =A0VBE/DDC methods: none; EDID transfer time: 0 secon=
ds<br>
&gt; =A0 =A0 =A0(XEN) =A0EDID info not retrieved because no DDC retrieval m=
ethod detected<br>
&gt; =A0 =A0 =A0(XEN) Disc information:<br>
&gt; =A0 =A0 =A0(XEN) =A0Found 4 MBR signatures<br>
&gt; =A0 =A0 =A0(XEN) =A0Found 4 EDD information structures<br>
&gt; =A0 =A0 =A0(XEN) Xen-e820 RAM map:<br>
&gt; =A0 =A0 =A0(XEN) =A00000000000000000 - 000000000009d800 (usable)<br>
&gt; =A0 =A0 =A0(XEN) =A0000000000009d800 - 00000000000a0000 (reserved)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000000e0000 - 0000000000100000 (reserved)<br>
&gt; =A0 =A0 =A0(XEN) =A00000000000100000 - 0000000020000000 (usable)<br>
&gt; =A0 =A0 =A0(XEN) =A00000000020000000 - 0000000020200000 (reserved)<br>
&gt; =A0 =A0 =A0(XEN) =A00000000020200000 - 0000000040004000 (usable)<br>
&gt; =A0 =A0 =A0(XEN) =A00000000040004000 - 0000000040005000 (reserved)<br>
&gt; =A0 =A0 =A0(XEN) =A00000000040005000 - 00000000dbe44000 (usable)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000dbe44000 - 00000000dc2d7000 (reserved)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000dc2d7000 - 00000000dc2e7000 (ACPI data)<br=
>
&gt; =A0 =A0 =A0(XEN) =A000000000dc2e7000 - 00000000dc40c000 (ACPI NVS)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000dc40c000 - 00000000dc6af000 (reserved)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000dc6af000 - 00000000dc6b0000 (usable)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000dc6b0000 - 00000000dc6f3000 (ACPI NVS)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000dc6f3000 - 00000000dd000000 (usable)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000dd800000 - 00000000dfa00000 (reserved)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000f8000000 - 00000000fc000000 (reserved)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000fec00000 - 00000000fec01000 (reserved)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000fed00000 - 00000000fed04000 (reserved)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000fed1c000 - 00000000fed20000 (reserved)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000fee00000 - 00000000fee01000 (reserved)<br>
&gt; =A0 =A0 =A0(XEN) =A000000000ff000000 - 0000000100000000 (reserved)<br>
&gt; =A0 =A0 =A0(XEN) =A00000000100000000 - 000000081e600000 (usable)<br>
&gt; =A0 =A0 =A0(XEN) ACPI: RSDP 000F0490, 0024 (r2 =A0INTEL)<br>
&gt; =A0 =A0 =A0(XEN) ACPI: XSDT DC2DB080, 007C (r1 INTEL =A0DQ77MK =A0 =A0=
 =A0 =A0 32 AMI<br>
&gt; =A0 =A0 =A010013)<br>
&gt; =A0 =A0 =A0(XEN) ACPI: FACP DC2E51F0, 010C (r5 INTEL =A0DQ77MK =A0 =A0=
 =A0 =A0 32 AMI<br>
&gt; =A0 =A0 =A010013)<br>
&gt; =A0 =A0 =A0(XEN) ACPI Warning (tbfadt-0232): FADT (revision 5) is long=
er than ACPI<br>
&gt; =A0 =A0 =A02.0 version, truncating length 0x10C to 0xF4 [20070126]<br>
&gt; =A0 =A0 =A0(XEN) ACPI: DSDT DC2DB188, A061 (r2 INTEL =A0DQ77MK =A0 =A0=
 =A0 =A0 32 INTL<br>
&gt; =A0 =A0 =A020051117)<br>
&gt; =A0 =A0 =A0(XEN) ACPI: FACS DC40A080, 0040<br>
&gt; =A0 =A0 =A0(XEN) ACPI: APIC DC2E5300, 0092 (r3 INTEL =A0DQ77MK =A0 =A0=
 =A0 =A0 32 AMI<br>
&gt; =A0 =A0 =A010013)<br>
&gt; =A0 =A0 =A0(XEN) ACPI: FPDT DC2E5398, 0044 (r1 INTEL =A0DQ77MK =A0 =A0=
 =A0 =A0 32 AMI<br>
&gt; =A0 =A0 =A010013)<br>
&gt; =A0 =A0 =A0(XEN) ACPI: TCPA DC2E53E0, 0032 (r2 INTEL =A0DQ77MK =A0 =A0=
 =A0 =A0 32 MSFT<br>
&gt; =A0 =A0 =A01000013)<br>
&gt; =A0 =A0 =A0(XEN) ACPI: MCFG DC2E5418, 003C (r1 INTEL =A0DQ77MK =A0 =A0=
 =A0 =A0 32 MSFT<br>
&gt; =A0 =A0 =A097)<br>
&gt; =A0 =A0 =A0(XEN) ACPI: HPET DC2E5458, 0038 (r1 INTEL =A0DQ77MK =A0 =A0=
 =A0 =A0 32 AMI.<br>
&gt; =A0 =A0 =A05)<br>
&gt; =A0 =A0 =A0(XEN) ACPI: SSDT DC2E5490, 036D (r1 INTEL =A0DQ77MK =A0 =A0=
 =A0 =A0 32 INTL<br>
&gt; =A0 =A0 =A020091112)<br>
&gt; =A0 =A0 =A0(XEN) ACPI: SSDT DC2E5800, 09AA (r1 INTEL =A0DQ77MK =A0 =A0=
 =A0 =A0 32 INTL<br>
&gt; =A0 =A0 =A020051117)<br>
&gt; =A0 =A0 =A0(XEN) ACPI: SSDT DC2E61B0, 0A92 (r1 INTEL =A0DQ77MK =A0 =A0=
 =A0 =A0 32 INTL<br>
&gt; =A0 =A0 =A020051117)<br>
&gt; =A0 =A0 =A0(XEN) ACPI: DMAR DC2E6C48, 00B8 (r1 INTEL =A0DQ77MK =A0 =A0=
 =A0 =A0 32 INTL<br>
&gt; =A0 =A0 =A01)<br>
&gt; =A0 =A0 =A0(XEN) ACPI: ASF! DC2E6D00, 00A5 (r32 INTEL =A0DQ77MK =A0 =
=A0 =A0 =A0 32 TFSM<br>
&gt; =A0 =A0 =A0F4240)<br>
&gt; =A0 =A0 =A0(XEN) System RAM: 32682MB (33467320kB)<br>
&gt; =A0 =A0 =A0(XEN) Domain heap initialised<br>
&gt; =A0 =A0 =A0(XEN) ACPI: 32/64X FACS address mismatch in FADT -<br>
&gt; =A0 =A0 =A0dc40a080/0000000000000000, using 32<br>
&gt; =A0 =A0 =A0(XEN) Processor #0 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0(XEN) Processor #2 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0(XEN) Processor #4 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0(XEN) Processor #6 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0(XEN) Processor #1 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0(XEN) Processor #3 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0(XEN) Processor #5 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0(XEN) Processor #7 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0(XEN) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000,=
 GSI 0-23<br>
&gt; =A0 =A0 =A0(XEN) Enabling APIC mode: =A0Flat. =A0Using 1 I/O APICs<br>
&gt; =A0 =A0 =A0(XEN) Switched to APIC driver x2apic_cluster.<br>
&gt; =A0 =A0 =A0(XEN) x2APIC mode enabled.<br>
&gt; =A0 =A0 =A0(XEN) Using scheduler: SMP Credit Scheduler (credit)<br>
&gt; =A0 =A0 =A0(XEN) Detected 3392.369 MHz processor.<br>
&gt; =A0 =A0 =A0(XEN) Initing memory sharing.<br>
&gt; =A0 =A0 =A0(XEN) VMX: Supported advanced features:<br>
&gt; =A0 =A0 =A0(XEN) =A0- APIC MMIO access virtualisation<br>
&gt; =A0 =A0 =A0(XEN) =A0- APIC TPR shadow<br>
&gt; =A0 =A0 =A0(XEN) =A0- Extended Page Tables (EPT)<br>
&gt; =A0 =A0 =A0(XEN) =A0- Virtual-Processor Identifiers (VPID)<br>
&gt; =A0 =A0 =A0(XEN) =A0- Virtual NMI<br>
&gt; =A0 =A0 =A0(XEN) =A0- MSR direct-access bitmap<br>
&gt; =A0 =A0 =A0(XEN) =A0- Unrestricted Guest<br>
&gt; =A0 =A0 =A0(XEN) EPT supports 2MB super page.<br>
&gt; =A0 =A0 =A0(XEN) HVM: ASIDs enabled.<br>
&gt; =A0 =A0 =A0(XEN) HVM: VMX enabled<br>
&gt; =A0 =A0 =A0(XEN) HVM: Hardware Assisted Paging detected.<br>
&gt; =A0 =A0 =A0(XEN) Intel VT-d Snoop Control not enabled.<br>
&gt; =A0 =A0 =A0(XEN) Intel VT-d Dom0 DMA Passthrough not enabled.<br>
&gt; =A0 =A0 =A0(XEN) Intel VT-d Queued Invalidation enabled.<br>
&gt; =A0 =A0 =A0(XEN) Intel VT-d Interrupt Remapping enabled.<br>
&gt; =A0 =A0 =A0(XEN) I/O virtualisation enabled<br>
&gt; =A0 =A0 =A0(XEN) =A0- Dom0 mode: Relaxed<br>
&gt; =A0 =A0 =A0(XEN) Enabled directed EOI with ioapic_ack_old on!<br>
&gt; =A0 =A0 =A0(XEN) Total of 8 processors activated.<br>
&gt; =A0 =A0 =A0(XEN) ENABLING IO-APIC IRQs<br>
&gt; =A0 =A0 =A0(XEN) =A0-&gt; Using old ACK method<br>
&gt; =A0 =A0 =A0(XEN) TSC is reliable, synchronization unnecessary<br>
&gt; =A0 =A0 =A0(XEN) Platform timer appears to have unexpectedly wrapped 1=
 times.<br>
&gt; =A0 =A0 =A0(XEN) Platform timer is 14.318MHz HPET<br>
&gt; =A0 =A0 =A0(XEN) Allocated console ring of 16 KiB.<br>
&gt; =A0 =A0 =A0(XEN) Brought up 8 CPUs<br>
&gt; =A0 =A0 =A0(XEN) *** LOADING DOMAIN 0 ***<br>
&gt; =A0 =A0 =A0(XEN) =A0Xen =A0kernel: 64-bit, lsb, compat32<br>
&gt; =A0 =A0 =A0(XEN) =A0Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -&g=
t; 0x1ae7000<br>
&gt; =A0 =A0 =A0(XEN) PHYSICAL MEMORY ARRANGEMENT:<br>
&gt; =A0 =A0 =A0(XEN) =A0Dom0 alloc.: =A0 0000000804000000-&gt;000000080600=
0000 (319488 pages<br>
&gt; =A0 =A0 =A0to be allocated)<br>
&gt; =A0 =A0 =A0(XEN) VIRTUAL MEMORY ARRANGEMENT:<br>
&gt; =A0 =A0 =A0(XEN) =A0Loaded kernel: ffffffff81000000-&gt;ffffffff81ae70=
00<br>
&gt; =A0 =A0 =A0(XEN) =A0Init. ramdisk: ffffffff81ae7000-&gt;ffffffff81ae70=
00<br>
&gt; =A0 =A0 =A0(XEN) =A0Phys-Mach map: ffffffff81ae7000-&gt;ffffffff81d670=
00<br>
&gt; =A0 =A0 =A0(XEN) =A0Start info: =A0 =A0ffffffff81d67000-&gt;ffffffff81=
d674b4<br>
&gt; =A0 =A0 =A0(XEN) =A0Page tables: =A0 ffffffff81d68000-&gt;ffffffff81d7=
b000<br>
&gt; =A0 =A0 =A0(XEN) =A0Boot stack: =A0 =A0ffffffff81d7b000-&gt;ffffffff81=
d7c000<br>
&gt; =A0 =A0 =A0(XEN) =A0TOTAL: =A0 =A0 =A0 =A0 ffffffff80000000-&gt;ffffff=
ff82000000<br>
&gt; =A0 =A0 =A0(XEN) =A0ENTRY ADDRESS: ffffffff815e3210<br>
&gt; =A0 =A0 =A0(XEN) Dom0 has maximum 8 VCPUs<br>
&gt; =A0 =A0 =A0(XEN) [VT-D]iommu.c:718: BIOS did not enable IGD for VT pro=
perly.<br>
&gt; =A0 =A0 =A0Disabling IGD VT-d engine.<br>
&gt; =A0 =A0 =A0(XEN) Scrubbing Free RAM: done.<br>
&gt; =A0 =A0 =A0(XEN) Xen trace buffers: disabled<br>
&gt; =A0 =A0 =A0(XEN) Std. Loglevel: Errors and warnings<br>
&gt; =A0 =A0 =A0(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and war=
nings)<br>
&gt; =A0 =A0 =A0(XEN) Xen is relinquishing VGA console.<br>
&gt; =A0 =A0 =A0(XEN) *** Serial input -&gt; DOM0 (type &#39;CTRL-a&#39; th=
ree times to switch<br>
&gt; =A0 =A0 =A0input to Xen)<br>
&gt; =A0 =A0 =A0(XEN) Freed 172kB init memory.<br>
&gt; =A0 =A0 =A0(XEN) traps.c:2333:d0 Domain attempted WRMSR 00000000000000=
8b from<br>
&gt; =A0 =A0 =A000000012:00000000 to 00000000:00000000.<br>
&gt;<br>
&gt; =A0 =A0 =A0- Valtteri<br>
&gt;<br>
</div></div>&gt; =A0 =A0 =A02012/10/1 Pasi K=E4rkk=E4inen &lt;[5]<a href=3D=
"mailto:pasik@iki.fi">pasik@iki.fi</a>&gt;<br>
<div class=3D"im">&gt;<br>
&gt; =A0 =A0 =A0 =A0On Mon, Oct 01, 2012 at 09:12:50PM +0300, Valtteri Kivi=
niemi wrote:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Hi,<br>
&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Lowering memory or vcpu&#39;s does not help=
, problem is the same. I<br>
&gt; =A0 =A0 =A0 =A0originally<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0installed Xen 4.2.0 and the problem was sam=
e on that too. Then I<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0downgraded back to 4.0.4 since I thought th=
at this might be a bug<br>
&gt; =A0 =A0 =A0 =A0on<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A04.2.0. I have been previously running Windo=
ws Server 2008 R2<br>
&gt; =A0 =A0 =A0 =A0succesfully<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0on Xen 4.0.x on different hardware with thi=
s same config.<br>
&gt; =A0 =A0 =A0 =A0Hypervisor is<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A064bit and windows is 64bit.<br>
&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Any ideas what to try next?<br>
&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0What kind of hardware is that?<br>
&gt;<br>
</div>&gt; =A0 =A0 =A0 =A0[6]<a href=3D"http://xen.org" target=3D"_blank">x=
en.org</a> automated testing regularly tests Windows VMs, and it works<br>
<div><div class=3D"h5">&gt; =A0 =A0 =A0 =A0OK there.<br>
&gt;<br>
&gt; =A0 =A0 =A0 =A0-- Pasi<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Ps. qemu-dm.log is the following:<br>
&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0domid: 10<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0config qemu network with xen bridge for =A0=
tap10.0 xenbr0<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Using file /dev/virtuals/ts in read-write m=
ode<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Using file /media/iso/windows_server_2008_r=
2_sp1.iso in read-only<br>
&gt; =A0 =A0 =A0 =A0mode<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Watching /local/domain/0/device-model/10/lo=
gdirty/cmd<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Watching /local/domain/0/device-model/10/co=
mmand<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0qemu_map_cache_init nr_buckets =3D 10000 si=
ze 4194304<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0shared page at pfn feffd<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0buffered io page at pfn feffb<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Guest uuid =3D 52f19e23-2955-c27d-a22c-60c5=
d8c60d5a<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Time offset set 0<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0populating video RAM at ff000000<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0mapping video RAM from ff000000<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Register xen platform.<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Done register platform.<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0platform_fixed_ioport: changed ro/rw state =
of ROM memory area.<br>
&gt; =A0 =A0 =A0 =A0now is rw<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0state.<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0xs_read(/local/domain/0/device-model/10/xen=
_extended_power_mgmt):<br>
&gt; =A0 =A0 =A0 =A0read<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0error<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0medium change watch on `hdc&#39; (index: 1)=
:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0/media/iso/windows_server_2008_r2_sp1.iso<b=
r>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0I/O request not ready: 0, ptr: 0, port: 0, =
data: 0, count: 0,<br>
&gt; =A0 =A0 =A0 =A0size: 0<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Log-dirty: no command yet.<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0xs_read(/local/domain/10/log-throttling): r=
ead error<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0qemu: ignoring not-understood drive<br>
&gt; =A0 =A0 =A0 =A0`/local/domain/10/log-throttling&#39;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0medium change watch on `/local/domain/10/lo=
g-throttling&#39; -<br>
&gt; =A0 =A0 =A0 =A0unknown device,<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0ignored<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0cirrus vga map change while on lfb mode<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0mapping vram to f0000000 - f0400000<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0platform_fixed_ioport: changed ro/rw state =
of ROM memory area.<br>
&gt; =A0 =A0 =A0 =A0now is rw<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0state.<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0platform_fixed_ioport: changed ro/rw state =
of ROM memory area.<br>
&gt; =A0 =A0 =A0 =A0now is ro<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0state.<br>
&gt; =A0 =A0 =A0 =A0&gt;<br>
</div></div>&gt; =A0 =A0 =A0 =A0&gt; =A0 =A02012/10/1 Pasi K=E4rkk=E4inen &=
lt;[1][7]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a>&gt;<br>
<div><div class=3D"h5">&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0On Mon, Oct 01, 2012 at 07:23:44PM +030=
0, Valtteri Kiviniemi<br>
&gt; =A0 =A0 =A0 =A0wrote:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Hi,<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0I have tried other config f=
iles, but the problem is the<br>
&gt; =A0 =A0 =A0 =A0same. At<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0the<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0moment I&#39;m using a conf=
ig file from another server where I<br>
&gt; =A0 =A0 =A0 =A0have a<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0working<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Windows Server 2008 R2 inst=
allation, so I dont think that<br>
&gt; =A0 =A0 =A0 =A0there is<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0anything wrong with my conf=
ig:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0Did you try with less vcpus, for exampl=
e 2 ?<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0how about with less memory, say 2 GB ?<=
br>
&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0Did you try with later Xen versions? Is=
 that a 32bit Xen, or<br>
&gt; =A0 =A0 =A0 =A064bit Xen<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0hypervisor?<br>
&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0-- Pasi<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0kernel =3D &quot;/usr/lib/x=
en/boot/hvmloader&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0builder =3D &quot;hvm&quot;=
<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0shadow_memory =3D &quot;8&q=
uot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0memory =3D &quot;4096&quot;=
<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0name =3D &quot;ts&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0vcpus =3D &quot;8&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0cpus =3D [&quot;0&quot;, &q=
uot;1&quot;, &quot;2&quot;, &quot;3&quot;, &quot;4&quot;, &quot;5&quot;, &q=
uot;6&quot;, &quot;7&quot;]<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0pae =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0acpi =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0apic =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0vfb =3D [ &#39;type=3Dvnc, =
vnclisten=3D10.100.100.50, vncpasswd=3Dxxx&#39;<br>
&gt; =A0 =A0 =A0 =A0]<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0xen_extended_power_mgmt =3D=
 &quot;0&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0vif =3D [ &quot;type=3Dioem=
u, mac=3D00:16:3e:d7:d7:5d, bridge=3Dxenbr0&quot;<br>
&gt; =A0 =A0 =A0 =A0]<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0disk =3D [ &quot;phy:/dev/v=
irtuals/ts,hda,w&quot;,<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0 &quot;file:/media/iso/windows_server_2008_r2_sp1.iso,h=
dc:cdrom,r&quot; ]<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0on_poweroff =3D &quot;destr=
oy&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0on_reboot =3D &quot;restart=
&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0on_crash =3D &quot;restart&=
quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0viridian =3D &quot;1&quot;<=
br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0device_model =3D &quot;/usr=
/lib/xen/bin/qemu-dm&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0boot =3D &quot;dc&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0snapshot =3D &quot;0&quot;<=
br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0vncconsole =3D &quot;1&quot=
;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0sdl =3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0opengl =3D &quot;0&quot;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0vnc =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0nographic =3D &quot;0&quot;=
<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0stdvga =3D &quot;0&quot;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0tsc_mode =3D &quot;1&quot;<=
br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0monitor =3D &quot;0&quot;<b=
r>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0localtime =3D &quot;1&quot;=
<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0usb =3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0keymap =3D &quot;fi&quot;<b=
r>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0xen_platform_pci =3D &quot;=
1&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0pci_msitranslate =3D &quot;=
1&quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0pci_power_mgmt =3D &quot;0&=
quot;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
</div></div>&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A02012/10/1 Pasi =
K=E4rkk=E4inen &lt;[1][2][8]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a=
>&gt;<br>
<div class=3D"im">&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0On Mon, Oct 01, 2012 at=
 06:46:08PM +0300, Valtteri<br>
&gt; =A0 =A0 =A0 =A0Kiviniemi<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0wrote:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Hi,<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Yes, I have=
 viridian=3D1 on my domU config.<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Try with some known goo=
d domU configfile.<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0-- Pasi<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A02012/10/1 P=
asi K=E4rkk=E4inen<br>
</div>&gt; =A0 =A0 =A0 =A0&lt;[1][2][3][9]<a href=3D"mailto:pasik@iki.fi">p=
asik@iki.fi</a>&gt;<br>
<div><div class=3D"h5">&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0=
&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0On Mon,=
 Oct 01, 2012 at 05:06:53PM +0300,<br>
&gt; =A0 =A0 =A0 =A0Valtteri<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0Kiviniemi<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0wrote:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0Hi,<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0I&#39;m now using 3.6.0 and can&#39;t reproduce that<br>
&gt; =A0 =A0 =A0 =A0crash<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0anymore,<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0so it<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0seems<b=
r>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0that it was a kernel bug.<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0OK.<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0However I&#39;m still getting black screen on<br>
&gt; =A0 =A0 =A0 =A0VNC<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0when trying to install Windows Server 2008<br>
&gt; =A0 =A0 =A0 =A0R2. I can<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0see the<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&quot;w=
indows is<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0loading files&quot; screen but after the<br>
&gt; =A0 =A0 =A0 =A0installer starts<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0the VNC<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0display=
 goes<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0black.<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0Any ideas?<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Do you =
have viridian=3D1 specified for the windows<br>
&gt; =A0 =A0 =A0 =A0vm?<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0-- Pasi=
<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0- Valtteri<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A02012/10/1 Pasi K=E4rkk=E4inen<br>
</div></div>&gt; =A0 =A0 =A0 =A0&lt;[1][2][3][4][10]<a href=3D"mailto:pasik=
@iki.fi">pasik@iki.fi</a>&gt;<br>
<div><div class=3D"h5">&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0=
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0On Sun, Sep 30, 2012 at 11:18:03PM +0300,<br>
&gt; =A0 =A0 =A0 =A0Valtteri<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Kiviniemi<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0wrote:<=
br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Hi,<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0Hello,<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0I&#39;m trying to get Windows Server 2008<br>
&gt; =A0 =A0 =A0 =A0R2<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0installation<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0booting=
 on<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0Xen<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A04.0.4. Using the following config:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&lt;snip&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0The domU will start booting just<br>
&gt; =A0 =A0 =A0 =A0fine, but<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0after a<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0few<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0minutes=
 the<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0VNC<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0screen goes black. After that when<br>
&gt; =A0 =A0 =A0 =A0typing &quot;xm<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0destroy<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ts&quot; it<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0will<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0trigger<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0a kernel BUG:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0BUG: unable to handle kernel NULL<br>
&gt; =A0 =A0 =A0 =A0pointer<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0dereference<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0at<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A00000000000000030<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0IP: [&lt;ffffffff810c50c4&gt;]<br>
&gt; =A0 =A0 =A0 =A0iput+0x3e/0x195<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0PGD 0<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Oops: 0000 [#1] SMP<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0CPU 6<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Pid: 3571, comm: qemu-dm Not tainted<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A03.5.0-dom0 #1<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0First of all upgrade to latest 3.5.x Linux<br>
&gt; =A0 =A0 =A0 =A0kernel<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0release<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0.. so<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0at leas=
t<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A03.5.4.<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0-- Pasi<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0/DQ77MK<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0RIP: e030:[&lt;ffffffff810c50c4&gt;]<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0 [&lt;ffffffff810c50c4&gt;]<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0iput+0x3e/0x195<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0RSP: e02b:ffff8800389ffbf8 =A0EFLAGS:<br>
&gt; =A0 =A0 =A0 =A000010246<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0RAX: 0000000000000001 RBX:<br>
&gt; =A0 =A0 =A0 =A0ffff8800377b0720<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0RCX:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ffff880=
0501c0000<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0RDX: ffff8800501c0000 RSI:<br>
&gt; =A0 =A0 =A0 =A0ffff8800377b0790<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0RDI:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ffff880=
0377b0790<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0RBP: 0000000000000000 R08:<br>
&gt; =A0 =A0 =A0 =A0ffffffff815cdd00<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0R09:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A00000000=
000000016<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0R10: fefefefefefefeff R11:<br>
&gt; =A0 =A0 =A0 =A0ffff8800377b0400<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0R12:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A00000000=
1000a3e0c<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0R13: 0000000000000000 R14:<br>
&gt; =A0 =A0 =A0 =A000000001000a3e0c<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0R15:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ffff880=
0389ffc28<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0FS: =A000007f1af70a8700(0000)<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0GS:ffff880050180000(0000)<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0knlGS:0000000000000000<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0CS: =A0e033 DS: 0000 ES: 0000 CR0:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0000000008005003b<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0CR2: 0000000000000030 CR3:<br>
&gt; =A0 =A0 =A0 =A0000000000156d000<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0CR4:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A00000000=
000002660<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0DR0: 0000000000000000 DR1:<br>
&gt; =A0 =A0 =A0 =A00000000000000000<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0DR2:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A00000000=
000000000<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0DR3: 0000000000000000 DR6:<br>
&gt; =A0 =A0 =A0 =A000000000ffff0ff0<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0DR7:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A00000000=
000000400<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Process qemu-dm (pid: 3571,<br>
&gt; =A0 =A0 =A0 =A0threadinfo<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ffff8800389fe000,<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0task<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0ffff88003a721260)<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Stack:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 ffff88003a6d6400 ffff8800377b0000<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A000000001000a3e0c<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0ffffffff8133ce8f<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 ffff8800377b0400 ffffffff8134b6cd<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0ffff8800389ffc28<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0ffff8800389ffc28<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 ffff8800377b00f8 ffff8800377b0680<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0ffff880038cdcd60<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0ffff8800377b0000<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Call Trace:<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff8133ce8f&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0sk_release_kernel+0x23/0x39<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff8134b6cd&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0netdev_run_todo+0x1e9/0x206<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff8129798f&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0tun_chr_close+0x4c/0x7b<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff810b39d3&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0fput+0xe4/0x1c5<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff810b202c&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0filp_close+0x61/0x68<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff81035e62&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0put_files_struct+0x62/0xb9<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff81036374&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0do_exit+0x24a/0x74c<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff81036906&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0do_group_exit+0x6b/0x9d<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff8103ea0b&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0get_signal_to_deliver+0=
x449/0x46e<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff81009fa5&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0do_signal+0x28/0x4c4<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff81027079&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0pvclock_clocksource_rea=
d+0x48/0xbf<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff8105b745&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0ktime_get_ts+0x66/0xa8<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff810bfb18&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0poll_select_copy_remain=
ing+0xe0/0xf5<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff8100a48d&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0do_notify_resume+0x3b/0x74<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff81411a70&gt;] ?<br>
&gt; =A0 =A0 =A0 =A0int_signal+0x12/0x17<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Code: 00 00 00 40 74 02 0f 0b 48 8d<br>
&gt; =A0 =A0 =A0 =A077 70 48<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A08d bf 08<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A001 00<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A000 e8<b=
r>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A08b 71 10<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A000 85 c0 0f 84 5d 01 00 00 48 8b 6b<br>
&gt; =A0 =A0 =A0 =A018 f6 83<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A080 00 00<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A000 08<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&lt;4c&=
gt; 8b<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A065 30<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A074 11 be 68 05 00 00 48 c7 c7 8e df<br>
&gt; =A0 =A0 =A0 =A04f 81 e8<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0bb d0<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0RIP =A0[&lt;ffffffff810c50c4&gt;]<br>
&gt; =A0 =A0 =A0 =A0iput+0x3e/0x195<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 RSP &lt;ffff8800389ffbf8&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0CR2: 0000000000000030<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0---[ end trace 67cc1654658fedcc ]---<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Fixing recursive fault but reboot is<br>
&gt; =A0 =A0 =A0 =A0needed!<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0I also tested Xen 4.2.0 and problem<br>
&gt; =A0 =A0 =A0 =A0is the<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0same. So<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0is this<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0a Xen<b=
r>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0bug or a<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0kernel bug? I am running vanilla<br>
</div></div>&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0[1][2][3][4=
][5][11]<a href=3D"http://kernel.org" target=3D"_blank">kernel.org</a> kern=
el<br>
<div class=3D"im">&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A03.5.0 and<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0my<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0hardware is Intel Core i7-3770 CPU<br>
&gt; =A0 =A0 =A0 =A0and Intel<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0DQ77MK<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0motherb=
oard<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0with<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0latest bios.<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Best regards,<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Valtteri Kiviniemi<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; References<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Visible links<br>
</div>&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&=
gt; =A0 =A0 =A0&gt; =A0 =A01. [3][4][5][6][12]<a href=3D"http://kernel.org/=
" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0_______________________________________________<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; Xen-devel mailing list<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; [4][5][6][7][13]<a href=3D"mailto:Xen-devel@lists.xen.org">=
Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0[5][6][7][8][14]<a href=3D"http://lists.xen.org/xen-dev=
el" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; Re=
ferences<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0Visible links<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A01. mailto:[7][8][9][15]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi<=
/a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A02. [8][9][10][16]<a href=3D"http://kernel.org/" target=3D"_blank">ht=
tp://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A03. [9][10][11][17]<a href=3D"http://kernel.org/" target=3D"_blank">h=
ttp://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A04.<br>
&gt; =A0 =A0 =A0 =A0mailto:[10][11][12][18]<a href=3D"mailto:Xen-devel@list=
s.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A05.<br>
&gt; =A0 =A0 =A0 =A0[11][12][13][19]<a href=3D"http://lists.xen.org/xen-dev=
el" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; References<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Visible lin=
ks<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A01. mailto:[=
13][14][20]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A02. mailto:[=
14][15][21]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A03. [15][16]=
[22]<a href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a>=
<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A04. [16][17]=
[23]<a href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a>=
<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A05. mailto:[=
17][18][24]<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.o=
rg</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A06. [18][19]=
[25]<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lis=
ts.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A07. mailto:[=
19][20][26]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A08. [20][21]=
[27]<a href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a>=
<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A09. [21][22]=
[28]<a href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a>=
<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 10. mailto:[22=
][23][29]<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org=
</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 11. [23][24][3=
0]<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists=
.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; References<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Visible links<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A01. mailto:[25][31]<a href=
=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A02. mailto:[26][32]<a href=
=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A03. mailto:[27][33]<a href=
=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A04. [28][34]<a href=3D"http:=
//kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A05. [29][35]<a href=3D"http:=
//kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A06. mailto:[30][36]<a href=
=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A07. [31][37]<a href=3D"http:=
//lists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel=
</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A08. mailto:[32][38]<a href=
=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A09. [33][39]<a href=3D"http:=
//kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 10. [34][40]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 11. mailto:[35][41]<a href=3D"=
mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 12. [36][42]<a href=3D"http://=
lists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel</=
a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 13. mailto:[37][43]<a href=3D"=
mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 14. mailto:[38][44]<a href=3D"=
mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 15. [39][45]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 16. [40][46]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 17. mailto:[41][47]<a href=3D"=
mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 18. [42][48]<a href=3D"http://=
lists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel</=
a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 19. mailto:[43][49]<a href=3D"=
mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 20. [44][50]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 21. [45][51]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 22. mailto:[46][52]<a href=3D"=
mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 23. [47][53]<a href=3D"http://=
lists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel</=
a><br>
&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; References<br>
&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Visible links<br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A01. mailto:[54]<a href=3D"mailto:pasik@iki.f=
i">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A02. mailto:[55]<a href=3D"mailto:pasik@iki.f=
i">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A03. mailto:[56]<a href=3D"mailto:pasik@iki.f=
i">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A04. mailto:[57]<a href=3D"mailto:pasik@iki.f=
i">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A05. [58]<a href=3D"http://kernel.org/" targe=
t=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A06. [59]<a href=3D"http://kernel.org/" targe=
t=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A07. mailto:[60]<a href=3D"mailto:Xen-devel@l=
ists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A08. [61]<a href=3D"http://lists.xen.org/xen-=
devel" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 =A09. mailto:[62]<a href=3D"mailto:pasik@iki.f=
i">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 10. [63]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 11. [64]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 12. mailto:[65]<a href=3D"mailto:Xen-devel@lis=
ts.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 13. [66]<a href=3D"http://lists.xen.org/xen-de=
vel" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 14. mailto:[67]<a href=3D"mailto:pasik@iki.fi"=
>pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 15. mailto:[68]<a href=3D"mailto:pasik@iki.fi"=
>pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 16. [69]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 17. [70]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 18. mailto:[71]<a href=3D"mailto:Xen-devel@lis=
ts.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 19. [72]<a href=3D"http://lists.xen.org/xen-de=
vel" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 20. mailto:[73]<a href=3D"mailto:pasik@iki.fi"=
>pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 21. [74]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 22. [75]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 23. mailto:[76]<a href=3D"mailto:Xen-devel@lis=
ts.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 24. [77]<a href=3D"http://lists.xen.org/xen-de=
vel" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 25. mailto:[78]<a href=3D"mailto:pasik@iki.fi"=
>pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 26. mailto:[79]<a href=3D"mailto:pasik@iki.fi"=
>pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 27. mailto:[80]<a href=3D"mailto:pasik@iki.fi"=
>pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 28. [81]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 29. [82]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 30. mailto:[83]<a href=3D"mailto:Xen-devel@lis=
ts.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 31. [84]<a href=3D"http://lists.xen.org/xen-de=
vel" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 32. mailto:[85]<a href=3D"mailto:pasik@iki.fi"=
>pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 33. [86]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 34. [87]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 35. mailto:[88]<a href=3D"mailto:Xen-devel@lis=
ts.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 36. [89]<a href=3D"http://lists.xen.org/xen-de=
vel" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 37. mailto:[90]<a href=3D"mailto:pasik@iki.fi"=
>pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 38. mailto:[91]<a href=3D"mailto:pasik@iki.fi"=
>pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 39. [92]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 40. [93]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 41. mailto:[94]<a href=3D"mailto:Xen-devel@lis=
ts.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 42. [95]<a href=3D"http://lists.xen.org/xen-de=
vel" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 43. mailto:[96]<a href=3D"mailto:pasik@iki.fi"=
>pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 44. [97]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 45. [98]<a href=3D"http://kernel.org/" target=
=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 46. mailto:[99]<a href=3D"mailto:Xen-devel@lis=
ts.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0 =A0&gt; =A0 47. [100]<a href=3D"http://lists.xen.org/xen-d=
evel" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt;<br>
&gt; References<br>
&gt;<br>
&gt; =A0 =A0Visible links<br>
&gt; =A0 =A01. mailto:<a href=3D"mailto:kiviniemi.valtteri@gmail.com">kivin=
iemi.valtteri@gmail.com</a><br>
&gt; =A0 =A02. <a href=3D"http://ark.intel.com/products/65719/" target=3D"_=
blank">http://ark.intel.com/products/65719/</a><br>
&gt; =A0 =A03. <a href=3D"http://www.intel.com/content/www/us/en/motherboar=
ds/desktop-motherboards/desktop-board-dq77mk.html" target=3D"_blank">http:/=
/www.intel.com/content/www/us/en/motherboards/desktop-motherboards/desktop-=
board-dq77mk.html</a><br>

&gt; =A0 =A04. mailto:<a href=3D"mailto:root@dataproof.fi">root@dataproof.f=
i</a><br>
&gt; =A0 =A05. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A06. <a href=3D"http://xen.org/" target=3D"_blank">http://xen.org=
/</a><br>
&gt; =A0 =A07. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A08. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A09. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 10. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 11. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 12. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 13. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 14. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
<div class=3D"im">&gt; =A0 15. mailto:<a href=3D"mailto:pasik@iki.fi">pasik=
@iki.fi</a><br>
&gt; =A0 16. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 17. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 18. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 19. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 20. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
</div>&gt; =A0 21. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><=
br>
&gt; =A0 22. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 23. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 24. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 25. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 26. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 27. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 28. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 29. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 30. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 31. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 32. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 33. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 34. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 35. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 36. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 37. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
<div class=3D"im">&gt; =A0 38. mailto:<a href=3D"mailto:pasik@iki.fi">pasik=
@iki.fi</a><br>
&gt; =A0 39. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 40. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 41. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 42. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 43. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
</div>&gt; =A0 44. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><=
br>
&gt; =A0 45. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 46. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 47. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 48. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 49. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 50. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 51. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 52. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 53. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 54. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 55. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 56. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 57. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 58. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 59. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 60. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 61. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 62. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 63. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 64. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 65. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 66. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 67. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 68. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 69. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 70. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 71. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 72. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 73. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 74. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 75. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 76. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 77. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 78. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 79. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 80. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 81. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 82. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 83. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 84. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 85. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 86. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 87. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 88. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 89. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 90. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 91. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 92. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 93. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 94. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 95. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 96. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 97. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 98. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 99. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0100. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
</blockquote></div><br>

--001636ef09ad5a601804cb131d45--


--===============0697706113319296394==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--===============0697706113319296394==--


From xen-devel-bounces@lists.xen.org Tue Oct 02 13:47:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Oct 2012 13:47:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TJ2oA-0003HH-F2; Tue, 02 Oct 2012 13:46:46 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kiviniemi.valtteri@gmail.com>) id 1TJ2o8-0003H5-0N
	for Xen-devel@lists.xen.org; Tue, 02 Oct 2012 13:46:44 +0000
Received: from [85.158.143.99:50042] by server-1.bemta-4.messagelabs.com id
	52/DD-05684-340FA605; Tue, 02 Oct 2012 13:46:43 +0000
X-Env-Sender: kiviniemi.valtteri@gmail.com
X-Msg-Ref: server-7.tower-216.messagelabs.com!1349185597!26447331!1
X-Originating-IP: [209.85.213.45]
X-SpamReason: No, hits=0.9 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_50_60, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, ML_RADAR_SPEW_LINKS_23,
	RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5168 invoked from network); 2 Oct 2012 13:46:38 -0000
Received: from mail-yh0-f45.google.com (HELO mail-yh0-f45.google.com)
	(209.85.213.45)
	by server-7.tower-216.messagelabs.com with RC4-SHA encrypted SMTP;
	2 Oct 2012 13:46:38 -0000
Received: by yhpp34 with SMTP id p34so545820yhp.32
	for <Xen-devel@lists.xen.org>; Tue, 02 Oct 2012 06:46:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=12xj8OTRd1T2y4ocYFttuY6YY4iM8g/28fWIyrB70Uc=;
	b=ItTR/TYCXuX97wdGSrmTnBLRJsczw0US45a94kuryPdUx9czFitroSuSxusVoKhBPQ
	DuhLr9pA9E1gkotMyBtjo0C6PXJEAxqOw4kgfY2574zzI5Nw8Pzb3tC/7EJDWYls8gtX
	+lv4Mp/KBQkx9whrpMxTa48RWCG7BV51xoKxxRZPj0XUoH3KihuSGAw1K9ID+rRl/tZz
	HNUDiq0JK/YvyCrDPU7PkLov+RSFYhqaev1hOiBpZCdisogCDAy5MQZmQZtDp4wQFSAc
	PXvmE357yn4eCtxzErrC3uRlnr4WxAMMvB6eQoPMxDz11RBoxXn8EjoqleMm7xQIhCYL
	p9Cw==
MIME-Version: 1.0
Received: by 10.236.193.105 with SMTP id j69mr15921725yhn.21.1349185597304;
	Tue, 02 Oct 2012 06:46:37 -0700 (PDT)
Received: by 10.147.129.8 with HTTP; Tue, 2 Oct 2012 06:46:37 -0700 (PDT)
In-Reply-To: <20121002131407.GM8912@reaktio.net>
References: <CAN=sCCHsRXWvbmJFEgBLP+PsW=MLRHNRNpi26hvok8pFiWsjJg@mail.gmail.com>
	<20121001160117.GD8912@reaktio.net>
	<CAN=sCCHXj+4iEmxJNFdtmeVvqrF2q_kDNqF6d9=bRCq8uMOdkw@mail.gmail.com>
	<20121001164757.GF8912@reaktio.net>
	<CAN=sCCF5B-Ga9ZvTJ=pMWjFXjA5Y=so4ZgEKu5ee+iyddd7hvA@mail.gmail.com>
	<20121001182437.GG8912@reaktio.net>
	<CAN=sCCH3UjK=xs8MwJMLUvU0Otpwu30f3aBDOv+vxis3hVxUmg@mail.gmail.com>
	<CAN=sCCF9OSuCZ7t1gi+q-A+2xSyRyoo5Jz+DoFXCK0_-D9065Q@mail.gmail.com>
	<20121002121932.GL8912@reaktio.net>
	<CAN=sCCH_HCAW=9VGWg651g-AKAP2mqGVCvVovCtCQrU5HazxjQ@mail.gmail.com>
	<20121002131407.GM8912@reaktio.net>
Date: Tue, 2 Oct 2012 16:46:37 +0300
Message-ID: <CAN=sCCHVHxLaR+_mWeAXO1a3WYTanCuzk+xQXBGJ=Ni8+SL7ew@mail.gmail.com>
From: Valtteri Kiviniemi <kiviniemi.valtteri@gmail.com>
To: =?ISO-8859-1?Q?Pasi_K=E4rkk=E4inen?= <pasik@iki.fi>
Cc: Xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Xen 4.0.4, kernel 3.5.0 HVM crash and kernel BUG
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5962986339054632322=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============5962986339054632322==
Content-Type: multipart/alternative; boundary=20cf30563c0d436e7b04cb13c0b5

--20cf30563c0d436e7b04cb13c0b5
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,

I have not enabled debug on Xen or dom0 kernel. Could you tell me the
parameters for Xen coompilation needed to enable debugging? And If you
would also happen to know what are the options needed to enable kernel
debugging in menuconfig? Well I can probably manage to get the kernel
debugging enabled myself, but if you happen to know them please share so
maybe I can get everything enabled at the first try :)

Thanks!

- Valtteri

2012/10/2 Pasi K=E4rkk=E4inen <pasik@iki.fi>

> On Tue, Oct 02, 2012 at 04:01:04PM +0300, Valtteri Kiviniemi wrote:
> >    Hi,
> >
> >    I already tried 3.2, 3.5, 3.5.0, 3.6.0-rc7 and 3.6.0, same problem
> all of
> >    those. My dom0 config is the same config that I'am using on other
> server
> >    where HVM is working, so I dont think that it is a config problem. I
> have
> >    triple checked everything and all should be ok. dom0 dmesg shows the
> same
> >    crash that I have previously posted here. /var/log/xen/ does not
> contain
> >    any specific errors.
> >
> >    Could this be some kind of broblem with my motherboard bios being
> buggy or
> >    CPU not supported? I'm using the new intel Ivy Bridge processor whic=
h
> has
> >    integrated GPU, but that should not probably cause these kind of
> problems.
> >    Or maybe some ACPI problem? xm dmesg is showing some notices about
> ACPI.
> >    Is there any ACPI kernel parameters that I should try booting? This
> has to
> >    be somekind of problem with my hardware, or then maybe it could be a
> >    kernel problem too. I just really cant figure this out myself, I hav=
e
> >    tried everything.
> >
>
> Hmm.. I have some distant memories of seeing a patch that fixes a bug
> on recent Ivy Bridge systems, but I can't find a link right now.
> Maybe you're affected by that..
>
> Also: Did you already post the crash log, with all the debug/verbose
> options enabled for both Xen and dom0 kernel?
>
> -- Pasi
>
> >    Lets take a quick summary of what has been tested, what hardware I'm
> using
> >    etc.
> >
> >    Xen-versions tested: 4.2.0, 4.0.4
> >    Kernel-versions tested: 3.2.0, 3.5.0, 3.5.4, 3.6.0-rc7, 3.6.0
> >
> >    Host OS: Debian testing/wheezy, udev version 175-7, 2.13-35, python
> >    version 2.7.3~rc2-2.1
> >
> >    Hardware:
> >
> >    CPU: Intel Core i7-3770 3.4GHz
> >    MB: Intel DQ77MK (latest bios updated)
> >    Memory: 32GB (4 x 8GB DDR3-1600MHz)
> >
> >    All relevant log files and configs:
> >
> >    dom0 dmesg: [1]http://nago.fi/dmesg.txt
> >    qemu-dm log: [2]http://nago.fi/qemu-dm.txt
> >    xm dmesg log: [3]http://nago.fi/xm-dmesg.txt
> >    domU config: [4]http://nago.fi/domu-config.txt
> >    dom0 kernel config: [5]http://nago.fi/dom0-config.txt
> >
> >    I have also tried playing with every setting on that domU that I can
> think
> >    of and tried different configs etc.
> >
> >    - Valtteri
> >
> >    2012/10/2 Pasi K=E4rkk=E4inen <[6]pasik@iki.fi>
> >
> >      On Tue, Oct 02, 2012 at 03:11:07PM +0300, Valtteri Kiviniemi wrote=
:
> >      >    Hi,
> >      >
> >      >    Another update:
> >      >
> >      >    I wanted to check that if a Linux HVM would boot with working
> VNC
> >      console,
> >      >    so I tried to launch a Debian Squeeze installer on HVM. It
> refused
> >      to
> >      >    start ant told me that vbd hotplug scripts were not working.
> After
> >      that
> >      >    failure even the Windows domU would not anymore start which w=
as
> >      previously
> >      >    starting ok.
> >      >
> >      >    The hotplug scripts also starts hanging on the processes.
> >      >
> >      >    root      9401  0.1  0.1  17700  1640 ?        S    15:05
> 0:00
> >      /bin/bash
> >      >    /etc/xen/scripts/xen-hotplug-cleanup
> >      >    root      9441  0.1  0.1  17700  1644 ?        S    15:05
> 0:00
> >      /bin/bash
> >      >    /etc/xen/scripts/xen-hotplug-cleanup
> >      >    root      9481  0.1  0.1  17700  1640 ?        S    15:05
> 0:00
> >      /bin/bash
> >      >    /etc/xen/scripts/xen-hotplug-cleanup
> >      >    root      9560  0.1  0.1  17700  1640 ?        S    15:05
> 0:00
> >      /bin/bash
> >      >    /etc/xen/scripts/xen-hotplug-cleanup
> >      >    root     10738  0.1  0.1  17696  1636 ?        S    15:05
> 0:00
> >      /bin/bash
> >      >    /etc/xen/scripts/xen-hotplug-cleanup
> >      >    root     10747  0.1  0.1  17792  1736 ?        S    15:05
> 0:00
> >      /bin/bash
> >      >    /etc/xen/scripts/block remove
> >      >    root     11286  0.0  0.0   4080   324 ?        S    15:06
> 0:00
> >      sleep 1
> >      >    root     11290  0.0  0.0   4080   324 ?        S    15:06
> 0:00
> >      sleep 1
> >      >    root     11294  0.0  0.0   4080   324 ?        S    15:06
> 0:00
> >      sleep 1
> >      >    root     11298  0.0  0.0   4080   324 ?        S    15:06
> 0:00
> >      sleep 1
> >      >    root     11302  0.0  0.0   4080   320 ?        S    15:06
> 0:00
> >      sleep 1
> >      >    root     11306  0.0  0.0   4080   320 ?        S    15:06
> 0:00
> >      sleep 1
> >      >
> >      >    Then I did a xm destroy and I had again the kernel BUG on
> dmesg. So
> >      it
> >      >    seems that the problem is not fixed by using 3.6.0. Udev
> version is
> >      175-7.
> >      >
> >
> >      So you have definitely something broken in your system,
> >      probably in your dom0 kernel. Try with Linux 3.5.4 or 3.4.x,
> >      and see how that goes.
> >
> >      Any errors in dom0 dmesg? How about in /var/log/xen/* ?
> >
> >      -- Pasi
> >
> >      >
> >      >
> >      >    2012/10/1 Valtteri Kiviniemi <[1][7]
> kiviniemi.valtteri@gmail.com>
> >      >
> >      >      Hi,
> >      >
> >      >      CPU: Intel Core i7-3770 3.4GHz
> >      >      [2][8]http://ark.intel.com/products/65719/
> >      >
> >      >      MB: Intel DQ77MK (latest bios updated)
> >      >
> >       [3][9]
> http://www.intel.com/content/www/us/en/motherboards/desktop-motherboards/=
desktop-board-dq77mk.html
> >      >
> >      >      Memory: 32GB (4 x 8GB DDR3-1600MHz)
> >      >
> >      >      Host is Debian wheezy/testing, Xen 4.0.4 and latest 3.6.0
> kernel.
> >      >
> >      >      Noticed also some errors in xm dmesg:
> >      >
> >      >      root@xen-2:~# xm dmesg
> >      >
> >      >      (XEN) Xen version 4.0.4 ([4][10]root@dataproof.fi) (gcc
> version
> >      4.7.1
> >      >      (Debian 4.7.1-7) ) Sun Sep 30 20:28:26 EEST 2012
> >      >      (XEN) Latest ChangeSet: unavailable
> >      >      (XEN) Bootloader: GNU GRUB 0.97
> >      >      (XEN) Command line: dom0_mem=3D1280M cpufreq=3Dxen
> clocksource=3Dhpet
> >      >      (XEN) Video information:
> >      >      (XEN)  VGA is text mode 80x25, font 8x16
> >      >      (XEN)  VBE/DDC methods: none; EDID transfer time: 0 seconds
> >      >      (XEN)  EDID info not retrieved because no DDC retrieval
> method
> >      detected
> >      >      (XEN) Disc information:
> >      >      (XEN)  Found 4 MBR signatures
> >      >      (XEN)  Found 4 EDD information structures
> >      >      (XEN) Xen-e820 RAM map:
> >      >      (XEN)  0000000000000000 - 000000000009d800 (usable)
> >      >      (XEN)  000000000009d800 - 00000000000a0000 (reserved)
> >      >      (XEN)  00000000000e0000 - 0000000000100000 (reserved)
> >      >      (XEN)  0000000000100000 - 0000000020000000 (usable)
> >      >      (XEN)  0000000020000000 - 0000000020200000 (reserved)
> >      >      (XEN)  0000000020200000 - 0000000040004000 (usable)
> >      >      (XEN)  0000000040004000 - 0000000040005000 (reserved)
> >      >      (XEN)  0000000040005000 - 00000000dbe44000 (usable)
> >      >      (XEN)  00000000dbe44000 - 00000000dc2d7000 (reserved)
> >      >      (XEN)  00000000dc2d7000 - 00000000dc2e7000 (ACPI data)
> >      >      (XEN)  00000000dc2e7000 - 00000000dc40c000 (ACPI NVS)
> >      >      (XEN)  00000000dc40c000 - 00000000dc6af000 (reserved)
> >      >      (XEN)  00000000dc6af000 - 00000000dc6b0000 (usable)
> >      >      (XEN)  00000000dc6b0000 - 00000000dc6f3000 (ACPI NVS)
> >      >      (XEN)  00000000dc6f3000 - 00000000dd000000 (usable)
> >      >      (XEN)  00000000dd800000 - 00000000dfa00000 (reserved)
> >      >      (XEN)  00000000f8000000 - 00000000fc000000 (reserved)
> >      >      (XEN)  00000000fec00000 - 00000000fec01000 (reserved)
> >      >      (XEN)  00000000fed00000 - 00000000fed04000 (reserved)
> >      >      (XEN)  00000000fed1c000 - 00000000fed20000 (reserved)
> >      >      (XEN)  00000000fee00000 - 00000000fee01000 (reserved)
> >      >      (XEN)  00000000ff000000 - 0000000100000000 (reserved)
> >      >      (XEN)  0000000100000000 - 000000081e600000 (usable)
> >      >      (XEN) ACPI: RSDP 000F0490, 0024 (r2  INTEL)
> >      >      (XEN) ACPI: XSDT DC2DB080, 007C (r1 INTEL  DQ77MK         3=
2
> AMI
> >      >      10013)
> >      >      (XEN) ACPI: FACP DC2E51F0, 010C (r5 INTEL  DQ77MK         3=
2
> AMI
> >      >      10013)
> >      >      (XEN) ACPI Warning (tbfadt-0232): FADT (revision 5) is long=
er
> >      than ACPI
> >      >      2.0 version, truncating length 0x10C to 0xF4 [20070126]
> >      >      (XEN) ACPI: DSDT DC2DB188, A061 (r2 INTEL  DQ77MK         3=
2
> INTL
> >      >      20051117)
> >      >      (XEN) ACPI: FACS DC40A080, 0040
> >      >      (XEN) ACPI: APIC DC2E5300, 0092 (r3 INTEL  DQ77MK         3=
2
> AMI
> >      >      10013)
> >      >      (XEN) ACPI: FPDT DC2E5398, 0044 (r1 INTEL  DQ77MK         3=
2
> AMI
> >      >      10013)
> >      >      (XEN) ACPI: TCPA DC2E53E0, 0032 (r2 INTEL  DQ77MK         3=
2
> MSFT
> >      >      1000013)
> >      >      (XEN) ACPI: MCFG DC2E5418, 003C (r1 INTEL  DQ77MK         3=
2
> MSFT
> >      >      97)
> >      >      (XEN) ACPI: HPET DC2E5458, 0038 (r1 INTEL  DQ77MK         3=
2
> AMI.
> >      >      5)
> >      >      (XEN) ACPI: SSDT DC2E5490, 036D (r1 INTEL  DQ77MK         3=
2
> INTL
> >      >      20091112)
> >      >      (XEN) ACPI: SSDT DC2E5800, 09AA (r1 INTEL  DQ77MK         3=
2
> INTL
> >      >      20051117)
> >      >      (XEN) ACPI: SSDT DC2E61B0, 0A92 (r1 INTEL  DQ77MK         3=
2
> INTL
> >      >      20051117)
> >      >      (XEN) ACPI: DMAR DC2E6C48, 00B8 (r1 INTEL  DQ77MK         3=
2
> INTL
> >      >      1)
> >      >      (XEN) ACPI: ASF! DC2E6D00, 00A5 (r32 INTEL  DQ77MK         =
32
> >      TFSM
> >      >      F4240)
> >      >      (XEN) System RAM: 32682MB (33467320kB)
> >      >      (XEN) Domain heap initialised
> >      >      (XEN) ACPI: 32/64X FACS address mismatch in FADT -
> >      >      dc40a080/0000000000000000, using 32
> >      >      (XEN) Processor #0 7:10 APIC version 21
> >      >      (XEN) Processor #2 7:10 APIC version 21
> >      >      (XEN) Processor #4 7:10 APIC version 21
> >      >      (XEN) Processor #6 7:10 APIC version 21
> >      >      (XEN) Processor #1 7:10 APIC version 21
> >      >      (XEN) Processor #3 7:10 APIC version 21
> >      >      (XEN) Processor #5 7:10 APIC version 21
> >      >      (XEN) Processor #7 7:10 APIC version 21
> >      >      (XEN) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000,
> GSI
> >      0-23
> >      >      (XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
> >      >      (XEN) Switched to APIC driver x2apic_cluster.
> >      >      (XEN) x2APIC mode enabled.
> >      >      (XEN) Using scheduler: SMP Credit Scheduler (credit)
> >      >      (XEN) Detected 3392.369 MHz processor.
> >      >      (XEN) Initing memory sharing.
> >      >      (XEN) VMX: Supported advanced features:
> >      >      (XEN)  - APIC MMIO access virtualisation
> >      >      (XEN)  - APIC TPR shadow
> >      >      (XEN)  - Extended Page Tables (EPT)
> >      >      (XEN)  - Virtual-Processor Identifiers (VPID)
> >      >      (XEN)  - Virtual NMI
> >      >      (XEN)  - MSR direct-access bitmap
> >      >      (XEN)  - Unrestricted Guest
> >      >      (XEN) EPT supports 2MB super page.
> >      >      (XEN) HVM: ASIDs enabled.
> >      >      (XEN) HVM: VMX enabled
> >      >      (XEN) HVM: Hardware Assisted Paging detected.
> >      >      (XEN) Intel VT-d Snoop Control not 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) I/O virtualisation enabled
> >      >      (XEN)  - Dom0 mode: Relaxed
> >      >      (XEN) Enabled directed EOI with ioapic_ack_old on!
> >      >      (XEN) Total of 8 processors activated.
> >      >      (XEN) ENABLING IO-APIC IRQs
> >      >      (XEN)  -> Using old ACK method
> >      >      (XEN) TSC is reliable, synchronization unnecessary
> >      >      (XEN) Platform timer appears to have unexpectedly wrapped 1
> >      times.
> >      >      (XEN) Platform timer is 14.318MHz HPET
> >      >      (XEN) Allocated console ring of 16 KiB.
> >      >      (XEN) Brought up 8 CPUs
> >      >      (XEN) *** LOADING DOMAIN 0 ***
> >      >      (XEN)  Xen  kernel: 64-bit, lsb, compat32
> >      >      (XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 ->
> >      0x1ae7000
> >      >      (XEN) PHYSICAL MEMORY ARRANGEMENT:
> >      >      (XEN)  Dom0 alloc.:   0000000804000000->0000000806000000
> (319488
> >      pages
> >      >      to be allocated)
> >      >      (XEN) VIRTUAL MEMORY ARRANGEMENT:
> >      >      (XEN)  Loaded kernel: ffffffff81000000->ffffffff81ae7000
> >      >      (XEN)  Init. ramdisk: ffffffff81ae7000->ffffffff81ae7000
> >      >      (XEN)  Phys-Mach map: ffffffff81ae7000->ffffffff81d67000
> >      >      (XEN)  Start info:    ffffffff81d67000->ffffffff81d674b4
> >      >      (XEN)  Page tables:   ffffffff81d68000->ffffffff81d7b000
> >      >      (XEN)  Boot stack:    ffffffff81d7b000->ffffffff81d7c000
> >      >      (XEN)  TOTAL:         ffffffff80000000->ffffffff82000000
> >      >      (XEN)  ENTRY ADDRESS: ffffffff815e3210
> >      >      (XEN) Dom0 has maximum 8 VCPUs
> >      >      (XEN) [VT-D]iommu.c:718: BIOS did not enable IGD for VT
> properly.
> >      >      Disabling IGD VT-d engine.
> >      >      (XEN) Scrubbing Free RAM: done.
> >      >      (XEN) Xen trace buffers: disabled
> >      >      (XEN) Std. Loglevel: Errors and warnings
> >      >      (XEN) Guest Loglevel: Nothing (Rate-limited: Errors and
> warnings)
> >      >      (XEN) Xen is relinquishing VGA console.
> >      >      (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times t=
o
> >      switch
> >      >      input to Xen)
> >      >      (XEN) Freed 172kB init memory.
> >      >      (XEN) traps.c:2333:d0 Domain attempted WRMSR 00000000000000=
8b
> >      from
> >      >      00000012:00000000 to 00000000:00000000.
> >      >
> >      >      - Valtteri
> >      >
> >      >      2012/10/1 Pasi K=E4rkk=E4inen <[5][11]pasik@iki.fi>
> >      >
> >      >        On Mon, Oct 01, 2012 at 09:12:50PM +0300, Valtteri
> Kiviniemi
> >      wrote:
> >      >        >    Hi,
> >      >        >
> >      >        >    Lowering memory or vcpu's does not help, problem is
> the
> >      same. I
> >      >        originally
> >      >        >    installed Xen 4.2.0 and the problem was same on that
> too.
> >      Then I
> >      >        >    downgraded back to 4.0.4 since I thought that this
> might
> >      be a bug
> >      >        on
> >      >        >    4.2.0. I have been previously running Windows Server
> 2008
> >      R2
> >      >        succesfully
> >      >        >    on Xen 4.0.x on different hardware with this same
> config.
> >      >        Hypervisor is
> >      >        >    64bit and windows is 64bit.
> >      >        >
> >      >        >    Any ideas what to try next?
> >      >        >
> >      >
> >      >        What kind of hardware is that?
> >      >
> >      >        [6][12]xen.org automated testing regularly tests Windows
> VMs,
> >      and it works
> >      >        OK there.
> >      >
> >      >        -- Pasi
> >      >        >    Ps. qemu-dm.log is the following:
> >      >        >
> >      >        >    domid: 10
> >      >        >    config qemu network with xen bridge for  tap10.0
> xenbr0
> >      >        >    Using file /dev/virtuals/ts in read-write mode
> >      >        >    Using file /media/iso/windows_server_2008_r2_sp1.iso
> in
> >      read-only
> >      >        mode
> >      >        >    Watching /local/domain/0/device-model/10/logdirty/cm=
d
> >      >        >    Watching /local/domain/0/device-model/10/command
> >      >        >    qemu_map_cache_init nr_buckets =3D 10000 size 419430=
4
> >      >        >    shared page at pfn feffd
> >      >        >    buffered io page at pfn feffb
> >      >        >    Guest uuid =3D 52f19e23-2955-c27d-a22c-60c5d8c60d5a
> >      >        >    Time offset set 0
> >      >        >    populating video RAM at ff000000
> >      >        >    mapping video RAM from ff000000
> >      >        >    Register xen platform.
> >      >        >    Done register platform.
> >      >        >    platform_fixed_ioport: changed ro/rw state of ROM
> memory
> >      area.
> >      >        now is rw
> >      >        >    state.
> >      >        >
> >       xs_read(/local/domain/0/device-model/10/xen_extended_power_mgmt):
> >      >        read
> >      >        >    error
> >      >        >    medium change watch on `hdc' (index: 1):
> >      >        >    /media/iso/windows_server_2008_r2_sp1.iso
> >      >        >    I/O request not ready: 0, ptr: 0, port: 0, data: 0,
> count:
> >      0,
> >      >        size: 0
> >      >        >    Log-dirty: no command yet.
> >      >        >    xs_read(/local/domain/10/log-throttling): read error
> >      >        >    qemu: ignoring not-understood drive
> >      >        `/local/domain/10/log-throttling'
> >      >        >    medium change watch on
> `/local/domain/10/log-throttling' -
> >      >        unknown device,
> >      >        >    ignored
> >      >        >    cirrus vga map change while on lfb mode
> >      >        >    mapping vram to f0000000 - f0400000
> >      >        >    platform_fixed_ioport: changed ro/rw state of ROM
> memory
> >      area.
> >      >        now is rw
> >      >        >    state.
> >      >        >    platform_fixed_ioport: changed ro/rw state of ROM
> memory
> >      area.
> >      >        now is ro
> >      >        >    state.
> >      >        >
> >      >        >    2012/10/1 Pasi K=E4rkk=E4inen <[1][7][13]pasik@iki.f=
i>
> >      >        >
> >      >        >      On Mon, Oct 01, 2012 at 07:23:44PM +0300, Valtteri
> >      Kiviniemi
> >      >        wrote:
> >      >        >      >    Hi,
> >      >        >      >
> >      >        >      >    I have tried other config files, but the
> problem is
> >      the
> >      >        same. At
> >      >        >      the
> >      >        >      >    moment I'm using a config file from another
> server
> >      where I
> >      >        have a
> >      >        >      working
> >      >        >      >    Windows Server 2008 R2 installation, so I don=
t
> >      think that
> >      >        there is
> >      >        >      >    anything wrong with my config:
> >      >        >      >
> >      >        >
> >      >        >      Did you try with less vcpus, for example 2 ?
> >      >        >      how about with less memory, say 2 GB ?
> >      >        >
> >      >        >      Did you try with later Xen versions? Is that a 32b=
it
> >      Xen, or
> >      >        64bit Xen
> >      >        >      hypervisor?
> >      >        >
> >      >        >      -- Pasi
> >      >        >      >    kernel =3D "/usr/lib/xen/boot/hvmloader"
> >      >        >      >    builder =3D "hvm"
> >      >        >      >    shadow_memory =3D "8"
> >      >        >      >    memory =3D "4096"
> >      >        >      >    name =3D "ts"
> >      >        >      >    vcpus =3D "8"
> >      >        >      >    cpus =3D ["0", "1", "2", "3", "4", "5", "6", =
"7"]
> >      >        >      >    pae =3D "1"
> >      >        >      >    acpi =3D "1"
> >      >        >      >    apic =3D "1"
> >      >        >      >    vfb =3D [ 'type=3Dvnc, vnclisten=3D10.100.100=
.50,
> >      vncpasswd=3Dxxx'
> >      >        ]
> >      >        >      >    xen_extended_power_mgmt =3D "0"
> >      >        >      >    vif =3D [ "type=3Dioemu, mac=3D00:16:3e:d7:d7=
:5d,
> >      bridge=3Dxenbr0"
> >      >        ]
> >      >        >      >    disk =3D [ "phy:/dev/virtuals/ts,hda,w",
> >      >        >      >
> >      >
> "file:/media/iso/windows_server_2008_r2_sp1.iso,hdc:cdrom,r" ]
> >      >        >      >    on_poweroff =3D "destroy"
> >      >        >      >    on_reboot =3D "restart"
> >      >        >      >    on_crash =3D "restart"
> >      >        >      >    viridian =3D "1"
> >      >        >      >    device_model =3D "/usr/lib/xen/bin/qemu-dm"
> >      >        >      >    boot =3D "dc"
> >      >        >      >    snapshot =3D "0"
> >      >        >      >    vncconsole =3D "1"
> >      >        >      >    sdl =3D "0"
> >      >        >      >    opengl =3D "0"
> >      >        >      >    vnc =3D "1"
> >      >        >      >    nographic =3D "0"
> >      >        >      >    stdvga =3D "0"
> >      >        >      >    tsc_mode =3D "1"
> >      >        >      >    monitor =3D "0"
> >      >        >      >    localtime =3D "1"
> >      >        >      >    usb =3D "0"
> >      >        >      >    keymap =3D "fi"
> >      >        >      >    xen_platform_pci =3D "1"
> >      >        >      >    pci_msitranslate =3D "1"
> >      >        >      >    pci_power_mgmt =3D "0"
> >      >        >      >
> >      >        >      >    2012/10/1 Pasi K=E4rkk=E4inen
> >      <[1][2][8][14]pasik@iki.fi>
> >      >        >      >
> >      >        >      >      On Mon, Oct 01, 2012 at 06:46:08PM +0300,
> >      Valtteri
> >      >        Kiviniemi
> >      >        >      wrote:
> >      >        >      >      >    Hi,
> >      >        >      >      >
> >      >        >      >      >    Yes, I have viridian=3D1 on my domU
> config.
> >      >        >      >      >
> >      >        >      >
> >      >        >      >      Try with some known good domU configfile.
> >      >        >      >
> >      >        >      >      -- Pasi
> >      >        >      >      >    2012/10/1 Pasi K=E4rkk=E4inen
> >      >        <[1][2][3][9][15]pasik@iki.fi>
> >      >        >      >      >
> >      >        >      >      >      On Mon, Oct 01, 2012 at 05:06:53PM
> +0300,
> >      >        Valtteri
> >      >        >      Kiviniemi
> >      >        >      >      wrote:
> >      >        >      >      >      >    Hi,
> >      >        >      >      >      >
> >      >        >      >      >      >    I'm now using 3.6.0 and can't
> >      reproduce that
> >      >        crash
> >      >        >      anymore,
> >      >        >      >      so it
> >      >        >      >      >      seems
> >      >        >      >      >      >    that it was a kernel bug.
> >      >        >      >      >      >
> >      >        >      >      >
> >      >        >      >      >      OK.
> >      >        >      >      >      >    However I'm still getting black
> >      screen on
> >      >        VNC
> >      >        >      >      >      >    when trying to install Windows
> Server
> >      2008
> >      >        R2. I can
> >      >        >      see the
> >      >        >      >      >      "windows is
> >      >        >      >      >      >    loading files" screen but after
> the
> >      >        installer starts
> >      >        >      the VNC
> >      >        >      >      >      display goes
> >      >        >      >      >      >    black.
> >      >        >      >      >      >
> >      >        >      >      >      >    Any ideas?
> >      >        >      >      >      >
> >      >        >      >      >
> >      >        >      >      >      Do you have viridian=3D1 specified f=
or
> the
> >      windows
> >      >        vm?
> >      >        >      >      >
> >      >        >      >      >      -- Pasi
> >      >        >      >      >
> >      >        >      >      >      >    - Valtteri
> >      >        >      >      >      >
> >      >        >      >      >      >    2012/10/1 Pasi K=E4rkk=E4inen
> >      >        <[1][2][3][4][10][16]pasik@iki.fi>
> >      >        >      >      >      >
> >      >        >      >      >      >      On Sun, Sep 30, 2012 at
> 11:18:03PM
> >      +0300,
> >      >        Valtteri
> >      >        >      >      Kiviniemi
> >      >        >      >      >      wrote:
> >      >        >      >      >      >      >    Hi,
> >      >        >      >      >      >      >
> >      >        >      >      >      >
> >      >        >      >      >      >      Hello,
> >      >        >      >      >      >      >    I'm trying to get Window=
s
> >      Server 2008
> >      >        R2
> >      >        >      installation
> >      >        >      >      >      booting on
> >      >        >      >      >      >      Xen
> >      >        >      >      >      >      >    4.0.4. Using the followi=
ng
> >      config:
> >      >        >      >      >      >      >
> >      >        >      >      >      >
> >      >        >      >      >      >      <snip>
> >      >        >      >      >      >      >
> >      >        >      >      >      >      >    The domU will start
> booting
> >      just
> >      >        fine, but
> >      >        >      after a
> >      >        >      >      few
> >      >        >      >      >      minutes the
> >      >        >      >      >      >      VNC
> >      >        >      >      >      >      >    screen goes black. After
> that
> >      when
> >      >        typing "xm
> >      >        >      destroy
> >      >        >      >      ts" it
> >      >        >      >      >      will
> >      >        >      >      >      >      trigger
> >      >        >      >      >      >      >    a kernel BUG:
> >      >        >      >      >      >      >
> >      >        >      >      >      >      >    BUG: unable to handle
> kernel
> >      NULL
> >      >        pointer
> >      >        >      dereference
> >      >        >      >      at
> >      >        >      >      >      >      0000000000000030
> >      >        >      >      >      >      >    IP: [<ffffffff810c50c4>]
> >      >        iput+0x3e/0x195
> >      >        >      >      >      >      >    PGD 0
> >      >        >      >      >      >      >    Oops: 0000 [#1] SMP
> >      >        >      >      >      >      >    CPU 6
> >      >        >      >      >      >      >    Pid: 3571, comm: qemu-dm
> Not
> >      tainted
> >      >        >      3.5.0-dom0 #1
> >      >        >      >      >      >
> >      >        >      >      >      >      First of all upgrade to lates=
t
> >      3.5.x Linux
> >      >        kernel
> >      >        >      release
> >      >        >      >      .. so
> >      >        >      >      >      at least
> >      >        >      >      >      >      3.5.4.
> >      >        >      >      >      >
> >      >        >      >      >      >      -- Pasi
> >      >        >      >      >      >
> >      >        >      >      >      >      >    /DQ77MK
> >      >        >      >      >      >      >    RIP:
> e030:[<ffffffff810c50c4>]
> >      >        >       [<ffffffff810c50c4>]
> >      >        >      >      >      >      iput+0x3e/0x195
> >      >        >      >      >      >      >    RSP: e02b:ffff8800389ffb=
f8
> >       EFLAGS:
> >      >        00010246
> >      >        >      >      >      >      >    RAX: 0000000000000001 RB=
X:
> >      >        ffff8800377b0720
> >      >        >      RCX:
> >      >        >      >      >      ffff8800501c0000
> >      >        >      >      >      >      >    RDX: ffff8800501c0000 RS=
I:
> >      >        ffff8800377b0790
> >      >        >      RDI:
> >      >        >      >      >      ffff8800377b0790
> >      >        >      >      >      >      >    RBP: 0000000000000000 R0=
8:
> >      >        ffffffff815cdd00
> >      >        >      R09:
> >      >        >      >      >      0000000000000016
> >      >        >      >      >      >      >    R10: fefefefefefefeff R1=
1:
> >      >        ffff8800377b0400
> >      >        >      R12:
> >      >        >      >      >      00000001000a3e0c
> >      >        >      >      >      >      >    R13: 0000000000000000 R1=
4:
> >      >        00000001000a3e0c
> >      >        >      R15:
> >      >        >      >      >      ffff8800389ffc28
> >      >        >      >      >      >      >    FS:
>  00007f1af70a8700(0000)
> >      >        >      GS:ffff880050180000(0000)
> >      >        >      >      >      >      >    knlGS:0000000000000000
> >      >        >      >      >      >      >    CS:  e033 DS: 0000 ES:
> 0000
> >      CR0:
> >      >        >      000000008005003b
> >      >        >      >      >      >      >    CR2: 0000000000000030 CR=
3:
> >      >        000000000156d000
> >      >        >      CR4:
> >      >        >      >      >      0000000000002660
> >      >        >      >      >      >      >    DR0: 0000000000000000 DR=
1:
> >      >        0000000000000000
> >      >        >      DR2:
> >      >        >      >      >      0000000000000000
> >      >        >      >      >      >      >    DR3: 0000000000000000 DR=
6:
> >      >        00000000ffff0ff0
> >      >        >      DR7:
> >      >        >      >      >      0000000000000400
> >      >        >      >      >      >      >    Process qemu-dm (pid:
> 3571,
> >      >        threadinfo
> >      >        >      >      ffff8800389fe000,
> >      >        >      >      >      task
> >      >        >      >      >      >      >    ffff88003a721260)
> >      >        >      >      >      >      >    Stack:
> >      >        >      >      >      >      >     ffff88003a6d6400
> >      ffff8800377b0000
> >      >        >      00000001000a3e0c
> >      >        >      >      >      >      ffffffff8133ce8f
> >      >        >      >      >      >      >     ffff8800377b0400
> >      ffffffff8134b6cd
> >      >        >      ffff8800389ffc28
> >      >        >      >      >      >      ffff8800389ffc28
> >      >        >      >      >      >      >     ffff8800377b00f8
> >      ffff8800377b0680
> >      >        >      ffff880038cdcd60
> >      >        >      >      >      >      ffff8800377b0000
> >      >        >      >      >      >      >    Call Trace:
> >      >        >      >      >      >      >     [<ffffffff8133ce8f>] ?
> >      >        >      sk_release_kernel+0x23/0x39
> >      >        >      >      >      >      >     [<ffffffff8134b6cd>] ?
> >      >        >      netdev_run_todo+0x1e9/0x206
> >      >        >      >      >      >      >     [<ffffffff8129798f>] ?
> >      >        >      tun_chr_close+0x4c/0x7b
> >      >        >      >      >      >      >     [<ffffffff810b39d3>] ?
> >      >        fput+0xe4/0x1c5
> >      >        >      >      >      >      >     [<ffffffff810b202c>] ?
> >      >        filp_close+0x61/0x68
> >      >        >      >      >      >      >     [<ffffffff81035e62>] ?
> >      >        >      put_files_struct+0x62/0xb9
> >      >        >      >      >      >      >     [<ffffffff81036374>] ?
> >      >        do_exit+0x24a/0x74c
> >      >        >      >      >      >      >     [<ffffffff81036906>] ?
> >      >        >      do_group_exit+0x6b/0x9d
> >      >        >      >      >      >      >     [<ffffffff8103ea0b>] ?
> >      >        >      >      get_signal_to_deliver+0x449/0x46e
> >      >        >      >      >      >      >     [<ffffffff81009fa5>] ?
> >      >        do_signal+0x28/0x4c4
> >      >        >      >      >      >      >     [<ffffffff81027079>] ?
> >      >        >      >      pvclock_clocksource_read+0x48/0xbf
> >      >        >      >      >      >      >     [<ffffffff8105b745>] ?
> >      >        ktime_get_ts+0x66/0xa8
> >      >        >      >      >      >      >     [<ffffffff810bfb18>] ?
> >      >        >      >      poll_select_copy_remaining+0xe0/0xf5
> >      >        >      >      >      >      >     [<ffffffff8100a48d>] ?
> >      >        >      do_notify_resume+0x3b/0x74
> >      >        >      >      >      >      >     [<ffffffff81411a70>] ?
> >      >        int_signal+0x12/0x17
> >      >        >      >      >      >      >    Code: 00 00 00 40 74 02
> 0f 0b
> >      48 8d
> >      >        77 70 48
> >      >        >      8d bf 08
> >      >        >      >      01 00
> >      >        >      >      >      00 e8
> >      >        >      >      >      >      8b 71 10
> >      >        >      >      >      >      >    00 85 c0 0f 84 5d 01 00
> 00 48
> >      8b 6b
> >      >        18 f6 83
> >      >        >      80 00 00
> >      >        >      >      00 08
> >      >        >      >      >      <4c> 8b
> >      >        >      >      >      >      65 30
> >      >        >      >      >      >      >    74 11 be 68 05 00 00 48
> c7 c7
> >      8e df
> >      >        4f 81 e8
> >      >        >      bb d0
> >      >        >      >      >      >      >    RIP  [<ffffffff810c50c4>=
]
> >      >        iput+0x3e/0x195
> >      >        >      >      >      >      >     RSP <ffff8800389ffbf8>
> >      >        >      >      >      >      >    CR2: 0000000000000030
> >      >        >      >      >      >      >    ---[ end trace
> >      67cc1654658fedcc ]---
> >      >        >      >      >      >      >    Fixing recursive fault b=
ut
> >      reboot is
> >      >        needed!
> >      >        >      >      >      >      >
> >      >        >      >      >      >      >    I also tested Xen 4.2.0
> and
> >      problem
> >      >        is the
> >      >        >      same. So
> >      >        >      >      is this
> >      >        >      >      >      a Xen
> >      >        >      >      >      >      bug or a
> >      >        >      >      >      >      >    kernel bug? I am running
> >      vanilla
> >      >        >      >      [1][2][3][4][5][11][17]kernel.org kernel
> >      >        >      >      >      3.5.0 and
> >      >        >      >      >      >      my
> >      >        >      >      >      >      >    hardware is Intel Core
> i7-3770
> >      CPU
> >      >        and Intel
> >      >        >      DQ77MK
> >      >        >      >      >      motherboard
> >      >        >      >      >      >      with
> >      >        >      >      >      >      >    latest bios.
> >      >        >      >      >      >      >
> >      >        >      >      >      >      >    Best regards,
> >      >        >      >      >      >      >    Valtteri Kiviniemi
> >      >        >      >      >      >      >
> >      >        >      >      >      >      > References
> >      >        >      >      >      >      >
> >      >        >      >      >      >      >    Visible links
> >      >        >      >      >      >      >    1.
> >      [3][4][5][6][12][18]http://kernel.org/
> >      >        >      >      >      >
> >      >        >      >      >      >      >
> >      >        _______________________________________________
> >      >        >      >      >      >      > Xen-devel mailing list
> >      >        >      >      >      >      >
> >      [4][5][6][7][13][19]Xen-devel@lists.xen.org
> >      >        >      >      >      >      >
> >      >        [5][6][7][8][14][20]http://lists.xen.org/xen-devel
> >      >        >      >      >      >
> >      >        >      >      >      > References
> >      >        >      >      >      >
> >      >        >      >      >      >    Visible links
> >      >        >      >      >      >    1.
> >      mailto:[7][8][9][15][21]pasik@iki.fi
> >      >        >      >      >      >    2.
> >      [8][9][10][16][22]http://kernel.org/
> >      >        >      >      >      >    3.
> >      [9][10][11][17][23]http://kernel.org/
> >      >        >      >      >      >    4.
> >      >        mailto:[10][11][12][18][24]Xen-devel@lists.xen.org
> >      >        >      >      >      >    5.
> >      >        [11][12][13][19][25]http://lists.xen.org/xen-devel
> >      >        >      >      >
> >      >        >      >      > References
> >      >        >      >      >
> >      >        >      >      >    Visible links
> >      >        >      >      >    1. mailto:[13][14][20][26]pasik@iki.fi
> >      >        >      >      >    2. mailto:[14][15][21][27]pasik@iki.fi
> >      >        >      >      >    3. [15][16][22][28]http://kernel.org/
> >      >        >      >      >    4. [16][17][23][29]http://kernel.org/
> >      >        >      >      >    5.
> >      mailto:[17][18][24][30]Xen-devel@lists.xen.org
> >      >        >      >      >    6.
> >      [18][19][25][31]http://lists.xen.org/xen-devel
> >      >        >      >      >    7. mailto:[19][20][26][32]pasik@iki.fi
> >      >        >      >      >    8. [20][21][27][33]http://kernel.org/
> >      >        >      >      >    9. [21][22][28][34]http://kernel.org/
> >      >        >      >      >   10.
> >      mailto:[22][23][29][35]Xen-devel@lists.xen.org
> >      >        >      >      >   11.
> >      [23][24][30][36]http://lists.xen.org/xen-devel
> >      >        >      >
> >      >        >      > References
> >      >        >      >
> >      >        >      >    Visible links
> >      >        >      >    1. mailto:[25][31][37]pasik@iki.fi
> >      >        >      >    2. mailto:[26][32][38]pasik@iki.fi
> >      >        >      >    3. mailto:[27][33][39]pasik@iki.fi
> >      >        >      >    4. [28][34][40]http://kernel.org/
> >      >        >      >    5. [29][35][41]http://kernel.org/
> >      >        >      >    6. mailto:[30][36][42]Xen-devel@lists.xen.org
> >      >        >      >    7. [31][37][43]http://lists.xen.org/xen-devel
> >      >        >      >    8. mailto:[32][38][44]pasik@iki.fi
> >      >        >      >    9. [33][39][45]http://kernel.org/
> >      >        >      >   10. [34][40][46]http://kernel.org/
> >      >        >      >   11. mailto:[35][41][47]Xen-devel@lists.xen.org
> >      >        >      >   12. [36][42][48]http://lists.xen.org/xen-devel
> >      >        >      >   13. mailto:[37][43][49]pasik@iki.fi
> >      >        >      >   14. mailto:[38][44][50]pasik@iki.fi
> >      >        >      >   15. [39][45][51]http://kernel.org/
> >      >        >      >   16. [40][46][52]http://kernel.org/
> >      >        >      >   17. mailto:[41][47][53]Xen-devel@lists.xen.org
> >      >        >      >   18. [42][48][54]http://lists.xen.org/xen-devel
> >      >        >      >   19. mailto:[43][49][55]pasik@iki.fi
> >      >        >      >   20. [44][50][56]http://kernel.org/
> >      >        >      >   21. [45][51][57]http://kernel.org/
> >      >        >      >   22. mailto:[46][52][58]Xen-devel@lists.xen.org
> >      >        >      >   23. [47][53][59]http://lists.xen.org/xen-devel
> >      >        >
> >      >        > References
> >      >        >
> >      >        >    Visible links
> >      >        >    1. mailto:[54][60]pasik@iki.fi
> >      >        >    2. mailto:[55][61]pasik@iki.fi
> >      >        >    3. mailto:[56][62]pasik@iki.fi
> >      >        >    4. mailto:[57][63]pasik@iki.fi
> >      >        >    5. [58][64]http://kernel.org/
> >      >        >    6. [59][65]http://kernel.org/
> >      >        >    7. mailto:[60][66]Xen-devel@lists.xen.org
> >      >        >    8. [61][67]http://lists.xen.org/xen-devel
> >      >        >    9. mailto:[62][68]pasik@iki.fi
> >      >        >   10. [63][69]http://kernel.org/
> >      >        >   11. [64][70]http://kernel.org/
> >      >        >   12. mailto:[65][71]Xen-devel@lists.xen.org
> >      >        >   13. [66][72]http://lists.xen.org/xen-devel
> >      >        >   14. mailto:[67][73]pasik@iki.fi
> >      >        >   15. mailto:[68][74]pasik@iki.fi
> >      >        >   16. [69][75]http://kernel.org/
> >      >        >   17. [70][76]http://kernel.org/
> >      >        >   18. mailto:[71][77]Xen-devel@lists.xen.org
> >      >        >   19. [72][78]http://lists.xen.org/xen-devel
> >      >        >   20. mailto:[73][79]pasik@iki.fi
> >      >        >   21. [74][80]http://kernel.org/
> >      >        >   22. [75][81]http://kernel.org/
> >      >        >   23. mailto:[76][82]Xen-devel@lists.xen.org
> >      >        >   24. [77][83]http://lists.xen.org/xen-devel
> >      >        >   25. mailto:[78][84]pasik@iki.fi
> >      >        >   26. mailto:[79][85]pasik@iki.fi
> >      >        >   27. mailto:[80][86]pasik@iki.fi
> >      >        >   28. [81][87]http://kernel.org/
> >      >        >   29. [82][88]http://kernel.org/
> >      >        >   30. mailto:[83][89]Xen-devel@lists.xen.org
> >      >        >   31. [84][90]http://lists.xen.org/xen-devel
> >      >        >   32. mailto:[85][91]pasik@iki.fi
> >      >        >   33. [86][92]http://kernel.org/
> >      >        >   34. [87][93]http://kernel.org/
> >      >        >   35. mailto:[88][94]Xen-devel@lists.xen.org
> >      >        >   36. [89][95]http://lists.xen.org/xen-devel
> >      >        >   37. mailto:[90][96]pasik@iki.fi
> >      >        >   38. mailto:[91][97]pasik@iki.fi
> >      >        >   39. [92][98]http://kernel.org/
> >      >        >   40. [93][99]http://kernel.org/
> >      >        >   41. mailto:[94][100]Xen-devel@lists.xen.org
> >      >        >   42. [95][101]http://lists.xen.org/xen-devel
> >      >        >   43. mailto:[96][102]pasik@iki.fi
> >      >        >   44. [97][103]http://kernel.org/
> >      >        >   45. [98][104]http://kernel.org/
> >      >        >   46. mailto:[99][105]Xen-devel@lists.xen.org
> >      >        >   47. [100][106]http://lists.xen.org/xen-devel
> >      >
> >      > References
> >      >
> >      >    Visible links
> >      >    1. mailto:[107]kiviniemi.valtteri@gmail.com
> >      >    2. [108]http://ark.intel.com/products/65719/
> >      >    3.
> >      [109]
> http://www.intel.com/content/www/us/en/motherboards/desktop-motherboards/=
desktop-board-dq77mk.html
> >      >    4. mailto:[110]root@dataproof.fi
> >      >    5. mailto:[111]pasik@iki.fi
> >      >    6. [112]http://xen.org/
> >      >    7. mailto:[113]pasik@iki.fi
> >      >    8. mailto:[114]pasik@iki.fi
> >      >    9. mailto:[115]pasik@iki.fi
> >      >   10. mailto:[116]pasik@iki.fi
> >      >   11. [117]http://kernel.org/
> >      >   12. [118]http://kernel.org/
> >      >   13. mailto:[119]Xen-devel@lists.xen.org
> >      >   14. [120]http://lists.xen.org/xen-devel
> >      >   15. mailto:[121]pasik@iki.fi
> >      >   16. [122]http://kernel.org/
> >      >   17. [123]http://kernel.org/
> >      >   18. mailto:[124]Xen-devel@lists.xen.org
> >      >   19. [125]http://lists.xen.org/xen-devel
> >      >   20. mailto:[126]pasik@iki.fi
> >      >   21. mailto:[127]pasik@iki.fi
> >      >   22. [128]http://kernel.org/
> >      >   23. [129]http://kernel.org/
> >      >   24. mailto:[130]Xen-devel@lists.xen.org
> >      >   25. [131]http://lists.xen.org/xen-devel
> >      >   26. mailto:[132]pasik@iki.fi
> >      >   27. [133]http://kernel.org/
> >      >   28. [134]http://kernel.org/
> >      >   29. mailto:[135]Xen-devel@lists.xen.org
> >      >   30. [136]http://lists.xen.org/xen-devel
> >      >   31. mailto:[137]pasik@iki.fi
> >      >   32. mailto:[138]pasik@iki.fi
> >      >   33. mailto:[139]pasik@iki.fi
> >      >   34. [140]http://kernel.org/
> >      >   35. [141]http://kernel.org/
> >      >   36. mailto:[142]Xen-devel@lists.xen.org
> >      >   37. [143]http://lists.xen.org/xen-devel
> >      >   38. mailto:[144]pasik@iki.fi
> >      >   39. [145]http://kernel.org/
> >      >   40. [146]http://kernel.org/
> >      >   41. mailto:[147]Xen-devel@lists.xen.org
> >      >   42. [148]http://lists.xen.org/xen-devel
> >      >   43. mailto:[149]pasik@iki.fi
> >      >   44. mailto:[150]pasik@iki.fi
> >      >   45. [151]http://kernel.org/
> >      >   46. [152]http://kernel.org/
> >      >   47. mailto:[153]Xen-devel@lists.xen.org
> >      >   48. [154]http://lists.xen.org/xen-devel
> >      >   49. mailto:[155]pasik@iki.fi
> >      >   50. [156]http://kernel.org/
> >      >   51. [157]http://kernel.org/
> >      >   52. mailto:[158]Xen-devel@lists.xen.org
> >      >   53. [159]http://lists.xen.org/xen-devel
> >      >   54. mailto:[160]pasik@iki.fi
> >      >   55. mailto:[161]pasik@iki.fi
> >      >   56. mailto:[162]pasik@iki.fi
> >      >   57. mailto:[163]pasik@iki.fi
> >      >   58. [164]http://kernel.org/
> >      >   59. [165]http://kernel.org/
> >      >   60. mailto:[166]Xen-devel@lists.xen.org
> >      >   61. [167]http://lists.xen.org/xen-devel
> >      >   62. mailto:[168]pasik@iki.fi
> >      >   63. [169]http://kernel.org/
> >      >   64. [170]http://kernel.org/
> >      >   65. mailto:[171]Xen-devel@lists.xen.org
> >      >   66. [172]http://lists.xen.org/xen-devel
> >      >   67. mailto:[173]pasik@iki.fi
> >      >   68. mailto:[174]pasik@iki.fi
> >      >   69. [175]http://kernel.org/
> >      >   70. [176]http://kernel.org/
> >      >   71. mailto:[177]Xen-devel@lists.xen.org
> >      >   72. [178]http://lists.xen.org/xen-devel
> >      >   73. mailto:[179]pasik@iki.fi
> >      >   74. [180]http://kernel.org/
> >      >   75. [181]http://kernel.org/
> >      >   76. mailto:[182]Xen-devel@lists.xen.org
> >      >   77. [183]http://lists.xen.org/xen-devel
> >      >   78. mailto:[184]pasik@iki.fi
> >      >   79. mailto:[185]pasik@iki.fi
> >      >   80. mailto:[186]pasik@iki.fi
> >      >   81. [187]http://kernel.org/
> >      >   82. [188]http://kernel.org/
> >      >   83. mailto:[189]Xen-devel@lists.xen.org
> >      >   84. [190]http://lists.xen.org/xen-devel
> >      >   85. mailto:[191]pasik@iki.fi
> >      >   86. [192]http://kernel.org/
> >      >   87. [193]http://kernel.org/
> >      >   88. mailto:[194]Xen-devel@lists.xen.org
> >      >   89. [195]http://lists.xen.org/xen-devel
> >      >   90. mailto:[196]pasik@iki.fi
> >      >   91. mailto:[197]pasik@iki.fi
> >      >   92. [198]http://kernel.org/
> >      >   93. [199]http://kernel.org/
> >      >   94. mailto:[200]Xen-devel@lists.xen.org
> >      >   95. [201]http://lists.xen.org/xen-devel
> >      >   96. mailto:[202]pasik@iki.fi
> >      >   97. [203]http://kernel.org/
> >      >   98. [204]http://kernel.org/
> >      >   99. mailto:[205]Xen-devel@lists.xen.org
> >      >  100. [206]http://lists.xen.org/xen-devel
> >
> > References
> >
> >    Visible links
> >    1. http://nago.fi/dmesg.txt
> >    2. http://nago.fi/qemu-dm.txt
> >    3. http://nago.fi/xm-dmesg.txt
> >    4. http://nago.fi/domu-config.txt
> >    5. http://nago.fi/dom0-config.txt
> >    6. mailto:pasik@iki.fi
> >    7. mailto:kiviniemi.valtteri@gmail.com
> >    8. http://ark.intel.com/products/65719/
> >    9.
> http://www.intel.com/content/www/us/en/motherboards/desktop-motherboards/=
desktop-board-dq77mk.html
> >   10. mailto:root@dataproof.fi
> >   11. mailto:pasik@iki.fi
> >   12. http://xen.org/
> >   13. mailto:pasik@iki.fi
> >   14. mailto:pasik@iki.fi
> >   15. mailto:pasik@iki.fi
> >   16. mailto:pasik@iki.fi
> >   17. http://kernel.org/
> >   18. http://kernel.org/
> >   19. mailto:Xen-devel@lists.xen.org
> >   20. http://lists.xen.org/xen-devel
> >   21. mailto:pasik@iki.fi
> >   22. http://kernel.org/
> >   23. http://kernel.org/
> >   24. mailto:Xen-devel@lists.xen.org
> >   25. http://lists.xen.org/xen-devel
> >   26. mailto:pasik@iki.fi
> >   27. mailto:pasik@iki.fi
> >   28. http://kernel.org/
> >   29. http://kernel.org/
> >   30. mailto:Xen-devel@lists.xen.org
> >   31. http://lists.xen.org/xen-devel
> >   32. mailto:pasik@iki.fi
> >   33. http://kernel.org/
> >   34. http://kernel.org/
> >   35. mailto:Xen-devel@lists.xen.org
> >   36. http://lists.xen.org/xen-devel
> >   37. mailto:pasik@iki.fi
> >   38. mailto:pasik@iki.fi
> >   39. mailto:pasik@iki.fi
> >   40. http://kernel.org/
> >   41. http://kernel.org/
> >   42. mailto:Xen-devel@lists.xen.org
> >   43. http://lists.xen.org/xen-devel
> >   44. mailto:pasik@iki.fi
> >   45. http://kernel.org/
> >   46. http://kernel.org/
> >   47. mailto:Xen-devel@lists.xen.org
> >   48. http://lists.xen.org/xen-devel
> >   49. mailto:pasik@iki.fi
> >   50. mailto:pasik@iki.fi
> >   51. http://kernel.org/
> >   52. http://kernel.org/
> >   53. mailto:Xen-devel@lists.xen.org
> >   54. http://lists.xen.org/xen-devel
> >   55. mailto:pasik@iki.fi
> >   56. http://kernel.org/
> >   57. http://kernel.org/
> >   58. mailto:Xen-devel@lists.xen.org
> >   59. http://lists.xen.org/xen-devel
> >   60. mailto:pasik@iki.fi
> >   61. mailto:pasik@iki.fi
> >   62. mailto:pasik@iki.fi
> >   63. mailto:pasik@iki.fi
> >   64. http://kernel.org/
> >   65. http://kernel.org/
> >   66. mailto:Xen-devel@lists.xen.org
> >   67. http://lists.xen.org/xen-devel
> >   68. mailto:pasik@iki.fi
> >   69. http://kernel.org/
> >   70. http://kernel.org/
> >   71. mailto:Xen-devel@lists.xen.org
> >   72. http://lists.xen.org/xen-devel
> >   73. mailto:pasik@iki.fi
> >   74. mailto:pasik@iki.fi
> >   75. http://kernel.org/
> >   76. http://kernel.org/
> >   77. mailto:Xen-devel@lists.xen.org
> >   78. http://lists.xen.org/xen-devel
> >   79. mailto:pasik@iki.fi
> >   80. http://kernel.org/
> >   81. http://kernel.org/
> >   82. mailto:Xen-devel@lists.xen.org
> >   83. http://lists.xen.org/xen-devel
> >   84. mailto:pasik@iki.fi
> >   85. mailto:pasik@iki.fi
> >   86. mailto:pasik@iki.fi
> >   87. http://kernel.org/
> >   88. http://kernel.org/
> >   89. mailto:Xen-devel@lists.xen.org
> >   90. http://lists.xen.org/xen-devel
> >   91. mailto:pasik@iki.fi
> >   92. http://kernel.org/
> >   93. http://kernel.org/
> >   94. mailto:Xen-devel@lists.xen.org
> >   95. http://lists.xen.org/xen-devel
> >   96. mailto:pasik@iki.fi
> >   97. mailto:pasik@iki.fi
> >   98. http://kernel.org/
> >   99. http://kernel.org/
> >  100. mailto:Xen-devel@lists.xen.org
> >  101. http://lists.xen.org/xen-devel
> >  102. mailto:pasik@iki.fi
> >  103. http://kernel.org/
> >  104. http://kernel.org/
> >  105. mailto:Xen-devel@lists.xen.org
> >  106. http://lists.xen.org/xen-devel
> >  107. mailto:kiviniemi.valtteri@gmail.com
> >  108. http://ark.intel.com/products/65719/
> >  109.
> http://www.intel.com/content/www/us/en/motherboards/desktop-motherboards/=
desktop-board-dq77mk.html
> >  110. mailto:root@dataproof.fi
> >  111. mailto:pasik@iki.fi
> >  112. http://xen.org/
> >  113. mailto:pasik@iki.fi
> >  114. mailto:pasik@iki.fi
> >  115. mailto:pasik@iki.fi
> >  116. mailto:pasik@iki.fi
> >  117. http://kernel.org/
> >  118. http://kernel.org/
> >  119. mailto:Xen-devel@lists.xen.org
> >  120. http://lists.xen.org/xen-devel
> >  121. mailto:pasik@iki.fi
> >  122. http://kernel.org/
> >  123. http://kernel.org/
> >  124. mailto:Xen-devel@lists.xen.org
> >  125. http://lists.xen.org/xen-devel
> >  126. mailto:pasik@iki.fi
> >  127. mailto:pasik@iki.fi
> >  128. http://kernel.org/
> >  129. http://kernel.org/
> >  130. mailto:Xen-devel@lists.xen.org
> >  131. http://lists.xen.org/xen-devel
> >  132. mailto:pasik@iki.fi
> >  133. http://kernel.org/
> >  134. http://kernel.org/
> >  135. mailto:Xen-devel@lists.xen.org
> >  136. http://lists.xen.org/xen-devel
> >  137. mailto:pasik@iki.fi
> >  138. mailto:pasik@iki.fi
> >  139. mailto:pasik@iki.fi
> >  140. http://kernel.org/
> >  141. http://kernel.org/
> >  142. mailto:Xen-devel@lists.xen.org
> >  143. http://lists.xen.org/xen-devel
> >  144. mailto:pasik@iki.fi
> >  145. http://kernel.org/
> >  146. http://kernel.org/
> >  147. mailto:Xen-devel@lists.xen.org
> >  148. http://lists.xen.org/xen-devel
> >  149. mailto:pasik@iki.fi
> >  150. mailto:pasik@iki.fi
> >  151. http://kernel.org/
> >  152. http://kernel.org/
> >  153. mailto:Xen-devel@lists.xen.org
> >  154. http://lists.xen.org/xen-devel
> >  155. mailto:pasik@iki.fi
> >  156. http://kernel.org/
> >  157. http://kernel.org/
> >  158. mailto:Xen-devel@lists.xen.org
> >  159. http://lists.xen.org/xen-devel
> >  160. mailto:pasik@iki.fi
> >  161. mailto:pasik@iki.fi
> >  162. mailto:pasik@iki.fi
> >  163. mailto:pasik@iki.fi
> >  164. http://kernel.org/
> >  165. http://kernel.org/
> >  166. mailto:Xen-devel@lists.xen.org
> >  167. http://lists.xen.org/xen-devel
> >  168. mailto:pasik@iki.fi
> >  169. http://kernel.org/
> >  170. http://kernel.org/
> >  171. mailto:Xen-devel@lists.xen.org
> >  172. http://lists.xen.org/xen-devel
> >  173. mailto:pasik@iki.fi
> >  174. mailto:pasik@iki.fi
> >  175. http://kernel.org/
> >  176. http://kernel.org/
> >  177. mailto:Xen-devel@lists.xen.org
> >  178. http://lists.xen.org/xen-devel
> >  179. mailto:pasik@iki.fi
> >  180. http://kernel.org/
> >  181. http://kernel.org/
> >  182. mailto:Xen-devel@lists.xen.org
> >  183. http://lists.xen.org/xen-devel
> >  184. mailto:pasik@iki.fi
> >  185. mailto:pasik@iki.fi
> >  186. mailto:pasik@iki.fi
> >  187. http://kernel.org/
> >  188. http://kernel.org/
> >  189. mailto:Xen-devel@lists.xen.org
> >  190. http://lists.xen.org/xen-devel
> >  191. mailto:pasik@iki.fi
> >  192. http://kernel.org/
> >  193. http://kernel.org/
> >  194. mailto:Xen-devel@lists.xen.org
> >  195. http://lists.xen.org/xen-devel
> >  196. mailto:pasik@iki.fi
> >  197. mailto:pasik@iki.fi
> >  198. http://kernel.org/
> >  199. http://kernel.org/
> >  200. mailto:Xen-devel@lists.xen.org
> >  201. http://lists.xen.org/xen-devel
> >  202. mailto:pasik@iki.fi
> >  203. http://kernel.org/
> >  204. http://kernel.org/
> >  205. mailto:Xen-devel@lists.xen.org
> >  206. http://lists.xen.org/xen-devel
>

--20cf30563c0d436e7b04cb13c0b5
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,<br><br>I have not enabled debug on Xen or dom0 kernel. Could you tell m=
e the parameters for Xen coompilation needed to enable debugging? And If yo=
u would also happen to know what are the options needed to enable kernel de=
bugging in menuconfig? Well I can probably manage to get the kernel debuggi=
ng enabled myself, but if you happen to know them please share so maybe I c=
an get everything enabled at the first try :)<br>
<br>Thanks!<br><br>- Valtteri<br><br><div class=3D"gmail_quote">2012/10/2 P=
asi K=E4rkk=E4inen <span dir=3D"ltr">&lt;<a href=3D"mailto:pasik@iki.fi" ta=
rget=3D"_blank">pasik@iki.fi</a>&gt;</span><br><blockquote class=3D"gmail_q=
uote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1e=
x">
<div class=3D"im">On Tue, Oct 02, 2012 at 04:01:04PM +0300, Valtteri Kivini=
emi wrote:<br>
&gt; =A0 =A0Hi,<br>
&gt;<br>
</div><div class=3D"im">&gt; =A0 =A0I already tried 3.2, 3.5, 3.5.0, 3.6.0-=
rc7 and 3.6.0, same problem all of<br>
&gt; =A0 =A0those. My dom0 config is the same config that I&#39;am using on=
 other server<br>
&gt; =A0 =A0where HVM is working, so I dont think that it is a config probl=
em. I have<br>
&gt; =A0 =A0triple checked everything and all should be ok. dom0 dmesg show=
s the same<br>
&gt; =A0 =A0crash that I have previously posted here. /var/log/xen/ does no=
t contain<br>
&gt; =A0 =A0any specific errors.<br>
&gt;<br>
&gt; =A0 =A0Could this be some kind of broblem with my motherboard bios bei=
ng buggy or<br>
&gt; =A0 =A0CPU not supported? I&#39;m using the new intel Ivy Bridge proce=
ssor which has<br>
&gt; =A0 =A0integrated GPU, but that should not probably cause these kind o=
f problems.<br>
&gt; =A0 =A0Or maybe some ACPI problem? xm dmesg is showing some notices ab=
out ACPI.<br>
&gt; =A0 =A0Is there any ACPI kernel parameters that I should try booting? =
This has to<br>
&gt; =A0 =A0be somekind of problem with my hardware, or then maybe it could=
 be a<br>
&gt; =A0 =A0kernel problem too. I just really cant figure this out myself, =
I have<br>
&gt; =A0 =A0tried everything.<br>
&gt;<br>
<br>
</div>Hmm.. I have some distant memories of seeing a patch that fixes a bug=
<br>
on recent Ivy Bridge systems, but I can&#39;t find a link right now.<br>
Maybe you&#39;re affected by that..<br>
<br>
Also: Did you already post the crash log, with all the debug/verbose option=
s enabled for both Xen and dom0 kernel?<br>
<br>
-- Pasi<br>
<div class=3D"im"><br>
&gt; =A0 =A0Lets take a quick summary of what has been tested, what hardwar=
e I&#39;m using<br>
&gt; =A0 =A0etc.<br>
&gt;<br>
&gt; =A0 =A0Xen-versions tested: 4.2.0, 4.0.4<br>
&gt; =A0 =A0Kernel-versions tested: 3.2.0, 3.5.0, 3.5.4, 3.6.0-rc7, 3.6.0<b=
r>
&gt;<br>
&gt; =A0 =A0Host OS: Debian testing/wheezy, udev version 175-7, 2.13-35, py=
thon<br>
&gt; =A0 =A0version 2.7.3~rc2-2.1<br>
&gt;<br>
&gt; =A0 =A0Hardware:<br>
&gt;<br>
&gt; =A0 =A0CPU: Intel Core i7-3770 3.4GHz<br>
&gt; =A0 =A0MB: Intel DQ77MK (latest bios updated)<br>
&gt; =A0 =A0Memory: 32GB (4 x 8GB DDR3-1600MHz)<br>
&gt;<br>
&gt; =A0 =A0All relevant log files and configs:<br>
&gt;<br>
</div>&gt; =A0 =A0dom0 dmesg: [1]<a href=3D"http://nago.fi/dmesg.txt" targe=
t=3D"_blank">http://nago.fi/dmesg.txt</a><br>
&gt; =A0 =A0qemu-dm log: [2]<a href=3D"http://nago.fi/qemu-dm.txt" target=
=3D"_blank">http://nago.fi/qemu-dm.txt</a><br>
&gt; =A0 =A0xm dmesg log: [3]<a href=3D"http://nago.fi/xm-dmesg.txt" target=
=3D"_blank">http://nago.fi/xm-dmesg.txt</a><br>
&gt; =A0 =A0domU config: [4]<a href=3D"http://nago.fi/domu-config.txt" targ=
et=3D"_blank">http://nago.fi/domu-config.txt</a><br>
&gt; =A0 =A0dom0 kernel config: [5]<a href=3D"http://nago.fi/dom0-config.tx=
t" target=3D"_blank">http://nago.fi/dom0-config.txt</a><br>
<div class=3D"im">&gt;<br>
&gt; =A0 =A0I have also tried playing with every setting on that domU that =
I can think<br>
&gt; =A0 =A0of and tried different configs etc.<br>
&gt;<br>
&gt; =A0 =A0- Valtteri<br>
&gt;<br>
</div>&gt; =A0 =A02012/10/2 Pasi K=E4rkk=E4inen &lt;[6]<a href=3D"mailto:pa=
sik@iki.fi">pasik@iki.fi</a>&gt;<br>
<div><div class=3D"h5">&gt;<br>
&gt; =A0 =A0 =A0On Tue, Oct 02, 2012 at 03:11:07PM +0300, Valtteri Kiviniem=
i wrote:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0Hi,<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0Another update:<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0I wanted to check that if a Linux HVM would boo=
t with working VNC<br>
&gt; =A0 =A0 =A0console,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0so I tried to launch a Debian Squeeze installer=
 on HVM. It refused<br>
&gt; =A0 =A0 =A0to<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0start ant told me that vbd hotplug scripts were=
 not working. After<br>
&gt; =A0 =A0 =A0that<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0failure even the Windows domU would not anymore=
 start which was<br>
&gt; =A0 =A0 =A0previously<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0starting ok.<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0The hotplug scripts also starts hanging on the =
processes.<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0root =A0 =A0 =A09401 =A00.1 =A00.1 =A017700 =A0=
1640 ? =A0 =A0 =A0 =A0S =A0 =A015:05 =A0 0:00<br>
&gt; =A0 =A0 =A0/bin/bash<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0/etc/xen/scripts/xen-hotplug-cleanup<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0root =A0 =A0 =A09441 =A00.1 =A00.1 =A017700 =A0=
1644 ? =A0 =A0 =A0 =A0S =A0 =A015:05 =A0 0:00<br>
&gt; =A0 =A0 =A0/bin/bash<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0/etc/xen/scripts/xen-hotplug-cleanup<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0root =A0 =A0 =A09481 =A00.1 =A00.1 =A017700 =A0=
1640 ? =A0 =A0 =A0 =A0S =A0 =A015:05 =A0 0:00<br>
&gt; =A0 =A0 =A0/bin/bash<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0/etc/xen/scripts/xen-hotplug-cleanup<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0root =A0 =A0 =A09560 =A00.1 =A00.1 =A017700 =A0=
1640 ? =A0 =A0 =A0 =A0S =A0 =A015:05 =A0 0:00<br>
&gt; =A0 =A0 =A0/bin/bash<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0/etc/xen/scripts/xen-hotplug-cleanup<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0root =A0 =A0 10738 =A00.1 =A00.1 =A017696 =A016=
36 ? =A0 =A0 =A0 =A0S =A0 =A015:05 =A0 0:00<br>
&gt; =A0 =A0 =A0/bin/bash<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0/etc/xen/scripts/xen-hotplug-cleanup<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0root =A0 =A0 10747 =A00.1 =A00.1 =A017792 =A017=
36 ? =A0 =A0 =A0 =A0S =A0 =A015:05 =A0 0:00<br>
&gt; =A0 =A0 =A0/bin/bash<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0/etc/xen/scripts/block remove<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0root =A0 =A0 11286 =A00.0 =A00.0 =A0 4080 =A0 3=
24 ? =A0 =A0 =A0 =A0S =A0 =A015:06 =A0 0:00<br>
&gt; =A0 =A0 =A0sleep 1<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0root =A0 =A0 11290 =A00.0 =A00.0 =A0 4080 =A0 3=
24 ? =A0 =A0 =A0 =A0S =A0 =A015:06 =A0 0:00<br>
&gt; =A0 =A0 =A0sleep 1<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0root =A0 =A0 11294 =A00.0 =A00.0 =A0 4080 =A0 3=
24 ? =A0 =A0 =A0 =A0S =A0 =A015:06 =A0 0:00<br>
&gt; =A0 =A0 =A0sleep 1<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0root =A0 =A0 11298 =A00.0 =A00.0 =A0 4080 =A0 3=
24 ? =A0 =A0 =A0 =A0S =A0 =A015:06 =A0 0:00<br>
&gt; =A0 =A0 =A0sleep 1<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0root =A0 =A0 11302 =A00.0 =A00.0 =A0 4080 =A0 3=
20 ? =A0 =A0 =A0 =A0S =A0 =A015:06 =A0 0:00<br>
&gt; =A0 =A0 =A0sleep 1<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0root =A0 =A0 11306 =A00.0 =A00.0 =A0 4080 =A0 3=
20 ? =A0 =A0 =A0 =A0S =A0 =A015:06 =A0 0:00<br>
&gt; =A0 =A0 =A0sleep 1<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0Then I did a xm destroy and I had again the ker=
nel BUG on dmesg. So<br>
&gt; =A0 =A0 =A0it<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0seems that the problem is not fixed by using 3.=
6.0. Udev version is<br>
&gt; =A0 =A0 =A0175-7.<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt;<br>
&gt; =A0 =A0 =A0So you have definitely something broken in your system,<br>
&gt; =A0 =A0 =A0probably in your dom0 kernel. Try with Linux 3.5.4 or 3.4.x=
,<br>
&gt; =A0 =A0 =A0and see how that goes.<br>
&gt;<br>
&gt; =A0 =A0 =A0Any errors in dom0 dmesg? How about in /var/log/xen/* ?<br>
&gt;<br>
&gt; =A0 =A0 =A0-- Pasi<br>
&gt;<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt;<br>
</div></div>&gt; =A0 =A0 =A0&gt; =A0 =A02012/10/1 Valtteri Kiviniemi &lt;[1=
][7]<a href=3D"mailto:kiviniemi.valtteri@gmail.com">kiviniemi.valtteri@gmai=
l.com</a>&gt;<br>
<div class=3D"im">&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Hi,<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0CPU: Intel Core i7-3770 3.4GHz<br>
</div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0[2][8]<a href=3D"http://ark.intel.com=
/products/65719/" target=3D"_blank">http://ark.intel.com/products/65719/</a=
><br>
<div class=3D"im">&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0MB: Intel DQ77MK (latest bios updated)<br>
&gt; =A0 =A0 =A0&gt;<br>
</div>&gt; =A0 =A0 =A0 [3][9]<a href=3D"http://www.intel.com/content/www/us=
/en/motherboards/desktop-motherboards/desktop-board-dq77mk.html" target=3D"=
_blank">http://www.intel.com/content/www/us/en/motherboards/desktop-motherb=
oards/desktop-board-dq77mk.html</a><br>

<div class=3D"im">&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Memory: 32GB (4 x 8GB DDR3-1600MHz)<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Host is Debian wheezy/testing, Xen 4.0.4 an=
d latest 3.6.0 kernel.<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Noticed also some errors in xm dmesg:<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0root@xen-2:~# xm dmesg<br>
&gt; =A0 =A0 =A0&gt;<br>
</div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Xen version 4.0.4 ([4][10]<a hr=
ef=3D"mailto:root@dataproof.fi">root@dataproof.fi</a>) (gcc version<br>
<div><div class=3D"h5">&gt; =A0 =A0 =A04.7.1<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(Debian 4.7.1-7) ) Sun Sep 30 20:28:26 EEST=
 2012<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Latest ChangeSet: unavailable<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Bootloader: GNU GRUB 0.97<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Command line: dom0_mem=3D1280M cpufre=
q=3Dxen clocksource=3Dhpet<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Video information:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0VGA is text mode 80x25, font 8x16<=
br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0VBE/DDC methods: none; EDID transf=
er time: 0 seconds<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0EDID info not retrieved because no=
 DDC retrieval method<br>
&gt; =A0 =A0 =A0detected<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Disc information:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0Found 4 MBR signatures<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0Found 4 EDD information structures=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Xen-e820 RAM map:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A00000000000000000 - 000000000009d80=
0 (usable)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0000000000009d800 - 00000000000a000=
0 (reserved)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000000e0000 - 000000000010000=
0 (reserved)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A00000000000100000 - 000000002000000=
0 (usable)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A00000000020000000 - 000000002020000=
0 (reserved)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A00000000020200000 - 000000004000400=
0 (usable)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A00000000040004000 - 000000004000500=
0 (reserved)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A00000000040005000 - 00000000dbe4400=
0 (usable)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000dbe44000 - 00000000dc2d700=
0 (reserved)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000dc2d7000 - 00000000dc2e700=
0 (ACPI data)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000dc2e7000 - 00000000dc40c00=
0 (ACPI NVS)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000dc40c000 - 00000000dc6af00=
0 (reserved)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000dc6af000 - 00000000dc6b000=
0 (usable)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000dc6b0000 - 00000000dc6f300=
0 (ACPI NVS)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000dc6f3000 - 00000000dd00000=
0 (usable)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000dd800000 - 00000000dfa0000=
0 (reserved)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000f8000000 - 00000000fc00000=
0 (reserved)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000fec00000 - 00000000fec0100=
0 (reserved)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000fed00000 - 00000000fed0400=
0 (reserved)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000fed1c000 - 00000000fed2000=
0 (reserved)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000fee00000 - 00000000fee0100=
0 (reserved)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A000000000ff000000 - 000000010000000=
0 (reserved)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A00000000100000000 - 000000081e60000=
0 (usable)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: RSDP 000F0490, 0024 (r2 =A0INTE=
L)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: XSDT DC2DB080, 007C (r1 INTEL =
=A0DQ77MK =A0 =A0 =A0 =A0 32 AMI<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A010013)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: FACP DC2E51F0, 010C (r5 INTEL =
=A0DQ77MK =A0 =A0 =A0 =A0 32 AMI<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A010013)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI Warning (tbfadt-0232): FADT (rev=
ision 5) is longer<br>
&gt; =A0 =A0 =A0than ACPI<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A02.0 version, truncating length 0x10C to 0xF=
4 [20070126]<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: DSDT DC2DB188, A061 (r2 INTEL =
=A0DQ77MK =A0 =A0 =A0 =A0 32 INTL<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A020051117)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: FACS DC40A080, 0040<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: APIC DC2E5300, 0092 (r3 INTEL =
=A0DQ77MK =A0 =A0 =A0 =A0 32 AMI<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A010013)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: FPDT DC2E5398, 0044 (r1 INTEL =
=A0DQ77MK =A0 =A0 =A0 =A0 32 AMI<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A010013)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: TCPA DC2E53E0, 0032 (r2 INTEL =
=A0DQ77MK =A0 =A0 =A0 =A0 32 MSFT<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A01000013)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: MCFG DC2E5418, 003C (r1 INTEL =
=A0DQ77MK =A0 =A0 =A0 =A0 32 MSFT<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A097)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: HPET DC2E5458, 0038 (r1 INTEL =
=A0DQ77MK =A0 =A0 =A0 =A0 32 AMI.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A05)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: SSDT DC2E5490, 036D (r1 INTEL =
=A0DQ77MK =A0 =A0 =A0 =A0 32 INTL<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A020091112)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: SSDT DC2E5800, 09AA (r1 INTEL =
=A0DQ77MK =A0 =A0 =A0 =A0 32 INTL<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A020051117)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: SSDT DC2E61B0, 0A92 (r1 INTEL =
=A0DQ77MK =A0 =A0 =A0 =A0 32 INTL<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A020051117)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: DMAR DC2E6C48, 00B8 (r1 INTEL =
=A0DQ77MK =A0 =A0 =A0 =A0 32 INTL<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A01)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: ASF! DC2E6D00, 00A5 (r32 INTEL =
=A0DQ77MK =A0 =A0 =A0 =A0 32<br>
&gt; =A0 =A0 =A0TFSM<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0F4240)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) System RAM: 32682MB (33467320kB)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Domain heap initialised<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ACPI: 32/64X FACS address mismatch in=
 FADT -<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0dc40a080/0000000000000000, using 32<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Processor #0 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Processor #2 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Processor #4 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Processor #6 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Processor #1 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Processor #3 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Processor #5 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Processor #7 7:10 APIC version 21<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) IOAPIC[0]: apic_id 2, version 32, add=
ress 0xfec00000, GSI<br>
&gt; =A0 =A0 =A00-23<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Enabling APIC mode: =A0Flat. =A0Using=
 1 I/O APICs<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Switched to APIC driver x2apic_cluste=
r.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) x2APIC mode enabled.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Using scheduler: SMP Credit Scheduler=
 (credit)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Detected 3392.369 MHz processor.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Initing memory sharing.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) VMX: Supported advanced features:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0- APIC MMIO access virtualisation<=
br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0- APIC TPR shadow<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0- Extended Page Tables (EPT)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0- Virtual-Processor Identifiers (V=
PID)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0- Virtual NMI<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0- MSR direct-access bitmap<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0- Unrestricted Guest<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) EPT supports 2MB super page.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) HVM: ASIDs enabled.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) HVM: VMX enabled<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) HVM: Hardware Assisted Paging detecte=
d.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Intel VT-d Snoop Control not enabled.=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Intel VT-d Dom0 DMA Passthrough not e=
nabled.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Intel VT-d Queued Invalidation enable=
d.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Intel VT-d Interrupt Remapping enable=
d.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) I/O virtualisation enabled<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0- Dom0 mode: Relaxed<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Enabled directed EOI with ioapic_ack_=
old on!<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Total of 8 processors activated.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) ENABLING IO-APIC IRQs<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0-&gt; Using old ACK method<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) TSC is reliable, synchronization unne=
cessary<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Platform timer appears to have unexpe=
ctedly wrapped 1<br>
&gt; =A0 =A0 =A0times.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Platform timer is 14.318MHz HPET<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Allocated console ring of 16 KiB.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Brought up 8 CPUs<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) *** LOADING DOMAIN 0 ***<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0Xen =A0kernel: 64-bit, lsb, compat=
32<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0Dom0 kernel: 64-bit, PAE, lsb, pad=
dr 0x1000000 -&gt;<br>
&gt; =A0 =A0 =A00x1ae7000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) PHYSICAL MEMORY ARRANGEMENT:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0Dom0 alloc.: =A0 0000000804000000-=
&gt;0000000806000000 (319488<br>
&gt; =A0 =A0 =A0pages<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0to be allocated)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) VIRTUAL MEMORY ARRANGEMENT:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0Loaded kernel: ffffffff81000000-&g=
t;ffffffff81ae7000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0Init. ramdisk: ffffffff81ae7000-&g=
t;ffffffff81ae7000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0Phys-Mach map: ffffffff81ae7000-&g=
t;ffffffff81d67000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0Start info: =A0 =A0ffffffff81d6700=
0-&gt;ffffffff81d674b4<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0Page tables: =A0 ffffffff81d68000-=
&gt;ffffffff81d7b000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0Boot stack: =A0 =A0ffffffff81d7b00=
0-&gt;ffffffff81d7c000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0TOTAL: =A0 =A0 =A0 =A0 ffffffff800=
00000-&gt;ffffffff82000000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) =A0ENTRY ADDRESS: ffffffff815e3210<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Dom0 has maximum 8 VCPUs<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) [VT-D]iommu.c:718: BIOS did not enabl=
e IGD for VT properly.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Disabling IGD VT-d engine.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Scrubbing Free RAM: done.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Xen trace buffers: disabled<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Std. Loglevel: Errors and warnings<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Guest Loglevel: Nothing (Rate-limited=
: Errors and warnings)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Xen is relinquishing VGA console.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) *** Serial input -&gt; DOM0 (type &#3=
9;CTRL-a&#39; three times to<br>
&gt; =A0 =A0 =A0switch<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0input to Xen)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) Freed 172kB init memory.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0(XEN) traps.c:2333:d0 Domain attempted WRMS=
R 000000000000008b<br>
&gt; =A0 =A0 =A0from<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A000000012:00000000 to 00000000:00000000.<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0- Valtteri<br>
&gt; =A0 =A0 =A0&gt;<br>
</div></div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A02012/10/1 Pasi K=E4rkk=E4inen &=
lt;[5][11]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a>&gt;<br>
<div class=3D"im">&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0On Mon, Oct 01, 2012 at 09:12:50PM +030=
0, Valtteri Kiviniemi<br>
&gt; =A0 =A0 =A0wrote:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Hi,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Lowering memory or vcpu&#39=
;s does not help, problem is the<br>
&gt; =A0 =A0 =A0same. I<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0originally<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0installed Xen 4.2.0 and the=
 problem was same on that too.<br>
&gt; =A0 =A0 =A0Then I<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0downgraded back to 4.0.4 si=
nce I thought that this might<br>
&gt; =A0 =A0 =A0be a bug<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0on<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A04.2.0. I have been previous=
ly running Windows Server 2008<br>
&gt; =A0 =A0 =A0R2<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0succesfully<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0on Xen 4.0.x on different h=
ardware with this same config.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0Hypervisor is<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A064bit and windows is 64bit.=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Any ideas what to try next?=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0What kind of hardware is that?<br>
&gt; =A0 =A0 =A0&gt;<br>
</div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0[6][12]<a href=3D"http://xen.org"=
 target=3D"_blank">xen.org</a> automated testing regularly tests Windows VM=
s,<br>
<div><div class=3D"h5">&gt; =A0 =A0 =A0and it works<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0OK there.<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0-- Pasi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Ps. qemu-dm.log is the foll=
owing:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0domid: 10<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0config qemu network with xe=
n bridge for =A0tap10.0 xenbr0<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Using file /dev/virtuals/ts=
 in read-write mode<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Using file /media/iso/windo=
ws_server_2008_r2_sp1.iso in<br>
&gt; =A0 =A0 =A0read-only<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0mode<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Watching /local/domain/0/de=
vice-model/10/logdirty/cmd<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Watching /local/domain/0/de=
vice-model/10/command<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0qemu_map_cache_init nr_buck=
ets =3D 10000 size 4194304<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0shared page at pfn feffd<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0buffered io page at pfn fef=
fb<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Guest uuid =3D 52f19e23-295=
5-c27d-a22c-60c5d8c60d5a<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Time offset set 0<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0populating video RAM at ff0=
00000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0mapping video RAM from ff00=
0000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Register xen platform.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Done register platform.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0platform_fixed_ioport: chan=
ged ro/rw state of ROM memory<br>
&gt; =A0 =A0 =A0area.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0now is rw<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0state.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0 xs_read(/local/domain/0/device-model/10/xen_extended_power=
_mgmt):<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0read<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0error<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0medium change watch on `hdc=
&#39; (index: 1):<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0/media/iso/windows_server_2=
008_r2_sp1.iso<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0I/O request not ready: 0, p=
tr: 0, port: 0, data: 0, count:<br>
&gt; =A0 =A0 =A00,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0size: 0<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Log-dirty: no command yet.<=
br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0xs_read(/local/domain/10/lo=
g-throttling): read error<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0qemu: ignoring not-understo=
od drive<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0`/local/domain/10/log-throttling&#39;<b=
r>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0medium change watch on `/lo=
cal/domain/10/log-throttling&#39; -<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0unknown device,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0ignored<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0cirrus vga map change while=
 on lfb mode<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0mapping vram to f0000000 - =
f0400000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0platform_fixed_ioport: chan=
ged ro/rw state of ROM memory<br>
&gt; =A0 =A0 =A0area.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0now is rw<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0state.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0platform_fixed_ioport: chan=
ged ro/rw state of ROM memory<br>
&gt; =A0 =A0 =A0area.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0now is ro<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0state.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt;<br>
</div></div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A02012/10/1 Pasi =
K=E4rkk=E4inen &lt;[1][7][13]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</=
a>&gt;<br>
<div><div class=3D"h5">&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0On Mon, Oct 01, 2012 at=
 07:23:44PM +0300, Valtteri<br>
&gt; =A0 =A0 =A0Kiviniemi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0wrote:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Hi,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0I have trie=
d other config files, but the problem is<br>
&gt; =A0 =A0 =A0the<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0same. At<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0the<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0moment I&#3=
9;m using a config file from another server<br>
&gt; =A0 =A0 =A0where I<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0have a<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0working<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Windows Ser=
ver 2008 R2 installation, so I dont<br>
&gt; =A0 =A0 =A0think that<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0there is<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0anything wr=
ong with my config:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0Did you try with less v=
cpus, for example 2 ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0how about with less mem=
ory, say 2 GB ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0Did you try with later =
Xen versions? Is that a 32bit<br>
&gt; =A0 =A0 =A0Xen, or<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A064bit Xen<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0hypervisor?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0-- Pasi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0kernel =3D =
&quot;/usr/lib/xen/boot/hvmloader&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0builder =3D=
 &quot;hvm&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0shadow_memo=
ry =3D &quot;8&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0memory =3D =
&quot;4096&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0name =3D &q=
uot;ts&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0vcpus =3D &=
quot;8&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0cpus =3D [&=
quot;0&quot;, &quot;1&quot;, &quot;2&quot;, &quot;3&quot;, &quot;4&quot;, &=
quot;5&quot;, &quot;6&quot;, &quot;7&quot;]<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0pae =3D &qu=
ot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0acpi =3D &q=
uot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0apic =3D &q=
uot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0vfb =3D [ &=
#39;type=3Dvnc, vnclisten=3D10.100.100.50,<br>
&gt; =A0 =A0 =A0vncpasswd=3Dxxx&#39;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0]<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0xen_extende=
d_power_mgmt =3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0vif =3D [ &=
quot;type=3Dioemu, mac=3D00:16:3e:d7:d7:5d,<br>
&gt; =A0 =A0 =A0bridge=3Dxenbr0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0]<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0disk =3D [ =
&quot;phy:/dev/virtuals/ts,hda,w&quot;,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0 &quot;file:/media/iso/windows_server_2=
008_r2_sp1.iso,hdc:cdrom,r&quot; ]<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0on_poweroff=
 =3D &quot;destroy&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0on_reboot =
=3D &quot;restart&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0on_crash =
=3D &quot;restart&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0viridian =
=3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0device_mode=
l =3D &quot;/usr/lib/xen/bin/qemu-dm&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0boot =3D &q=
uot;dc&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0snapshot =
=3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0vncconsole =
=3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0sdl =3D &qu=
ot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0opengl =3D =
&quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0vnc =3D &qu=
ot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0nographic =
=3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0stdvga =3D =
&quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0tsc_mode =
=3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0monitor =3D=
 &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0localtime =
=3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0usb =3D &qu=
ot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0keymap =3D =
&quot;fi&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0xen_platfor=
m_pci =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0pci_msitran=
slate =3D &quot;1&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0pci_power_m=
gmt =3D &quot;0&quot;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A02012/10/1 P=
asi K=E4rkk=E4inen<br>
</div></div>&gt; =A0 =A0 =A0&lt;[1][2][8][14]<a href=3D"mailto:pasik@iki.fi=
">pasik@iki.fi</a>&gt;<br>
<div class=3D"im">&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<=
br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0On Mon,=
 Oct 01, 2012 at 06:46:08PM +0300,<br>
&gt; =A0 =A0 =A0Valtteri<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0Kiviniemi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0wrote:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0Hi,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0Yes, I have viridian=3D1 on my domU config.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Try wit=
h some known good domU configfile.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0-- Pasi=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A02012/10/1 Pasi K=E4rkk=E4inen<br>
</div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&lt;[1][2][3][9][15]<a href=3D"ma=
ilto:pasik@iki.fi">pasik@iki.fi</a>&gt;<br>
<div><div class=3D"h5">&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0=
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0On Mon, Oct 01, 2012 at 05:06:53PM +0300,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0Valtteri<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0Kiviniemi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0wrote:<=
br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Hi,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0I&#39;m now using 3.6.0 and can&#39;t<br>
&gt; =A0 =A0 =A0reproduce that<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0crash<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0anymore,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0so it<b=
r>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0seems<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0that it was a kernel bug.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0OK.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0However I&#39;m still getting black<br>
&gt; =A0 =A0 =A0screen on<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0VNC<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0when trying to install Windows Server<br>
&gt; =A0 =A0 =A02008<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0R2. I can<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0see the<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&quot;windows is<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0loading files&quot; screen but after the<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0installer starts<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0the VNC<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0display goes<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0black.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Any ideas?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0Do you have viridian=3D1 specified for the<br>
&gt; =A0 =A0 =A0windows<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0vm?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0-- Pasi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0- Valtteri<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A02012/10/1 Pasi K=E4rkk=E4inen<br>
</div></div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&lt;[1][2][3][4][10][16]<a =
href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a>&gt;<br>
<div><div class=3D"h5">&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0=
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0On Sun, Sep 30, 2012 at 11:18:03PM<br>
&gt; =A0 =A0 =A0+0300,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0Valtteri<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0Kivinie=
mi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0wrote:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Hi,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0Hello,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0I&#39;m trying to get Windows<br>
&gt; =A0 =A0 =A0Server 2008<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0R2<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0installation<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0booting on<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0Xen<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A04.0.4. Using the following<br>
&gt; =A0 =A0 =A0config:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&lt;snip&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0The domU will start booting<br>
&gt; =A0 =A0 =A0just<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0fine, but<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0after a<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0few<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0minutes the<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0VNC<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0screen goes black. After that<br>
&gt; =A0 =A0 =A0when<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0typing &quot;xm<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0destroy<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ts&quot=
; it<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0will<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0trigger<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0a kernel BUG:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0BUG: unable to handle kernel<br>
&gt; =A0 =A0 =A0NULL<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0pointer<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0dereference<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0at<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A00000000000000030<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0IP: [&lt;ffffffff810c50c4&gt;]<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0iput+0x3e/0x195<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0PGD 0<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Oops: 0000 [#1] SMP<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0CPU 6<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Pid: 3571, comm: qemu-dm Not<br>
&gt; =A0 =A0 =A0tainted<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A03.5.0-dom0 #1<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0First of all upgrade to latest<br>
&gt; =A0 =A0 =A03.5.x Linux<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0kernel<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0release<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0.. so<b=
r>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0at least<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A03.5.4.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0-- Pasi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0/DQ77MK<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0RIP: e030:[&lt;ffffffff810c50c4&gt;]=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0 [&lt;ffffffff810c50c4&=
gt;]<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0iput+0x3e/0x195<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0RSP: e02b:ffff8800389ffbf8<br>
&gt; =A0 =A0 =A0 EFLAGS:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A000010246<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0RAX: 0000000000000001 RBX:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0ffff8800377b0720<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0RCX:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0ffff8800501c0000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0RDX: ffff8800501c0000 RSI:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0ffff8800377b0790<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0RDI:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0ffff8800377b0790<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0RBP: 0000000000000000 R08:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0ffffffff815cdd00<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0R09:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A00000000000000016<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0R10: fefefefefefefeff R11:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0ffff8800377b0400<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0R12:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A000000001000a3e0c<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0R13: 0000000000000000 R14:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A000000001000a3e0c<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0R15:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0ffff8800389ffc28<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0FS: =A000007f1af70a8700(0000)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0GS:ffff880050180000(000=
0)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0knlGS:0000000000000000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0CS: =A0e033 DS: 0000 ES: 0000<br>
&gt; =A0 =A0 =A0CR0:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0000000008005003b<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0CR2: 0000000000000030 CR3:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0000000000156d000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0CR4:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A00000000000002660<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0DR0: 0000000000000000 DR1:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A00000000000000000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0DR2:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A00000000000000000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0DR3: 0000000000000000 DR6:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A000000000ffff0ff0<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0DR7:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A00000000000000400<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Process qemu-dm (pid: 3571,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0threadinfo<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0ffff880=
0389fe000,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0task<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0ffff88003a721260)<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Stack:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 ffff88003a6d6400<br>
&gt; =A0 =A0 =A0ffff8800377b0000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A000000001000a3e0c<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0ffffffff8133ce8f<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 ffff8800377b0400<br>
&gt; =A0 =A0 =A0ffffffff8134b6cd<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0ffff8800389ffc28<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0ffff8800389ffc28<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 ffff8800377b00f8<br>
&gt; =A0 =A0 =A0ffff8800377b0680<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0ffff880038cdcd60<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0ffff8800377b0000<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Call Trace:<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff8133ce8f&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0sk_release_kernel+0x23/=
0x39<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff8134b6cd&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0netdev_run_todo+0x1e9/0=
x206<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff8129798f&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0tun_chr_close+0x4c/0x7b=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff810b39d3&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0fput+0xe4/0x1c5<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff810b202c&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0filp_close+0x61/0x68<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff81035e62&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0put_files_struct+0x62/0=
xb9<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff81036374&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0do_exit+0x24a/0x74c<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff81036906&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0do_group_exit+0x6b/0x9d=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff8103ea0b&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0get_sig=
nal_to_deliver+0x449/0x46e<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff81009fa5&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0do_signal+0x28/0x4c4<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff81027079&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0pvclock=
_clocksource_read+0x48/0xbf<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff8105b745&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0ktime_get_ts+0x66/0xa8<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff810bfb18&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0poll_se=
lect_copy_remaining+0xe0/0xf5<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff8100a48d&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0do_notify_resume+0x3b/0=
x74<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 [&lt;ffffffff81411a70&gt;] ?<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0int_signal+0x12/0x17<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Code: 00 00 00 40 74 02 0f 0b<br>
&gt; =A0 =A0 =A048 8d<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A077 70 48<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A08d bf 08<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A001 00<b=
r>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A000 e8<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A08b 71 10<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A000 85 c0 0f 84 5d 01 00 00 48<br>
&gt; =A0 =A0 =A08b 6b<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A018 f6 83<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A080 00 00<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A000 08<b=
r>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&lt;4c&gt; 8b<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A065 30<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A074 11 be 68 05 00 00 48 c7 c7<br>
&gt; =A0 =A0 =A08e df<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A04f 81 e8<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0bb d0<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0RIP =A0[&lt;ffffffff810c50c4&gt;]<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0iput+0x3e/0x195<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 RSP &lt;ffff8800389ffbf8&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0CR2: 0000000000000030<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0---[ end trace<br>
&gt; =A0 =A0 =A067cc1654658fedcc ]---<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Fixing recursive fault but<br>
&gt; =A0 =A0 =A0reboot is<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0needed!<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0I also tested Xen 4.2.0 and<br>
&gt; =A0 =A0 =A0problem<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0is the<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0same. So<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0is this=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0a Xen<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0bug or a<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0kernel bug? I am running<br>
&gt; =A0 =A0 =A0vanilla<br>
</div></div>&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =
=A0 =A0[1][2][3][4][5][11][17]<a href=3D"http://kernel.org" target=3D"_blan=
k">kernel.org</a> kernel<br>
<div class=3D"im">&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A03.5.0 and<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0my<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0hardware is Intel Core i7-3770<br>
&gt; =A0 =A0 =A0CPU<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0and Intel<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0DQ77MK<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0motherboard<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0with<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0latest bios.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Best regards,<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Valtteri Kiviniemi<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; References<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Visible links<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A01.<br>
</div>&gt; =A0 =A0 =A0[3][4][5][6][12][18]<a href=3D"http://kernel.org/" ta=
rget=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0_______________________________________=
________<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt; Xen-devel mailing list<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0[4][5][6][7][13][19]<a href=3D"mailto:Xen-devel@lists.xen.o=
rg">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0[5][6][7][8][14][20]<a href=3D"http://l=
ists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel</a=
><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; References<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A0Visible links<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A01.<br>
&gt; =A0 =A0 =A0mailto:[7][8][9][15][21]<a href=3D"mailto:pasik@iki.fi">pas=
ik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A02.<br>
&gt; =A0 =A0 =A0[8][9][10][16][22]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A03.<br>
&gt; =A0 =A0 =A0[9][10][11][17][23]<a href=3D"http://kernel.org/" target=3D=
"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A04.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0mailto:[10][11][12][18][24]<a href=3D"m=
ailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0 =A0&gt; =A0 =A05.<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0[11][12][13][19][25]<a href=3D"http://l=
ists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel</a=
><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; Re=
ferences<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br=
>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A0Visible links<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A01. mailto:[13][14][20][26]<a href=3D"mailto:pasik@iki.fi">pasik@iki.=
fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A02. mailto:[14][15][21][27]<a href=3D"mailto:pasik@iki.fi">pasik@iki.=
fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A03. [15][16][22][28]<a href=3D"http://kernel.org/" target=3D"_blank">=
http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A04. [16][17][23][29]<a href=3D"http://kernel.org/" target=3D"_blank">=
http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A05.<br>
&gt; =A0 =A0 =A0mailto:[17][18][24][30]<a href=3D"mailto:Xen-devel@lists.xe=
n.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A06.<br>
&gt; =A0 =A0 =A0[18][19][25][31]<a href=3D"http://lists.xen.org/xen-devel" =
target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A07. mailto:[19][20][26][32]<a href=3D"mailto:pasik@iki.fi">pasik@iki.=
fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A08. [20][21][27][33]<a href=3D"http://kernel.org/" target=3D"_blank">=
http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 =A09. [21][22][28][34]<a href=3D"http://kernel.org/" target=3D"_blank">=
http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 10.<br>
&gt; =A0 =A0 =A0mailto:[22][23][29][35]<a href=3D"mailto:Xen-devel@lists.xe=
n.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =
=A0 11.<br>
&gt; =A0 =A0 =A0[23][24][30][36]<a href=3D"http://lists.xen.org/xen-devel" =
target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; References<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A0Visible lin=
ks<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A01. mailto:[=
25][31][37]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A02. mailto:[=
26][32][38]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A03. mailto:[=
27][33][39]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A04. [28][34]=
[40]<a href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a>=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A05. [29][35]=
[41]<a href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a>=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A06. mailto:[=
30][36][42]<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.o=
rg</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A07. [31][37]=
[43]<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lis=
ts.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A08. mailto:[=
32][38][44]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 =A09. [33][39]=
[45]<a href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a>=
<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 10. [34][40][4=
6]<a href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a><b=
r>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 11. mailto:[35=
][41][47]<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org=
</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 12. [36][42][4=
8]<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists=
.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 13. mailto:[37=
][43][49]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 14. mailto:[38=
][44][50]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 15. [39][45][5=
1]<a href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a><b=
r>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 16. [40][46][5=
2]<a href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a><b=
r>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 17. mailto:[41=
][47][53]<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org=
</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 18. [42][48][5=
4]<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists=
.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 19. mailto:[43=
][49][55]<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 20. [44][50][5=
6]<a href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a><b=
r>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 21. [45][51][5=
7]<a href=3D"http://kernel.org/" target=3D"_blank">http://kernel.org/</a><b=
r>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 22. mailto:[46=
][52][58]<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org=
</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0 =A0&gt; =A0 23. [47][53][5=
9]<a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">http://lists=
.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; References<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A0Visible links<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A01. mailto:[54][60]<a href=
=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A02. mailto:[55][61]<a href=
=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A03. mailto:[56][62]<a href=
=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A04. mailto:[57][63]<a href=
=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A05. [58][64]<a href=3D"http:=
//kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A06. [59][65]<a href=3D"http:=
//kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A07. mailto:[60][66]<a href=
=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A08. [61][67]<a href=3D"http:=
//lists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel=
</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 =A09. mailto:[62][68]<a href=
=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 10. [63][69]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 11. [64][70]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 12. mailto:[65][71]<a href=3D"=
mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 13. [66][72]<a href=3D"http://=
lists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel</=
a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 14. mailto:[67][73]<a href=3D"=
mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 15. mailto:[68][74]<a href=3D"=
mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 16. [69][75]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 17. [70][76]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 18. mailto:[71][77]<a href=3D"=
mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 19. [72][78]<a href=3D"http://=
lists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel</=
a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 20. mailto:[73][79]<a href=3D"=
mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 21. [74][80]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 22. [75][81]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 23. mailto:[76][82]<a href=3D"=
mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 24. [77][83]<a href=3D"http://=
lists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel</=
a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 25. mailto:[78][84]<a href=3D"=
mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 26. mailto:[79][85]<a href=3D"=
mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 27. mailto:[80][86]<a href=3D"=
mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 28. [81][87]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 29. [82][88]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 30. mailto:[83][89]<a href=3D"=
mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 31. [84][90]<a href=3D"http://=
lists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel</=
a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 32. mailto:[85][91]<a href=3D"=
mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 33. [86][92]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 34. [87][93]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 35. mailto:[88][94]<a href=3D"=
mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 36. [89][95]<a href=3D"http://=
lists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel</=
a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 37. mailto:[90][96]<a href=3D"=
mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 38. mailto:[91][97]<a href=3D"=
mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 39. [92][98]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 40. [93][99]<a href=3D"http://=
kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 41. mailto:[94][100]<a href=3D=
"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 42. [95][101]<a href=3D"http:/=
/lists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel<=
/a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 43. mailto:[96][102]<a href=3D=
"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 44. [97][103]<a href=3D"http:/=
/kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 45. [98][104]<a href=3D"http:/=
/kernel.org/" target=3D"_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 46. mailto:[99][105]<a href=3D=
"mailto:Xen-devel@lists.xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A0 =A0 =A0&gt; =A0 47. [100][106]<a href=3D"http:=
//lists.xen.org/xen-devel" target=3D"_blank">http://lists.xen.org/xen-devel=
</a><br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; References<br>
&gt; =A0 =A0 =A0&gt;<br>
&gt; =A0 =A0 =A0&gt; =A0 =A0Visible links<br>
&gt; =A0 =A0 =A0&gt; =A0 =A01. mailto:[107]<a href=3D"mailto:kiviniemi.valt=
teri@gmail.com">kiviniemi.valtteri@gmail.com</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A02. [108]<a href=3D"http://ark.intel.com/product=
s/65719/" target=3D"_blank">http://ark.intel.com/products/65719/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A03.<br>
&gt; =A0 =A0 =A0[109]<a href=3D"http://www.intel.com/content/www/us/en/moth=
erboards/desktop-motherboards/desktop-board-dq77mk.html" target=3D"_blank">=
http://www.intel.com/content/www/us/en/motherboards/desktop-motherboards/de=
sktop-board-dq77mk.html</a><br>

&gt; =A0 =A0 =A0&gt; =A0 =A04. mailto:[110]<a href=3D"mailto:root@dataproof=
.fi">root@dataproof.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A05. mailto:[111]<a href=3D"mailto:pasik@iki.fi">=
pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A06. [112]<a href=3D"http://xen.org/" target=3D"_=
blank">http://xen.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A07. mailto:[113]<a href=3D"mailto:pasik@iki.fi">=
pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A08. mailto:[114]<a href=3D"mailto:pasik@iki.fi">=
pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 =A09. mailto:[115]<a href=3D"mailto:pasik@iki.fi">=
pasik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 10. mailto:[116]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 11. [117]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 12. [118]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 13. mailto:[119]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 14. [120]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 15. mailto:[121]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 16. [122]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 17. [123]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 18. mailto:[124]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 19. [125]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 20. mailto:[126]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 21. mailto:[127]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 22. [128]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 23. [129]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 24. mailto:[130]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 25. [131]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 26. mailto:[132]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 27. [133]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 28. [134]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 29. mailto:[135]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 30. [136]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 31. mailto:[137]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 32. mailto:[138]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 33. mailto:[139]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 34. [140]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 35. [141]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 36. mailto:[142]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 37. [143]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 38. mailto:[144]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 39. [145]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 40. [146]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 41. mailto:[147]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 42. [148]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 43. mailto:[149]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 44. mailto:[150]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 45. [151]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 46. [152]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 47. mailto:[153]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 48. [154]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 49. mailto:[155]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 50. [156]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 51. [157]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 52. mailto:[158]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 53. [159]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 54. mailto:[160]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 55. mailto:[161]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 56. mailto:[162]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 57. mailto:[163]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 58. [164]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 59. [165]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 60. mailto:[166]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 61. [167]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 62. mailto:[168]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 63. [169]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 64. [170]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 65. mailto:[171]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 66. [172]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 67. mailto:[173]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 68. mailto:[174]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 69. [175]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 70. [176]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 71. mailto:[177]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 72. [178]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 73. mailto:[179]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 74. [180]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 75. [181]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 76. mailto:[182]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 77. [183]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 78. mailto:[184]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 79. mailto:[185]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 80. mailto:[186]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 81. [187]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 82. [188]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 83. mailto:[189]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 84. [190]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 85. mailto:[191]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 86. [192]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 87. [193]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 88. mailto:[194]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 89. [195]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 90. mailto:[196]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 91. mailto:[197]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 92. [198]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 93. [199]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 94. mailto:[200]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0 95. [201]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt; =A0 =A0 =A0&gt; =A0 96. mailto:[202]<a href=3D"mailto:pasik@iki.fi">pa=
sik@iki.fi</a><br>
&gt; =A0 =A0 =A0&gt; =A0 97. [203]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 98. [204]<a href=3D"http://kernel.org/" target=3D"=
_blank">http://kernel.org/</a><br>
&gt; =A0 =A0 =A0&gt; =A0 99. mailto:[205]<a href=3D"mailto:Xen-devel@lists.=
xen.org">Xen-devel@lists.xen.org</a><br>
&gt; =A0 =A0 =A0&gt; =A0100. [206]<a href=3D"http://lists.xen.org/xen-devel=
" target=3D"_blank">http://lists.xen.org/xen-devel</a><br>
&gt;<br>
&gt; References<br>
&gt;<br>
&gt; =A0 =A0Visible links<br>
&gt; =A0 =A01. <a href=3D"http://nago.fi/dmesg.txt" target=3D"_blank">http:=
//nago.fi/dmesg.txt</a><br>
&gt; =A0 =A02. <a href=3D"http://nago.fi/qemu-dm.txt" target=3D"_blank">htt=
p://nago.fi/qemu-dm.txt</a><br>
&gt; =A0 =A03. <a href=3D"http://nago.fi/xm-dmesg.txt" target=3D"_blank">ht=
tp://nago.fi/xm-dmesg.txt</a><br>
&gt; =A0 =A04. <a href=3D"http://nago.fi/domu-config.txt" target=3D"_blank"=
>http://nago.fi/domu-config.txt</a><br>
&gt; =A0 =A05. <a href=3D"http://nago.fi/dom0-config.txt" target=3D"_blank"=
>http://nago.fi/dom0-config.txt</a><br>
&gt; =A0 =A06. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 =A07. mailto:<a href=3D"mailto:kiviniemi.valtteri@gmail.com">kivin=
iemi.valtteri@gmail.com</a><br>
&gt; =A0 =A08. <a href=3D"http://ark.intel.com/products/65719/" target=3D"_=
blank">http://ark.intel.com/products/65719/</a><br>
&gt; =A0 =A09. <a href=3D"http://www.intel.com/content/www/us/en/motherboar=
ds/desktop-motherboards/desktop-board-dq77mk.html" target=3D"_blank">http:/=
/www.intel.com/content/www/us/en/motherboards/desktop-motherboards/desktop-=
board-dq77mk.html</a><br>

&gt; =A0 10. mailto:<a href=3D"mailto:root@dataproof.fi">root@dataproof.fi<=
/a><br>
&gt; =A0 11. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 12. <a href=3D"http://xen.org/" target=3D"_blank">http://xen.org/<=
/a><br>
&gt; =A0 13. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
<div class=3D"im">&gt; =A0 14. mailto:<a href=3D"mailto:pasik@iki.fi">pasik=
@iki.fi</a><br>
&gt; =A0 15. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
</div>&gt; =A0 16. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><=
br>
&gt; =A0 17. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 18. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 19. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 20. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
<div class=3D"im">&gt; =A0 21. mailto:<a href=3D"mailto:pasik@iki.fi">pasik=
@iki.fi</a><br>
&gt; =A0 22. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 23. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 24. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 25. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 26. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
</div><div class=3D"im">&gt; =A0 27. mailto:<a href=3D"mailto:pasik@iki.fi"=
>pasik@iki.fi</a><br>
&gt; =A0 28. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 29. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 30. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 31. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 32. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 33. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 34. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 35. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 36. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 37. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 38. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
</div>&gt; =A0 39. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><=
br>
&gt; =A0 40. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 41. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 42. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 43. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
<div class=3D"im">&gt; =A0 44. mailto:<a href=3D"mailto:pasik@iki.fi">pasik=
@iki.fi</a><br>
&gt; =A0 45. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 46. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 47. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 48. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 49. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
</div>&gt; =A0 50. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><=
br>
&gt; =A0 51. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 52. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 53. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 54. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 55. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 56. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 57. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 58. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 59. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 60. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 61. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 62. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 63. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 64. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 65. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 66. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 67. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
<div class=3D"im">&gt; =A0 68. mailto:<a href=3D"mailto:pasik@iki.fi">pasik=
@iki.fi</a><br>
&gt; =A0 69. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 70. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 71. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 72. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 73. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
</div>&gt; =A0 74. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><=
br>
&gt; =A0 75. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 76. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 77. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 78. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 79. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 80. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 81. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 82. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 83. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 84. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 85. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 86. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0 87. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 88. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 89. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 90. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
<div class=3D"im">&gt; =A0 91. mailto:<a href=3D"mailto:pasik@iki.fi">pasik=
@iki.fi</a><br>
&gt; =A0 92. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 93. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 94. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0 95. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0 96. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
</div>&gt; =A0 97. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><=
br>
&gt; =A0 98. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0 99. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0100. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0101. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0102. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0103. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0104. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0105. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0106. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0107. mailto:<a href=3D"mailto:kiviniemi.valtteri@gmail.com">kivinie=
mi.valtteri@gmail.com</a><br>
&gt; =A0108. <a href=3D"http://ark.intel.com/products/65719/" target=3D"_bl=
ank">http://ark.intel.com/products/65719/</a><br>
&gt; =A0109. <a href=3D"http://www.intel.com/content/www/us/en/motherboards=
/desktop-motherboards/desktop-board-dq77mk.html" target=3D"_blank">http://w=
ww.intel.com/content/www/us/en/motherboards/desktop-motherboards/desktop-bo=
ard-dq77mk.html</a><br>

&gt; =A0110. mailto:<a href=3D"mailto:root@dataproof.fi">root@dataproof.fi<=
/a><br>
&gt; =A0111. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0112. <a href=3D"http://xen.org/" target=3D"_blank">http://xen.org/<=
/a><br>
&gt; =A0113. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0114. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0115. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0116. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0117. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0118. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0119. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0120. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0121. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0122. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0123. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0124. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0125. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0126. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0127. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0128. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0129. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0130. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0131. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0132. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0133. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0134. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0135. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0136. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0137. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0138. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0139. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0140. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0141. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0142. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0143. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0144. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0145. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0146. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0147. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0148. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0149. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0150. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0151. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0152. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0153. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0154. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0155. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0156. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0157. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0158. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0159. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0160. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0161. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0162. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0163. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0164. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0165. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0166. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0167. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0168. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0169. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0170. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0171. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0172. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0173. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0174. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0175. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0176. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0177. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0178. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0179. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0180. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0181. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0182. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0183. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0184. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0185. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0186. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0187. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0188. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0189. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0190. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0191. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0192. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0193. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0194. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0195. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0196. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0197. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0198. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0199. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0200. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0201. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
&gt; =A0202. mailto:<a href=3D"mailto:pasik@iki.fi">pasik@iki.fi</a><br>
&gt; =A0203. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0204. <a href=3D"http://kernel.org/" target=3D"_blank">http://kernel=
.org/</a><br>
&gt; =A0205. mailto:<a href=3D"mailto:Xen-devel@lists.xen.org">Xen-devel@li=
sts.xen.org</a><br>
&gt; =A0206. <a href=3D"http://lists.xen.org/xen-devel" target=3D"_blank">h=
ttp://lists.xen.org/xen-devel</a><br>
</blockquote></div><br>

--20cf30563c0d436e7b04cb13c0b5--


--===============5962986339054632322==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--===============5962986339054632322==--


From xen-devel-bounces@lists.xen.org Tue Oct 02 13:54:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Oct 2012 13:54:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TJ2vk-0003bs-86; Tue, 02 Oct 2012 13:54:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <pasik@iki.fi>) id 1TJ2vi-0003bi-6n
	for Xen-devel@lists.xen.org; Tue, 02 Oct 2012 13:54:34 +0000
Received: from [85.158.138.51:45063] by server-11.bemta-3.messagelabs.com id
	85/8F-21460-912FA605; Tue, 02 Oct 2012 13:54:33 +0000
X-Env-Sender: pasik@iki.fi
X-Msg-Ref: server-12.tower-174.messagelabs.com!1349186071!24878674!1
X-Originating-IP: [192.89.123.25]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjg5LjEyMy4yNSA9PiA1MjMzMTI=\n
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28469 invoked from network); 2 Oct 2012 13:54:32 -0000
Received: from smtp.tele.fi (HELO smtp.tele.fi) (192.89.123.25)
	by server-12.tower-174.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 Oct 2012 13:54:32 -0000
X-Originating-Ip: [194.89.68.22]
Received: from ydin.reaktio.net (reaktio.net [194.89.68.22])
	by smtp.tele.fi (Postfix) with ESMTP id 9325A25C6;
	Tue,  2 Oct 2012 16:54:31 +0300 (EEST)
Received: by ydin.reaktio.net (Postfix, from userid 1001)
	id 725F420058; Tue,  2 Oct 2012 16:54:31 +0300 (EEST)
Date: Tue, 2 Oct 2012 16:54:31 +0300
From: Pasi =?iso-8859-1?Q?K=E4rkk=E4inen?= <pasik@iki.fi>
To: Valtteri Kiviniemi <kiviniemi.valtteri@gmail.com>
Message-ID: <20121002135431.GN8912@reaktio.net>
References: <CAN=sCCHXj+4iEmxJNFdtmeVvqrF2q_kDNqF6d9=bRCq8uMOdkw@mail.gmail.com>
	<20121001164757.GF8912@reaktio.net>
	<CAN=sCCF5B-Ga9ZvTJ=pMWjFXjA5Y=so4ZgEKu5ee+iyddd7hvA@mail.gmail.com>
	<20121001182437.GG8912@reaktio.net>
	<CAN=sCCH3UjK=xs8MwJMLUvU0Otpwu30f3aBDOv+vxis3hVxUmg@mail.gmail.com>
	<CAN=sCCF9OSuCZ7t1gi+q-A+2xSyRyoo5Jz+DoFXCK0_-D9065Q@mail.gmail.com>
	<20121002121932.GL8912@reaktio.net>
	<CAN=sCCH_HCAW=9VGWg651g-AKAP2mqGVCvVovCtCQrU5HazxjQ@mail.gmail.com>
	<20121002131407.GM8912@reaktio.net>
	<CAN=sCCHVHxLaR+_mWeAXO1a3WYTanCuzk+xQXBGJ=Ni8+SL7ew@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CAN=sCCHVHxLaR+_mWeAXO1a3WYTanCuzk+xQXBGJ=Ni8+SL7ew@mail.gmail.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: Xen-devel@lists.xen.org
Subject: Re: [Xen-devel] Xen 4.0.4, kernel 3.5.0 HVM crash and kernel BUG
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Tue, Oct 02, 2012 at 04:46:37PM +0300, Valtteri Kiviniemi wrote:
>    Hi,
> =

>    I have not enabled debug on Xen or dom0 kernel. Could you tell me the
>    parameters for Xen coompilation needed to enable debugging? And If you
>    would also happen to know what are the options needed to enable kernel
>    debugging in menuconfig? Well I can probably manage to get the kernel
>    debugging enabled myself, but if you happen to know them please share =
so
>    maybe I can get everything enabled at the first try :)
>

I didn't mean compilation options, just the xen/kernel cmdline options,
please use these:

xen.gz loglvl=3Dall guest_loglvl=3Dall sync_console lapic=3Ddebug apic_verb=
osity=3Ddebug apic=3Ddebug iommu=3Doff
vmlinuz console=3Dhvc0 earlyprintk=3Dxen nomodeset initcall_debug debug log=
level=3D10

Plus your serial console settings for xen.gz, of course.

-- Pasi
 =


>    Thanks!
> =

>    - Valtteri
> =

>    2012/10/2 Pasi K=E4rkk=E4inen <[1]pasik@iki.fi>
> =

>      On Tue, Oct 02, 2012 at 04:01:04PM +0300, Valtteri Kiviniemi wrote:
>      >    Hi,
>      >
>      >    I already tried 3.2, 3.5, 3.5.0, 3.6.0-rc7 and 3.6.0, same prob=
lem
>      all of
>      >    those. My dom0 config is the same config that I'am using on oth=
er
>      server
>      >    where HVM is working, so I dont think that it is a config probl=
em.
>      I have
>      >    triple checked everything and all should be ok. dom0 dmesg shows
>      the same
>      >    crash that I have previously posted here. /var/log/xen/ does not
>      contain
>      >    any specific errors.
>      >
>      >    Could this be some kind of broblem with my motherboard bios bei=
ng
>      buggy or
>      >    CPU not supported? I'm using the new intel Ivy Bridge processor
>      which has
>      >    integrated GPU, but that should not probably cause these kind of
>      problems.
>      >    Or maybe some ACPI problem? xm dmesg is showing some notices ab=
out
>      ACPI.
>      >    Is there any ACPI kernel parameters that I should try booting? =
This
>      has to
>      >    be somekind of problem with my hardware, or then maybe it could=
 be
>      a
>      >    kernel problem too. I just really cant figure this out myself, I
>      have
>      >    tried everything.
>      >
> =

>      Hmm.. I have some distant memories of seeing a patch that fixes a bug
>      on recent Ivy Bridge systems, but I can't find a link right now.
>      Maybe you're affected by that..
> =

>      Also: Did you already post the crash log, with all the debug/verbose
>      options enabled for both Xen and dom0 kernel?
> =

>      -- Pasi
>      >    Lets take a quick summary of what has been tested, what hardware
>      I'm using
>      >    etc.
>      >
>      >    Xen-versions tested: 4.2.0, 4.0.4
>      >    Kernel-versions tested: 3.2.0, 3.5.0, 3.5.4, 3.6.0-rc7, 3.6.0
>      >
>      >    Host OS: Debian testing/wheezy, udev version 175-7, 2.13-35, py=
thon
>      >    version 2.7.3~rc2-2.1
>      >
>      >    Hardware:
>      >
>      >    CPU: Intel Core i7-3770 3.4GHz
>      >    MB: Intel DQ77MK (latest bios updated)
>      >    Memory: 32GB (4 x 8GB DDR3-1600MHz)
>      >
>      >    All relevant log files and configs:
>      >
>      >    dom0 dmesg: [1][2]http://nago.fi/dmesg.txt
>      >    qemu-dm log: [2][3]http://nago.fi/qemu-dm.txt
>      >    xm dmesg log: [3][4]http://nago.fi/xm-dmesg.txt
>      >    domU config: [4][5]http://nago.fi/domu-config.txt
>      >    dom0 kernel config: [5][6]http://nago.fi/dom0-config.txt
>      >
>      >    I have also tried playing with every setting on that domU that I
>      can think
>      >    of and tried different configs etc.
>      >
>      >    - Valtteri
>      >
>      >    2012/10/2 Pasi K=E4rkk=E4inen <[6][7]pasik@iki.fi>
>      >
>      >      On Tue, Oct 02, 2012 at 03:11:07PM +0300, Valtteri Kiviniemi
>      wrote:
>      >      >    Hi,
>      >      >
>      >      >    Another update:
>      >      >
>      >      >    I wanted to check that if a Linux HVM would boot with
>      working VNC
>      >      console,
>      >      >    so I tried to launch a Debian Squeeze installer on HVM. =
It
>      refused
>      >      to
>      >      >    start ant told me that vbd hotplug scripts were not work=
ing.
>      After
>      >      that
>      >      >    failure even the Windows domU would not anymore start wh=
ich
>      was
>      >      previously
>      >      >    starting ok.
>      >      >
>      >      >    The hotplug scripts also starts hanging on the processes.
>      >      >
>      >      >    root      9401  0.1  0.1  17700  1640 ?        S    15:05
>      0:00
>      >      /bin/bash
>      >      >    /etc/xen/scripts/xen-hotplug-cleanup
>      >      >    root      9441  0.1  0.1  17700  1644 ?        S    15:05
>      0:00
>      >      /bin/bash
>      >      >    /etc/xen/scripts/xen-hotplug-cleanup
>      >      >    root      9481  0.1  0.1  17700  1640 ?        S    15:05
>      0:00
>      >      /bin/bash
>      >      >    /etc/xen/scripts/xen-hotplug-cleanup
>      >      >    root      9560  0.1  0.1  17700  1640 ?        S    15:05
>      0:00
>      >      /bin/bash
>      >      >    /etc/xen/scripts/xen-hotplug-cleanup
>      >      >    root     10738  0.1  0.1  17696  1636 ?        S    15:05
>      0:00
>      >      /bin/bash
>      >      >    /etc/xen/scripts/xen-hotplug-cleanup
>      >      >    root     10747  0.1  0.1  17792  1736 ?        S    15:05
>      0:00
>      >      /bin/bash
>      >      >    /etc/xen/scripts/block remove
>      >      >    root     11286  0.0  0.0   4080   324 ?        S    15:06
>      0:00
>      >      sleep 1
>      >      >    root     11290  0.0  0.0   4080   324 ?        S    15:06
>      0:00
>      >      sleep 1
>      >      >    root     11294  0.0  0.0   4080   324 ?        S    15:06
>      0:00
>      >      sleep 1
>      >      >    root     11298  0.0  0.0   4080   324 ?        S    15:06
>      0:00
>      >      sleep 1
>      >      >    root     11302  0.0  0.0   4080   320 ?        S    15:06
>      0:00
>      >      sleep 1
>      >      >    root     11306  0.0  0.0   4080   320 ?        S    15:06
>      0:00
>      >      sleep 1
>      >      >
>      >      >    Then I did a xm destroy and I had again the kernel BUG on
>      dmesg. So
>      >      it
>      >      >    seems that the problem is not fixed by using 3.6.0. Udev
>      version is
>      >      175-7.
>      >      >
>      >
>      >      So you have definitely something broken in your system,
>      >      probably in your dom0 kernel. Try with Linux 3.5.4 or 3.4.x,
>      >      and see how that goes.
>      >
>      >      Any errors in dom0 dmesg? How about in /var/log/xen/* ?
>      >
>      >      -- Pasi
>      >
>      >      >
>      >      >
>      >      >    2012/10/1 Valtteri Kiviniemi
>      <[1][7][8]kiviniemi.valtteri@gmail.com>
>      >      >
>      >      >      Hi,
>      >      >
>      >      >      CPU: Intel Core i7-3770 3.4GHz
>      >      >      [2][8][9]http://ark.intel.com/products/65719/
>      >      >
>      >      >      MB: Intel DQ77MK (latest bios updated)
>      >      >
>      >
>      [3][9][10]http://www.intel.com/content/www/us/en/motherboards/deskto=
p-motherboards/desktop-board-dq77mk.html
>      >      >
>      >      >      Memory: 32GB (4 x 8GB DDR3-1600MHz)
>      >      >
>      >      >      Host is Debian wheezy/testing, Xen 4.0.4 and latest 3.=
6.0
>      kernel.
>      >      >
>      >      >      Noticed also some errors in xm dmesg:
>      >      >
>      >      >      root@xen-2:~# xm dmesg
>      >      >
>      >      >      (XEN) Xen version 4.0.4 ([4][10][11]root@dataproof.fi)
>      (gcc version
>      >      4.7.1
>      >      >      (Debian 4.7.1-7) ) Sun Sep 30 20:28:26 EEST 2012
>      >      >      (XEN) Latest ChangeSet: unavailable
>      >      >      (XEN) Bootloader: GNU GRUB 0.97
>      >      >      (XEN) Command line: dom0_mem=3D1280M cpufreq=3Dxen
>      clocksource=3Dhpet
>      >      >      (XEN) Video information:
>      >      >      (XEN)  VGA is text mode 80x25, font 8x16
>      >      >      (XEN)  VBE/DDC methods: none; EDID transfer time: 0
>      seconds
>      >      >      (XEN)  EDID info not retrieved because no DDC retrieval
>      method
>      >      detected
>      >      >      (XEN) Disc information:
>      >      >      (XEN)  Found 4 MBR signatures
>      >      >      (XEN)  Found 4 EDD information structures
>      >      >      (XEN) Xen-e820 RAM map:
>      >      >      (XEN)  0000000000000000 - 000000000009d800 (usable)
>      >      >      (XEN)  000000000009d800 - 00000000000a0000 (reserved)
>      >      >      (XEN)  00000000000e0000 - 0000000000100000 (reserved)
>      >      >      (XEN)  0000000000100000 - 0000000020000000 (usable)
>      >      >      (XEN)  0000000020000000 - 0000000020200000 (reserved)
>      >      >      (XEN)  0000000020200000 - 0000000040004000 (usable)
>      >      >      (XEN)  0000000040004000 - 0000000040005000 (reserved)
>      >      >      (XEN)  0000000040005000 - 00000000dbe44000 (usable)
>      >      >      (XEN)  00000000dbe44000 - 00000000dc2d7000 (reserved)
>      >      >      (XEN)  00000000dc2d7000 - 00000000dc2e7000 (ACPI data)
>      >      >      (XEN)  00000000dc2e7000 - 00000000dc40c000 (ACPI NVS)
>      >      >      (XEN)  00000000dc40c000 - 00000000dc6af000 (reserved)
>      >      >      (XEN)  00000000dc6af000 - 00000000dc6b0000 (usable)
>      >      >      (XEN)  00000000dc6b0000 - 00000000dc6f3000 (ACPI NVS)
>      >      >      (XEN)  00000000dc6f3000 - 00000000dd000000 (usable)
>      >      >      (XEN)  00000000dd800000 - 00000000dfa00000 (reserved)
>      >      >      (XEN)  00000000f8000000 - 00000000fc000000 (reserved)
>      >      >      (XEN)  00000000fec00000 - 00000000fec01000 (reserved)
>      >      >      (XEN)  00000000fed00000 - 00000000fed04000 (reserved)
>      >      >      (XEN)  00000000fed1c000 - 00000000fed20000 (reserved)
>      >      >      (XEN)  00000000fee00000 - 00000000fee01000 (reserved)
>      >      >      (XEN)  00000000ff000000 - 0000000100000000 (reserved)
>      >      >      (XEN)  0000000100000000 - 000000081e600000 (usable)
>      >      >      (XEN) ACPI: RSDP 000F0490, 0024 (r2  INTEL)
>      >      >      (XEN) ACPI: XSDT DC2DB080, 007C (r1 INTEL  DQ77MK
>      32 AMI
>      >      >      10013)
>      >      >      (XEN) ACPI: FACP DC2E51F0, 010C (r5 INTEL  DQ77MK
>      32 AMI
>      >      >      10013)
>      >      >      (XEN) ACPI Warning (tbfadt-0232): FADT (revision 5) is
>      longer
>      >      than ACPI
>      >      >      2.0 version, truncating length 0x10C to 0xF4 [20070126]
>      >      >      (XEN) ACPI: DSDT DC2DB188, A061 (r2 INTEL  DQ77MK
>      32 INTL
>      >      >      20051117)
>      >      >      (XEN) ACPI: FACS DC40A080, 0040
>      >      >      (XEN) ACPI: APIC DC2E5300, 0092 (r3 INTEL  DQ77MK
>      32 AMI
>      >      >      10013)
>      >      >      (XEN) ACPI: FPDT DC2E5398, 0044 (r1 INTEL  DQ77MK
>      32 AMI
>      >      >      10013)
>      >      >      (XEN) ACPI: TCPA DC2E53E0, 0032 (r2 INTEL  DQ77MK
>      32 MSFT
>      >      >      1000013)
>      >      >      (XEN) ACPI: MCFG DC2E5418, 003C (r1 INTEL  DQ77MK
>      32 MSFT
>      >      >      97)
>      >      >      (XEN) ACPI: HPET DC2E5458, 0038 (r1 INTEL  DQ77MK
>      32 AMI.
>      >      >      5)
>      >      >      (XEN) ACPI: SSDT DC2E5490, 036D (r1 INTEL  DQ77MK
>      32 INTL
>      >      >      20091112)
>      >      >      (XEN) ACPI: SSDT DC2E5800, 09AA (r1 INTEL  DQ77MK
>      32 INTL
>      >      >      20051117)
>      >      >      (XEN) ACPI: SSDT DC2E61B0, 0A92 (r1 INTEL  DQ77MK
>      32 INTL
>      >      >      20051117)
>      >      >      (XEN) ACPI: DMAR DC2E6C48, 00B8 (r1 INTEL  DQ77MK
>      32 INTL
>      >      >      1)
>      >      >      (XEN) ACPI: ASF! DC2E6D00, 00A5 (r32 INTEL  DQ77MK
>      32
>      >      TFSM
>      >      >      F4240)
>      >      >      (XEN) System RAM: 32682MB (33467320kB)
>      >      >      (XEN) Domain heap initialised
>      >      >      (XEN) ACPI: 32/64X FACS address mismatch in FADT -
>      >      >      dc40a080/0000000000000000, using 32
>      >      >      (XEN) Processor #0 7:10 APIC version 21
>      >      >      (XEN) Processor #2 7:10 APIC version 21
>      >      >      (XEN) Processor #4 7:10 APIC version 21
>      >      >      (XEN) Processor #6 7:10 APIC version 21
>      >      >      (XEN) Processor #1 7:10 APIC version 21
>      >      >      (XEN) Processor #3 7:10 APIC version 21
>      >      >      (XEN) Processor #5 7:10 APIC version 21
>      >      >      (XEN) Processor #7 7:10 APIC version 21
>      >      >      (XEN) IOAPIC[0]: apic_id 2, version 32, address
>      0xfec00000, GSI
>      >      0-23
>      >      >      (XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
>      >      >      (XEN) Switched to APIC driver x2apic_cluster.
>      >      >      (XEN) x2APIC mode enabled.
>      >      >      (XEN) Using scheduler: SMP Credit Scheduler (credit)
>      >      >      (XEN) Detected 3392.369 MHz processor.
>      >      >      (XEN) Initing memory sharing.
>      >      >      (XEN) VMX: Supported advanced features:
>      >      >      (XEN)  - APIC MMIO access virtualisation
>      >      >      (XEN)  - APIC TPR shadow
>      >      >      (XEN)  - Extended Page Tables (EPT)
>      >      >      (XEN)  - Virtual-Processor Identifiers (VPID)
>      >      >      (XEN)  - Virtual NMI
>      >      >      (XEN)  - MSR direct-access bitmap
>      >      >      (XEN)  - Unrestricted Guest
>      >      >      (XEN) EPT supports 2MB super page.
>      >      >      (XEN) HVM: ASIDs enabled.
>      >      >      (XEN) HVM: VMX enabled
>      >      >      (XEN) HVM: Hardware Assisted Paging detected.
>      >      >      (XEN) Intel VT-d Snoop Control not 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) I/O virtualisation enabled
>      >      >      (XEN)  - Dom0 mode: Relaxed
>      >      >      (XEN) Enabled directed EOI with ioapic_ack_old on!
>      >      >      (XEN) Total of 8 processors activated.
>      >      >      (XEN) ENABLING IO-APIC IRQs
>      >      >      (XEN)  -> Using old ACK method
>      >      >      (XEN) TSC is reliable, synchronization unnecessary
>      >      >      (XEN) Platform timer appears to have unexpectedly wrap=
ped
>      1
>      >      times.
>      >      >      (XEN) Platform timer is 14.318MHz HPET
>      >      >      (XEN) Allocated console ring of 16 KiB.
>      >      >      (XEN) Brought up 8 CPUs
>      >      >      (XEN) *** LOADING DOMAIN 0 ***
>      >      >      (XEN)  Xen  kernel: 64-bit, lsb, compat32
>      >      >      (XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 =
->
>      >      0x1ae7000
>      >      >      (XEN) PHYSICAL MEMORY ARRANGEMENT:
>      >      >      (XEN)  Dom0 alloc.:   0000000804000000->00000008060000=
00
>      (319488
>      >      pages
>      >      >      to be allocated)
>      >      >      (XEN) VIRTUAL MEMORY ARRANGEMENT:
>      >      >      (XEN)  Loaded kernel: ffffffff81000000->ffffffff81ae70=
00
>      >      >      (XEN)  Init. ramdisk: ffffffff81ae7000->ffffffff81ae70=
00
>      >      >      (XEN)  Phys-Mach map: ffffffff81ae7000->ffffffff81d670=
00
>      >      >      (XEN)  Start info:    ffffffff81d67000->ffffffff81d674=
b4
>      >      >      (XEN)  Page tables:   ffffffff81d68000->ffffffff81d7b0=
00
>      >      >      (XEN)  Boot stack:    ffffffff81d7b000->ffffffff81d7c0=
00
>      >      >      (XEN)  TOTAL:         ffffffff80000000->ffffffff820000=
00
>      >      >      (XEN)  ENTRY ADDRESS: ffffffff815e3210
>      >      >      (XEN) Dom0 has maximum 8 VCPUs
>      >      >      (XEN) [VT-D]iommu.c:718: BIOS did not enable IGD for VT
>      properly.
>      >      >      Disabling IGD VT-d engine.
>      >      >      (XEN) Scrubbing Free RAM: done.
>      >      >      (XEN) Xen trace buffers: disabled
>      >      >      (XEN) Std. Loglevel: Errors and warnings
>      >      >      (XEN) Guest Loglevel: Nothing (Rate-limited: Errors and
>      warnings)
>      >      >      (XEN) Xen is relinquishing VGA console.
>      >      >      (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three ti=
mes
>      to
>      >      switch
>      >      >      input to Xen)
>      >      >      (XEN) Freed 172kB init memory.
>      >      >      (XEN) traps.c:2333:d0 Domain attempted WRMSR
>      000000000000008b
>      >      from
>      >      >      00000012:00000000 to 00000000:00000000.
>      >      >
>      >      >      - Valtteri
>      >      >
>      >      >      2012/10/1 Pasi K=E4rkk=E4inen <[5][11][12]pasik@iki.fi>
>      >      >
>      >      >        On Mon, Oct 01, 2012 at 09:12:50PM +0300, Valtteri
>      Kiviniemi
>      >      wrote:
>      >      >        >    Hi,
>      >      >        >
>      >      >        >    Lowering memory or vcpu's does not help, proble=
m is
>      the
>      >      same. I
>      >      >        originally
>      >      >        >    installed Xen 4.2.0 and the problem was same on
>      that too.
>      >      Then I
>      >      >        >    downgraded back to 4.0.4 since I thought that t=
his
>      might
>      >      be a bug
>      >      >        on
>      >      >        >    4.2.0. I have been previously running Windows
>      Server 2008
>      >      R2
>      >      >        succesfully
>      >      >        >    on Xen 4.0.x on different hardware with this sa=
me
>      config.
>      >      >        Hypervisor is
>      >      >        >    64bit and windows is 64bit.
>      >      >        >
>      >      >        >    Any ideas what to try next?
>      >      >        >
>      >      >
>      >      >        What kind of hardware is that?
>      >      >
>      >      >        [6][12][13]xen.org automated testing regularly tests
>      Windows VMs,
>      >      and it works
>      >      >        OK there.
>      >      >
>      >      >        -- Pasi
>      >      >        >    Ps. qemu-dm.log is the following:
>      >      >        >
>      >      >        >    domid: 10
>      >      >        >    config qemu network with xen bridge for  tap10.0
>      xenbr0
>      >      >        >    Using file /dev/virtuals/ts in read-write mode
>      >      >        >    Using file
>      /media/iso/windows_server_2008_r2_sp1.iso in
>      >      read-only
>      >      >        mode
>      >      >        >    Watching
>      /local/domain/0/device-model/10/logdirty/cmd
>      >      >        >    Watching /local/domain/0/device-model/10/command
>      >      >        >    qemu_map_cache_init nr_buckets =3D 10000 size 4=
194304
>      >      >        >    shared page at pfn feffd
>      >      >        >    buffered io page at pfn feffb
>      >      >        >    Guest uuid =3D 52f19e23-2955-c27d-a22c-60c5d8c6=
0d5a
>      >      >        >    Time offset set 0
>      >      >        >    populating video RAM at ff000000
>      >      >        >    mapping video RAM from ff000000
>      >      >        >    Register xen platform.
>      >      >        >    Done register platform.
>      >      >        >    platform_fixed_ioport: changed ro/rw state of R=
OM
>      memory
>      >      area.
>      >      >        now is rw
>      >      >        >    state.
>      >      >        >
>      >
>      xs_read(/local/domain/0/device-model/10/xen_extended_power_mgmt):
>      >      >        read
>      >      >        >    error
>      >      >        >    medium change watch on `hdc' (index: 1):
>      >      >        >    /media/iso/windows_server_2008_r2_sp1.iso
>      >      >        >    I/O request not ready: 0, ptr: 0, port: 0, data=
: 0,
>      count:
>      >      0,
>      >      >        size: 0
>      >      >        >    Log-dirty: no command yet.
>      >      >        >    xs_read(/local/domain/10/log-throttling): read
>      error
>      >      >        >    qemu: ignoring not-understood drive
>      >      >        `/local/domain/10/log-throttling'
>      >      >        >    medium change watch on
>      `/local/domain/10/log-throttling' -
>      >      >        unknown device,
>      >      >        >    ignored
>      >      >        >    cirrus vga map change while on lfb mode
>      >      >        >    mapping vram to f0000000 - f0400000
>      >      >        >    platform_fixed_ioport: changed ro/rw state of R=
OM
>      memory
>      >      area.
>      >      >        now is rw
>      >      >        >    state.
>      >      >        >    platform_fixed_ioport: changed ro/rw state of R=
OM
>      memory
>      >      area.
>      >      >        now is ro
>      >      >        >    state.
>      >      >        >
>      >      >        >    2012/10/1 Pasi K=E4rkk=E4inen
>      <[1][7][13][14]pasik@iki.fi>
>      >      >        >
>      >      >        >      On Mon, Oct 01, 2012 at 07:23:44PM +0300,
>      Valtteri
>      >      Kiviniemi
>      >      >        wrote:
>      >      >        >      >    Hi,
>      >      >        >      >
>      >      >        >      >    I have tried other config files, but the
>      problem is
>      >      the
>      >      >        same. At
>      >      >        >      the
>      >      >        >      >    moment I'm using a config file from anot=
her
>      server
>      >      where I
>      >      >        have a
>      >      >        >      working
>      >      >        >      >    Windows Server 2008 R2 installation, so I
>      dont
>      >      think that
>      >      >        there is
>      >      >        >      >    anything wrong with my config:
>      >      >        >      >
>      >      >        >
>      >      >        >      Did you try with less vcpus, for example 2 ?
>      >      >        >      how about with less memory, say 2 GB ?
>      >      >        >
>      >      >        >      Did you try with later Xen versions? Is that a
>      32bit
>      >      Xen, or
>      >      >        64bit Xen
>      >      >        >      hypervisor?
>      >      >        >
>      >      >        >      -- Pasi
>      >      >        >      >    kernel =3D "/usr/lib/xen/boot/hvmloader"
>      >      >        >      >    builder =3D "hvm"
>      >      >        >      >    shadow_memory =3D "8"
>      >      >        >      >    memory =3D "4096"
>      >      >        >      >    name =3D "ts"
>      >      >        >      >    vcpus =3D "8"
>      >      >        >      >    cpus =3D ["0", "1", "2", "3", "4", "5", =
"6",
>      "7"]
>      >      >        >      >    pae =3D "1"
>      >      >        >      >    acpi =3D "1"
>      >      >        >      >    apic =3D "1"
>      >      >        >      >    vfb =3D [ 'type=3Dvnc, vnclisten=3D10.10=
0.100.50,
>      >      vncpasswd=3Dxxx'
>      >      >        ]
>      >      >        >      >    xen_extended_power_mgmt =3D "0"
>      >      >        >      >    vif =3D [ "type=3Dioemu, mac=3D00:16:3e:=
d7:d7:5d,
>      >      bridge=3Dxenbr0"
>      >      >        ]
>      >      >        >      >    disk =3D [ "phy:/dev/virtuals/ts,hda,w",
>      >      >        >      >
>      >      >
>      "file:/media/iso/windows_server_2008_r2_sp1.iso,hdc:cdrom,r" ]
>      >      >        >      >    on_poweroff =3D "destroy"
>      >      >        >      >    on_reboot =3D "restart"
>      >      >        >      >    on_crash =3D "restart"
>      >      >        >      >    viridian =3D "1"
>      >      >        >      >    device_model =3D "/usr/lib/xen/bin/qemu-=
dm"
>      >      >        >      >    boot =3D "dc"
>      >      >        >      >    snapshot =3D "0"
>      >      >        >      >    vncconsole =3D "1"
>      >      >        >      >    sdl =3D "0"
>      >      >        >      >    opengl =3D "0"
>      >      >        >      >    vnc =3D "1"
>      >      >        >      >    nographic =3D "0"
>      >      >        >      >    stdvga =3D "0"
>      >      >        >      >    tsc_mode =3D "1"
>      >      >        >      >    monitor =3D "0"
>      >      >        >      >    localtime =3D "1"
>      >      >        >      >    usb =3D "0"
>      >      >        >      >    keymap =3D "fi"
>      >      >        >      >    xen_platform_pci =3D "1"
>      >      >        >      >    pci_msitranslate =3D "1"
>      >      >        >      >    pci_power_mgmt =3D "0"
>      >      >        >      >
>      >      >        >      >    2012/10/1 Pasi K=E4rkk=E4inen
>      >      <[1][2][8][14][15]pasik@iki.fi>
>      >      >        >      >
>      >      >        >      >      On Mon, Oct 01, 2012 at 06:46:08PM +03=
00,
>      >      Valtteri
>      >      >        Kiviniemi
>      >      >        >      wrote:
>      >      >        >      >      >    Hi,
>      >      >        >      >      >
>      >      >        >      >      >    Yes, I have viridian=3D1 on my do=
mU
>      config.
>      >      >        >      >      >
>      >      >        >      >
>      >      >        >      >      Try with some known good domU configfi=
le.
>      >      >        >      >
>      >      >        >      >      -- Pasi
>      >      >        >      >      >    2012/10/1 Pasi K=E4rkk=E4inen
>      >      >        <[1][2][3][9][15][16]pasik@iki.fi>
>      >      >        >      >      >
>      >      >        >      >      >      On Mon, Oct 01, 2012 at 05:06:5=
3PM
>      +0300,
>      >      >        Valtteri
>      >      >        >      Kiviniemi
>      >      >        >      >      wrote:
>      >      >        >      >      >      >    Hi,
>      >      >        >      >      >      >
>      >      >        >      >      >      >    I'm now using 3.6.0 and ca=
n't
>      >      reproduce that
>      >      >        crash
>      >      >        >      anymore,
>      >      >        >      >      so it
>      >      >        >      >      >      seems
>      >      >        >      >      >      >    that it was a kernel bug.
>      >      >        >      >      >      >
>      >      >        >      >      >
>      >      >        >      >      >      OK.
>      >      >        >      >      >      >    However I'm still getting
>      black
>      >      screen on
>      >      >        VNC
>      >      >        >      >      >      >    when trying to install Win=
dows
>      Server
>      >      2008
>      >      >        R2. I can
>      >      >        >      see the
>      >      >        >      >      >      "windows is
>      >      >        >      >      >      >    loading files" screen but
>      after the
>      >      >        installer starts
>      >      >        >      the VNC
>      >      >        >      >      >      display goes
>      >      >        >      >      >      >    black.
>      >      >        >      >      >      >
>      >      >        >      >      >      >    Any ideas?
>      >      >        >      >      >      >
>      >      >        >      >      >
>      >      >        >      >      >      Do you have viridian=3D1 specif=
ied
>      for the
>      >      windows
>      >      >        vm?
>      >      >        >      >      >
>      >      >        >      >      >      -- Pasi
>      >      >        >      >      >
>      >      >        >      >      >      >    - Valtteri
>      >      >        >      >      >      >
>      >      >        >      >      >      >    2012/10/1 Pasi K=E4rkk=E4i=
nen
>      >      >        <[1][2][3][4][10][16][17]pasik@iki.fi>
>      >      >        >      >      >      >
>      >      >        >      >      >      >      On Sun, Sep 30, 2012 at
>      11:18:03PM
>      >      +0300,
>      >      >        Valtteri
>      >      >        >      >      Kiviniemi
>      >      >        >      >      >      wrote:
>      >      >        >      >      >      >      >    Hi,
>      >      >        >      >      >      >      >
>      >      >        >      >      >      >
>      >      >        >      >      >      >      Hello,
>      >      >        >      >      >      >      >    I'm trying to get
>      Windows
>      >      Server 2008
>      >      >        R2
>      >      >        >      installation
>      >      >        >      >      >      booting on
>      >      >        >      >      >      >      Xen
>      >      >        >      >      >      >      >    4.0.4. Using the
>      following
>      >      config:
>      >      >        >      >      >      >      >
>      >      >        >      >      >      >
>      >      >        >      >      >      >      <snip>
>      >      >        >      >      >      >      >
>      >      >        >      >      >      >      >    The domU will start
>      booting
>      >      just
>      >      >        fine, but
>      >      >        >      after a
>      >      >        >      >      few
>      >      >        >      >      >      minutes the
>      >      >        >      >      >      >      VNC
>      >      >        >      >      >      >      >    screen goes black.
>      After that
>      >      when
>      >      >        typing "xm
>      >      >        >      destroy
>      >      >        >      >      ts" it
>      >      >        >      >      >      will
>      >      >        >      >      >      >      trigger
>      >      >        >      >      >      >      >    a kernel BUG:
>      >      >        >      >      >      >      >
>      >      >        >      >      >      >      >    BUG: unable to hand=
le
>      kernel
>      >      NULL
>      >      >        pointer
>      >      >        >      dereference
>      >      >        >      >      at
>      >      >        >      >      >      >      0000000000000030
>      >      >        >      >      >      >      >    IP:
>      [<ffffffff810c50c4>]
>      >      >        iput+0x3e/0x195
>      >      >        >      >      >      >      >    PGD 0
>      >      >        >      >      >      >      >    Oops: 0000 [#1] SMP
>      >      >        >      >      >      >      >    CPU 6
>      >      >        >      >      >      >      >    Pid: 3571, comm:
>      qemu-dm Not
>      >      tainted
>      >      >        >      3.5.0-dom0 #1
>      >      >        >      >      >      >
>      >      >        >      >      >      >      First of all upgrade to
>      latest
>      >      3.5.x Linux
>      >      >        kernel
>      >      >        >      release
>      >      >        >      >      .. so
>      >      >        >      >      >      at least
>      >      >        >      >      >      >      3.5.4.
>      >      >        >      >      >      >
>      >      >        >      >      >      >      -- Pasi
>      >      >        >      >      >      >
>      >      >        >      >      >      >      >    /DQ77MK
>      >      >        >      >      >      >      >    RIP:
>      e030:[<ffffffff810c50c4>]
>      >      >        >       [<ffffffff810c50c4>]
>      >      >        >      >      >      >      iput+0x3e/0x195
>      >      >        >      >      >      >      >    RSP:
>      e02b:ffff8800389ffbf8
>      >       EFLAGS:
>      >      >        00010246
>      >      >        >      >      >      >      >    RAX: 00000000000000=
01
>      RBX:
>      >      >        ffff8800377b0720
>      >      >        >      RCX:
>      >      >        >      >      >      ffff8800501c0000
>      >      >        >      >      >      >      >    RDX: ffff8800501c00=
00
>      RSI:
>      >      >        ffff8800377b0790
>      >      >        >      RDI:
>      >      >        >      >      >      ffff8800377b0790
>      >      >        >      >      >      >      >    RBP: 00000000000000=
00
>      R08:
>      >      >        ffffffff815cdd00
>      >      >        >      R09:
>      >      >        >      >      >      0000000000000016
>      >      >        >      >      >      >      >    R10: fefefefefefefe=
ff
>      R11:
>      >      >        ffff8800377b0400
>      >      >        >      R12:
>      >      >        >      >      >      00000001000a3e0c
>      >      >        >      >      >      >      >    R13: 00000000000000=
00
>      R14:
>      >      >        00000001000a3e0c
>      >      >        >      R15:
>      >      >        >      >      >      ffff8800389ffc28
>      >      >        >      >      >      >      >    FS:
>       00007f1af70a8700(0000)
>      >      >        >      GS:ffff880050180000(0000)
>      >      >        >      >      >      >      >    knlGS:0000000000000=
000
>      >      >        >      >      >      >      >    CS:  e033 DS: 0000 =
ES:
>      0000
>      >      CR0:
>      >      >        >      000000008005003b
>      >      >        >      >      >      >      >    CR2: 00000000000000=
30
>      CR3:
>      >      >        000000000156d000
>      >      >        >      CR4:
>      >      >        >      >      >      0000000000002660
>      >      >        >      >      >      >      >    DR0: 00000000000000=
00
>      DR1:
>      >      >        0000000000000000
>      >      >        >      DR2:
>      >      >        >      >      >      0000000000000000
>      >      >        >      >      >      >      >    DR3: 00000000000000=
00
>      DR6:
>      >      >        00000000ffff0ff0
>      >      >        >      DR7:
>      >      >        >      >      >      0000000000000400
>      >      >        >      >      >      >      >    Process qemu-dm (pi=
d:
>      3571,
>      >      >        threadinfo
>      >      >        >      >      ffff8800389fe000,
>      >      >        >      >      >      task
>      >      >        >      >      >      >      >    ffff88003a721260)
>      >      >        >      >      >      >      >    Stack:
>      >      >        >      >      >      >      >     ffff88003a6d6400
>      >      ffff8800377b0000
>      >      >        >      00000001000a3e0c
>      >      >        >      >      >      >      ffffffff8133ce8f
>      >      >        >      >      >      >      >     ffff8800377b0400
>      >      ffffffff8134b6cd
>      >      >        >      ffff8800389ffc28
>      >      >        >      >      >      >      ffff8800389ffc28
>      >      >        >      >      >      >      >     ffff8800377b00f8
>      >      ffff8800377b0680
>      >      >        >      ffff880038cdcd60
>      >      >        >      >      >      >      ffff8800377b0000
>      >      >        >      >      >      >      >    Call Trace:
>      >      >        >      >      >      >      >     [<ffffffff8133ce8f=
>] ?
>      >      >        >      sk_release_kernel+0x23/0x39
>      >      >        >      >      >      >      >     [<ffffffff8134b6cd=
>] ?
>      >      >        >      netdev_run_todo+0x1e9/0x206
>      >      >        >      >      >      >      >     [<ffffffff8129798f=
>] ?
>      >      >        >      tun_chr_close+0x4c/0x7b
>      >      >        >      >      >      >      >     [<ffffffff810b39d3=
>] ?
>      >      >        fput+0xe4/0x1c5
>      >      >        >      >      >      >      >     [<ffffffff810b202c=
>] ?
>      >      >        filp_close+0x61/0x68
>      >      >        >      >      >      >      >     [<ffffffff81035e62=
>] ?
>      >      >        >      put_files_struct+0x62/0xb9
>      >      >        >      >      >      >      >     [<ffffffff81036374=
>] ?
>      >      >        do_exit+0x24a/0x74c
>      >      >        >      >      >      >      >     [<ffffffff81036906=
>] ?
>      >      >        >      do_group_exit+0x6b/0x9d
>      >      >        >      >      >      >      >     [<ffffffff8103ea0b=
>] ?
>      >      >        >      >      get_signal_to_deliver+0x449/0x46e
>      >      >        >      >      >      >      >     [<ffffffff81009fa5=
>] ?
>      >      >        do_signal+0x28/0x4c4
>      >      >        >      >      >      >      >     [<ffffffff81027079=
>] ?
>      >      >        >      >      pvclock_clocksource_read+0x48/0xbf
>      >      >        >      >      >      >      >     [<ffffffff8105b745=
>] ?
>      >      >        ktime_get_ts+0x66/0xa8
>      >      >        >      >      >      >      >     [<ffffffff810bfb18=
>] ?
>      >      >        >      >      poll_select_copy_remaining+0xe0/0xf5
>      >      >        >      >      >      >      >     [<ffffffff8100a48d=
>] ?
>      >      >        >      do_notify_resume+0x3b/0x74
>      >      >        >      >      >      >      >     [<ffffffff81411a70=
>] ?
>      >      >        int_signal+0x12/0x17
>      >      >        >      >      >      >      >    Code: 00 00 00 40 7=
4 02
>      0f 0b
>      >      48 8d
>      >      >        77 70 48
>      >      >        >      8d bf 08
>      >      >        >      >      01 00
>      >      >        >      >      >      00 e8
>      >      >        >      >      >      >      8b 71 10
>      >      >        >      >      >      >      >    00 85 c0 0f 84 5d 0=
1 00
>      00 48
>      >      8b 6b
>      >      >        18 f6 83
>      >      >        >      80 00 00
>      >      >        >      >      00 08
>      >      >        >      >      >      <4c> 8b
>      >      >        >      >      >      >      65 30
>      >      >        >      >      >      >      >    74 11 be 68 05 00 0=
0 48
>      c7 c7
>      >      8e df
>      >      >        4f 81 e8
>      >      >        >      bb d0
>      >      >        >      >      >      >      >    RIP
>       [<ffffffff810c50c4>]
>      >      >        iput+0x3e/0x195
>      >      >        >      >      >      >      >     RSP <ffff8800389ff=
bf8>
>      >      >        >      >      >      >      >    CR2: 00000000000000=
30
>      >      >        >      >      >      >      >    ---[ end trace
>      >      67cc1654658fedcc ]---
>      >      >        >      >      >      >      >    Fixing recursive fa=
ult
>      but
>      >      reboot is
>      >      >        needed!
>      >      >        >      >      >      >      >
>      >      >        >      >      >      >      >    I also tested Xen 4=
.2.0
>      and
>      >      problem
>      >      >        is the
>      >      >        >      same. So
>      >      >        >      >      is this
>      >      >        >      >      >      a Xen
>      >      >        >      >      >      >      bug or a
>      >      >        >      >      >      >      >    kernel bug? I am
>      running
>      >      vanilla
>      >      >        >      >      [1][2][3][4][5][11][17][18]kernel.org
>      kernel
>      >      >        >      >      >      3.5.0 and
>      >      >        >      >      >      >      my
>      >      >        >      >      >      >      >    hardware is Intel C=
ore
>      i7-3770
>      >      CPU
>      >      >        and Intel
>      >      >        >      DQ77MK
>      >      >        >      >      >      motherboard
>      >      >        >      >      >      >      with
>      >      >        >      >      >      >      >    latest bios.
>      >      >        >      >      >      >      >
>      >      >        >      >      >      >      >    Best regards,
>      >      >        >      >      >      >      >    Valtteri Kiviniemi
>      >      >        >      >      >      >      >
>      >      >        >      >      >      >      > References
>      >      >        >      >      >      >      >
>      >      >        >      >      >      >      >    Visible links
>      >      >        >      >      >      >      >    1.
>      >      [3][4][5][6][12][18][19]http://kernel.org/
>      >      >        >      >      >      >
>      >      >        >      >      >      >      >
>      >      >        _______________________________________________
>      >      >        >      >      >      >      > Xen-devel mailing list
>      >      >        >      >      >      >      >
>      >      [4][5][6][7][13][19][20]Xen-devel@lists.xen.org
>      >      >        >      >      >      >      >
>      >      >        [5][6][7][8][14][20][21]http://lists.xen.org/xen-dev=
el
>      >      >        >      >      >      >
>      >      >        >      >      >      > References
>      >      >        >      >      >      >
>      >      >        >      >      >      >    Visible links
>      >      >        >      >      >      >    1.
>      >      mailto:[7][8][9][15][21][22]pasik@iki.fi
>      >      >        >      >      >      >    2.
>      >      [8][9][10][16][22][23]http://kernel.org/
>      >      >        >      >      >      >    3.
>      >      [9][10][11][17][23][24]http://kernel.org/
>      >      >        >      >      >      >    4.
>      >      >        mailto:[10][11][12][18][24][25]Xen-devel@lists.xen.o=
rg
>      >      >        >      >      >      >    5.
>      >      >        [11][12][13][19][25][26]http://lists.xen.org/xen-dev=
el
>      >      >        >      >      >
>      >      >        >      >      > References
>      >      >        >      >      >
>      >      >        >      >      >    Visible links
>      >      >        >      >      >    1.
>      mailto:[13][14][20][26][27]pasik@iki.fi
>      >      >        >      >      >    2.
>      mailto:[14][15][21][27][28]pasik@iki.fi
>      >      >        >      >      >    3.
>      [15][16][22][28][29]http://kernel.org/
>      >      >        >      >      >    4.
>      [16][17][23][29][30]http://kernel.org/
>      >      >        >      >      >    5.
>      >      mailto:[17][18][24][30][31]Xen-devel@lists.xen.org
>      >      >        >      >      >    6.
>      >      [18][19][25][31][32]http://lists.xen.org/xen-devel
>      >      >        >      >      >    7.
>      mailto:[19][20][26][32][33]pasik@iki.fi
>      >      >        >      >      >    8.
>      [20][21][27][33][34]http://kernel.org/
>      >      >        >      >      >    9.
>      [21][22][28][34][35]http://kernel.org/
>      >      >        >      >      >   10.
>      >      mailto:[22][23][29][35][36]Xen-devel@lists.xen.org
>      >      >        >      >      >   11.
>      >      [23][24][30][36][37]http://lists.xen.org/xen-devel
>      >      >        >      >
>      >      >        >      > References
>      >      >        >      >
>      >      >        >      >    Visible links
>      >      >        >      >    1. mailto:[25][31][37][38]pasik@iki.fi
>      >      >        >      >    2. mailto:[26][32][38][39]pasik@iki.fi
>      >      >        >      >    3. mailto:[27][33][39][40]pasik@iki.fi
>      >      >        >      >    4. [28][34][40][41]http://kernel.org/
>      >      >        >      >    5. [29][35][41][42]http://kernel.org/
>      >      >        >      >    6.
>      mailto:[30][36][42][43]Xen-devel@lists.xen.org
>      >      >        >      >    7.
>      [31][37][43][44]http://lists.xen.org/xen-devel
>      >      >        >      >    8. mailto:[32][38][44][45]pasik@iki.fi
>      >      >        >      >    9. [33][39][45][46]http://kernel.org/
>      >      >        >      >   10. [34][40][46][47]http://kernel.org/
>      >      >        >      >   11.
>      mailto:[35][41][47][48]Xen-devel@lists.xen.org
>      >      >        >      >   12.
>      [36][42][48][49]http://lists.xen.org/xen-devel
>      >      >        >      >   13. mailto:[37][43][49][50]pasik@iki.fi
>      >      >        >      >   14. mailto:[38][44][50][51]pasik@iki.fi
>      >      >        >      >   15. [39][45][51][52]http://kernel.org/
>      >      >        >      >   16. [40][46][52][53]http://kernel.org/
>      >      >        >      >   17.
>      mailto:[41][47][53][54]Xen-devel@lists.xen.org
>      >      >        >      >   18.
>      [42][48][54][55]http://lists.xen.org/xen-devel
>      >      >        >      >   19. mailto:[43][49][55][56]pasik@iki.fi
>      >      >        >      >   20. [44][50][56][57]http://kernel.org/
>      >      >        >      >   21. [45][51][57][58]http://kernel.org/
>      >      >        >      >   22.
>      mailto:[46][52][58][59]Xen-devel@lists.xen.org
>      >      >        >      >   23.
>      [47][53][59][60]http://lists.xen.org/xen-devel
>      >      >        >
>      >      >        > References
>      >      >        >
>      >      >        >    Visible links
>      >      >        >    1. mailto:[54][60][61]pasik@iki.fi
>      >      >        >    2. mailto:[55][61][62]pasik@iki.fi
>      >      >        >    3. mailto:[56][62][63]pasik@iki.fi
>      >      >        >    4. mailto:[57][63][64]pasik@iki.fi
>      >      >        >    5. [58][64][65]http://kernel.org/
>      >      >        >    6. [59][65][66]http://kernel.org/
>      >      >        >    7. mailto:[60][66][67]Xen-devel@lists.xen.org
>      >      >        >    8. [61][67][68]http://lists.xen.org/xen-devel
>      >      >        >    9. mailto:[62][68][69]pasik@iki.fi
>      >      >        >   10. [63][69][70]http://kernel.org/
>      >      >        >   11. [64][70][71]http://kernel.org/
>      >      >        >   12. mailto:[65][71][72]Xen-devel@lists.xen.org
>      >      >        >   13. [66][72][73]http://lists.xen.org/xen-devel
>      >      >        >   14. mailto:[67][73][74]pasik@iki.fi
>      >      >        >   15. mailto:[68][74][75]pasik@iki.fi
>      >      >        >   16. [69][75][76]http://kernel.org/
>      >      >        >   17. [70][76][77]http://kernel.org/
>      >      >        >   18. mailto:[71][77][78]Xen-devel@lists.xen.org
>      >      >        >   19. [72][78][79]http://lists.xen.org/xen-devel
>      >      >        >   20. mailto:[73][79][80]pasik@iki.fi
>      >      >        >   21. [74][80][81]http://kernel.org/
>      >      >        >   22. [75][81][82]http://kernel.org/
>      >      >        >   23. mailto:[76][82][83]Xen-devel@lists.xen.org
>      >      >        >   24. [77][83][84]http://lists.xen.org/xen-devel
>      >      >        >   25. mailto:[78][84][85]pasik@iki.fi
>      >      >        >   26. mailto:[79][85][86]pasik@iki.fi
>      >      >        >   27. mailto:[80][86][87]pasik@iki.fi
>      >      >        >   28. [81][87][88]http://kernel.org/
>      >      >        >   29. [82][88][89]http://kernel.org/
>      >      >        >   30. mailto:[83][89][90]Xen-devel@lists.xen.org
>      >      >        >   31. [84][90][91]http://lists.xen.org/xen-devel
>      >      >        >   32. mailto:[85][91][92]pasik@iki.fi
>      >      >        >   33. [86][92][93]http://kernel.org/
>      >      >        >   34. [87][93][94]http://kernel.org/
>      >      >        >   35. mailto:[88][94][95]Xen-devel@lists.xen.org
>      >      >        >   36. [89][95][96]http://lists.xen.org/xen-devel
>      >      >        >   37. mailto:[90][96][97]pasik@iki.fi
>      >      >        >   38. mailto:[91][97][98]pasik@iki.fi
>      >      >        >   39. [92][98][99]http://kernel.org/
>      >      >        >   40. [93][99][100]http://kernel.org/
>      >      >        >   41. mailto:[94][100][101]Xen-devel@lists.xen.org
>      >      >        >   42. [95][101][102]http://lists.xen.org/xen-devel
>      >      >        >   43. mailto:[96][102][103]pasik@iki.fi
>      >      >        >   44. [97][103][104]http://kernel.org/
>      >      >        >   45. [98][104][105]http://kernel.org/
>      >      >        >   46. mailto:[99][105][106]Xen-devel@lists.xen.org
>      >      >        >   47. [100][106][107]http://lists.xen.org/xen-devel
>      >      >
>      >      > References
>      >      >
>      >      >    Visible links
>      >      >    1. mailto:[107][108]kiviniemi.valtteri@gmail.com
>      >      >    2. [108][109]http://ark.intel.com/products/65719/
>      >      >    3.
>      >
>       [109][110]http://www.intel.com/content/www/us/en/motherboards/deskt=
op-motherboards/desktop-board-dq77mk.html
>      >      >    4. mailto:[110][111]root@dataproof.fi
>      >      >    5. mailto:[111][112]pasik@iki.fi
>      >      >    6. [112][113]http://xen.org/
>      >      >    7. mailto:[113][114]pasik@iki.fi
>      >      >    8. mailto:[114][115]pasik@iki.fi
>      >      >    9. mailto:[115][116]pasik@iki.fi
>      >      >   10. mailto:[116][117]pasik@iki.fi
>      >      >   11. [117][118]http://kernel.org/
>      >      >   12. [118][119]http://kernel.org/
>      >      >   13. mailto:[119][120]Xen-devel@lists.xen.org
>      >      >   14. [120][121]http://lists.xen.org/xen-devel
>      >      >   15. mailto:[121][122]pasik@iki.fi
>      >      >   16. [122][123]http://kernel.org/
>      >      >   17. [123][124]http://kernel.org/
>      >      >   18. mailto:[124][125]Xen-devel@lists.xen.org
>      >      >   19. [125][126]http://lists.xen.org/xen-devel
>      >      >   20. mailto:[126][127]pasik@iki.fi
>      >      >   21. mailto:[127][128]pasik@iki.fi
>      >      >   22. [128][129]http://kernel.org/
>      >      >   23. [129][130]http://kernel.org/
>      >      >   24. mailto:[130][131]Xen-devel@lists.xen.org
>      >      >   25. [131][132]http://lists.xen.org/xen-devel
>      >      >   26. mailto:[132][133]pasik@iki.fi
>      >      >   27. [133][134]http://kernel.org/
>      >      >   28. [134][135]http://kernel.org/
>      >      >   29. mailto:[135][136]Xen-devel@lists.xen.org
>      >      >   30. [136][137]http://lists.xen.org/xen-devel
>      >      >   31. mailto:[137][138]pasik@iki.fi
>      >      >   32. mailto:[138][139]pasik@iki.fi
>      >      >   33. mailto:[139][140]pasik@iki.fi
>      >      >   34. [140][141]http://kernel.org/
>      >      >   35. [141][142]http://kernel.org/
>      >      >   36. mailto:[142][143]Xen-devel@lists.xen.org
>      >      >   37. [143][144]http://lists.xen.org/xen-devel
>      >      >   38. mailto:[144][145]pasik@iki.fi
>      >      >   39. [145][146]http://kernel.org/
>      >      >   40. [146][147]http://kernel.org/
>      >      >   41. mailto:[147][148]Xen-devel@lists.xen.org
>      >      >   42. [148][149]http://lists.xen.org/xen-devel
>      >      >   43. mailto:[149][150]pasik@iki.fi
>      >      >   44. mailto:[150][151]pasik@iki.fi
>      >      >   45. [151][152]http://kernel.org/
>      >      >   46. [152][153]http://kernel.org/
>      >      >   47. mailto:[153][154]Xen-devel@lists.xen.org
>      >      >   48. [154][155]http://lists.xen.org/xen-devel
>      >      >   49. mailto:[155][156]pasik@iki.fi
>      >      >   50. [156][157]http://kernel.org/
>      >      >   51. [157][158]http://kernel.org/
>      >      >   52. mailto:[158][159]Xen-devel@lists.xen.org
>      >      >   53. [159][160]http://lists.xen.org/xen-devel
>      >      >   54. mailto:[160][161]pasik@iki.fi
>      >      >   55. mailto:[161][162]pasik@iki.fi
>      >      >   56. mailto:[162][163]pasik@iki.fi
>      >      >   57. mailto:[163][164]pasik@iki.fi
>      >      >   58. [164][165]http://kernel.org/
>      >      >   59. [165][166]http://kernel.org/
>      >      >   60. mailto:[166][167]Xen-devel@lists.xen.org
>      >      >   61. [167][168]http://lists.xen.org/xen-devel
>      >      >   62. mailto:[168][169]pasik@iki.fi
>      >      >   63. [169][170]http://kernel.org/
>      >      >   64. [170][171]http://kernel.org/
>      >      >   65. mailto:[171][172]Xen-devel@lists.xen.org
>      >      >   66. [172][173]http://lists.xen.org/xen-devel
>      >      >   67. mailto:[173][174]pasik@iki.fi
>      >      >   68. mailto:[174][175]pasik@iki.fi
>      >      >   69. [175][176]http://kernel.org/
>      >      >   70. [176][177]http://kernel.org/
>      >      >   71. mailto:[177][178]Xen-devel@lists.xen.org
>      >      >   72. [178][179]http://lists.xen.org/xen-devel
>      >      >   73. mailto:[179][180]pasik@iki.fi
>      >      >   74. [180][181]http://kernel.org/
>      >      >   75. [181][182]http://kernel.org/
>      >      >   76. mailto:[182][183]Xen-devel@lists.xen.org
>      >      >   77. [183][184]http://lists.xen.org/xen-devel
>      >      >   78. mailto:[184][185]pasik@iki.fi
>      >      >   79. mailto:[185][186]pasik@iki.fi
>      >      >   80. mailto:[186][187]pasik@iki.fi
>      >      >   81. [187][188]http://kernel.org/
>      >      >   82. [188][189]http://kernel.org/
>      >      >   83. mailto:[189][190]Xen-devel@lists.xen.org
>      >      >   84. [190][191]http://lists.xen.org/xen-devel
>      >      >   85. mailto:[191][192]pasik@iki.fi
>      >      >   86. [192][193]http://kernel.org/
>      >      >   87. [193][194]http://kernel.org/
>      >      >   88. mailto:[194][195]Xen-devel@lists.xen.org
>      >      >   89. [195][196]http://lists.xen.org/xen-devel
>      >      >   90. mailto:[196][197]pasik@iki.fi
>      >      >   91. mailto:[197][198]pasik@iki.fi
>      >      >   92. [198][199]http://kernel.org/
>      >      >   93. [199][200]http://kernel.org/
>      >      >   94. mailto:[200][201]Xen-devel@lists.xen.org
>      >      >   95. [201][202]http://lists.xen.org/xen-devel
>      >      >   96. mailto:[202][203]pasik@iki.fi
>      >      >   97. [203][204]http://kernel.org/
>      >      >   98. [204][205]http://kernel.org/
>      >      >   99. mailto:[205][206]Xen-devel@lists.xen.org
>      >      >  100. [206][207]http://lists.xen.org/xen-devel
>      >
>      > References
>      >
>      >    Visible links
>      >    1. [208]http://nago.fi/dmesg.txt
>      >    2. [209]http://nago.fi/qemu-dm.txt
>      >    3. [210]http://nago.fi/xm-dmesg.txt
>      >    4. [211]http://nago.fi/domu-config.txt
>      >    5. [212]http://nago.fi/dom0-config.txt
>      >    6. mailto:[213]pasik@iki.fi
>      >    7. mailto:[214]kiviniemi.valtteri@gmail.com
>      >    8. [215]http://ark.intel.com/products/65719/
>      >    9.
>      [216]http://www.intel.com/content/www/us/en/motherboards/desktop-mot=
herboards/desktop-board-dq77mk.html
>      >   10. mailto:[217]root@dataproof.fi
>      >   11. mailto:[218]pasik@iki.fi
>      >   12. [219]http://xen.org/
>      >   13. mailto:[220]pasik@iki.fi
>      >   14. mailto:[221]pasik@iki.fi
>      >   15. mailto:[222]pasik@iki.fi
>      >   16. mailto:[223]pasik@iki.fi
>      >   17. [224]http://kernel.org/
>      >   18. [225]http://kernel.org/
>      >   19. mailto:[226]Xen-devel@lists.xen.org
>      >   20. [227]http://lists.xen.org/xen-devel
>      >   21. mailto:[228]pasik@iki.fi
>      >   22. [229]http://kernel.org/
>      >   23. [230]http://kernel.org/
>      >   24. mailto:[231]Xen-devel@lists.xen.org
>      >   25. [232]http://lists.xen.org/xen-devel
>      >   26. mailto:[233]pasik@iki.fi
>      >   27. mailto:[234]pasik@iki.fi
>      >   28. [235]http://kernel.org/
>      >   29. [236]http://kernel.org/
>      >   30. mailto:[237]Xen-devel@lists.xen.org
>      >   31. [238]http://lists.xen.org/xen-devel
>      >   32. mailto:[239]pasik@iki.fi
>      >   33. [240]http://kernel.org/
>      >   34. [241]http://kernel.org/
>      >   35. mailto:[242]Xen-devel@lists.xen.org
>      >   36. [243]http://lists.xen.org/xen-devel
>      >   37. mailto:[244]pasik@iki.fi
>      >   38. mailto:[245]pasik@iki.fi
>      >   39. mailto:[246]pasik@iki.fi
>      >   40. [247]http://kernel.org/
>      >   41. [248]http://kernel.org/
>      >   42. mailto:[249]Xen-devel@lists.xen.org
>      >   43. [250]http://lists.xen.org/xen-devel
>      >   44. mailto:[251]pasik@iki.fi
>      >   45. [252]http://kernel.org/
>      >   46. [253]http://kernel.org/
>      >   47. mailto:[254]Xen-devel@lists.xen.org
>      >   48. [255]http://lists.xen.org/xen-devel
>      >   49. mailto:[256]pasik@iki.fi
>      >   50. mailto:[257]pasik@iki.fi
>      >   51. [258]http://kernel.org/
>      >   52. [259]http://kernel.org/
>      >   53. mailto:[260]Xen-devel@lists.xen.org
>      >   54. [261]http://lists.xen.org/xen-devel
>      >   55. mailto:[262]pasik@iki.fi
>      >   56. [263]http://kernel.org/
>      >   57. [264]http://kernel.org/
>      >   58. mailto:[265]Xen-devel@lists.xen.org
>      >   59. [266]http://lists.xen.org/xen-devel
>      >   60. mailto:[267]pasik@iki.fi
>      >   61. mailto:[268]pasik@iki.fi
>      >   62. mailto:[269]pasik@iki.fi
>      >   63. mailto:[270]pasik@iki.fi
>      >   64. [271]http://kernel.org/
>      >   65. [272]http://kernel.org/
>      >   66. mailto:[273]Xen-devel@lists.xen.org
>      >   67. [274]http://lists.xen.org/xen-devel
>      >   68. mailto:[275]pasik@iki.fi
>      >   69. [276]http://kernel.org/
>      >   70. [277]http://kernel.org/
>      >   71. mailto:[278]Xen-devel@lists.xen.org
>      >   72. [279]http://lists.xen.org/xen-devel
>      >   73. mailto:[280]pasik@iki.fi
>      >   74. mailto:[281]pasik@iki.fi
>      >   75. [282]http://kernel.org/
>      >   76. [283]http://kernel.org/
>      >   77. mailto:[284]Xen-devel@lists.xen.org
>      >   78. [285]http://lists.xen.org/xen-devel
>      >   79. mailto:[286]pasik@iki.fi
>      >   80. [287]http://kernel.org/
>      >   81. [288]http://kernel.org/
>      >   82. mailto:[289]Xen-devel@lists.xen.org
>      >   83. [290]http://lists.xen.org/xen-devel
>      >   84. mailto:[291]pasik@iki.fi
>      >   85. mailto:[292]pasik@iki.fi
>      >   86. mailto:[293]pasik@iki.fi
>      >   87. [294]http://kernel.org/
>      >   88. [295]http://kernel.org/
>      >   89. mailto:[296]Xen-devel@lists.xen.org
>      >   90. [297]http://lists.xen.org/xen-devel
>      >   91. mailto:[298]pasik@iki.fi
>      >   92. [299]http://kernel.org/
>      >   93. [300]http://kernel.org/
>      >   94. mailto:[301]Xen-devel@lists.xen.org
>      >   95. [302]http://lists.xen.org/xen-devel
>      >   96. mailto:[303]pasik@iki.fi
>      >   97. mailto:[304]pasik@iki.fi
>      >   98. [305]http://kernel.org/
>      >   99. [306]http://kernel.org/
>      >  100. mailto:[307]Xen-devel@lists.xen.org
>      >  101. [308]http://lists.xen.org/xen-devel
>      >  102. mailto:[309]pasik@iki.fi
>      >  103. [310]http://kernel.org/
>      >  104. [311]http://kernel.org/
>      >  105. mailto:[312]Xen-devel@lists.xen.org
>      >  106. [313]http://lists.xen.org/xen-devel
>      >  107. mailto:[314]kiviniemi.valtteri@gmail.com
>      >  108. [315]http://ark.intel.com/products/65719/
>      >  109.
>      [316]http://www.intel.com/content/www/us/en/motherboards/desktop-mot=
herboards/desktop-board-dq77mk.html
>      >  110. mailto:[317]root@dataproof.fi
>      >  111. mailto:[318]pasik@iki.fi
>      >  112. [319]http://xen.org/
>      >  113. mailto:[320]pasik@iki.fi
>      >  114. mailto:[321]pasik@iki.fi
>      >  115. mailto:[322]pasik@iki.fi
>      >  116. mailto:[323]pasik@iki.fi
>      >  117. [324]http://kernel.org/
>      >  118. [325]http://kernel.org/
>      >  119. mailto:[326]Xen-devel@lists.xen.org
>      >  120. [327]http://lists.xen.org/xen-devel
>      >  121. mailto:[328]pasik@iki.fi
>      >  122. [329]http://kernel.org/
>      >  123. [330]http://kernel.org/
>      >  124. mailto:[331]Xen-devel@lists.xen.org
>      >  125. [332]http://lists.xen.org/xen-devel
>      >  126. mailto:[333]pasik@iki.fi
>      >  127. mailto:[334]pasik@iki.fi
>      >  128. [335]http://kernel.org/
>      >  129. [336]http://kernel.org/
>      >  130. mailto:[337]Xen-devel@lists.xen.org
>      >  131. [338]http://lists.xen.org/xen-devel
>      >  132. mailto:[339]pasik@iki.fi
>      >  133. [340]http://kernel.org/
>      >  134. [341]http://kernel.org/
>      >  135. mailto:[342]Xen-devel@lists.xen.org
>      >  136. [343]http://lists.xen.org/xen-devel
>      >  137. mailto:[344]pasik@iki.fi
>      >  138. mailto:[345]pasik@iki.fi
>      >  139. mailto:[346]pasik@iki.fi
>      >  140. [347]http://kernel.org/
>      >  141. [348]http://kernel.org/
>      >  142. mailto:[349]Xen-devel@lists.xen.org
>      >  143. [350]http://lists.xen.org/xen-devel
>      >  144. mailto:[351]pasik@iki.fi
>      >  145. [352]http://kernel.org/
>      >  146. [353]http://kernel.org/
>      >  147. mailto:[354]Xen-devel@lists.xen.org
>      >  148. [355]http://lists.xen.org/xen-devel
>      >  149. mailto:[356]pasik@iki.fi
>      >  150. mailto:[357]pasik@iki.fi
>      >  151. [358]http://kernel.org/
>      >  152. [359]http://kernel.org/
>      >  153. mailto:[360]Xen-devel@lists.xen.org
>      >  154. [361]http://lists.xen.org/xen-devel
>      >  155. mailto:[362]pasik@iki.fi
>      >  156. [363]http://kernel.org/
>      >  157. [364]http://kernel.org/
>      >  158. mailto:[365]Xen-devel@lists.xen.org
>      >  159. [366]http://lists.xen.org/xen-devel
>      >  160. mailto:[367]pasik@iki.fi
>      >  161. mailto:[368]pasik@iki.fi
>      >  162. mailto:[369]pasik@iki.fi
>      >  163. mailto:[370]pasik@iki.fi
>      >  164. [371]http://kernel.org/
>      >  165. [372]http://kernel.org/
>      >  166. mailto:[373]Xen-devel@lists.xen.org
>      >  167. [374]http://lists.xen.org/xen-devel
>      >  168. mailto:[375]pasik@iki.fi
>      >  169. [376]http://kernel.org/
>      >  170. [377]http://kernel.org/
>      >  171. mailto:[378]Xen-devel@lists.xen.org
>      >  172. [379]http://lists.xen.org/xen-devel
>      >  173. mailto:[380]pasik@iki.fi
>      >  174. mailto:[381]pasik@iki.fi
>      >  175. [382]http://kernel.org/
>      >  176. [383]http://kernel.org/
>      >  177. mailto:[384]Xen-devel@lists.xen.org
>      >  178. [385]http://lists.xen.org/xen-devel
>      >  179. mailto:[386]pasik@iki.fi
>      >  180. [387]http://kernel.org/
>      >  181. [388]http://kernel.org/
>      >  182. mailto:[389]Xen-devel@lists.xen.org
>      >  183. [390]http://lists.xen.org/xen-devel
>      >  184. mailto:[391]pasik@iki.fi
>      >  185. mailto:[392]pasik@iki.fi
>      >  186. mailto:[393]pasik@iki.fi
>      >  187. [394]http://kernel.org/
>      >  188. [395]http://kernel.org/
>      >  189. mailto:[396]Xen-devel@lists.xen.org
>      >  190. [397]http://lists.xen.org/xen-devel
>      >  191. mailto:[398]pasik@iki.fi
>      >  192. [399]http://kernel.org/
>      >  193. [400]http://kernel.org/
>      >  194. mailto:[401]Xen-devel@lists.xen.org
>      >  195. [402]http://lists.xen.org/xen-devel
>      >  196. mailto:[403]pasik@iki.fi
>      >  197. mailto:[404]pasik@iki.fi
>      >  198. [405]http://kernel.org/
>      >  199. [406]http://kernel.org/
>      >  200. mailto:[407]Xen-devel@lists.xen.org
>      >  201. [408]http://lists.xen.org/xen-devel
>      >  202. mailto:[409]pasik@iki.fi
>      >  203. [410]http://kernel.org/
>      >  204. [411]http://kernel.org/
>      >  205. mailto:[412]Xen-devel@lists.xen.org
>      >  206. [413]http://lists.xen.org/xen-devel
> =

> References
> =

>    Visible links
>    1. mailto:pasik@iki.fi
>    2. http://nago.fi/dmesg.txt
>    3. http://nago.fi/qemu-dm.txt
>    4. http://nago.fi/xm-dmesg.txt
>    5. http://nago.fi/domu-config.txt
>    6. http://nago.fi/dom0-config.txt
>    7. mailto:pasik@iki.fi
>    8. mailto:kiviniemi.valtteri@gmail.com
>    9. http://ark.intel.com/products/65719/
>   10. http://www.intel.com/content/www/us/en/motherboards/desktop-motherb=
oards/desktop-board-dq77mk.html
>   11. mailto:root@dataproof.fi
>   12. mailto:pasik@iki.fi
>   13. http://xen.org/
>   14. mailto:pasik@iki.fi
>   15. mailto:pasik@iki.fi
>   16. mailto:pasik@iki.fi
>   17. mailto:pasik@iki.fi
>   18. http://kernel.org/
>   19. http://kernel.org/
>   20. mailto:Xen-devel@lists.xen.org
>   21. http://lists.xen.org/xen-devel
>   22. mailto:pasik@iki.fi
>   23. http://kernel.org/
>   24. http://kernel.org/
>   25. mailto:Xen-devel@lists.xen.org
>   26. http://lists.xen.org/xen-devel
>   27. mailto:pasik@iki.fi
>   28. mailto:pasik@iki.fi
>   29. http://kernel.org/
>   30. http://kernel.org/
>   31. mailto:Xen-devel@lists.xen.org
>   32. http://lists.xen.org/xen-devel
>   33. mailto:pasik@iki.fi
>   34. http://kernel.org/
>   35. http://kernel.org/
>   36. mailto:Xen-devel@lists.xen.org
>   37. http://lists.xen.org/xen-devel
>   38. mailto:pasik@iki.fi
>   39. mailto:pasik@iki.fi
>   40. mailto:pasik@iki.fi
>   41. http://kernel.org/
>   42. http://kernel.org/
>   43. mailto:Xen-devel@lists.xen.org
>   44. http://lists.xen.org/xen-devel
>   45. mailto:pasik@iki.fi
>   46. http://kernel.org/
>   47. http://kernel.org/
>   48. mailto:Xen-devel@lists.xen.org
>   49. http://lists.xen.org/xen-devel
>   50. mailto:pasik@iki.fi
>   51. mailto:pasik@iki.fi
>   52. http://kernel.org/
>   53. http://kernel.org/
>   54. mailto:Xen-devel@lists.xen.org
>   55. http://lists.xen.org/xen-devel
>   56. mailto:pasik@iki.fi
>   57. http://kernel.org/
>   58. http://kernel.org/
>   59. mailto:Xen-devel@lists.xen.org
>   60. http://lists.xen.org/xen-devel
>   61. mailto:pasik@iki.fi
>   62. mailto:pasik@iki.fi
>   63. mailto:pasik@iki.fi
>   64. mailto:pasik@iki.fi
>   65. http://kernel.org/
>   66. http://kernel.org/
>   67. mailto:Xen-devel@lists.xen.org
>   68. http://lists.xen.org/xen-devel
>   69. mailto:pasik@iki.fi
>   70. http://kernel.org/
>   71. http://kernel.org/
>   72. mailto:Xen-devel@lists.xen.org
>   73. http://lists.xen.org/xen-devel
>   74. mailto:pasik@iki.fi
>   75. mailto:pasik@iki.fi
>   76. http://kernel.org/
>   77. http://kernel.org/
>   78. mailto:Xen-devel@lists.xen.org
>   79. http://lists.xen.org/xen-devel
>   80. mailto:pasik@iki.fi
>   81. http://kernel.org/
>   82. http://kernel.org/
>   83. mailto:Xen-devel@lists.xen.org
>   84. http://lists.xen.org/xen-devel
>   85. mailto:pasik@iki.fi
>   86. mailto:pasik@iki.fi
>   87. mailto:pasik@iki.fi
>   88. http://kernel.org/
>   89. http://kernel.org/
>   90. mailto:Xen-devel@lists.xen.org
>   91. http://lists.xen.org/xen-devel
>   92. mailto:pasik@iki.fi
>   93. http://kernel.org/
>   94. http://kernel.org/
>   95. mailto:Xen-devel@lists.xen.org
>   96. http://lists.xen.org/xen-devel
>   97. mailto:pasik@iki.fi
>   98. mailto:pasik@iki.fi
>   99. http://kernel.org/
>  100. http://kernel.org/
>  101. mailto:Xen-devel@lists.xen.org
>  102. http://lists.xen.org/xen-devel
>  103. mailto:pasik@iki.fi
>  104. http://kernel.org/
>  105. http://kernel.org/
>  106. mailto:Xen-devel@lists.xen.org
>  107. http://lists.xen.org/xen-devel
>  108. mailto:kiviniemi.valtteri@gmail.com
>  109. http://ark.intel.com/products/65719/
>  110. http://www.intel.com/content/www/us/en/motherboards/desktop-motherb=
oards/desktop-board-dq77mk.html
>  111. mailto:root@dataproof.fi
>  112. mailto:pasik@iki.fi
>  113. http://xen.org/
>  114. mailto:pasik@iki.fi
>  115. mailto:pasik@iki.fi
>  116. mailto:pasik@iki.fi
>  117. mailto:pasik@iki.fi
>  118. http://kernel.org/
>  119. http://kernel.org/
>  120. mailto:Xen-devel@lists.xen.org
>  121. http://lists.xen.org/xen-devel
>  122. mailto:pasik@iki.fi
>  123. http://kernel.org/
>  124. http://kernel.org/
>  125. mailto:Xen-devel@lists.xen.org
>  126. http://lists.xen.org/xen-devel
>  127. mailto:pasik@iki.fi
>  128. mailto:pasik@iki.fi
>  129. http://kernel.org/
>  130. http://kernel.org/
>  131. mailto:Xen-devel@lists.xen.org
>  132. http://lists.xen.org/xen-devel
>  133. mailto:pasik@iki.fi
>  134. http://kernel.org/
>  135. http://kernel.org/
>  136. mailto:Xen-devel@lists.xen.org
>  137. http://lists.xen.org/xen-devel
>  138. mailto:pasik@iki.fi
>  139. mailto:pasik@iki.fi
>  140. mailto:pasik@iki.fi
>  141. http://kernel.org/
>  142. http://kernel.org/
>  143. mailto:Xen-devel@lists.xen.org
>  144. http://lists.xen.org/xen-devel
>  145. mailto:pasik@iki.fi
>  146. http://kernel.org/
>  147. http://kernel.org/
>  148. mailto:Xen-devel@lists.xen.org
>  149. http://lists.xen.org/xen-devel
>  150. mailto:pasik@iki.fi
>  151. mailto:pasik@iki.fi
>  152. http://kernel.org/
>  153. http://kernel.org/
>  154. mailto:Xen-devel@lists.xen.org
>  155. http://lists.xen.org/xen-devel
>  156. mailto:pasik@iki.fi
>  157. http://kernel.org/
>  158. http://kernel.org/
>  159. mailto:Xen-devel@lists.xen.org
>  160. http://lists.xen.org/xen-devel
>  161. mailto:pasik@iki.fi
>  162. mailto:pasik@iki.fi
>  163. mailto:pasik@iki.fi
>  164. mailto:pasik@iki.fi
>  165. http://kernel.org/
>  166. http://kernel.org/
>  167. mailto:Xen-devel@lists.xen.org
>  168. http://lists.xen.org/xen-devel
>  169. mailto:pasik@iki.fi
>  170. http://kernel.org/
>  171. http://kernel.org/
>  172. mailto:Xen-devel@lists.xen.org
>  173. http://lists.xen.org/xen-devel
>  174. mailto:pasik@iki.fi
>  175. mailto:pasik@iki.fi
>  176. http://kernel.org/
>  177. http://kernel.org/
>  178. mailto:Xen-devel@lists.xen.org
>  179. http://lists.xen.org/xen-devel
>  180. mailto:pasik@iki.fi
>  181. http://kernel.org/
>  182. http://kernel.org/
>  183. mailto:Xen-devel@lists.xen.org
>  184. http://lists.xen.org/xen-devel
>  185. mailto:pasik@iki.fi
>  186. mailto:pasik@iki.fi
>  187. mailto:pasik@iki.fi
>  188. http://kernel.org/
>  189. http://kernel.org/
>  190. mailto:Xen-devel@lists.xen.org
>  191. http://lists.xen.org/xen-devel
>  192. mailto:pasik@iki.fi
>  193. http://kernel.org/
>  194. http://kernel.org/
>  195. mailto:Xen-devel@lists.xen.org
>  196. http://lists.xen.org/xen-devel
>  197. mailto:pasik@iki.fi
>  198. mailto:pasik@iki.fi
>  199. http://kernel.org/
>  200. http://kernel.org/
>  201. mailto:Xen-devel@lists.xen.org
>  202. http://lists.xen.org/xen-devel
>  203. mailto:pasik@iki.fi
>  204. http://kernel.org/
>  205. http://kernel.org/
>  206. mailto:Xen-devel@lists.xen.org
>  207. http://lists.xen.org/xen-devel
>  208. http://nago.fi/dmesg.txt
>  209. http://nago.fi/qemu-dm.txt
>  210. http://nago.fi/xm-dmesg.txt
>  211. http://nago.fi/domu-config.txt
>  212. http://nago.fi/dom0-config.txt
>  213. mailto:pasik@iki.fi
>  214. mailto:kiviniemi.valtteri@gmail.com
>  215. http://ark.intel.com/products/65719/
>  216. http://www.intel.com/content/www/us/en/motherboards/desktop-motherb=
oards/desktop-board-dq77mk.html
>  217. mailto:root@dataproof.fi
>  218. mailto:pasik@iki.fi
>  219. http://xen.org/
>  220. mailto:pasik@iki.fi
>  221. mailto:pasik@iki.fi
>  222. mailto:pasik@iki.fi
>  223. mailto:pasik@iki.fi
>  224. http://kernel.org/
>  225. http://kernel.org/
>  226. mailto:Xen-devel@lists.xen.org
>  227. http://lists.xen.org/xen-devel
>  228. mailto:pasik@iki.fi
>  229. http://kernel.org/
>  230. http://kernel.org/
>  231. mailto:Xen-devel@lists.xen.org
>  232. http://lists.xen.org/xen-devel
>  233. mailto:pasik@iki.fi
>  234. mailto:pasik@iki.fi
>  235. http://kernel.org/
>  236. http://kernel.org/
>  237. mailto:Xen-devel@lists.xen.org
>  238. http://lists.xen.org/xen-devel
>  239. mailto:pasik@iki.fi
>  240. http://kernel.org/
>  241. http://kernel.org/
>  242. mailto:Xen-devel@lists.xen.org
>  243. http://lists.xen.org/xen-devel
>  244. mailto:pasik@iki.fi
>  245. mailto:pasik@iki.fi
>  246. mailto:pasik@iki.fi
>  247. http://kernel.org/
>  248. http://kernel.org/
>  249. mailto:Xen-devel@lists.xen.org
>  250. http://lists.xen.org/xen-devel
>  251. mailto:pasik@iki.fi
>  252. http://kernel.org/
>  253. http://kernel.org/
>  254. mailto:Xen-devel@lists.xen.org
>  255. http://lists.xen.org/xen-devel
>  256. mailto:pasik@iki.fi
>  257. mailto:pasik@iki.fi
>  258. http://kernel.org/
>  259. http://kernel.org/
>  260. mailto:Xen-devel@lists.xen.org
>  261. http://lists.xen.org/xen-devel
>  262. mailto:pasik@iki.fi
>  263. http://kernel.org/
>  264. http://kernel.org/
>  265. mailto:Xen-devel@lists.xen.org
>  266. http://lists.xen.org/xen-devel
>  267. mailto:pasik@iki.fi
>  268. mailto:pasik@iki.fi
>  269. mailto:pasik@iki.fi
>  270. mailto:pasik@iki.fi
>  271. http://kernel.org/
>  272. http://kernel.org/
>  273. mailto:Xen-devel@lists.xen.org
>  274. http://lists.xen.org/xen-devel
>  275. mailto:pasik@iki.fi
>  276. http://kernel.org/
>  277. http://kernel.org/
>  278. mailto:Xen-devel@lists.xen.org
>  279. http://lists.xen.org/xen-devel
>  280. mailto:pasik@iki.fi
>  281. mailto:pasik@iki.fi
>  282. http://kernel.org/
>  283. http://kernel.org/
>  284. mailto:Xen-devel@lists.xen.org
>  285. http://lists.xen.org/xen-devel
>  286. mailto:pasik@iki.fi
>  287. http://kernel.org/
>  288. http://kernel.org/
>  289. mailto:Xen-devel@lists.xen.org
>  290. http://lists.xen.org/xen-devel
>  291. mailto:pasik@iki.fi
>  292. mailto:pasik@iki.fi
>  293. mailto:pasik@iki.fi
>  294. http://kernel.org/
>  295. http://kernel.org/
>  296. mailto:Xen-devel@lists.xen.org
>  297. http://lists.xen.org/xen-devel
>  298. mailto:pasik@iki.fi
>  299. http://kernel.org/
>  300. http://kernel.org/
>  301. mailto:Xen-devel@lists.xen.org
>  302. http://lists.xen.org/xen-devel
>  303. mailto:pasik@iki.fi
>  304. mailto:pasik@iki.fi
>  305. http://kernel.org/
>  306. http://kernel.org/
>  307. mailto:Xen-devel@lists.xen.org
>  308. http://lists.xen.org/xen-devel
>  309. mailto:pasik@iki.fi
>  310. http://kernel.org/
>  311. http://kernel.org/
>  312. mailto:Xen-devel@lists.xen.org
>  313. http://lists.xen.org/xen-devel
>  314. mailto:kiviniemi.valtteri@gmail.com
>  315. http://ark.intel.com/products/65719/
>  316. http://www.intel.com/content/www/us/en/motherboards/desktop-motherb=
oards/desktop-board-dq77mk.html
>  317. mailto:root@dataproof.fi
>  318. mailto:pasik@iki.fi
>  319. http://xen.org/
>  320. mailto:pasik@iki.fi
>  321. mailto:pasik@iki.fi
>  322. mailto:pasik@iki.fi
>  323. mailto:pasik@iki.fi
>  324. http://kernel.org/
>  325. http://kernel.org/
>  326. mailto:Xen-devel@lists.xen.org
>  327. http://lists.xen.org/xen-devel
>  328. mailto:pasik@iki.fi
>  329. http://kernel.org/
>  330. http://kernel.org/
>  331. mailto:Xen-devel@lists.xen.org
>  332. http://lists.xen.org/xen-devel
>  333. mailto:pasik@iki.fi
>  334. mailto:pasik@iki.fi
>  335. http://kernel.org/
>  336. http://kernel.org/
>  337. mailto:Xen-devel@lists.xen.org
>  338. http://lists.xen.org/xen-devel
>  339. mailto:pasik@iki.fi
>  340. http://kernel.org/
>  341. http://kernel.org/
>  342. mailto:Xen-devel@lists.xen.org
>  343. http://lists.xen.org/xen-devel
>  344. mailto:pasik@iki.fi
>  345. mailto:pasik@iki.fi
>  346. mailto:pasik@iki.fi
>  347. http://kernel.org/
>  348. http://kernel.org/
>  349. mailto:Xen-devel@lists.xen.org
>  350. http://lists.xen.org/xen-devel
>  351. mailto:pasik@iki.fi
>  352. http://kernel.org/
>  353. http://kernel.org/
>  354. mailto:Xen-devel@lists.xen.org
>  355. http://lists.xen.org/xen-devel
>  356. mailto:pasik@iki.fi
>  357. mailto:pasik@iki.fi
>  358. http://kernel.org/
>  359. http://kernel.org/
>  360. mailto:Xen-devel@lists.xen.org
>  361. http://lists.xen.org/xen-devel
>  362. mailto:pasik@iki.fi
>  363. http://kernel.org/
>  364. http://kernel.org/
>  365. mailto:Xen-devel@lists.xen.org
>  366. http://lists.xen.org/xen-devel
>  367. mailto:pasik@iki.fi
>  368. mailto:pasik@iki.fi
>  369. mailto:pasik@iki.fi
>  370. mailto:pasik@iki.fi
>  371. http://kernel.org/
>  372. http://kernel.org/
>  373. mailto:Xen-devel@lists.xen.org
>  374. http://lists.xen.org/xen-devel
>  375. mailto:pasik@iki.fi
>  376. http://kernel.org/
>  377. http://kernel.org/
>  378. mailto:Xen-devel@lists.xen.org
>  379. http://lists.xen.org/xen-devel
>  380. mailto:pasik@iki.fi
>  381. mailto:pasik@iki.fi
>  382. http://kernel.org/
>  383. http://kernel.org/
>  384. mailto:Xen-devel@lists.xen.org
>  385. http://lists.xen.org/xen-devel
>  386. mailto:pasik@iki.fi
>  387. http://kernel.org/
>  388. http://kernel.org/
>  389. mailto:Xen-devel@lists.xen.org
>  390. http://lists.xen.org/xen-devel
>  391. mailto:pasik@iki.fi
>  392. mailto:pasik@iki.fi
>  393. mailto:pasik@iki.fi
>  394. http://kernel.org/
>  395. http://kernel.org/
>  396. mailto:Xen-devel@lists.xen.org
>  397. http://lists.xen.org/xen-devel
>  398. mailto:pasik@iki.fi
>  399. http://kernel.org/
>  400. http://kernel.org/
>  401. mailto:Xen-devel@lists.xen.org
>  402. http://lists.xen.org/xen-devel
>  403. mailto:pasik@iki.fi
>  404. mailto:pasik@iki.fi
>  405. http://kernel.org/
>  406. http://kernel.org/
>  407. mailto:Xen-devel@lists.xen.org
>  408. http://lists.xen.org/xen-devel
>  409. mailto:pasik@iki.fi
>  410. http://kernel.org/
>  411. http://kernel.org/
>  412. mailto:Xen-devel@lists.xen.org
>  413. http://lists.xen.org/xen-devel

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

From xen-devel-bounces@lists.xen.org Tue Oct 02 14:59:05 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Oct 2012 14:59:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TJ3vv-0000tv-TZ; Tue, 02 Oct 2012 14:58:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <matthew.fioravante@jhuapl.edu>) id 1TJ3vu-0000tZ-DD
	for xen-devel@lists.xen.org; Tue, 02 Oct 2012 14:58:51 +0000
Received: from [85.158.143.35:48062] by server-1.bemta-4.messagelabs.com id
	4A/61-05684-9210B605; Tue, 02 Oct 2012 14:58:49 +0000
X-Env-Sender: matthew.fioravante@jhuapl.edu
X-Msg-Ref: server-10.tower-21.messagelabs.com!1349189922!11328621!1
X-Originating-IP: [128.244.251.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=UNPARSEABLE_RELAY
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21192 invoked from network); 2 Oct 2012 14:58:43 -0000
Received: from piper.jhuapl.edu (HELO jhuapl.edu) (128.244.251.37)
	by server-10.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 2 Oct 2012 14:58:43 -0000
Received: from ([128.244.207.97])
	by piper.jhuapl.edu with ESMTP with TLS id 5Y8HCH1.145948028;
	Tue, 02 Oct 2012 10:58:16 -0400
From: Matthew Fioravante <matthew.fioravante@jhuapl.edu>
To: xen-devel@lists.xen.org, samuel.thibault@ens-lyon.org,
	Ian.Campbell@citrix.com
Date: Tue,  2 Oct 2012 10:58:23 -0400
Message-Id: <1349189903-17524-1-git-send-email-matthew.fioravante@jhuapl.edu>
X-Mailer: git-send-email 1.7.4.4
Cc: Matthew Fioravante <matthew.fioravante@jhuapl.edu>
Subject: [Xen-devel] [PATCH 08/12] add tpmfront, tpm_tis,
	and tpmback drivers to mini-os
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch adds 3 new drivers to mini-os.

tpmfront - paravirtualized tpm frontend driver
tpmback - paravirtualized tpm backend driver
tpm_tis - hardware tpm driver

Unfortunately these drivers were derived from GPL
licensed linux kernel drivers so they must carry
the GPL license. However, since mini-os now
supports conditional compilation, hopefully these
drivers can be included into the xen tree and
conditionally removed from non-gpl projects.
By default they are disabled in the makefile.

Signed-off-by: Matthew Fioravante <matthew.fioravante@jhuapl.edu>
---
Changes since last:
 * Fixed incorrect license text

diff --git a/extras/mini-os/Makefile b/extras/mini-os/Makefile
index 2422db3..2302a23 100644
--- a/extras/mini-os/Makefile
+++ b/extras/mini-os/Makefile
@@ -22,6 +22,9 @@ CONFIG_QEMU_XS_ARGS ?= n
 CONFIG_TEST ?= n
 CONFIG_PCIFRONT ?= n
 CONFIG_BLKFRONT ?= y
+CONFIG_TPMFRONT ?= n
+CONFIG_TPM_TIS ?= n
+CONFIG_TPMBACK ?= n
 CONFIG_NETFRONT ?= y
 CONFIG_FBFRONT ?= y
 CONFIG_KBDFRONT ?= y
@@ -36,6 +39,9 @@ flags-$(CONFIG_SPARSE_BSS) += -DCONFIG_SPARSE_BSS
 flags-$(CONFIG_QEMU_XS_ARGS) += -DCONFIG_QEMU_XS_ARGS
 flags-$(CONFIG_PCIFRONT) += -DCONFIG_PCIFRONT
 flags-$(CONFIG_BLKFRONT) += -DCONFIG_BLKFRONT
+flags-$(CONFIG_TPMFRONT) += -DCONFIG_TPMFRONT
+flags-$(CONFIG_TPM_TIS) += -DCONFIG_TPM_TIS
+flags-$(CONFIG_TPMBACK) += -DCONFIG_TPMBACK
 flags-$(CONFIG_NETFRONT) += -DCONFIG_NETFRONT
 flags-$(CONFIG_KBDFRONT) += -DCONFIG_KBDFRONT
 flags-$(CONFIG_FBFRONT) += -DCONFIG_FBFRONT
@@ -67,6 +73,9 @@ TARGET := mini-os
 SUBDIRS := lib xenbus console
 
 src-$(CONFIG_BLKFRONT) += blkfront.c
+src-$(CONFIG_TPMFRONT) += tpmfront.c
+src-$(CONFIG_TPM_TIS) += tpm_tis.c
+src-$(CONFIG_TPMBACK) += tpmback.c
 src-y += daytime.c
 src-y += events.c
 src-$(CONFIG_FBFRONT) += fbfront.c
diff --git a/extras/mini-os/include/lib.h b/extras/mini-os/include/lib.h
index d4641b6..935bede 100644
--- a/extras/mini-os/include/lib.h
+++ b/extras/mini-os/include/lib.h
@@ -142,6 +142,8 @@ enum fd_type {
     FTYPE_FB,
     FTYPE_MEM,
     FTYPE_SAVEFILE,
+    FTYPE_TPMFRONT,
+    FTYPE_TPM_TIS,
 };
 
 LIST_HEAD(evtchn_port_list, evtchn_port_info);
@@ -185,6 +187,20 @@ extern struct file {
 	struct {
 	    struct consfront_dev *dev;
 	} cons;
+#ifdef CONFIG_TPMFRONT
+	struct {
+	   struct tpmfront_dev *dev;
+	   int respgot;
+	   off_t offset;
+	} tpmfront;
+#endif
+#ifdef CONFIG_TPM_TIS
+	struct {
+	   struct tpm_chip *dev;
+	   int respgot;
+	   off_t offset;
+	} tpm_tis;
+#endif
 #ifdef CONFIG_XENBUS
         struct {
             /* To each xenbus FD is associated a queue of watch events for this
diff --git a/extras/mini-os/include/tpm_tis.h b/extras/mini-os/include/tpm_tis.h
new file mode 100644
index 0000000..a076a70
--- /dev/null
+++ b/extras/mini-os/include/tpm_tis.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ * Based upon the files:
+ *  drivers/char/tpm/tpm_tis.c
+ *  drivers/char/tpm/tpm.c
+ * from the Linux kernel, which are Copyright (C) 2006 IBM Corporation
+ */
+#ifndef TPM_TIS_H
+#define TPM_TIS_H
+
+#include <mini-os/types.h>
+#include <mini-os/byteorder.h>
+
+#define TPM_TIS_EN_LOCL0 1
+#define TPM_TIS_EN_LOCL1 (1 << 1)
+#define TPM_TIS_EN_LOCL2 (1 << 2)
+#define TPM_TIS_EN_LOCL3 (1 << 3)
+#define TPM_TIS_EN_LOCL4 (1 << 4)
+#define TPM_TIS_EN_LOCLALL (TPM_TIS_EN_LOCL0 | TPM_TIS_EN_LOCL1  | TPM_TIS_EN_LOCL2 | TPM_TIS_EN_LOCL3 | TPM_TIS_EN_LOCL4)
+#define TPM_TIS_LOCL_INT_TO_FLAG(x) (1 << x)
+#define TPM_BASEADDR 0xFED40000
+#define TPM_PROBE_IRQ 0xFFFF
+
+struct tpm_chip;
+
+struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq);
+void shutdown_tpm_tis(struct tpm_chip* tpm);
+
+int tpm_tis_request_locality(struct tpm_chip* tpm, int locality);
+int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen);
+
+#ifdef HAVE_LIBC
+#include <sys/stat.h>
+#include <fcntl.h>
+/* POSIX IO functions:
+ * use tpm_tis_open() to get a file descriptor to the tpm device
+ * use write() on the fd to send a command to the backend. You must
+ * include the entire command in a single call to write().
+ * use read() on the fd to read the response. You can use
+ * fstat() to get the size of the response and lseek() to seek on it.
+ */
+int tpm_tis_open(struct tpm_chip* tpm);
+int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count);
+int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count);
+int tpm_tis_posix_fstat(int fd, struct stat* buf);
+#endif
+
+#endif
diff --git a/extras/mini-os/include/tpmback.h b/extras/mini-os/include/tpmback.h
new file mode 100644
index 0000000..4315e55
--- /dev/null
+++ b/extras/mini-os/include/tpmback.h
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ * Based upon the files:
+ *  drivers/xen/tpmbk.c
+ * from the Linux kernel, which are Copyright (C) 2006 IBM Corporation
+ */
+#include <xen/io/tpmif.h>
+#include <xen/io/xenbus.h>
+#include <mini-os/types.h>
+#include <xen/xen.h>
+#ifndef TPMBACK_H
+#define TPMBACK_H
+
+struct tpmcmd {
+   domid_t domid;		/* Domid of the frontend */
+   unsigned int handle;	/* Handle of the frontend */
+   char* uuid;			/* uuid of the tpm interface - allocated internally, dont free it */
+
+   unsigned int req_len;		/* Size of the command in buf - set by tpmback driver */
+   uint8_t* req;			/* tpm command bits, allocated by driver, DON'T FREE IT */
+   unsigned int resp_len;	/* Size of the outgoing command,
+				   you set this before passing the cmd object to tpmback_resp */
+   uint8_t* resp;		/* Buffer for response - YOU MUST ALLOCATE IT, YOU MUST ALSO FREE IT */
+};
+typedef struct tpmcmd tpmcmd_t;
+
+/* Initialize the tpm backend driver
+ * @exclusive_domname - This is NULL terminated list of vtpm uuid strings. If this list
+ * 			is non-empty, then only frontend domains with vtpm uuid's matching
+ * 			entries in this list will be allowed to connect.
+ * 			Other connections will be immediatly closed.
+ * 			Set this argument to NULL to allow any vtpm to connect.
+ */
+void init_tpmback(char** exclusive_uuids);
+/* Shutdown tpm backend driver */
+void shutdown_tpmback(void);
+
+/* Blocks until a tpm command is sent from any front end.
+ * Returns a pointer to the tpm command to handle.
+ * Do not try to free this pointer or the req buffer
+ * This function will return NULL if the tpm backend driver
+ * is shutdown or any other error occurs */
+tpmcmd_t* tpmback_req_any(void);
+
+/* Blocks until a tpm command from the frontend at domid/handle
+ * is sent.
+ * Returns NULL if domid/handle is not connected, tpmback is
+ * shutdown or shutting down, or if there is an error
+ */
+tpmcmd_t* tpmback_req(domid_t domid, unsigned int handle);
+
+/* Send the response to the tpm command back to the frontend
+ * This function will free the tpmcmd object, but you must free the resp
+ * buffer yourself */
+void tpmback_resp(tpmcmd_t* tpmcmd);
+
+/* Waits for the first frontend to connect and then sets domid and handle appropriately.
+ * If one or more frontends are already connected, this will set domid and handle to one
+ * of them arbitrarily. The main use for this function is to wait until a single
+ * frontend connection has occured.
+ * returns 0 on success, non-zero on failure */
+int tpmback_wait_for_frontend_connect(domid_t *domid, unsigned int *handle);
+
+/* returns the number of frontends connected */
+int tpmback_num_frontends(void);
+
+/* Returns the uuid of the specified frontend, NULL on error */
+char* tpmback_get_uuid(domid_t domid, unsigned int handle);
+
+/* Specify a function to call when a new tpm device connects */
+void tpmback_set_open_callback(void (*cb)(domid_t, unsigned int));
+
+/* Specify a function to call when a tpm device disconnects */
+void tpmback_set_close_callback(void (*cb)(domid_t, unsigned int));
+
+//Not Implemented
+void tpmback_set_suspend_callback(void (*cb)(domid_t, unsigned int));
+void tpmback_set_resume_callback(void (*cb)(domid_t, unsigned int));
+
+#endif
diff --git a/extras/mini-os/include/tpmfront.h b/extras/mini-os/include/tpmfront.h
new file mode 100644
index 0000000..7e3d357
--- /dev/null
+++ b/extras/mini-os/include/tpmfront.h
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+
+ *
+ * Based upon the files:
+ *  drivers/char/tpm/tpm_vtpm.c
+ *  drivers/char/tpm/tpm_xen.c
+ * from the Linux kernel, which are Copyright (C) 2006 IBM Corporation
+ */
+#ifndef TPMFRONT_H
+#define TPMFRONT_H
+
+#include <mini-os/types.h>
+#include <mini-os/os.h>
+#include <mini-os/events.h>
+#include <mini-os/wait.h>
+#include <xen/xen.h>
+#include <xen/io/xenbus.h>
+#include <xen/io/tpmif.h>
+
+struct tpmfront_dev {
+   grant_ref_t ring_ref;
+   evtchn_port_t evtchn;
+
+   tpmif_tx_interface_t* tx;
+
+   void** pages;
+
+   domid_t bedomid;
+   char* nodename;
+   char* bepath;
+
+   XenbusState state;
+
+   uint8_t waiting;
+   struct wait_queue_head waitq;
+
+   uint8_t* respbuf;
+   size_t resplen;
+
+#ifdef HAVE_LIBC
+   int fd;
+#endif
+
+};
+
+
+/*Initialize frontend */
+struct tpmfront_dev* init_tpmfront(const char* nodename);
+/*Shutdown frontend */
+void shutdown_tpmfront(struct tpmfront_dev* dev);
+
+/* Send a tpm command to the backend and wait for the response
+ *
+ * @dev - frontend device
+ * @req - request buffer
+ * @reqlen - length of request buffer
+ * @resp - *resp will be set to internal response buffer, don't free it! Value is undefined on error
+ * @resplen - *resplen will be set to the length of the response. Value is undefined on error
+ *
+ * returns 0 on success, non zero on failure.
+ * */
+int tpmfront_cmd(struct tpmfront_dev* dev, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen);
+
+#ifdef HAVE_LIBC
+#include <sys/stat.h>
+/* POSIX IO functions:
+ * use tpmfront_open() to get a file descriptor to the tpm device
+ * use write() on the fd to send a command to the backend. You must
+ * include the entire command in a single call to write().
+ * use read() on the fd to read the response. You can use
+ * fstat() to get the size of the response and lseek() to seek on it.
+ */
+int tpmfront_open(struct tpmfront_dev* dev);
+int tpmfront_posix_read(int fd, uint8_t* buf, size_t count);
+int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count);
+int tpmfront_posix_fstat(int fd, struct stat* buf);
+#endif
+
+
+#endif
diff --git a/extras/mini-os/lib/sys.c b/extras/mini-os/lib/sys.c
index 6cb97b1..d212969 100644
--- a/extras/mini-os/lib/sys.c
+++ b/extras/mini-os/lib/sys.c
@@ -27,6 +27,8 @@
 #include <netfront.h>
 #include <blkfront.h>
 #include <fbfront.h>
+#include <tpmfront.h>
+#include <tpm_tis.h>
 #include <xenbus.h>
 #include <xenstore.h>
 
@@ -294,6 +296,16 @@ int read(int fd, void *buf, size_t nbytes)
 	    return blkfront_posix_read(fd, buf, nbytes);
         }
 #endif
+#ifdef CONFIG_TPMFRONT
+        case FTYPE_TPMFRONT: {
+	    return tpmfront_posix_read(fd, buf, nbytes);
+        }
+#endif
+#ifdef CONFIG_TPM_TIS
+        case FTYPE_TPM_TIS: {
+	    return tpm_tis_posix_read(fd, buf, nbytes);
+        }
+#endif
 	default:
 	    break;
     }
@@ -330,6 +342,14 @@ int write(int fd, const void *buf, size_t nbytes)
 	case FTYPE_BLK:
 	    return blkfront_posix_write(fd, buf, nbytes);
 #endif
+#ifdef CONFIG_TPMFRONT
+	case FTYPE_TPMFRONT:
+	    return tpmfront_posix_write(fd, buf, nbytes);
+#endif
+#ifdef CONFIG_TPM_TIS
+	case FTYPE_TPM_TIS:
+	    return tpm_tis_posix_write(fd, buf, nbytes);
+#endif
 	default:
 	    break;
     }
@@ -341,8 +361,16 @@ int write(int fd, const void *buf, size_t nbytes)
 off_t lseek(int fd, off_t offset, int whence)
 {
     switch(files[fd].type) {
+#if defined(CONFIG_BLKFRONT) || defined(CONFIG_TPMFRONT) || defined(CONFIG_TPM_TIS)
 #ifdef CONFIG_BLKFRONT
        case FTYPE_BLK:
+#endif
+#ifdef CONFIG_TPMFRNT
+       case FTYPE_TPMFRONT:
+#endif
+#ifdef CONFIG_TPM_TIS
+       case FTYPE_TPM_TIS:
+#endif
 	  switch (whence) {
 	     case SEEK_SET:
 		files[fd].file.offset = offset;
@@ -420,6 +448,18 @@ int close(int fd)
 	    files[fd].type = FTYPE_NONE;
 	    return 0;
 #endif
+#ifdef CONFIG_TPMFRONT
+	case FTYPE_TPMFRONT:
+            shutdown_tpmfront(files[fd].tpmfront.dev);
+	    files[fd].type = FTYPE_NONE;
+	    return 0;
+#endif
+#ifdef CONFIG_TPM_TIS
+	case FTYPE_TPM_TIS:
+            shutdown_tpm_tis(files[fd].tpm_tis.dev);
+	    files[fd].type = FTYPE_NONE;
+	    return 0;
+#endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
             shutdown_kbdfront(files[fd].kbd.dev);
@@ -489,6 +529,14 @@ int fstat(int fd, struct stat *buf)
 	case FTYPE_BLK:
 	   return blkfront_posix_fstat(fd, buf);
 #endif
+#ifdef CONFIG_TPMFRONT
+	case FTYPE_TPMFRONT:
+	   return tpmfront_posix_fstat(fd, buf);
+#endif
+#ifdef CONFIG_TPM_TIS
+	case FTYPE_TPM_TIS:
+	   return tpm_tis_posix_fstat(fd, buf);
+#endif
 	default:
 	    break;
     }
diff --git a/extras/mini-os/tpm_tis.c b/extras/mini-os/tpm_tis.c
new file mode 100644
index 0000000..d94f798
--- /dev/null
+++ b/extras/mini-os/tpm_tis.c
@@ -0,0 +1,1345 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ * Based upon the files:
+ *  drivers/char/tpm/tpm_tis.c
+ *  drivers/char/tpm/tpm.c
+ * from the Linux kernel, which are Copyright (C) 2006 IBM Corporation
+ */
+#include <mini-os/ioremap.h>
+#include <mini-os/iorw.h>
+#include <mini-os/tpm_tis.h>
+#include <mini-os/os.h>
+#include <mini-os/sched.h>
+#include <mini-os/byteorder.h>
+#include <mini-os/events.h>
+#include <mini-os/wait.h>
+#include <mini-os/xmalloc.h>
+#include <errno.h>
+#include <stdbool.h>
+
+#ifndef min
+	#define min( a, b ) ( ((a) < (b)) ? (a) : (b) )
+#endif
+
+#define TPM_HEADER_SIZE 10
+
+#define TPM_BUFSIZE 2048
+
+struct tpm_input_header {
+        uint16_t  tag;
+        uint32_t  length;
+        uint32_t  ordinal;
+}__attribute__((packed));
+
+struct tpm_output_header {
+        uint16_t  tag;
+        uint32_t  length;
+        uint32_t  return_code;
+}__attribute__((packed));
+
+struct  stclear_flags_t {
+        uint16_t  tag;
+        uint8_t      deactivated;
+        uint8_t      disableForceClear;
+        uint8_t      physicalPresence;
+        uint8_t      physicalPresenceLock;
+        uint8_t      bGlobalLock;
+}__attribute__((packed));
+
+struct  tpm_version_t {
+        uint8_t      Major;
+        uint8_t      Minor;
+        uint8_t      revMajor;
+        uint8_t      revMinor;
+}__attribute__((packed));
+
+struct  tpm_version_1_2_t {
+        uint16_t  tag;
+        uint8_t      Major;
+        uint8_t      Minor;
+        uint8_t      revMajor;
+        uint8_t      revMinor;
+}__attribute__((packed));
+
+struct  timeout_t {
+        uint32_t  a;
+        uint32_t  b;
+        uint32_t  c;
+        uint32_t  d;
+}__attribute__((packed));
+
+struct duration_t {
+        uint32_t  tpm_short;
+        uint32_t  tpm_medium;
+        uint32_t  tpm_long;
+}__attribute__((packed));
+
+struct permanent_flags_t {
+        uint16_t  tag;
+        uint8_t      disable;
+        uint8_t      ownership;
+        uint8_t      deactivated;
+        uint8_t      readPubek;
+        uint8_t      disableOwnerClear;
+        uint8_t      allowMaintenance;
+        uint8_t      physicalPresenceLifetimeLock;
+        uint8_t      physicalPresenceHWEnable;
+        uint8_t      physicalPresenceCMDEnable;
+        uint8_t      CEKPUsed;
+        uint8_t      TPMpost;
+        uint8_t      TPMpostLock;
+        uint8_t      FIPS;
+        uint8_t      operator;
+        uint8_t      enableRevokeEK;
+        uint8_t      nvLocked;
+        uint8_t      readSRKPub;
+        uint8_t      tpmEstablished;
+        uint8_t      maintenanceDone;
+        uint8_t      disableFullDALogicInfo;
+}__attribute__((packed));
+
+typedef union {
+        struct  permanent_flags_t perm_flags;
+        struct  stclear_flags_t stclear_flags;
+        bool    owned;
+        uint32_t  num_pcrs;
+        struct  tpm_version_t   tpm_version;
+        struct  tpm_version_1_2_t tpm_version_1_2;
+        uint32_t  manufacturer_id;
+        struct timeout_t  timeout;
+        struct duration_t duration;
+} cap_t;
+
+struct  tpm_getcap_params_in {
+        uint32_t  cap;
+        uint32_t  subcap_size;
+        uint32_t  subcap;
+}__attribute__((packed));
+
+struct  tpm_getcap_params_out {
+        uint32_t  cap_size;
+        cap_t   cap;
+}__attribute__((packed));
+
+struct  tpm_readpubek_params_out {
+        uint8_t      algorithm[4];
+        uint8_t      encscheme[2];
+        uint8_t      sigscheme[2];
+        uint32_t  paramsize;
+        uint8_t      parameters[12]; /*assuming RSA*/
+        uint32_t  keysize;
+        uint8_t      modulus[256];
+        uint8_t      checksum[20];
+}__attribute__((packed));
+
+typedef union {
+        struct  tpm_input_header in;
+        struct  tpm_output_header out;
+} tpm_cmd_header;
+
+#define TPM_DIGEST_SIZE 20
+struct tpm_pcrread_out {
+        uint8_t      pcr_result[TPM_DIGEST_SIZE];
+}__attribute__((packed));
+
+struct tpm_pcrread_in {
+        uint32_t  pcr_idx;
+}__attribute__((packed));
+
+struct tpm_pcrextend_in {
+        uint32_t  pcr_idx;
+        uint8_t      hash[TPM_DIGEST_SIZE];
+}__attribute__((packed));
+
+typedef union {
+        struct  tpm_getcap_params_out getcap_out;
+        struct  tpm_readpubek_params_out readpubek_out;
+        uint8_t      readpubek_out_buffer[sizeof(struct tpm_readpubek_params_out)];
+        struct  tpm_getcap_params_in getcap_in;
+        struct  tpm_pcrread_in  pcrread_in;
+        struct  tpm_pcrread_out pcrread_out;
+        struct  tpm_pcrextend_in pcrextend_in;
+} tpm_cmd_params;
+
+struct tpm_cmd_t {
+        tpm_cmd_header  header;
+        tpm_cmd_params  params;
+}__attribute__((packed));
+
+
+enum tpm_duration {
+   TPM_SHORT = 0,
+   TPM_MEDIUM = 1,
+   TPM_LONG = 2,
+   TPM_UNDEFINED,
+};
+
+#define TPM_MAX_ORDINAL 243
+#define TPM_MAX_PROTECTED_ORDINAL 12
+#define TPM_PROTECTED_ORDINAL_MASK 0xFF
+
+extern const uint8_t tpm_protected_ordinal_duration[TPM_MAX_PROTECTED_ORDINAL];
+extern const uint8_t tpm_ordinal_duration[TPM_MAX_ORDINAL];
+
+#define TPM_DIGEST_SIZE 20
+#define TPM_ERROR_SIZE 10
+#define TPM_RET_CODE_IDX 6
+
+/* tpm_capabilities */
+#define TPM_CAP_FLAG cpu_to_be32(4)
+#define TPM_CAP_PROP cpu_to_be32(5)
+#define CAP_VERSION_1_1 cpu_to_be32(0x06)
+#define CAP_VERSION_1_2 cpu_to_be32(0x1A)
+
+/* tpm_sub_capabilities */
+#define TPM_CAP_PROP_PCR cpu_to_be32(0x101)
+#define TPM_CAP_PROP_MANUFACTURER cpu_to_be32(0x103)
+#define TPM_CAP_FLAG_PERM cpu_to_be32(0x108)
+#define TPM_CAP_FLAG_VOL cpu_to_be32(0x109)
+#define TPM_CAP_PROP_OWNER cpu_to_be32(0x111)
+#define TPM_CAP_PROP_TIS_TIMEOUT cpu_to_be32(0x115)
+#define TPM_CAP_PROP_TIS_DURATION cpu_to_be32(0x120)
+
+
+#define TPM_INTERNAL_RESULT_SIZE 200
+#define TPM_TAG_RQU_COMMAND cpu_to_be16(193)
+#define TPM_ORD_GET_CAP cpu_to_be32(101)
+
+extern const struct tpm_input_header tpm_getcap_header;
+
+
+
+const uint8_t tpm_protected_ordinal_duration[TPM_MAX_PROTECTED_ORDINAL] = {
+   TPM_UNDEFINED,          /* 0 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 5 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 10 */
+   TPM_SHORT,
+};
+
+const uint8_t tpm_ordinal_duration[TPM_MAX_ORDINAL] = {
+   TPM_UNDEFINED,          /* 0 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 5 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 10 */
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_LONG,
+   TPM_LONG,
+   TPM_MEDIUM,             /* 15 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_LONG,
+   TPM_SHORT,              /* 20 */
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_SHORT,              /* 25 */
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_MEDIUM,             /* 30 */
+   TPM_LONG,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,              /* 35 */
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_MEDIUM,             /* 40 */
+   TPM_LONG,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,              /* 45 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_LONG,
+   TPM_MEDIUM,             /* 50 */
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 55 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_MEDIUM,             /* 60 */
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_MEDIUM,             /* 65 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 70 */
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 75 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_LONG,               /* 80 */
+   TPM_UNDEFINED,
+   TPM_MEDIUM,
+   TPM_LONG,
+   TPM_SHORT,
+   TPM_UNDEFINED,          /* 85 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 90 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,          /* 95 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_MEDIUM,             /* 100 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 105 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 110 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,              /* 115 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_LONG,               /* 120 */
+   TPM_LONG,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_SHORT,
+   TPM_SHORT,              /* 125 */
+   TPM_SHORT,
+   TPM_LONG,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,              /* 130 */
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,          /* 135 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 140 */
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 145 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 150 */
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,          /* 155 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 160 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 165 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_LONG,               /* 170 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 175 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_MEDIUM,             /* 180 */
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_MEDIUM,             /* 185 */
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 190 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 195 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 200 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,
+   TPM_SHORT,              /* 205 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_MEDIUM,             /* 210 */
+   TPM_UNDEFINED,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,          /* 215 */
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,
+   TPM_SHORT,              /* 220 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,          /* 225 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 230 */
+   TPM_LONG,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 235 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 240 */
+   TPM_UNDEFINED,
+   TPM_MEDIUM,
+};
+
+const struct tpm_input_header tpm_getcap_header = {
+        .tag = TPM_TAG_RQU_COMMAND,
+        .length = cpu_to_be32(22),
+        .ordinal = TPM_ORD_GET_CAP
+};
+
+
+enum tis_access {
+   TPM_ACCESS_VALID = 0x80,
+   TPM_ACCESS_ACTIVE_LOCALITY = 0x20,	/* (R) */
+   TPM_ACCESS_RELINQUISH_LOCALITY = 0x20,/* (W) */
+   TPM_ACCESS_REQUEST_PENDING = 0x04,	/* (W) */
+   TPM_ACCESS_REQUEST_USE = 0x02,	/* (W) */
+};
+
+enum tis_status {
+   TPM_STS_VALID = 0x80,		/* (R) */
+   TPM_STS_COMMAND_READY = 0x40,	/* (R) */
+   TPM_STS_DATA_AVAIL = 0x10,		/* (R) */
+   TPM_STS_DATA_EXPECT = 0x08,		/* (R) */
+   TPM_STS_GO = 0x20,			/* (W) */
+};
+
+enum tis_int_flags {
+   TPM_GLOBAL_INT_ENABLE = 0x80000000,
+   TPM_INTF_BURST_COUNT_STATIC = 0x100,
+   TPM_INTF_CMD_READY_INT = 0x080,
+   TPM_INTF_INT_EDGE_FALLING = 0x040,
+   TPM_INTF_INT_EDGE_RISING = 0x020,
+   TPM_INTF_INT_LEVEL_LOW = 0x010,
+   TPM_INTF_INT_LEVEL_HIGH = 0x008,
+   TPM_INTF_LOCALITY_CHANGE_INT = 0x004,
+   TPM_INTF_STS_VALID_INT = 0x002,
+   TPM_INTF_DATA_AVAIL_INT = 0x001,
+};
+
+enum tis_defaults {
+   TIS_MEM_BASE = 0xFED40000,
+   TIS_MEM_LEN  = 0x5000,
+   TIS_SHORT_TIMEOUT = 750, /*ms*/
+   TIS_LONG_TIMEOUT = 2000, /*2 sec */
+};
+
+#define TPM_TIMEOUT 5
+
+#define TPM_ACCESS(t, l)                   (((uint8_t*)t->pages[l]) + 0x0000)
+#define TPM_INT_ENABLE(t, l)               ((uint32_t*)(((uint8_t*)t->pages[l]) + 0x0008))
+#define TPM_INT_VECTOR(t, l)               (((uint8_t*)t->pages[l]) + 0x000C)
+#define TPM_INT_STATUS(t, l)               (((uint8_t*)t->pages[l]) + 0x0010)
+#define TPM_INTF_CAPS(t, l)                ((uint32_t*)(((uint8_t*)t->pages[l]) + 0x0014))
+#define TPM_STS(t, l)                      ((uint8_t*)(((uint8_t*)t->pages[l]) + 0x0018))
+#define TPM_DATA_FIFO(t, l)                (((uint8_t*)t->pages[l]) + 0x0024)
+
+#define TPM_DID_VID(t, l)                  ((uint32_t*)(((uint8_t*)t->pages[l]) + 0x0F00))
+#define TPM_RID(t, l)                      (((uint8_t*)t->pages[l]) + 0x0F04)
+
+struct tpm_chip {
+   int enabled_localities;
+   int locality;
+   unsigned long baseaddr;
+   uint8_t* pages[5];
+   int did, vid, rid;
+
+   uint8_t data_buffer[TPM_BUFSIZE];
+   int data_len;
+
+   s_time_t timeout_a, timeout_b, timeout_c, timeout_d;
+   s_time_t duration[3];
+
+#ifdef HAVE_LIBC
+   int fd;
+#endif
+
+   unsigned int irq;
+   struct wait_queue_head read_queue;
+   struct wait_queue_head int_queue;
+};
+
+
+static void __init_tpm_chip(struct tpm_chip* tpm) {
+   tpm->enabled_localities = TPM_TIS_EN_LOCLALL;
+   tpm->locality = -1;
+   tpm->baseaddr = 0;
+   tpm->pages[0] = tpm->pages[1] = tpm->pages[2] = tpm->pages[3] = tpm->pages[4] = NULL;
+   tpm->vid = 0;
+   tpm->did = 0;
+   tpm->irq = 0;
+   init_waitqueue_head(&tpm->read_queue);
+   init_waitqueue_head(&tpm->int_queue);
+
+   tpm->data_len = -1;
+
+#ifdef HAVE_LIBC
+   tpm->fd = -1;
+#endif
+}
+
+/*
+ * Returns max number of nsecs to wait
+ */
+s_time_t tpm_calc_ordinal_duration(struct tpm_chip *chip,
+      uint32_t ordinal)
+{
+   int duration_idx = TPM_UNDEFINED;
+   s_time_t duration = 0;
+
+   if (ordinal < TPM_MAX_ORDINAL)
+      duration_idx = tpm_ordinal_duration[ordinal];
+   else if ((ordinal & TPM_PROTECTED_ORDINAL_MASK) <
+	 TPM_MAX_PROTECTED_ORDINAL)
+      duration_idx =
+	 tpm_protected_ordinal_duration[ordinal &
+	 TPM_PROTECTED_ORDINAL_MASK];
+
+   if (duration_idx != TPM_UNDEFINED) {
+      duration = chip->duration[duration_idx];
+   }
+
+   if (duration <= 0) {
+      return SECONDS(120);
+   }
+   else
+   {
+      return duration;
+   }
+}
+
+
+static int locality_enabled(struct tpm_chip* tpm, int l) {
+   return tpm->enabled_localities & (1 << l);
+}
+
+static int check_locality(struct tpm_chip* tpm, int l) {
+   if(locality_enabled(tpm, l) && (ioread8(TPM_ACCESS(tpm, l)) &
+	    (TPM_ACCESS_ACTIVE_LOCALITY | TPM_ACCESS_VALID)) ==
+	 (TPM_ACCESS_ACTIVE_LOCALITY | TPM_ACCESS_VALID)) {
+      return l;
+   }
+   return -1;
+}
+
+void release_locality(struct tpm_chip* tpm, int l, int force)
+{
+   if (locality_enabled(tpm, l) && (force || (ioread8(TPM_ACCESS(tpm, l)) &
+	       (TPM_ACCESS_REQUEST_PENDING | TPM_ACCESS_VALID)) ==
+	    (TPM_ACCESS_REQUEST_PENDING | TPM_ACCESS_VALID))) {
+      iowrite8(TPM_ACCESS(tpm, l), TPM_ACCESS_RELINQUISH_LOCALITY);
+   }
+}
+
+int tpm_tis_request_locality(struct tpm_chip* tpm, int l) {
+
+   s_time_t stop;
+   /*Make sure locality is valid */
+   if(!locality_enabled(tpm, l)) {
+      printk("tpm_tis_change_locality() Tried to change to locality %d, but it is disabled or invalid!\n", l);
+      return -1;
+   }
+   /* Check if we already have the current locality */
+   if(check_locality(tpm, l) >= 0) {
+      return tpm->locality = l;
+   }
+   /* Set the new locality*/
+   iowrite8(TPM_ACCESS(tpm, l), TPM_ACCESS_REQUEST_USE);
+
+   if(tpm->irq) {
+      /* Wait for interrupt */
+      wait_event_deadline(tpm->int_queue, (check_locality(tpm, l) >= 0), NOW() + tpm->timeout_a);
+
+      /* FIXME: Handle timeout event, should return error in that case */
+      return l;
+   } else {
+      /* Wait for burstcount */
+      stop = NOW() + tpm->timeout_a;
+      do {
+	 if(check_locality(tpm, l) >= 0) {
+	    return tpm->locality = l;
+	 }
+	 msleep(TPM_TIMEOUT);
+      } while(NOW() < stop);
+   }
+
+   printk("REQ LOCALITY FAILURE\n");
+   return -1;
+}
+
+static uint8_t tpm_tis_status(struct tpm_chip* tpm) {
+   return ioread8(TPM_STS(tpm, tpm->locality));
+}
+
+/* This causes the current command to be aborted */
+static void tpm_tis_ready(struct tpm_chip* tpm) {
+   iowrite8(TPM_STS(tpm, tpm->locality), TPM_STS_COMMAND_READY);
+}
+#define tpm_tis_cancel_cmd(v) tpm_tis_ready(v)
+
+static int get_burstcount(struct tpm_chip* tpm) {
+   s_time_t stop;
+   int burstcnt;
+
+   stop = NOW() + tpm->timeout_d;
+   do {
+      burstcnt = ioread8((TPM_STS(tpm, tpm->locality) + 1));
+      burstcnt += ioread8(TPM_STS(tpm, tpm->locality) + 2) << 8;
+
+      if (burstcnt) {
+	 return burstcnt;
+      }
+      msleep(TPM_TIMEOUT);
+   } while(NOW() < stop);
+   return -EBUSY;
+}
+
+static int wait_for_stat(struct tpm_chip* tpm, uint8_t mask,
+      unsigned long timeout, struct wait_queue_head* queue) {
+   s_time_t stop;
+   uint8_t status;
+
+   status = tpm_tis_status(tpm);
+   if((status & mask) == mask) {
+      return 0;
+   }
+
+   if(tpm->irq) {
+      wait_event_deadline(*queue, ((tpm_tis_status(tpm) & mask) == mask), timeout);
+      /* FIXME: Check for timeout and return -ETIME */
+      return 0;
+   } else {
+      stop = NOW() + timeout;
+      do {
+	 msleep(TPM_TIMEOUT);
+	 status = tpm_tis_status(tpm);
+	 if((status & mask) == mask)
+	    return 0;
+      } while( NOW() < stop);
+   }
+   return -ETIME;
+}
+
+static int recv_data(struct tpm_chip* tpm, uint8_t* buf, size_t count) {
+   int size = 0;
+   int burstcnt;
+   while( size < count &&
+	 wait_for_stat(tpm,
+	    TPM_STS_DATA_AVAIL | TPM_STS_VALID,
+	    tpm->timeout_c,
+	    &tpm->read_queue)
+	 == 0) {
+      burstcnt = get_burstcount(tpm);
+      for(; burstcnt > 0 && size < count; --burstcnt)
+      {
+	 buf[size++] = ioread8(TPM_DATA_FIFO(tpm, tpm->locality));
+      }
+   }
+   return size;
+}
+
+int tpm_tis_recv(struct tpm_chip* tpm, uint8_t* buf, size_t count) {
+   int size = 0;
+   int expected, status;
+
+   if (count < TPM_HEADER_SIZE) {
+      size = -EIO;
+      goto out;
+   }
+
+   /* read first 10 bytes, including tag, paramsize, and result */
+   if((size =
+	    recv_data(tpm, buf, TPM_HEADER_SIZE)) < TPM_HEADER_SIZE) {
+      printk("Error reading tpm cmd header\n");
+      goto out;
+   }
+
+   expected = be32_to_cpu(*((uint32_t*)(buf + 2)));
+   if(expected > count) {
+      size = -EIO;
+      goto out;
+   }
+
+   if((size += recv_data(tpm, & buf[TPM_HEADER_SIZE],
+	       expected - TPM_HEADER_SIZE)) < expected) {
+      printk("Unable to read rest of tpm command size=%d expected=%d\n", size, expected);
+      size = -ETIME;
+      goto out;
+   }
+
+   wait_for_stat(tpm, TPM_STS_VALID, tpm->timeout_c, &tpm->int_queue);
+   status = tpm_tis_status(tpm);
+   if(status & TPM_STS_DATA_AVAIL) {
+      printk("Error: left over data\n");
+      size = -EIO;
+      goto out;
+   }
+
+out:
+   tpm_tis_ready(tpm);
+   release_locality(tpm, tpm->locality, 0);
+   return size;
+}
+int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
+   int rc;
+   int status, burstcnt = 0;
+   int count = 0;
+   uint32_t ordinal;
+
+   if(tpm_tis_request_locality(tpm, tpm->locality) < 0) {
+      return -EBUSY;
+   }
+
+   status = tpm_tis_status(tpm);
+   if((status & TPM_STS_COMMAND_READY) == 0) {
+      tpm_tis_ready(tpm);
+      if(wait_for_stat(tpm, TPM_STS_COMMAND_READY, tpm->timeout_b, &tpm->int_queue) < 0) {
+	 rc = -ETIME;
+	 goto out_err;
+      }
+   }
+
+   while(count < len - 1) {
+      burstcnt = get_burstcount(tpm);
+      for(;burstcnt > 0 && count < len -1; --burstcnt) {
+	 iowrite8(TPM_DATA_FIFO(tpm, tpm->locality), buf[count++]);
+      }
+
+      wait_for_stat(tpm, TPM_STS_VALID, tpm->timeout_c, &tpm->int_queue);
+      status = tpm_tis_status(tpm);
+      if((status & TPM_STS_DATA_EXPECT) == 0) {
+	 rc = -EIO;
+	 goto out_err;
+      }
+   }
+
+   /*Write last byte*/
+   iowrite8(TPM_DATA_FIFO(tpm, tpm->locality), buf[count]);
+   wait_for_stat(tpm, TPM_STS_VALID, tpm->timeout_c, &tpm->read_queue);
+   status = tpm_tis_status(tpm);
+   if((status & TPM_STS_DATA_EXPECT) != 0) {
+      rc = -EIO;
+      goto out_err;
+   }
+
+   /*go and do it*/
+   iowrite8(TPM_STS(tpm, tpm->locality), TPM_STS_GO);
+
+   if(tpm->irq) {
+      /*Wait for interrupt */
+      ordinal = be32_to_cpu(*(buf + 6));
+      if(wait_for_stat(tpm,
+	       TPM_STS_DATA_AVAIL | TPM_STS_VALID,
+	       tpm_calc_ordinal_duration(tpm, ordinal),
+	       &tpm->read_queue) < 0) {
+	 rc = -ETIME;
+	 goto out_err;
+      }
+   }
+#ifdef HAVE_LIBC
+   if(tpm->fd >= 0) {
+      files[tpm->fd].read = 0;
+      files[tpm->fd].tpm_tis.respgot = 0;
+      files[tpm->fd].tpm_tis.offset = 0;
+   }
+#endif
+   return len;
+
+out_err:
+   tpm_tis_ready(tpm);
+   release_locality(tpm, tpm->locality, 0);
+   return rc;
+}
+
+static void tpm_tis_irq_handler(evtchn_port_t port, struct pt_regs *regs, void* data)
+{
+   struct tpm_chip* tpm = data;
+   uint32_t interrupt;
+   int i;
+
+   interrupt = ioread32(TPM_INT_STATUS(tpm, tpm->locality));
+   if(interrupt == 0) {
+      return;
+   }
+
+   if(interrupt & TPM_INTF_DATA_AVAIL_INT) {
+      wake_up(&tpm->read_queue);
+   }
+   if(interrupt & TPM_INTF_LOCALITY_CHANGE_INT) {
+      for(i = 0; i < 5; ++i) {
+	 if(check_locality(tpm, i) >= 0) {
+	    break;
+	 }
+      }
+   }
+   if(interrupt & (TPM_INTF_LOCALITY_CHANGE_INT | TPM_INTF_STS_VALID_INT |
+	    TPM_INTF_CMD_READY_INT)) {
+      wake_up(&tpm->int_queue);
+   }
+
+   /* Clear interrupts handled with TPM_EOI */
+   iowrite32(TPM_INT_STATUS(tpm, tpm->locality), interrupt);
+   ioread32(TPM_INT_STATUS(tpm, tpm->locality));
+   return;
+}
+
+/*
+ * Internal kernel interface to transmit TPM commands
+ */
+static ssize_t tpm_transmit(struct tpm_chip *chip, const uint8_t *buf,
+      size_t bufsiz)
+{
+   ssize_t rc;
+   uint32_t count, ordinal;
+   s_time_t stop;
+
+   count = be32_to_cpu(*((uint32_t *) (buf + 2)));
+   ordinal = be32_to_cpu(*((uint32_t *) (buf + 6)));
+   if (count == 0)
+      return -ENODATA;
+   if (count > bufsiz) {
+      printk("Error: invalid count value %x %zx \n", count, bufsiz);
+      return -E2BIG;
+   }
+
+   //down(&chip->tpm_mutex);
+
+   if ((rc = tpm_tis_send(chip, (uint8_t *) buf, count)) < 0) {
+      printk("tpm_transmit: tpm_send: error %zd\n", rc);
+      goto out;
+   }
+
+   if (chip->irq)
+      goto out_recv;
+
+   stop = NOW() + tpm_calc_ordinal_duration(chip, ordinal);
+   do {
+      uint8_t status = tpm_tis_status(chip);
+      if ((status & (TPM_STS_DATA_AVAIL | TPM_STS_VALID)) ==
+	    (TPM_STS_DATA_AVAIL | TPM_STS_VALID))
+	 goto out_recv;
+
+      if ((status == TPM_STS_COMMAND_READY)) {
+	 printk("TPM Error: Operation Canceled\n");
+	 rc = -ECANCELED;
+	 goto out;
+      }
+
+      msleep(TPM_TIMEOUT);    /* CHECK */
+      rmb();
+   } while (NOW() < stop);
+
+   /* Cancel the command */
+   tpm_tis_cancel_cmd(chip);
+   printk("TPM Operation Timed out\n");
+   rc = -ETIME;
+   goto out;
+
+out_recv:
+   if((rc = tpm_tis_recv(chip, (uint8_t *) buf, bufsiz)) < 0) {
+      printk("tpm_transmit: tpm_recv: error %d\n", rc);
+   }
+out:
+   //up(&chip->tpm_mutex);
+   return rc;
+}
+
+static ssize_t transmit_cmd(struct tpm_chip *chip, struct tpm_cmd_t *cmd,
+                            int len, const char *desc)
+{
+        int err;
+
+        len = tpm_transmit(chip,(uint8_t *) cmd, len);
+        if (len <  0)
+                return len;
+        if (len == TPM_ERROR_SIZE) {
+                err = be32_to_cpu(cmd->header.out.return_code);
+                printk("A TPM error (%d) occurred %s\n", err, desc);
+                return err;
+        }
+        return 0;
+}
+
+void tpm_get_timeouts(struct tpm_chip *chip)
+{
+   struct tpm_cmd_t tpm_cmd;
+   struct timeout_t *timeout_cap;
+   struct duration_t *duration_cap;
+   ssize_t rc;
+   uint32_t timeout;
+
+   tpm_cmd.header.in = tpm_getcap_header;
+   tpm_cmd.params.getcap_in.cap = TPM_CAP_PROP;
+   tpm_cmd.params.getcap_in.subcap_size = cpu_to_be32(4);
+   tpm_cmd.params.getcap_in.subcap = TPM_CAP_PROP_TIS_TIMEOUT;
+
+   if((rc = transmit_cmd(chip, &tpm_cmd, TPM_INTERNAL_RESULT_SIZE,
+	 "attempting to determine the timeouts")) != 0) {
+      printk("transmit failed %d\n", rc);
+      goto duration;
+   }
+
+   if (be32_to_cpu(tpm_cmd.params.getcap_out.cap_size)
+	 != 4 * sizeof(uint32_t)) {
+      printk("Out len check failure %lu \n", be32_to_cpu(tpm_cmd.header.out.length));
+      goto duration;
+   }
+
+   timeout_cap = &tpm_cmd.params.getcap_out.cap.timeout;
+   /* Don't overwrite default if value is 0 */
+   timeout = be32_to_cpu(timeout_cap->a);
+   if (timeout)
+      chip->timeout_a = MICROSECS(timeout); /*Convert to msec */
+   timeout = be32_to_cpu(timeout_cap->b);
+   if (timeout)
+      chip->timeout_b = MICROSECS(timeout); /*Convert to msec */
+   timeout = be32_to_cpu(timeout_cap->c);
+   if (timeout)
+      chip->timeout_c = MICROSECS(timeout); /*Convert to msec */
+   timeout = be32_to_cpu(timeout_cap->d);
+   if (timeout)
+      chip->timeout_d = MICROSECS(timeout); /*Convert to msec */
+
+duration:
+   tpm_cmd.header.in = tpm_getcap_header;
+   tpm_cmd.params.getcap_in.cap = TPM_CAP_PROP;
+   tpm_cmd.params.getcap_in.subcap_size = cpu_to_be32(4);
+   tpm_cmd.params.getcap_in.subcap = TPM_CAP_PROP_TIS_DURATION;
+
+   if((rc = transmit_cmd(chip, &tpm_cmd, TPM_INTERNAL_RESULT_SIZE,
+	 "attempting to determine the durations")) < 0) {
+      return;
+   }
+
+   if (be32_to_cpu(tpm_cmd.params.getcap_out.cap_size)
+	 != 3 * sizeof(uint32_t)) {
+      return;
+   }
+        duration_cap = &tpm_cmd.params.getcap_out.cap.duration;
+        chip->duration[TPM_SHORT] = be32_to_cpu(duration_cap->tpm_short);
+        /* The Broadcom BCM0102 chipset in a Dell Latitude D820 gets the above
+         * value wrong and apparently reports msecs rather than usecs. So we
+         * fix up the resulting too-small TPM_SHORT value to make things work.
+         */
+        if (chip->duration[TPM_SHORT] < 10) {
+	   chip->duration[TPM_SHORT] = MILLISECS(chip->duration[TPM_SHORT]);
+	} else {
+	   chip->duration[TPM_SHORT] = MICROSECS(chip->duration[TPM_SHORT]);
+	}
+
+        chip->duration[TPM_MEDIUM] = MICROSECS(be32_to_cpu(duration_cap->tpm_medium));
+        chip->duration[TPM_LONG] = MICROSECS(be32_to_cpu(duration_cap->tpm_long));
+}
+
+
+
+void tpm_continue_selftest(struct tpm_chip* chip) {
+   uint8_t data[] = {
+      0, 193,                 /* TPM_TAG_RQU_COMMAND */
+      0, 0, 0, 10,            /* length */
+      0, 0, 0, 83,            /* TPM_ORD_GetCapability */
+   };
+
+   tpm_transmit(chip, data, sizeof(data));
+}
+
+ssize_t tpm_getcap(struct tpm_chip *chip, uint32_t subcap_id, cap_t *cap,
+                   const char *desc)
+{
+        struct tpm_cmd_t tpm_cmd;
+        int rc;
+
+        tpm_cmd.header.in = tpm_getcap_header;
+        if (subcap_id == CAP_VERSION_1_1 || subcap_id == CAP_VERSION_1_2) {
+                tpm_cmd.params.getcap_in.cap = subcap_id;
+                /*subcap field not necessary */
+                tpm_cmd.params.getcap_in.subcap_size = cpu_to_be32(0);
+                tpm_cmd.header.in.length -= cpu_to_be32(sizeof(uint32_t));
+        } else {
+                if (subcap_id == TPM_CAP_FLAG_PERM ||
+                    subcap_id == TPM_CAP_FLAG_VOL)
+                        tpm_cmd.params.getcap_in.cap = TPM_CAP_FLAG;
+                else
+                        tpm_cmd.params.getcap_in.cap = TPM_CAP_PROP;
+                tpm_cmd.params.getcap_in.subcap_size = cpu_to_be32(4);
+                tpm_cmd.params.getcap_in.subcap = subcap_id;
+        }
+        rc = transmit_cmd(chip, &tpm_cmd, TPM_INTERNAL_RESULT_SIZE, desc);
+        if (!rc)
+                *cap = tpm_cmd.params.getcap_out.cap;
+        return rc;
+}
+
+
+struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq)
+{
+   int i;
+   unsigned long addr;
+   struct tpm_chip* tpm = NULL;
+   uint32_t didvid;
+   uint32_t intfcaps;
+   uint32_t intmask;
+
+   printk("============= Init TPM TIS Driver ==============\n");
+
+   /*Sanity check the localities input */
+   if(localities & ~TPM_TIS_EN_LOCLALL) {
+      printk("init_tpm_tis() Invalid locality specification! %X\n", localities);
+      goto abort_egress;
+   }
+
+   printk("IOMEM Machine Base Address: %lX\n", baseaddr);
+
+   /* Create the tpm data structure */
+   tpm = malloc(sizeof(struct tpm_chip));
+   __init_tpm_chip(tpm);
+
+   /* Set the enabled localities - if 0 we leave default as all enabled */
+   if(localities != 0) {
+      tpm->enabled_localities = localities;
+   }
+   printk("Enabled Localities: ");
+   for(i = 0; i < 5; ++i) {
+      if(locality_enabled(tpm, i)) {
+	 printk("%d ", i);
+      }
+   }
+   printk("\n");
+
+   /* Set the base machine address */
+   tpm->baseaddr = baseaddr;
+
+   /* Set default timeouts */
+   tpm->timeout_a = MILLISECS(TIS_SHORT_TIMEOUT);
+   tpm->timeout_b = MILLISECS(TIS_LONG_TIMEOUT);
+   tpm->timeout_c = MILLISECS(TIS_SHORT_TIMEOUT);
+   tpm->timeout_d = MILLISECS(TIS_SHORT_TIMEOUT);
+
+   /*Map the mmio pages */
+   addr = tpm->baseaddr;
+   for(i = 0; i < 5; ++i) {
+      if(locality_enabled(tpm, i)) {
+	 /* Map the page in now */
+	 if((tpm->pages[i] = ioremap_nocache(addr, PAGE_SIZE)) == NULL) {
+	    printk("Unable to map iomem page a address %p\n", addr);
+	    goto abort_egress;
+	 }
+
+	 /* Set default locality to the first enabled one */
+	 if (tpm->locality < 0) {
+	    if(tpm_tis_request_locality(tpm, i) < 0) {
+	       printk("Unable to request locality %d??\n", i);
+	       goto abort_egress;
+	    }
+	 }
+      }
+      addr += PAGE_SIZE;
+   }
+
+
+   /* Get the vendor and device ids */
+   didvid = ioread32(TPM_DID_VID(tpm, tpm->locality));
+   tpm->did = didvid >> 16;
+   tpm->vid = didvid & 0xFFFF;
+
+
+   /* Get the revision id */
+   tpm->rid = ioread8(TPM_RID(tpm, tpm->locality));
+
+   printk("1.2 TPM (device-id=0x%X vendor-id = %X rev-id = %X)\n", tpm->did, tpm->vid, tpm->rid);
+
+   intfcaps = ioread32(TPM_INTF_CAPS(tpm, tpm->locality));
+   printk("TPM interface capabilities (0x%x):\n", intfcaps);
+   if (intfcaps & TPM_INTF_BURST_COUNT_STATIC)
+      printk("\tBurst Count Static\n");
+   if (intfcaps & TPM_INTF_CMD_READY_INT)
+      printk("\tCommand Ready Int Support\n");
+   if (intfcaps & TPM_INTF_INT_EDGE_FALLING)
+      printk("\tInterrupt Edge Falling\n");
+   if (intfcaps & TPM_INTF_INT_EDGE_RISING)
+      printk("\tInterrupt Edge Rising\n");
+   if (intfcaps & TPM_INTF_INT_LEVEL_LOW)
+      printk("\tInterrupt Level Low\n");
+   if (intfcaps & TPM_INTF_INT_LEVEL_HIGH)
+      printk("\tInterrupt Level High\n");
+   if (intfcaps & TPM_INTF_LOCALITY_CHANGE_INT)
+      printk("\tLocality Change Int Support\n");
+   if (intfcaps & TPM_INTF_STS_VALID_INT)
+      printk("\tSts Valid Int Support\n");
+   if (intfcaps & TPM_INTF_DATA_AVAIL_INT)
+      printk("\tData Avail Int Support\n");
+
+   /*Interupt setup */
+   intmask = ioread32(TPM_INT_ENABLE(tpm, tpm->locality));
+
+   intmask |= TPM_INTF_CMD_READY_INT
+      | TPM_INTF_LOCALITY_CHANGE_INT | TPM_INTF_DATA_AVAIL_INT
+      | TPM_INTF_STS_VALID_INT;
+
+   iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), intmask);
+
+   /*If interupts are enabled, handle it */
+   if(irq) {
+      if(irq != TPM_PROBE_IRQ) {
+	 tpm->irq = irq;
+      } else {
+	 /*FIXME add irq probing feature later */
+	 printk("IRQ probing not implemented\n");
+      }
+   }
+
+   if(tpm->irq) {
+      iowrite8(TPM_INT_VECTOR(tpm, tpm->locality), tpm->irq);
+
+      if(bind_pirq(tpm->irq, 1, tpm_tis_irq_handler, tpm) != 0) {
+	 printk("Unabled to request irq: %u for use\n", tpm->irq);
+	 printk("Will use polling mode\n");
+	 tpm->irq = 0;
+      } else {
+	 /* Clear all existing */
+	 iowrite32(TPM_INT_STATUS(tpm, tpm->locality), ioread32(TPM_INT_STATUS(tpm, tpm->locality)));
+
+	 /* Turn on interrupts */
+	 iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), intmask | TPM_GLOBAL_INT_ENABLE);
+      }
+   }
+
+   tpm_get_timeouts(tpm);
+   tpm_continue_selftest(tpm);
+
+
+   return tpm;
+abort_egress:
+   if(tpm != NULL) {
+      shutdown_tpm_tis(tpm);
+   }
+   return NULL;
+}
+
+void shutdown_tpm_tis(struct tpm_chip* tpm){
+   int i;
+
+   printk("Shutting down tpm_tis device\n");
+
+   iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), ~TPM_GLOBAL_INT_ENABLE);
+
+   /*Unmap all of the mmio pages */
+   for(i = 0; i < 5; ++i) {
+      if(tpm->pages[i] != NULL) {
+	 iounmap(tpm->pages[i], PAGE_SIZE);
+	 tpm->pages[i] = NULL;
+      }
+   }
+   free(tpm);
+   return;
+}
+
+
+int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen)
+{
+   if(tpm->locality < 0) {
+      printk("tpm_tis_cmd() failed! locality not set!\n");
+      return -1;
+   }
+   if(reqlen > TPM_BUFSIZE) {
+      reqlen = TPM_BUFSIZE;
+   }
+   memcpy(tpm->data_buffer, req, reqlen);
+   *resplen = tpm_transmit(tpm, tpm->data_buffer, TPM_BUFSIZE);
+
+   *resp = malloc(*resplen);
+   memcpy(*resp, tpm->data_buffer, *resplen);
+   return 0;
+}
+
+#ifdef HAVE_LIBC
+int tpm_tis_open(struct tpm_chip* tpm)
+{
+   /* Silently prevent multiple opens */
+   if(tpm->fd != -1) {
+      return tpm->fd;
+   }
+
+   tpm->fd = alloc_fd(FTYPE_TPM_TIS);
+   printk("tpm_tis_open() -> %d\n", tpm->fd);
+   files[tpm->fd].tpm_tis.dev = tpm;
+   files[tpm->fd].tpm_tis.offset = 0;
+   files[tpm->fd].tpm_tis.respgot = 0;
+   return tpm->fd;
+}
+
+int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
+{
+   struct tpm_chip* tpm;
+   tpm = files[fd].tpm_tis.dev;
+
+   if(tpm->locality < 0) {
+      printk("tpm_tis_posix_write() failed! locality not set!\n");
+      errno = EINPROGRESS;
+      return -1;
+   }
+   if(count == 0) {
+      return 0;
+   }
+
+   /* Return an error if we are already processing a command */
+   if(count > TPM_BUFSIZE) {
+      count = TPM_BUFSIZE;
+   }
+   /* Send the command now */
+   memcpy(tpm->data_buffer, buf, count);
+   if((tpm->data_len = tpm_transmit(tpm, tpm->data_buffer, TPM_BUFSIZE)) < 0) {
+      errno = EIO;
+      return -1;
+   }
+   return count;
+}
+
+int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
+{
+   int rc;
+   struct tpm_chip* tpm;
+   tpm = files[fd].tpm_tis.dev;
+
+   if(count == 0) {
+      return 0;
+   }
+
+   /* If there is no tpm resp to read, return EIO */
+   if(tpm->data_len < 0) {
+      errno = EIO;
+      return -1;
+   }
+
+
+   /* Handle EOF case */
+   if(files[fd].tpm_tis.offset >= tpm->data_len) {
+      rc = 0;
+   } else {
+      rc = min(tpm->data_len - files[fd].tpm_tis.offset, count);
+      memcpy(buf, tpm->data_buffer + files[fd].tpm_tis.offset, rc);
+   }
+   files[fd].tpm_tis.offset += rc;
+   /* Reset the data pending flag */
+   return rc;
+}
+int tpm_tis_posix_fstat(int fd, struct stat* buf)
+{
+   struct tpm_chip* tpm;
+   tpm = files[fd].tpm_tis.dev;
+
+   buf->st_mode = O_RDWR;
+   buf->st_uid = 0;
+   buf->st_gid = 0;
+   buf->st_size = be32_to_cpu(*((uint32_t*)(tpm->data_buffer + 2)));
+   buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
+   return 0;
+}
+
+
+#endif
diff --git a/extras/mini-os/tpmback.c b/extras/mini-os/tpmback.c
new file mode 100644
index 0000000..03bd20c
--- /dev/null
+++ b/extras/mini-os/tpmback.c
@@ -0,0 +1,1115 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ * Based upon the files:
+ *  drivers/xen/tpmbk.c
+ * from the Linux kernel, which are Copyright (C) 2006 IBM Corporation
+ */
+#include <mini-os/os.h>
+#include <mini-os/xenbus.h>
+#include <mini-os/events.h>
+#include <errno.h>
+#include <mini-os/gnttab.h>
+#include <xen/io/xenbus.h>
+#include <xen/io/tpmif.h>
+#include <xen/io/protocols.h>
+#include <mini-os/xmalloc.h>
+#include <time.h>
+#include <mini-os/tpmback.h>
+#include <mini-os/lib.h>
+#include <fcntl.h>
+#include <mini-os/mm.h>
+#include <mini-os/posix/sys/mman.h>
+#include <mini-os/semaphore.h>
+#include <mini-os/wait.h>
+
+
+#ifndef HAVE_LIBC
+#define strtoul simple_strtoul
+#endif
+
+//#define TPMBACK_PRINT_DEBUG
+#ifdef TPMBACK_PRINT_DEBUG
+#define TPMBACK_DEBUG(fmt,...) printk("Tpmback:Debug("__FILE__":%d) " fmt, __LINE__, ##__VA_ARGS__)
+#define TPMBACK_DEBUG_MORE(fmt,...) printk(fmt, ##__VA_ARGS__)
+#else
+#define TPMBACK_DEBUG(fmt,...)
+#endif
+#define TPMBACK_ERR(fmt,...) printk("Tpmback:Error " fmt, ##__VA_ARGS__)
+#define TPMBACK_LOG(fmt,...) printk("Tpmback:Info " fmt, ##__VA_ARGS__)
+
+#define min(a,b) (((a) < (b)) ? (a) : (b))
+
+/* Default size of the tpmif array at initialization */
+#define DEF_ARRAY_SIZE 1
+
+/* tpmif and tpmdev flags */
+#define TPMIF_CLOSED 1
+#define TPMIF_REQ_READY 2
+
+struct tpmif {
+   domid_t domid;
+   unsigned int handle;
+
+   char* fe_path;
+   char* fe_state_path;
+
+   /* Locally bound event channel*/
+   evtchn_port_t evtchn;
+
+   /* Shared page */
+   tpmif_tx_interface_t* tx;
+
+   /* pointer to TPMIF_RX_RING_SIZE pages */
+   void** pages;
+
+   enum xenbus_state state;
+   enum { DISCONNECTED, DISCONNECTING, CONNECTED } status;
+
+   char* uuid;
+
+   /* state flags */
+   int flags;
+};
+typedef struct tpmif tpmif_t;
+
+struct tpmback_dev {
+
+   tpmif_t** tpmlist;
+   unsigned long num_tpms;
+   unsigned long num_alloc;
+
+   struct gntmap map;
+
+   /* True if at least one tpmif has a request to be handled */
+   int flags;
+
+   /* exclusive domains, see init_tpmback comment in tpmback.h */
+   char** exclusive_uuids;
+
+   xenbus_event_queue events;
+
+   /* Callbacks */
+   void (*open_callback)(domid_t, unsigned int);
+   void (*close_callback)(domid_t, unsigned int);
+   void (*suspend_callback)(domid_t, unsigned int);
+   void (*resume_callback)(domid_t, unsigned int);
+};
+typedef struct tpmback_dev tpmback_dev_t;
+
+enum { EV_NONE, EV_NEWFE, EV_STCHNG } tpm_ev_enum;
+
+/* Global objects */
+static struct thread* eventthread = NULL;
+static tpmback_dev_t gtpmdev = {
+   .tpmlist = NULL,
+   .num_tpms = 0,
+   .num_alloc = 0,
+   .flags = TPMIF_CLOSED,
+   .events = NULL,
+   .open_callback = NULL,
+   .close_callback = NULL,
+   .suspend_callback = NULL,
+   .resume_callback = NULL,
+};
+struct wait_queue_head waitq;
+int globalinit = 0;
+
+/************************************
+ * TPMIF SORTED ARRAY FUNCTIONS
+ * tpmback_dev_t.tpmlist is a sorted array, sorted by domid and then handle number
+ * Duplicates are not allowed
+ * **********************************/
+
+inline void tpmif_req_ready(tpmif_t* tpmif) {
+   tpmif->flags |= TPMIF_REQ_READY;
+   gtpmdev.flags |= TPMIF_REQ_READY;
+}
+
+inline void tpmdev_check_req(void) {
+   int i;
+   int flags;
+   local_irq_save(flags);
+   for(i = 0; i < gtpmdev.num_tpms; ++i) {
+      if(gtpmdev.tpmlist[i]->flags & TPMIF_REQ_READY) {
+	 gtpmdev.flags |= TPMIF_REQ_READY;
+	 local_irq_restore(flags);
+	 return;
+      }
+   }
+   gtpmdev.flags &= ~TPMIF_REQ_READY;
+   local_irq_restore(flags);
+}
+
+inline void tpmif_req_finished(tpmif_t* tpmif) {
+   tpmif->flags &= ~TPMIF_REQ_READY;
+   tpmdev_check_req();
+}
+
+int __get_tpmif_index(int st, int n, domid_t domid, unsigned int handle)
+{
+   int i = st + n /2;
+   tpmif_t* tmp;
+
+   if( n <= 0 )
+      return -1;
+
+   tmp = gtpmdev.tpmlist[i];
+   if(domid == tmp->domid && tmp->handle == handle) {
+      return i;
+   } else if ( (domid < tmp->domid) ||
+	 (domid == tmp->domid && handle < tmp->handle)) {
+      return __get_tpmif_index(st, n/2, domid, handle);
+   } else {
+      return __get_tpmif_index(i + 1, n/2 - ((n +1) % 2), domid, handle);
+   }
+}
+
+/* Returns the array index of the tpmif domid/handle. Returns -1 if no such tpmif exists */
+int get_tpmif_index(domid_t domid, unsigned int handle)
+{
+   int flags;
+   int index;
+   local_irq_save(flags);
+   index = __get_tpmif_index(0, gtpmdev.num_tpms, domid, handle);
+   local_irq_restore(flags);
+   return index;
+}
+
+/* Returns the tpmif domid/handle or NULL if none exists */
+tpmif_t* get_tpmif(domid_t domid, unsigned int handle)
+{
+   int flags;
+   int i;
+   tpmif_t* ret;
+   local_irq_save(flags);
+   i = get_tpmif_index(domid, handle);
+   if (i < 0) {
+      ret = NULL;
+   } else {
+      ret = gtpmdev.tpmlist[i];
+   }
+   local_irq_restore(flags);
+   return ret;
+}
+
+/* Remove the given tpmif. Returns 0 if it was removed, -1 if it was not removed */
+int remove_tpmif(tpmif_t* tpmif)
+{
+   int i, j;
+   char* err;
+   int flags;
+   local_irq_save(flags);
+
+   /* Find the index in the array if it exists */
+   i = get_tpmif_index(tpmif->domid, tpmif->handle);
+   if (i < 0) {
+      goto error;
+   }
+
+   /* Remove the interface from the list */
+   for(j = i; j < gtpmdev.num_tpms - 1; ++j) {
+      gtpmdev.tpmlist[j] = gtpmdev.tpmlist[j+1];
+   }
+   gtpmdev.tpmlist[j] = NULL;
+   --gtpmdev.num_tpms;
+
+   /* If removed tpm was the only ready tpm, then we need to check and turn off the ready flag */
+   tpmdev_check_req();
+
+   local_irq_restore(flags);
+
+   /* Stop listening for events on this tpm interface */
+   if((err = xenbus_unwatch_path_token(XBT_NIL, tpmif->fe_state_path, tpmif->fe_state_path))) {
+      TPMBACK_ERR("Unable to unwatch path token `%s' Error was %s Ignoring..\n", tpmif->fe_state_path, err);
+      free(err);
+   }
+
+   return 0;
+error:
+   local_irq_restore(flags);
+   return -1;
+}
+
+/* Insert tpmif into dev->tpmlist. Returns 0 on success and non zero on error.
+ * It is an error to insert a tpmif with the same domid and handle
+ * number
+ * as something already in the list */
+int insert_tpmif(tpmif_t* tpmif)
+{
+   int flags;
+   unsigned int i, j;
+   tpmif_t* tmp;
+   char* err;
+
+   local_irq_save(flags);
+
+   /*Check if we need to allocate more space */
+   if (gtpmdev.num_tpms == gtpmdev.num_alloc) {
+      gtpmdev.num_alloc *= 2;
+      gtpmdev.tpmlist = realloc(gtpmdev.tpmlist, gtpmdev.num_alloc);
+   }
+
+   /*Find where to put the new interface */
+   for(i = 0; i < gtpmdev.num_tpms; ++i)
+   {
+      tmp = gtpmdev.tpmlist[i];
+      if(tpmif->domid == tmp->domid && tpmif->handle == tmp->handle) {
+	 TPMBACK_ERR("Tried to insert duplicate tpm interface %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+	 goto error;
+      }
+      if((tpmif->domid < tmp->domid) ||
+	    (tpmif->domid == tmp->domid && tpmif->handle < tmp->handle)) {
+	 break;
+      }
+   }
+
+   /*Shift all the tpm pointers past i down one */
+   for(j = gtpmdev.num_tpms; j > i; --j) {
+      gtpmdev.tpmlist[j] = gtpmdev.tpmlist[j-1];
+   }
+
+   /*Add the new interface */
+   gtpmdev.tpmlist[i] = tpmif;
+   ++gtpmdev.num_tpms;
+
+   /*Should not be needed, anything inserted with ready flag is probably an error */
+   tpmdev_check_req();
+
+   local_irq_restore(flags);
+
+   /*Listen for state changes on the new interface */
+   if((err = xenbus_watch_path_token(XBT_NIL, tpmif->fe_state_path, tpmif->fe_state_path, &gtpmdev.events)))
+   {
+      /* if we got an error here we should carefully remove the interface and then return */
+      TPMBACK_ERR("Unable to watch path token `%s' Error was %s\n", tpmif->fe_state_path, err);
+      free(err);
+      remove_tpmif(tpmif);
+      goto error_post_irq;
+   }
+
+   return 0;
+error:
+   local_irq_restore(flags);
+error_post_irq:
+   return -1;
+}
+
+
+/*****************
+ * CHANGE BACKEND STATE
+ * *****************/
+/*Attempts to change the backend state in xenstore
+ * returns 0 on success and non-zero on error */
+int tpmif_change_state(tpmif_t* tpmif, enum xenbus_state state)
+{
+   char path[512];
+   char *value;
+   char *err;
+   enum xenbus_state readst;
+   TPMBACK_DEBUG("Backend state change %u/%u from=%d to=%d\n", (unsigned int) tpmif->domid, tpmif->handle, tpmif->state, state);
+   if (tpmif->state == state)
+      return 0;
+
+   snprintf(path, 512, "backend/vtpm/%u/%u/state", (unsigned int) tpmif->domid, tpmif->handle);
+
+   if((err = xenbus_read(XBT_NIL, path, &value))) {
+      TPMBACK_ERR("Unable to read backend state %s, error was %s\n", path, err);
+      free(err);
+      return -1;
+   }
+   if(sscanf(value, "%d", &readst) != 1) {
+      TPMBACK_ERR("Non integer value (%s) in %s ??\n", value, path);
+      free(value);
+      return -1;
+   }
+   free(value);
+
+   /* It's possible that the backend state got updated by hotplug or something else behind our back */
+   if(readst != tpmif->state) {
+      TPMBACK_DEBUG("tpm interface state was %d but xenstore state was %d!\n", tpmif->state, readst);
+      tpmif->state = readst;
+   }
+
+   /*If if the state isnt changing, then we dont update xenstore b/c we dont want to fire extraneous events */
+   if(tpmif->state == state) {
+      return 0;
+   }
+
+   /*update xenstore*/
+   snprintf(path, 512, "backend/vtpm/%u/%u", (unsigned int) tpmif->domid, tpmif->handle);
+   if((err = xenbus_printf(XBT_NIL, path, "state", "%u", state))) {
+      TPMBACK_ERR("Error writing to xenstore %s, error was %s new state=%d\n", path, err, state);
+      free(err);
+      return -1;
+   }
+
+   tpmif->state = state;
+
+   return 0;
+}
+/**********************************
+ * TPMIF CREATION AND DELETION
+ * *******************************/
+inline tpmif_t* __init_tpmif(domid_t domid, unsigned int handle)
+{
+   tpmif_t* tpmif;
+   tpmif = malloc(sizeof(*tpmif));
+   tpmif->domid = domid;
+   tpmif->handle = handle;
+   tpmif->fe_path = NULL;
+   tpmif->fe_state_path = NULL;
+   tpmif->state = XenbusStateInitialising;
+   tpmif->status = DISCONNECTED;
+   tpmif->tx = NULL;
+   tpmif->pages = NULL;
+   tpmif->flags = 0;
+   tpmif->uuid = NULL;
+   return tpmif;
+}
+
+void __free_tpmif(tpmif_t* tpmif)
+{
+   if(tpmif->pages) {
+      free(tpmif->pages);
+   }
+   if(tpmif->fe_path) {
+      free(tpmif->fe_path);
+   }
+   if(tpmif->fe_state_path) {
+      free(tpmif->fe_state_path);
+   }
+   if(tpmif->uuid) {
+      free(tpmif->uuid);
+   }
+   free(tpmif);
+}
+/* Creates a new tpm interface, adds it to the sorted array and returns it.
+ * returns NULL on error
+ * If the tpm interface already exists, it is returned*/
+tpmif_t* new_tpmif(domid_t domid, unsigned int handle)
+{
+   tpmif_t* tpmif;
+   char* err;
+   char path[512];
+
+   /* Make sure we haven't already created this tpm
+    * Double events can occur */
+   if((tpmif = get_tpmif(domid, handle)) != NULL) {
+      return tpmif;
+   }
+
+   tpmif = __init_tpmif(domid, handle);
+
+   /* Get the uuid from xenstore */
+   snprintf(path, 512, "backend/vtpm/%u/%u/uuid", (unsigned int) domid, handle);
+   if((err = xenbus_read(XBT_NIL, path, &tpmif->uuid))) {
+      TPMBACK_ERR("Error reading %s, Error = %s\n", path, err);
+      free(err);
+      goto error;
+   }
+
+   /* Do the exclusive uuid check now */
+   if(gtpmdev.exclusive_uuids != NULL) {
+      char** ptr;
+
+      /* Check that its in the whitelist */
+      for(ptr = gtpmdev.exclusive_uuids; *ptr != NULL; ++ptr) {
+	 if(!strcmp(tpmif->uuid, *ptr)) {
+	    break;
+	 }
+      }
+      /* If *ptr == NULL then we went through the whole list without a match, so close the connection */
+      if(*ptr == NULL) {
+	 tpmif_change_state(tpmif, XenbusStateClosed);
+	 TPMBACK_ERR("Frontend %u/%u tried to connect with invalid uuid=%s\n", (unsigned int) domid, handle, tpmif->uuid);
+	 goto error;
+      }
+   }
+
+   /* allocate pages to be used for shared mapping */
+   if((tpmif->pages = malloc(sizeof(void*) * TPMIF_TX_RING_SIZE)) == NULL) {
+      goto error;
+   }
+   memset(tpmif->pages, 0, sizeof(void*) * TPMIF_TX_RING_SIZE);
+
+   if(tpmif_change_state(tpmif, XenbusStateInitWait)) {
+      goto error;
+   }
+
+   snprintf(path, 512, "backend/vtpm/%u/%u/frontend", (unsigned int) domid, handle);
+   if((err = xenbus_read(XBT_NIL, path, &tpmif->fe_path))) {
+      TPMBACK_ERR("Error creating new tpm instance xenbus_read(%s), Error = %s", path, err);
+      free(err);
+      goto error;
+   }
+
+   /*Set the state path */
+   tpmif->fe_state_path = malloc(strlen(tpmif->fe_path) + 7);
+   strcpy(tpmif->fe_state_path, tpmif->fe_path);
+   strcat(tpmif->fe_state_path, "/state");
+
+   if(insert_tpmif(tpmif)) {
+      goto error;
+   }
+   TPMBACK_DEBUG("New tpmif %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+   /* Do the callback now */
+   if(gtpmdev.open_callback) {
+      gtpmdev.open_callback(tpmif->domid, tpmif->handle);
+   }
+   return tpmif;
+error:
+   __free_tpmif(tpmif);
+   return NULL;
+
+}
+
+/* Removes tpmif from dev->tpmlist and frees it's memory usage */
+void free_tpmif(tpmif_t* tpmif)
+{
+   char* err;
+   char path[512];
+   TPMBACK_DEBUG("Free tpmif %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+   if(tpmif->flags & TPMIF_CLOSED) {
+      TPMBACK_ERR("Tried to free an instance twice! Theres a bug somewhere!\n");
+      BUG();
+   }
+   tpmif->flags = TPMIF_CLOSED;
+
+   tpmif_change_state(tpmif, XenbusStateClosing);
+
+   /* Unmap share page and unbind event channel */
+   if(tpmif->status == CONNECTED) {
+      tpmif->status = DISCONNECTING;
+      mask_evtchn(tpmif->evtchn);
+
+      if(gntmap_munmap(&gtpmdev.map, (unsigned long)tpmif->tx, 1)) {
+	 TPMBACK_ERR("%u/%u Error occured while trying to unmap shared page\n", (unsigned int) tpmif->domid, tpmif->handle);
+      }
+
+      unbind_evtchn(tpmif->evtchn);
+   }
+   tpmif->status = DISCONNECTED;
+   tpmif_change_state(tpmif, XenbusStateClosed);
+
+   /* Do the callback now */
+   if(gtpmdev.close_callback) {
+      gtpmdev.close_callback(tpmif->domid, tpmif->handle);
+   }
+
+   /* remove from array */
+   remove_tpmif(tpmif);
+
+   /* Wake up anyone possibly waiting on this interface and let them exit */
+   wake_up(&waitq);
+   schedule();
+
+   /* Remove the old xenbus entries */
+   snprintf(path, 512, "backend/vtpm/%u/%u", (unsigned int) tpmif->domid, tpmif->handle);
+   if((err = xenbus_rm(XBT_NIL, path))) {
+      TPMBACK_ERR("Error cleaning up xenbus entries path=%s error=%s\n", path, err);
+      free(err);
+   }
+
+   TPMBACK_LOG("Frontend %u/%u disconnected\n", (unsigned int) tpmif->domid, tpmif->handle);
+
+   /* free memory */
+   __free_tpmif(tpmif);
+
+}
+
+/**********************
+ * REMAINING TPMBACK FUNCTIONS
+ * ********************/
+
+/*Event channel handler */
+void tpmback_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
+{
+   tpmif_t* tpmif = (tpmif_t*) data;
+   tpmif_tx_request_t* tx = &tpmif->tx->ring[0].req;
+   /* Throw away 0 size events, these can trigger from event channel unmasking */
+   if(tx->size == 0)
+      return;
+
+   TPMBACK_DEBUG("EVENT CHANNEL FIRE %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+   tpmif_req_ready(tpmif);
+   wake_up(&waitq);
+
+}
+
+/* Connect to frontend */
+int connect_fe(tpmif_t* tpmif)
+{
+   char path[512];
+   char* err, *value;
+   uint32_t domid;
+   grant_ref_t ringref;
+   evtchn_port_t evtchn;
+
+   /* If already connected then quit */
+   if (tpmif->status == CONNECTED) {
+      TPMBACK_DEBUG("%u/%u tried to connect while it was already connected?\n", (unsigned int) tpmif->domid, tpmif->handle);
+      return 0;
+   }
+
+   /* Fetch the grant reference */
+   snprintf(path, 512, "%s/ring-ref", tpmif->fe_path);
+   if((err = xenbus_read(XBT_NIL, path, &value))) {
+      TPMBACK_ERR("Error creating new tpm instance xenbus_read(%s) Error = %s", path, err);
+      free(err);
+      return -1;
+   }
+   if(sscanf(value, "%d", &ringref) != 1) {
+      TPMBACK_ERR("Non integer value (%s) in %s ??\n", value, path);
+      free(value);
+      return -1;
+   }
+   free(value);
+
+
+   /* Fetch the event channel*/
+   snprintf(path, 512, "%s/event-channel", tpmif->fe_path);
+   if((err = xenbus_read(XBT_NIL, path, &value))) {
+      TPMBACK_ERR("Error creating new tpm instance xenbus_read(%s) Error = %s", path, err);
+      free(err);
+      return -1;
+   }
+   if(sscanf(value, "%d", &evtchn) != 1) {
+      TPMBACK_ERR("Non integer value (%s) in %s ??\n", value, path);
+      free(value);
+      return -1;
+   }
+   free(value);
+
+   domid = tpmif->domid;
+   if((tpmif->tx = gntmap_map_grant_refs(&gtpmdev.map, 1, &domid, 0, &ringref, PROT_READ | PROT_WRITE)) == NULL) {
+      TPMBACK_ERR("Failed to map grant reference %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+      return -1;
+   }
+   memset(tpmif->tx, 0, PAGE_SIZE);
+
+   /*Bind the event channel */
+   if((evtchn_bind_interdomain(tpmif->domid, evtchn, tpmback_handler, tpmif, &tpmif->evtchn)))
+   {
+      TPMBACK_ERR("%u/%u Unable to bind to interdomain event channel!\n", (unsigned int) tpmif->domid, tpmif->handle);
+      goto error_post_map;
+   }
+   unmask_evtchn(tpmif->evtchn);
+
+   /* Write the ready flag and change status to connected */
+   snprintf(path, 512, "backend/vtpm/%u/%u", (unsigned int) tpmif->domid, tpmif->handle);
+   if((err = xenbus_printf(XBT_NIL, path, "ready", "%u", 1))) {
+      TPMBACK_ERR("%u/%u Unable to write ready flag on connect_fe()\n", (unsigned int) tpmif->domid, tpmif->handle);
+      free(err);
+      goto error_post_evtchn;
+   }
+   tpmif->status = CONNECTED;
+   if((tpmif_change_state(tpmif, XenbusStateConnected))){
+      goto error_post_evtchn;
+   }
+
+   TPMBACK_LOG("Frontend %u/%u connected\n", (unsigned int) tpmif->domid, tpmif->handle);
+
+   return 0;
+error_post_evtchn:
+   mask_evtchn(tpmif->evtchn);
+   unbind_evtchn(tpmif->evtchn);
+error_post_map:
+   gntmap_munmap(&gtpmdev.map, (unsigned long)tpmif->tx, 1);
+   return -1;
+}
+
+static int frontend_changed(tpmif_t* tpmif)
+{
+   int state = xenbus_read_integer(tpmif->fe_state_path);
+   if(state < 0) {
+      state = XenbusStateUnknown;
+   }
+
+   TPMBACK_DEBUG("Frontend %u/%u state changed to %d\n", (unsigned int) tpmif->domid, tpmif->handle, state);
+
+   switch (state) {
+      case XenbusStateInitialising:
+      case XenbusStateInitialised:
+	 break;
+
+      case XenbusStateConnected:
+	 if(connect_fe(tpmif)) {
+	    TPMBACK_ERR("Failed to connect to front end %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+	    tpmif_change_state(tpmif, XenbusStateClosed);
+	    return -1;
+	 }
+	 break;
+
+      case XenbusStateClosing:
+	 tpmif_change_state(tpmif, XenbusStateClosing);
+	 break;
+
+      case XenbusStateUnknown: /* keep it here */
+      case XenbusStateClosed:
+	 free_tpmif(tpmif);
+	 break;
+
+      default:
+	 TPMBACK_DEBUG("BAD STATE CHANGE %u/%u state = %d for tpmif\n", (unsigned int) tpmif->domid, tpmif->handle, state);
+	 return -1;
+   }
+   return 0;
+}
+
+
+/* parses the string that comes out of xenbus_watch_wait_return. */
+static int parse_eventstr(const char* evstr, domid_t* domid, unsigned int* handle)
+{
+   int ret;
+   char cmd[40];
+   char* err;
+   char* value;
+   unsigned int udomid = 0;
+   tpmif_t* tpmif;
+   /* First check for new frontends, this occurs when /backend/vtpm/<domid>/<handle> gets created. Note we what the sscanf to fail on the last %s */
+   if (sscanf(evstr, "backend/vtpm/%u/%u/%40s", &udomid, handle, cmd) == 2) {
+      *domid = udomid;
+      /* Make sure the entry exists, if this event triggers because the entry dissapeared then ignore it */
+      if((err = xenbus_read(XBT_NIL, evstr, &value))) {
+	 free(err);
+	 return EV_NONE;
+      }
+      free(value);
+      /* Make sure the tpmif entry does not already exist, this should not happen */
+      if((tpmif = get_tpmif(*domid, *handle)) != NULL) {
+	 TPMBACK_DEBUG("Duplicate tpm entries! %u %u\n", tpmif->domid, tpmif->handle);
+	 return EV_NONE;
+      }
+      return EV_NEWFE;
+   } else if((ret = sscanf(evstr, "/local/domain/%u/device/vtpm/%u/%40s", &udomid, handle, cmd)) == 3) {
+      *domid = udomid;
+      if (!strcmp(cmd, "state"))
+	 return EV_STCHNG;
+   }
+   return EV_NONE;
+}
+
+void handle_backend_event(char* evstr) {
+   tpmif_t* tpmif;
+   domid_t domid;
+   unsigned int handle;
+   int event;
+
+   TPMBACK_DEBUG("Xenbus Event: %s\n", evstr);
+
+   event = parse_eventstr(evstr, &domid, &handle);
+
+   switch(event) {
+      case EV_NEWFE:
+	 if(new_tpmif(domid, handle) == NULL) {
+	    TPMBACK_ERR("Failed to create new tpm instance %u/%u\n", (unsigned int) domid, handle);
+	 }
+	 wake_up(&waitq);
+	 break;
+      case EV_STCHNG:
+	 if((tpmif = get_tpmif(domid, handle))) {
+	    frontend_changed(tpmif);
+	 } else {
+	    TPMBACK_DEBUG("Event Received for non-existant tpm! instance=%u/%u xenbus_event=%s\n", (unsigned int) domid, handle, evstr);
+	 }
+	 break;
+   }
+}
+
+/* Runs through the given path and creates events recursively
+ * for all of its children.
+ * @path - xenstore path to scan */
+static void generate_backend_events(const char* path)
+{
+   char* err;
+   int i, len;
+   char **dirs;
+   char *entry;
+
+   if((err = xenbus_ls(XBT_NIL, path, &dirs)) != NULL) {
+      free(err);
+      return;
+   }
+
+   for(i = 0; dirs[i] != NULL; ++i) {
+      len = strlen(path) + strlen(dirs[i]) + 2;
+      entry = malloc(len);
+      snprintf(entry, len, "%s/%s", path, dirs[i]);
+
+      /* Generate and handle event for the entry itself */
+      handle_backend_event(entry);
+
+      /* Do children */
+      generate_backend_events(entry);
+
+      /* Cleanup */
+      free(entry);
+      free(dirs[i]);
+   }
+   free(dirs);
+   return;
+}
+
+char* tpmback_get_uuid(domid_t domid, unsigned int handle)
+{
+   tpmif_t* tpmif;
+   if((tpmif = get_tpmif(domid, handle)) == NULL) {
+      TPMBACK_DEBUG("get_uuid() failed, %u/%u is an invalid frontend\n", (unsigned int) domid, handle);
+      return NULL;
+   }
+
+   return tpmif->uuid;
+}
+
+void tpmback_set_open_callback(void (*cb)(domid_t, unsigned int))
+{
+   gtpmdev.open_callback = cb;
+}
+void tpmback_set_close_callback(void (*cb)(domid_t, unsigned int))
+{
+   gtpmdev.close_callback = cb;
+}
+void tpmback_set_suspend_callback(void (*cb)(domid_t, unsigned int))
+{
+   gtpmdev.suspend_callback = cb;
+}
+void tpmback_set_resume_callback(void (*cb)(domid_t, unsigned int))
+{
+   gtpmdev.resume_callback = cb;
+}
+
+static void event_listener(void)
+{
+   const char* bepath = "backend/vtpm";
+   char **path;
+   char* err;
+
+   /* Setup the backend device watch */
+   if((err = xenbus_watch_path_token(XBT_NIL, bepath, bepath, &gtpmdev.events)) != NULL) {
+      TPMBACK_ERR("xenbus_watch_path_token(%s) failed with error %s!\n", bepath, err);
+      free(err);
+      goto egress;
+   }
+
+   /* Check for any frontends that connected before we set the watch.
+    * This is almost guaranteed to happen if both domains are started
+    * immediatly one after the other.
+    * We do this by manually generating events on everything in the backend
+    * path */
+   generate_backend_events(bepath);
+
+   /* Wait and listen for changes in frontend connections */
+   while(1) {
+      path = xenbus_wait_for_watch_return(&gtpmdev.events);
+
+      /*If quit flag was set then exit */
+      if(gtpmdev.flags & TPMIF_CLOSED) {
+	 TPMBACK_DEBUG("listener thread got quit event. Exiting..\n");
+	 free(path);
+	 break;
+      }
+      handle_backend_event(*path);
+      free(path);
+
+   }
+
+   if((err = xenbus_unwatch_path_token(XBT_NIL, bepath, bepath)) != NULL) {
+      free(err);
+   }
+egress:
+   return;
+}
+
+void event_thread(void* p) {
+   event_listener();
+}
+
+void init_tpmback(char** exclusive_uuids)
+{
+   if(!globalinit) {
+      init_waitqueue_head(&waitq);
+      globalinit = 1;
+   }
+   printk("============= Init TPM BACK ================\n");
+   gtpmdev.tpmlist = malloc(sizeof(tpmif_t*) * DEF_ARRAY_SIZE);
+   gtpmdev.num_alloc = DEF_ARRAY_SIZE;
+   gtpmdev.num_tpms = 0;
+   gtpmdev.flags = 0;
+   gtpmdev.exclusive_uuids = exclusive_uuids;
+
+   gtpmdev.open_callback = gtpmdev.close_callback = NULL;
+   gtpmdev.suspend_callback = gtpmdev.resume_callback = NULL;
+
+   eventthread = create_thread("tpmback-listener", event_thread, NULL);
+
+}
+
+void shutdown_tpmback(void)
+{
+   /* Disable callbacks */
+   gtpmdev.open_callback = gtpmdev.close_callback = NULL;
+   gtpmdev.suspend_callback = gtpmdev.resume_callback = NULL;
+
+   TPMBACK_LOG("Shutting down tpm backend\n");
+   /* Set the quit flag */
+   gtpmdev.flags = TPMIF_CLOSED;
+
+   //printk("num tpms is %d\n", gtpmdev.num_tpms);
+   /*Free all backend instances */
+   while(gtpmdev.num_tpms) {
+      free_tpmif(gtpmdev.tpmlist[0]);
+   }
+   free(gtpmdev.tpmlist);
+   gtpmdev.tpmlist = NULL;
+   gtpmdev.num_alloc = 0;
+
+   /* Wake up anyone possibly waiting on the device and let them exit */
+   wake_up(&waitq);
+   schedule();
+}
+
+inline void init_tpmcmd(tpmcmd_t* tpmcmd, domid_t domid, unsigned int handle, char* uuid)
+{
+   tpmcmd->domid = domid;
+   tpmcmd->handle = handle;
+   tpmcmd->uuid = uuid;
+   tpmcmd->req = NULL;
+   tpmcmd->req_len = 0;
+   tpmcmd->resp = NULL;
+   tpmcmd->resp_len = 0;
+}
+
+tpmcmd_t* get_request(tpmif_t* tpmif) {
+   tpmcmd_t* cmd;
+   tpmif_tx_request_t* tx;
+   int offset;
+   int tocopy;
+   int i;
+   uint32_t domid;
+   int flags;
+
+   local_irq_save(flags);
+
+   /* Allocate the cmd object to hold the data */
+   if((cmd = malloc(sizeof(*cmd))) == NULL) {
+      goto error;
+   }
+   init_tpmcmd(cmd, tpmif->domid, tpmif->handle, tpmif->uuid);
+
+   tx = &tpmif->tx->ring[0].req;
+   cmd->req_len = tx->size;
+   /* Allocate the buffer */
+   if(cmd->req_len) {
+      if((cmd->req = malloc(cmd->req_len)) == NULL) {
+	 goto error;
+      }
+   }
+   /* Copy the bits from the shared pages */
+   offset = 0;
+   for(i = 0; i < TPMIF_TX_RING_SIZE && offset < cmd->req_len; ++i) {
+      tx = &tpmif->tx->ring[i].req;
+
+      /* Map the page with the data */
+      domid = (uint32_t)tpmif->domid;
+      if((tpmif->pages[i] = gntmap_map_grant_refs(&gtpmdev.map, 1, &domid, 0, &tx->ref, PROT_READ)) == NULL) {
+	 TPMBACK_ERR("%u/%u Unable to map shared page during read!\n", (unsigned int) tpmif->domid, tpmif->handle);
+	 goto error;
+      }
+
+      /* do the copy now */
+      tocopy = min(cmd->req_len - offset, PAGE_SIZE);
+      memcpy(&cmd->req[offset], tpmif->pages[i], tocopy);
+      offset += tocopy;
+
+      /* release the page */
+      gntmap_munmap(&gtpmdev.map, (unsigned long)tpmif->pages[i], 1);
+
+   }
+
+#ifdef TPMBACK_PRINT_DEBUG
+   TPMBACK_DEBUG("Received Tpm Command from %u/%u of size %u", (unsigned int) tpmif->domid, tpmif->handle, cmd->req_len);
+   for(i = 0; i < cmd->req_len; ++i) {
+      if (!(i % 30)) {
+	 TPMBACK_DEBUG_MORE("\n");
+      }
+      TPMBACK_DEBUG_MORE("%02hhX ", cmd->req[i]);
+   }
+   TPMBACK_DEBUG_MORE("\n\n");
+#endif
+
+   local_irq_restore(flags);
+   return cmd;
+error:
+   if(cmd != NULL) {
+      if (cmd->req != NULL) {
+	 free(cmd->req);
+	 cmd->req = NULL;
+      }
+      free(cmd);
+      cmd = NULL;
+   }
+   local_irq_restore(flags);
+   return NULL;
+
+}
+
+void send_response(tpmcmd_t* cmd, tpmif_t* tpmif)
+{
+   tpmif_tx_request_t* tx;
+   int offset;
+   int i;
+   uint32_t domid;
+   int tocopy;
+   int flags;
+
+   local_irq_save(flags);
+
+   tx = &tpmif->tx->ring[0].req;
+   tx->size = cmd->resp_len;
+
+   offset = 0;
+   for(i = 0; i < TPMIF_TX_RING_SIZE && offset < cmd->resp_len; ++i) {
+      tx = &tpmif->tx->ring[i].req;
+
+      /* Map the page with the data */
+      domid = (uint32_t)tpmif->domid;
+      if((tpmif->pages[i] = gntmap_map_grant_refs(&gtpmdev.map, 1, &domid, 0, &tx->ref, PROT_WRITE)) == NULL) {
+	 TPMBACK_ERR("%u/%u Unable to map shared page during write!\n", (unsigned int) tpmif->domid, tpmif->handle);
+	 goto error;
+      }
+
+      /* do the copy now */
+      tocopy = min(cmd->resp_len - offset, PAGE_SIZE);
+      memcpy(tpmif->pages[i], &cmd->resp[offset], tocopy);
+      offset += tocopy;
+
+      /* release the page */
+      gntmap_munmap(&gtpmdev.map, (unsigned long)tpmif->pages[i], 1);
+
+   }
+
+#ifdef TPMBACK_PRINT_DEBUG
+   TPMBACK_DEBUG("Sent response to %u/%u of size %u", (unsigned int) tpmif->domid, tpmif->handle, cmd->resp_len);
+   for(i = 0; i < cmd->resp_len; ++i) {
+      if (!(i % 30)) {
+	 TPMBACK_DEBUG_MORE("\n");
+      }
+      TPMBACK_DEBUG_MORE("%02hhX ", cmd->resp[i]);
+   }
+   TPMBACK_DEBUG_MORE("\n\n");
+#endif
+   /* clear the ready flag and send the event channel notice to the frontend */
+   tpmif_req_finished(tpmif);
+   notify_remote_via_evtchn(tpmif->evtchn);
+error:
+   local_irq_restore(flags);
+   return;
+}
+
+tpmcmd_t* tpmback_req_any(void)
+{
+   int i;
+   /* Block until something has a request */
+   wait_event(waitq, (gtpmdev.flags & (TPMIF_REQ_READY | TPMIF_CLOSED)));
+
+   /* Check if were shutting down */
+   if(gtpmdev.flags & TPMIF_CLOSED) {
+      /* if something was waiting for us to give up the queue so it can shutdown, let it finish */
+      schedule();
+      return NULL;
+   }
+
+   for(i = 0; i < gtpmdev.num_tpms; ++i) {
+      if(gtpmdev.tpmlist[i]->flags & TPMIF_REQ_READY) {
+	 return get_request(gtpmdev.tpmlist[i]);
+      }
+   }
+
+   TPMBACK_ERR("backend request ready flag was set but no interfaces were actually ready\n");
+   return NULL;
+}
+
+tpmcmd_t* tpmback_req(domid_t domid, unsigned int handle)
+{
+   tpmif_t* tpmif;
+   tpmif = get_tpmif(domid, handle);
+   if(tpmif == NULL) {
+      return NULL;
+   }
+
+   wait_event(waitq, (tpmif->flags & (TPMIF_REQ_READY | TPMIF_CLOSED) || gtpmdev.flags & TPMIF_CLOSED));
+
+   /* Check if were shutting down */
+   if(tpmif->flags & TPMIF_CLOSED || gtpmdev.flags & TPMIF_CLOSED) {
+      /* if something was waiting for us to give up the queue so it can free this instance, let it finish */
+      schedule();
+      return NULL;
+   }
+
+   return get_request(tpmif);
+}
+
+void tpmback_resp(tpmcmd_t* tpmcmd)
+{
+   tpmif_t* tpmif;
+
+   /* Get the associated interface, if it doesnt exist then just quit */
+   tpmif = get_tpmif(tpmcmd->domid, tpmcmd->handle);
+   if(tpmif == NULL) {
+      TPMBACK_ERR("Tried to send a reponse to non existant frontend %u/%u\n", (unsigned int) tpmcmd->domid, tpmcmd->handle);
+      goto end;
+   }
+
+   if(!(tpmif->flags & TPMIF_REQ_READY)) {
+      TPMBACK_ERR("Tried to send response to a frontend that was not waiting for one %u/%u\n", (unsigned int) tpmcmd->domid, tpmcmd->handle);
+      goto end;
+   }
+
+   /* Send response to frontend */
+   send_response(tpmcmd, tpmif);
+
+end:
+   if(tpmcmd->req != NULL) {
+      free(tpmcmd->req);
+   }
+   free(tpmcmd);
+   return;
+}
+
+int tpmback_wait_for_frontend_connect(domid_t *domid, unsigned int *handle)
+{
+   tpmif_t* tpmif;
+   int flags;
+   wait_event(waitq, ((gtpmdev.num_tpms > 0) || gtpmdev.flags & TPMIF_CLOSED));
+   if(gtpmdev.flags & TPMIF_CLOSED) {
+      return -1;
+   }
+   local_irq_save(flags);
+   tpmif = gtpmdev.tpmlist[0];
+   *domid = tpmif->domid;
+   *handle = tpmif->handle;
+   local_irq_restore(flags);
+
+   return 0;
+}
+
+int tpmback_num_frontends(void)
+{
+   return gtpmdev.num_tpms;
+}
diff --git a/extras/mini-os/tpmfront.c b/extras/mini-os/tpmfront.c
new file mode 100644
index 0000000..84fc6af
--- /dev/null
+++ b/extras/mini-os/tpmfront.c
@@ -0,0 +1,607 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ * Based upon the files:
+ *  drivers/char/tpm/tpm_vtpm.c
+ *  drivers/char/tpm/tpm_xen.c
+ * from the Linux kernel, which are Copyright (C) 2006 IBM Corporation
+ */
+#include <mini-os/os.h>
+#include <mini-os/xenbus.h>
+#include <mini-os/xmalloc.h>
+#include <mini-os/events.h>
+#include <mini-os/wait.h>
+#include <mini-os/gnttab.h>
+#include <xen/io/xenbus.h>
+#include <xen/io/tpmif.h>
+#include <mini-os/tpmfront.h>
+#include <fcntl.h>
+
+//#define TPMFRONT_PRINT_DEBUG
+#ifdef TPMFRONT_PRINT_DEBUG
+#define TPMFRONT_DEBUG(fmt,...) printk("Tpmfront:Debug("__FILE__":%d) " fmt, __LINE__, ##__VA_ARGS__)
+#define TPMFRONT_DEBUG_MORE(fmt,...) printk(fmt, ##__VA_ARGS__)
+#else
+#define TPMFRONT_DEBUG(fmt,...)
+#endif
+#define TPMFRONT_ERR(fmt,...) printk("Tpmfront:Error " fmt, ##__VA_ARGS__)
+#define TPMFRONT_LOG(fmt,...) printk("Tpmfront:Info " fmt, ##__VA_ARGS__)
+
+#define min(a,b) (((a) < (b)) ? (a) : (b))
+
+void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
+   struct tpmfront_dev* dev = (struct tpmfront_dev*) data;
+   /*If we get a response when we didnt make a request, just ignore it */
+   if(!dev->waiting) {
+      return;
+   }
+
+   dev->waiting = 0;
+#ifdef HAVE_LIBC
+   if(dev->fd >= 0) {
+      files[dev->fd].read = 1;
+   }
+#endif
+   wake_up(&dev->waitq);
+}
+
+static int publish_xenbus(struct tpmfront_dev* dev) {
+   xenbus_transaction_t xbt;
+   int retry;
+   char* err;
+   /* Write the grant reference and event channel to xenstore */
+again:
+   if((err = xenbus_transaction_start(&xbt))) {
+      TPMFRONT_ERR("Unable to start xenbus transaction, error was %s\n", err);
+      free(err);
+      return -1;
+   }
+
+   if((err = xenbus_printf(xbt, dev->nodename, "ring-ref", "%u", (unsigned int) dev->ring_ref))) {
+      TPMFRONT_ERR("Unable to write %s/ring-ref, error was %s\n", dev->nodename, err);
+      free(err);
+      goto abort_transaction;
+   }
+
+   if((err = xenbus_printf(xbt, dev->nodename, "event-channel", "%u", (unsigned int) dev->evtchn))) {
+      TPMFRONT_ERR("Unable to write %s/event-channel, error was %s\n", dev->nodename, err);
+      free(err);
+      goto abort_transaction;
+   }
+
+   if((err = xenbus_transaction_end(xbt, 0, &retry))) {
+      TPMFRONT_ERR("Unable to complete xenbus transaction, error was %s\n", err);
+      free(err);
+      return -1;
+   }
+   if(retry) {
+      goto again;
+   }
+
+   return 0;
+abort_transaction:
+   if((err = xenbus_transaction_end(xbt, 1, &retry))) {
+      free(err);
+   }
+   return -1;
+}
+
+static int wait_for_backend_connect(xenbus_event_queue* events, char* path)
+{
+   int state;
+
+   TPMFRONT_LOG("Waiting for backend connection..\n");
+   /* Wait for the backend to connect */
+   while(1) {
+      state = xenbus_read_integer(path);
+      if ( state < 0)
+	 state = XenbusStateUnknown;
+      switch(state) {
+	 /* Bad states, we quit with error */
+	 case XenbusStateUnknown:
+	 case XenbusStateClosing:
+	 case XenbusStateClosed:
+	    TPMFRONT_ERR("Unable to connect to backend\n");
+	    return -1;
+	 /* If backend is connected then break out of loop */
+	 case XenbusStateConnected:
+	    TPMFRONT_LOG("Backend Connected\n");
+	    return 0;
+	 default:
+	    xenbus_wait_for_watch(events);
+      }
+   }
+
+}
+
+static int wait_for_backend_closed(xenbus_event_queue* events, char* path)
+{
+   int state;
+
+   TPMFRONT_LOG("Waiting for backend to close..\n");
+   while(1) {
+      state = xenbus_read_integer(path);
+      if ( state < 0)
+	 state = XenbusStateUnknown;
+      switch(state) {
+	 case XenbusStateUnknown:
+	    TPMFRONT_ERR("Backend Unknown state, forcing shutdown\n");
+	    return -1;
+	 case XenbusStateClosed:
+	    TPMFRONT_LOG("Backend Closed\n");
+	    return 0;
+	 default:
+	    xenbus_wait_for_watch(events);
+      }
+   }
+
+}
+
+static int wait_for_backend_state_changed(struct tpmfront_dev* dev, XenbusState state) {
+   char* err;
+   int ret = 0;
+   xenbus_event_queue events = NULL;
+   char path[512];
+
+   snprintf(path, 512, "%s/state", dev->bepath);
+   /*Setup the watch to wait for the backend */
+   if((err = xenbus_watch_path_token(XBT_NIL, path, path, &events))) {
+      TPMFRONT_ERR("Could not set a watch on %s, error was %s\n", path, err);
+      free(err);
+      return -1;
+   }
+
+   /* Do the actual wait loop now */
+   switch(state) {
+      case XenbusStateConnected:
+	 ret = wait_for_backend_connect(&events, path);
+	 break;
+      case XenbusStateClosed:
+	 ret = wait_for_backend_closed(&events, path);
+	 break;
+      default:
+	 break;
+   }
+
+   if((err = xenbus_unwatch_path_token(XBT_NIL, path, path))) {
+      TPMFRONT_ERR("Unable to unwatch %s, error was %s, ignoring..\n", path, err);
+      free(err);
+   }
+   return ret;
+}
+
+static int tpmfront_connect(struct tpmfront_dev* dev)
+{
+   char* err;
+   /* Create shared page */
+   dev->tx = (tpmif_tx_interface_t*) alloc_page();
+   if(dev->tx == NULL) {
+      TPMFRONT_ERR("Unable to allocate page for shared memory\n");
+      goto error;
+   }
+   memset(dev->tx, 0, PAGE_SIZE);
+   dev->ring_ref = gnttab_grant_access(dev->bedomid, virt_to_mfn(dev->tx), 0);
+   TPMFRONT_DEBUG("grant ref is %lu\n", (unsigned long) dev->ring_ref);
+
+   /*Create event channel */
+   if(evtchn_alloc_unbound(dev->bedomid, tpmfront_handler, dev, &dev->evtchn)) {
+      TPMFRONT_ERR("Unable to allocate event channel\n");
+      goto error_postmap;
+   }
+   unmask_evtchn(dev->evtchn);
+   TPMFRONT_DEBUG("event channel is %lu\n", (unsigned long) dev->evtchn);
+
+   /* Write the entries to xenstore */
+   if(publish_xenbus(dev)) {
+      goto error_postevtchn;
+   }
+
+   /* Change state to connected */
+   dev->state = XenbusStateConnected;
+
+   /* Tell the backend that we are ready */
+   if((err = xenbus_printf(XBT_NIL, dev->nodename, "state", "%u", dev->state))) {
+      TPMFRONT_ERR("Unable to write to xenstore %s/state, value=%u", dev->nodename, XenbusStateConnected);
+      free(err);
+      goto error;
+   }
+
+   return 0;
+error_postevtchn:
+      mask_evtchn(dev->evtchn);
+      unbind_evtchn(dev->evtchn);
+error_postmap:
+      gnttab_end_access(dev->ring_ref);
+      free_page(dev->tx);
+error:
+   return -1;
+}
+
+struct tpmfront_dev* init_tpmfront(const char* _nodename)
+{
+   struct tpmfront_dev* dev;
+   const char* nodename;
+   char path[512];
+   char* value, *err;
+   unsigned long long ival;
+   int i;
+
+   printk("============= Init TPM Front ================\n");
+
+   dev = malloc(sizeof(struct tpmfront_dev));
+   memset(dev, 0, sizeof(struct tpmfront_dev));
+
+#ifdef HAVE_LIBC
+   dev->fd = -1;
+#endif
+
+   nodename = _nodename ? _nodename : "device/vtpm/0";
+   dev->nodename = strdup(nodename);
+
+   init_waitqueue_head(&dev->waitq);
+
+   /* Get backend domid */
+   snprintf(path, 512, "%s/backend-id", dev->nodename);
+   if((err = xenbus_read(XBT_NIL, path, &value))) {
+      TPMFRONT_ERR("Unable to read %s during tpmfront initialization! error = %s\n", path, err);
+      free(err);
+      goto error;
+   }
+   if(sscanf(value, "%llu", &ival) != 1) {
+      TPMFRONT_ERR("%s has non-integer value (%s)\n", path, value);
+      free(value);
+      goto error;
+   }
+   free(value);
+   dev->bedomid = ival;
+
+   /* Get backend xenstore path */
+   snprintf(path, 512, "%s/backend", dev->nodename);
+   if((err = xenbus_read(XBT_NIL, path, &dev->bepath))) {
+      TPMFRONT_ERR("Unable to read %s during tpmfront initialization! error = %s\n", path, err);
+      free(err);
+      goto error;
+   }
+
+   /* Create and publish grant reference and event channel */
+   if (tpmfront_connect(dev)) {
+      goto error;
+   }
+
+   /* Wait for backend to connect */
+   if( wait_for_backend_state_changed(dev, XenbusStateConnected)) {
+      goto error;
+   }
+
+   /* Allocate pages that will contain the messages */
+   dev->pages = malloc(sizeof(void*) * TPMIF_TX_RING_SIZE);
+   if(dev->pages == NULL) {
+      goto error;
+   }
+   memset(dev->pages, 0, sizeof(void*) * TPMIF_TX_RING_SIZE);
+   for(i = 0; i < TPMIF_TX_RING_SIZE; ++i) {
+      dev->pages[i] = (void*)alloc_page();
+      if(dev->pages[i] == NULL) {
+	 goto error;
+      }
+   }
+
+   TPMFRONT_LOG("Initialization Completed successfully\n");
+
+   return dev;
+
+error:
+   shutdown_tpmfront(dev);
+   return NULL;
+}
+void shutdown_tpmfront(struct tpmfront_dev* dev)
+{
+   char* err;
+   char path[512];
+   int i;
+   tpmif_tx_request_t* tx;
+   if(dev == NULL) {
+      return;
+   }
+   TPMFRONT_LOG("Shutting down tpmfront\n");
+   /* disconnect */
+   if(dev->state == XenbusStateConnected) {
+      dev->state = XenbusStateClosing;
+      //FIXME: Transaction for this?
+      /* Tell backend we are closing */
+      if((err = xenbus_printf(XBT_NIL, dev->nodename, "state", "%u", (unsigned int) dev->state))) {
+	 free(err);
+      }
+
+      /* Clean up xenstore entries */
+      snprintf(path, 512, "%s/event-channel", dev->nodename);
+      if((err = xenbus_rm(XBT_NIL, path))) {
+	 free(err);
+      }
+      snprintf(path, 512, "%s/ring-ref", dev->nodename);
+      if((err = xenbus_rm(XBT_NIL, path))) {
+	 free(err);
+      }
+
+      /* Tell backend we are closed */
+      dev->state = XenbusStateClosed;
+      if((err = xenbus_printf(XBT_NIL, dev->nodename, "state", "%u", (unsigned int) dev->state))) {
+	 TPMFRONT_ERR("Unable to write to %s, error was %s", dev->nodename, err);
+	 free(err);
+      }
+
+      /* Wait for the backend to close and unmap shared pages, ignore any errors */
+      wait_for_backend_state_changed(dev, XenbusStateClosed);
+
+      /* Cleanup any shared pages */
+      if(dev->pages) {
+	 for(i = 0; i < TPMIF_TX_RING_SIZE; ++i) {
+	    if(dev->pages[i]) {
+	       tx = &dev->tx->ring[i].req;
+	       if(tx->ref != 0) {
+		  gnttab_end_access(tx->ref);
+	       }
+	       free_page(dev->pages[i]);
+	    }
+	 }
+	 free(dev->pages);
+      }
+
+      /* Close event channel and unmap shared page */
+      mask_evtchn(dev->evtchn);
+      unbind_evtchn(dev->evtchn);
+      gnttab_end_access(dev->ring_ref);
+
+      free_page(dev->tx);
+
+   }
+
+   /* Cleanup memory usage */
+   if(dev->respbuf) {
+      free(dev->respbuf);
+   }
+   if(dev->bepath) {
+      free(dev->bepath);
+   }
+   if(dev->nodename) {
+      free(dev->nodename);
+   }
+   free(dev);
+}
+
+int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
+{
+   int i;
+   tpmif_tx_request_t* tx = NULL;
+   /* Error Checking */
+   if(dev == NULL || dev->state != XenbusStateConnected) {
+      TPMFRONT_ERR("Tried to send message through disconnected frontend\n");
+      return -1;
+   }
+
+#ifdef TPMFRONT_PRINT_DEBUG
+   TPMFRONT_DEBUG("Sending Msg to backend size=%u", (unsigned int) length);
+   for(i = 0; i < length; ++i) {
+      if(!(i % 30)) {
+	 TPMFRONT_DEBUG_MORE("\n");
+      }
+      TPMFRONT_DEBUG_MORE("%02X ", msg[i]);
+   }
+   TPMFRONT_DEBUG_MORE("\n");
+#endif
+
+   /* Copy to shared pages now */
+   for(i = 0; length > 0 && i < TPMIF_TX_RING_SIZE; ++i) {
+      /* Share the page */
+      tx = &dev->tx->ring[i].req;
+      tx->unused = 0;
+      tx->addr = virt_to_mach(dev->pages[i]);
+      tx->ref = gnttab_grant_access(dev->bedomid, virt_to_mfn(dev->pages[i]), 0);
+      /* Copy the bits to the page */
+      tx->size = length > PAGE_SIZE ? PAGE_SIZE : length;
+      memcpy(dev->pages[i], &msg[i * PAGE_SIZE], tx->size);
+
+      /* Update counters */
+      length -= tx->size;
+   }
+   dev->waiting = 1;
+   dev->resplen = 0;
+#ifdef HAVE_LIBC
+   if(dev->fd >= 0) {
+      files[dev->fd].read = 0;
+      files[dev->fd].tpmfront.respgot = 0;
+      files[dev->fd].tpmfront.offset = 0;
+   }
+#endif
+   notify_remote_via_evtchn(dev->evtchn);
+   return 0;
+}
+int tpmfront_recv(struct tpmfront_dev* dev, uint8_t** msg, size_t *length)
+{
+   tpmif_tx_request_t* tx;
+   int i;
+   if(dev == NULL || dev->state != XenbusStateConnected) {
+      TPMFRONT_ERR("Tried to receive message from disconnected frontend\n");
+      return -1;
+   }
+   /*Wait for the response */
+   wait_event(dev->waitq, (!dev->waiting));
+
+   /* Initialize */
+   *msg = NULL;
+   *length = 0;
+
+   /* special case, just quit */
+   tx = &dev->tx->ring[0].req;
+   if(tx->size == 0 ) {
+       goto quit;
+   }
+   /* Get the total size */
+   tx = &dev->tx->ring[0].req;
+   for(i = 0; i < TPMIF_TX_RING_SIZE && tx->size > 0; ++i) {
+      tx = &dev->tx->ring[i].req;
+      *length += tx->size;
+   }
+   /* Alloc the buffer */
+   if(dev->respbuf) {
+      free(dev->respbuf);
+   }
+   *msg = dev->respbuf = malloc(*length);
+   dev->resplen = *length;
+   /* Copy the bits */
+   tx = &dev->tx->ring[0].req;
+   for(i = 0; i < TPMIF_TX_RING_SIZE && tx->size > 0; ++i) {
+      tx = &dev->tx->ring[i].req;
+      memcpy(&(*msg)[i * PAGE_SIZE], dev->pages[i], tx->size);
+      gnttab_end_access(tx->ref);
+      tx->ref = 0;
+   }
+#ifdef TPMFRONT_PRINT_DEBUG
+   TPMFRONT_DEBUG("Received response from backend size=%u", (unsigned int) *length);
+   for(i = 0; i < *length; ++i) {
+      if(!(i % 30)) {
+	 TPMFRONT_DEBUG_MORE("\n");
+      }
+      TPMFRONT_DEBUG_MORE("%02X ", (*msg)[i]);
+   }
+   TPMFRONT_DEBUG_MORE("\n");
+#endif
+#ifdef HAVE_LIBC
+   if(dev->fd >= 0) {
+      files[dev->fd].tpmfront.respgot = 1;
+   }
+#endif
+quit:
+   return 0;
+}
+
+int tpmfront_cmd(struct tpmfront_dev* dev, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen)
+{
+   int rc;
+   if((rc = tpmfront_send(dev, req, reqlen))) {
+      return rc;
+   }
+   if((rc = tpmfront_recv(dev, resp, resplen))) {
+      return rc;
+   }
+
+   return 0;
+}
+
+#ifdef HAVE_LIBC
+#include <errno.h>
+int tpmfront_open(struct tpmfront_dev* dev)
+{
+   /* Silently prevent multiple opens */
+   if(dev->fd != -1) {
+      return dev->fd;
+   }
+
+   dev->fd = alloc_fd(FTYPE_TPMFRONT);
+   printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
+   files[dev->fd].tpmfront.dev = dev;
+   files[dev->fd].tpmfront.offset = 0;
+   files[dev->fd].tpmfront.respgot = 0;
+   return dev->fd;
+}
+
+int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
+{
+   int rc;
+   struct tpmfront_dev* dev;
+   dev = files[fd].tpmfront.dev;
+
+   if(count == 0) {
+      return 0;
+   }
+
+   /* Return an error if we are already processing a command */
+   if(dev->waiting) {
+      errno = EINPROGRESS;
+      return -1;
+   }
+   /* Send the command now */
+   if((rc = tpmfront_send(dev, buf, count)) != 0) {
+      errno = EIO;
+      return -1;
+   }
+   return count;
+}
+
+int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
+{
+   int rc;
+   uint8_t* dummybuf;
+   size_t dummysz;
+   struct tpmfront_dev* dev;
+
+   dev = files[fd].tpmfront.dev;
+
+   if(count == 0) {
+      return 0;
+   }
+
+   /* get the response if we haven't already */
+   if(files[dev->fd].tpmfront.respgot == 0) {
+      if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
+	 errno = EIO;
+	 return -1;
+      }
+   }
+
+   /* handle EOF case */
+   if(files[dev->fd].tpmfront.offset >= dev->resplen) {
+      return 0;
+   }
+
+   /* Compute the number of bytes and do the copy operation */
+   if((rc = min(count, dev->resplen - files[dev->fd].tpmfront.offset)) != 0) {
+      memcpy(buf, dev->respbuf + files[dev->fd].tpmfront.offset, rc);
+      files[dev->fd].tpmfront.offset += rc;
+   }
+
+   return rc;
+}
+
+int tpmfront_posix_fstat(int fd, struct stat* buf)
+{
+   uint8_t* dummybuf;
+   size_t dummysz;
+   int rc;
+   struct tpmfront_dev* dev = files[fd].tpmfront.dev;
+
+   /* If we have a response waiting, then read it now from the backend
+    * so we can get its length*/
+   if(dev->waiting || (files[dev->fd].read == 1 && !files[dev->fd].tpmfront.respgot)) {
+      if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
+	 errno = EIO;
+	 return -1;
+      }
+   }
+
+   buf->st_mode = O_RDWR;
+   buf->st_uid = 0;
+   buf->st_gid = 0;
+   buf->st_size = dev->resplen;
+   buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
+
+   return 0;
+}
+
+
+#endif
-- 
1.7.4.4


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

From xen-devel-bounces@lists.xen.org Tue Oct 02 16:20:51 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Oct 2012 16:20:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TJ5D1-0005xs-7f; Tue, 02 Oct 2012 16:20:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <matthew.fioravante@jhuapl.edu>) id 1TJ5Cy-0005xc-Up
	for xen-devel@lists.xen.org; Tue, 02 Oct 2012 16:20:33 +0000
Received: from [85.158.139.211:3517] by server-15.bemta-5.messagelabs.com id
	4C/05-19430-0541B605; Tue, 02 Oct 2012 16:20:32 +0000
X-Env-Sender: matthew.fioravante@jhuapl.edu
X-Msg-Ref: server-13.tower-206.messagelabs.com!1349194825!16820148!1
X-Originating-IP: [128.244.251.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=UNPARSEABLE_RELAY
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32144 invoked from network); 2 Oct 2012 16:20:26 -0000
Received: from piper.jhuapl.edu (HELO jhuapl.edu) (128.244.251.37)
	by server-13.tower-206.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 2 Oct 2012 16:20:26 -0000
Received: from ([128.244.207.97])
	by piper.jhuapl.edu with ESMTP with TLS id 5Y8HCH1.145958854;
	Tue, 02 Oct 2012 12:19:57 -0400
From: Matthew Fioravante <matthew.fioravante@jhuapl.edu>
To: xen-devel@lists.xen.org, samuel.thibault@ens-lyon.org,
	Ian.Campbell@citrix.com
Date: Tue,  2 Oct 2012 12:20:04 -0400
Message-Id: <1349194804-17973-1-git-send-email-matthew.fioravante@jhuapl.edu>
X-Mailer: git-send-email 1.7.4.4
Cc: Matthew Fioravante <matthew.fioravante@jhuapl.edu>
Subject: [Xen-devel] [PATCH 08/12] add tpmfront, tpm_tis,
	and tpmback drivers to mini-os
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch adds 3 new drivers to mini-os.

tpmfront - paravirtualized tpm frontend driver
tpmback - paravirtualized tpm backend driver
tpm_tis - hardware tpm driver

Unfortunately these drivers were derived from GPL
licensed linux kernel drivers so they must carry
the GPL license. However, since mini-os now
supports conditional compilation, hopefully these
drivers can be included into the xen tree and
conditionally removed from non-gpl projects.
By default they are disabled in the makefile.

Signed-off-by: Matthew Fioravante <matthew.fioravante@jhuapl.edu>
---
Changes since last version:
 * remove (or later version) clause from license

diff --git a/extras/mini-os/Makefile b/extras/mini-os/Makefile
index 2422db3..2302a23 100644
--- a/extras/mini-os/Makefile
+++ b/extras/mini-os/Makefile
@@ -22,6 +22,9 @@ CONFIG_QEMU_XS_ARGS ?= n
 CONFIG_TEST ?= n
 CONFIG_PCIFRONT ?= n
 CONFIG_BLKFRONT ?= y
+CONFIG_TPMFRONT ?= n
+CONFIG_TPM_TIS ?= n
+CONFIG_TPMBACK ?= n
 CONFIG_NETFRONT ?= y
 CONFIG_FBFRONT ?= y
 CONFIG_KBDFRONT ?= y
@@ -36,6 +39,9 @@ flags-$(CONFIG_SPARSE_BSS) += -DCONFIG_SPARSE_BSS
 flags-$(CONFIG_QEMU_XS_ARGS) += -DCONFIG_QEMU_XS_ARGS
 flags-$(CONFIG_PCIFRONT) += -DCONFIG_PCIFRONT
 flags-$(CONFIG_BLKFRONT) += -DCONFIG_BLKFRONT
+flags-$(CONFIG_TPMFRONT) += -DCONFIG_TPMFRONT
+flags-$(CONFIG_TPM_TIS) += -DCONFIG_TPM_TIS
+flags-$(CONFIG_TPMBACK) += -DCONFIG_TPMBACK
 flags-$(CONFIG_NETFRONT) += -DCONFIG_NETFRONT
 flags-$(CONFIG_KBDFRONT) += -DCONFIG_KBDFRONT
 flags-$(CONFIG_FBFRONT) += -DCONFIG_FBFRONT
@@ -67,6 +73,9 @@ TARGET := mini-os
 SUBDIRS := lib xenbus console
 
 src-$(CONFIG_BLKFRONT) += blkfront.c
+src-$(CONFIG_TPMFRONT) += tpmfront.c
+src-$(CONFIG_TPM_TIS) += tpm_tis.c
+src-$(CONFIG_TPMBACK) += tpmback.c
 src-y += daytime.c
 src-y += events.c
 src-$(CONFIG_FBFRONT) += fbfront.c
diff --git a/extras/mini-os/include/lib.h b/extras/mini-os/include/lib.h
index d4641b6..935bede 100644
--- a/extras/mini-os/include/lib.h
+++ b/extras/mini-os/include/lib.h
@@ -142,6 +142,8 @@ enum fd_type {
     FTYPE_FB,
     FTYPE_MEM,
     FTYPE_SAVEFILE,
+    FTYPE_TPMFRONT,
+    FTYPE_TPM_TIS,
 };
 
 LIST_HEAD(evtchn_port_list, evtchn_port_info);
@@ -185,6 +187,20 @@ extern struct file {
 	struct {
 	    struct consfront_dev *dev;
 	} cons;
+#ifdef CONFIG_TPMFRONT
+	struct {
+	   struct tpmfront_dev *dev;
+	   int respgot;
+	   off_t offset;
+	} tpmfront;
+#endif
+#ifdef CONFIG_TPM_TIS
+	struct {
+	   struct tpm_chip *dev;
+	   int respgot;
+	   off_t offset;
+	} tpm_tis;
+#endif
 #ifdef CONFIG_XENBUS
         struct {
             /* To each xenbus FD is associated a queue of watch events for this
diff --git a/extras/mini-os/include/tpm_tis.h b/extras/mini-os/include/tpm_tis.h
new file mode 100644
index 0000000..c25f01c
--- /dev/null
+++ b/extras/mini-os/include/tpm_tis.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, version 2
+ * of the License
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ * Based upon the files:
+ *  drivers/char/tpm/tpm_tis.c
+ *  drivers/char/tpm/tpm.c
+ * from the Linux kernel, which are Copyright (C) 2006 IBM Corporation
+ */
+#ifndef TPM_TIS_H
+#define TPM_TIS_H
+
+#include <mini-os/types.h>
+#include <mini-os/byteorder.h>
+
+#define TPM_TIS_EN_LOCL0 1
+#define TPM_TIS_EN_LOCL1 (1 << 1)
+#define TPM_TIS_EN_LOCL2 (1 << 2)
+#define TPM_TIS_EN_LOCL3 (1 << 3)
+#define TPM_TIS_EN_LOCL4 (1 << 4)
+#define TPM_TIS_EN_LOCLALL (TPM_TIS_EN_LOCL0 | TPM_TIS_EN_LOCL1  | TPM_TIS_EN_LOCL2 | TPM_TIS_EN_LOCL3 | TPM_TIS_EN_LOCL4)
+#define TPM_TIS_LOCL_INT_TO_FLAG(x) (1 << x)
+#define TPM_BASEADDR 0xFED40000
+#define TPM_PROBE_IRQ 0xFFFF
+
+struct tpm_chip;
+
+struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq);
+void shutdown_tpm_tis(struct tpm_chip* tpm);
+
+int tpm_tis_request_locality(struct tpm_chip* tpm, int locality);
+int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen);
+
+#ifdef HAVE_LIBC
+#include <sys/stat.h>
+#include <fcntl.h>
+/* POSIX IO functions:
+ * use tpm_tis_open() to get a file descriptor to the tpm device
+ * use write() on the fd to send a command to the backend. You must
+ * include the entire command in a single call to write().
+ * use read() on the fd to read the response. You can use
+ * fstat() to get the size of the response and lseek() to seek on it.
+ */
+int tpm_tis_open(struct tpm_chip* tpm);
+int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count);
+int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count);
+int tpm_tis_posix_fstat(int fd, struct stat* buf);
+#endif
+
+#endif
diff --git a/extras/mini-os/include/tpmback.h b/extras/mini-os/include/tpmback.h
new file mode 100644
index 0000000..60e504e
--- /dev/null
+++ b/extras/mini-os/include/tpmback.h
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, version 2
+ * of the License
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ * Based upon the files:
+ *  drivers/xen/tpmbk.c
+ * from the Linux kernel, which are Copyright (C) 2006 IBM Corporation
+ */
+#include <xen/io/tpmif.h>
+#include <xen/io/xenbus.h>
+#include <mini-os/types.h>
+#include <xen/xen.h>
+#ifndef TPMBACK_H
+#define TPMBACK_H
+
+struct tpmcmd {
+   domid_t domid;		/* Domid of the frontend */
+   unsigned int handle;	/* Handle of the frontend */
+   char* uuid;			/* uuid of the tpm interface - allocated internally, dont free it */
+
+   unsigned int req_len;		/* Size of the command in buf - set by tpmback driver */
+   uint8_t* req;			/* tpm command bits, allocated by driver, DON'T FREE IT */
+   unsigned int resp_len;	/* Size of the outgoing command,
+				   you set this before passing the cmd object to tpmback_resp */
+   uint8_t* resp;		/* Buffer for response - YOU MUST ALLOCATE IT, YOU MUST ALSO FREE IT */
+};
+typedef struct tpmcmd tpmcmd_t;
+
+/* Initialize the tpm backend driver
+ * @exclusive_domname - This is NULL terminated list of vtpm uuid strings. If this list
+ * 			is non-empty, then only frontend domains with vtpm uuid's matching
+ * 			entries in this list will be allowed to connect.
+ * 			Other connections will be immediatly closed.
+ * 			Set this argument to NULL to allow any vtpm to connect.
+ */
+void init_tpmback(char** exclusive_uuids);
+/* Shutdown tpm backend driver */
+void shutdown_tpmback(void);
+
+/* Blocks until a tpm command is sent from any front end.
+ * Returns a pointer to the tpm command to handle.
+ * Do not try to free this pointer or the req buffer
+ * This function will return NULL if the tpm backend driver
+ * is shutdown or any other error occurs */
+tpmcmd_t* tpmback_req_any(void);
+
+/* Blocks until a tpm command from the frontend at domid/handle
+ * is sent.
+ * Returns NULL if domid/handle is not connected, tpmback is
+ * shutdown or shutting down, or if there is an error
+ */
+tpmcmd_t* tpmback_req(domid_t domid, unsigned int handle);
+
+/* Send the response to the tpm command back to the frontend
+ * This function will free the tpmcmd object, but you must free the resp
+ * buffer yourself */
+void tpmback_resp(tpmcmd_t* tpmcmd);
+
+/* Waits for the first frontend to connect and then sets domid and handle appropriately.
+ * If one or more frontends are already connected, this will set domid and handle to one
+ * of them arbitrarily. The main use for this function is to wait until a single
+ * frontend connection has occured.
+ * returns 0 on success, non-zero on failure */
+int tpmback_wait_for_frontend_connect(domid_t *domid, unsigned int *handle);
+
+/* returns the number of frontends connected */
+int tpmback_num_frontends(void);
+
+/* Returns the uuid of the specified frontend, NULL on error */
+char* tpmback_get_uuid(domid_t domid, unsigned int handle);
+
+/* Specify a function to call when a new tpm device connects */
+void tpmback_set_open_callback(void (*cb)(domid_t, unsigned int));
+
+/* Specify a function to call when a tpm device disconnects */
+void tpmback_set_close_callback(void (*cb)(domid_t, unsigned int));
+
+//Not Implemented
+void tpmback_set_suspend_callback(void (*cb)(domid_t, unsigned int));
+void tpmback_set_resume_callback(void (*cb)(domid_t, unsigned int));
+
+#endif
diff --git a/extras/mini-os/include/tpmfront.h b/extras/mini-os/include/tpmfront.h
new file mode 100644
index 0000000..89b18fb
--- /dev/null
+++ b/extras/mini-os/include/tpmfront.h
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, version 2
+ * of the License
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+
+ *
+ * Based upon the files:
+ *  drivers/char/tpm/tpm_vtpm.c
+ *  drivers/char/tpm/tpm_xen.c
+ * from the Linux kernel, which are Copyright (C) 2006 IBM Corporation
+ */
+#ifndef TPMFRONT_H
+#define TPMFRONT_H
+
+#include <mini-os/types.h>
+#include <mini-os/os.h>
+#include <mini-os/events.h>
+#include <mini-os/wait.h>
+#include <xen/xen.h>
+#include <xen/io/xenbus.h>
+#include <xen/io/tpmif.h>
+
+struct tpmfront_dev {
+   grant_ref_t ring_ref;
+   evtchn_port_t evtchn;
+
+   tpmif_tx_interface_t* tx;
+
+   void** pages;
+
+   domid_t bedomid;
+   char* nodename;
+   char* bepath;
+
+   XenbusState state;
+
+   uint8_t waiting;
+   struct wait_queue_head waitq;
+
+   uint8_t* respbuf;
+   size_t resplen;
+
+#ifdef HAVE_LIBC
+   int fd;
+#endif
+
+};
+
+
+/*Initialize frontend */
+struct tpmfront_dev* init_tpmfront(const char* nodename);
+/*Shutdown frontend */
+void shutdown_tpmfront(struct tpmfront_dev* dev);
+
+/* Send a tpm command to the backend and wait for the response
+ *
+ * @dev - frontend device
+ * @req - request buffer
+ * @reqlen - length of request buffer
+ * @resp - *resp will be set to internal response buffer, don't free it! Value is undefined on error
+ * @resplen - *resplen will be set to the length of the response. Value is undefined on error
+ *
+ * returns 0 on success, non zero on failure.
+ * */
+int tpmfront_cmd(struct tpmfront_dev* dev, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen);
+
+#ifdef HAVE_LIBC
+#include <sys/stat.h>
+/* POSIX IO functions:
+ * use tpmfront_open() to get a file descriptor to the tpm device
+ * use write() on the fd to send a command to the backend. You must
+ * include the entire command in a single call to write().
+ * use read() on the fd to read the response. You can use
+ * fstat() to get the size of the response and lseek() to seek on it.
+ */
+int tpmfront_open(struct tpmfront_dev* dev);
+int tpmfront_posix_read(int fd, uint8_t* buf, size_t count);
+int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count);
+int tpmfront_posix_fstat(int fd, struct stat* buf);
+#endif
+
+
+#endif
diff --git a/extras/mini-os/lib/sys.c b/extras/mini-os/lib/sys.c
index 6cb97b1..d212969 100644
--- a/extras/mini-os/lib/sys.c
+++ b/extras/mini-os/lib/sys.c
@@ -27,6 +27,8 @@
 #include <netfront.h>
 #include <blkfront.h>
 #include <fbfront.h>
+#include <tpmfront.h>
+#include <tpm_tis.h>
 #include <xenbus.h>
 #include <xenstore.h>
 
@@ -294,6 +296,16 @@ int read(int fd, void *buf, size_t nbytes)
 	    return blkfront_posix_read(fd, buf, nbytes);
         }
 #endif
+#ifdef CONFIG_TPMFRONT
+        case FTYPE_TPMFRONT: {
+	    return tpmfront_posix_read(fd, buf, nbytes);
+        }
+#endif
+#ifdef CONFIG_TPM_TIS
+        case FTYPE_TPM_TIS: {
+	    return tpm_tis_posix_read(fd, buf, nbytes);
+        }
+#endif
 	default:
 	    break;
     }
@@ -330,6 +342,14 @@ int write(int fd, const void *buf, size_t nbytes)
 	case FTYPE_BLK:
 	    return blkfront_posix_write(fd, buf, nbytes);
 #endif
+#ifdef CONFIG_TPMFRONT
+	case FTYPE_TPMFRONT:
+	    return tpmfront_posix_write(fd, buf, nbytes);
+#endif
+#ifdef CONFIG_TPM_TIS
+	case FTYPE_TPM_TIS:
+	    return tpm_tis_posix_write(fd, buf, nbytes);
+#endif
 	default:
 	    break;
     }
@@ -341,8 +361,16 @@ int write(int fd, const void *buf, size_t nbytes)
 off_t lseek(int fd, off_t offset, int whence)
 {
     switch(files[fd].type) {
+#if defined(CONFIG_BLKFRONT) || defined(CONFIG_TPMFRONT) || defined(CONFIG_TPM_TIS)
 #ifdef CONFIG_BLKFRONT
        case FTYPE_BLK:
+#endif
+#ifdef CONFIG_TPMFRNT
+       case FTYPE_TPMFRONT:
+#endif
+#ifdef CONFIG_TPM_TIS
+       case FTYPE_TPM_TIS:
+#endif
 	  switch (whence) {
 	     case SEEK_SET:
 		files[fd].file.offset = offset;
@@ -420,6 +448,18 @@ int close(int fd)
 	    files[fd].type = FTYPE_NONE;
 	    return 0;
 #endif
+#ifdef CONFIG_TPMFRONT
+	case FTYPE_TPMFRONT:
+            shutdown_tpmfront(files[fd].tpmfront.dev);
+	    files[fd].type = FTYPE_NONE;
+	    return 0;
+#endif
+#ifdef CONFIG_TPM_TIS
+	case FTYPE_TPM_TIS:
+            shutdown_tpm_tis(files[fd].tpm_tis.dev);
+	    files[fd].type = FTYPE_NONE;
+	    return 0;
+#endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
             shutdown_kbdfront(files[fd].kbd.dev);
@@ -489,6 +529,14 @@ int fstat(int fd, struct stat *buf)
 	case FTYPE_BLK:
 	   return blkfront_posix_fstat(fd, buf);
 #endif
+#ifdef CONFIG_TPMFRONT
+	case FTYPE_TPMFRONT:
+	   return tpmfront_posix_fstat(fd, buf);
+#endif
+#ifdef CONFIG_TPM_TIS
+	case FTYPE_TPM_TIS:
+	   return tpm_tis_posix_fstat(fd, buf);
+#endif
 	default:
 	    break;
     }
diff --git a/extras/mini-os/tpm_tis.c b/extras/mini-os/tpm_tis.c
new file mode 100644
index 0000000..1d3bd80
--- /dev/null
+++ b/extras/mini-os/tpm_tis.c
@@ -0,0 +1,1345 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, version 2
+ * of the License
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ * Based upon the files:
+ *  drivers/char/tpm/tpm_tis.c
+ *  drivers/char/tpm/tpm.c
+ * from the Linux kernel, which are Copyright (C) 2006 IBM Corporation
+ */
+#include <mini-os/ioremap.h>
+#include <mini-os/iorw.h>
+#include <mini-os/tpm_tis.h>
+#include <mini-os/os.h>
+#include <mini-os/sched.h>
+#include <mini-os/byteorder.h>
+#include <mini-os/events.h>
+#include <mini-os/wait.h>
+#include <mini-os/xmalloc.h>
+#include <errno.h>
+#include <stdbool.h>
+
+#ifndef min
+	#define min( a, b ) ( ((a) < (b)) ? (a) : (b) )
+#endif
+
+#define TPM_HEADER_SIZE 10
+
+#define TPM_BUFSIZE 2048
+
+struct tpm_input_header {
+        uint16_t  tag;
+        uint32_t  length;
+        uint32_t  ordinal;
+}__attribute__((packed));
+
+struct tpm_output_header {
+        uint16_t  tag;
+        uint32_t  length;
+        uint32_t  return_code;
+}__attribute__((packed));
+
+struct  stclear_flags_t {
+        uint16_t  tag;
+        uint8_t      deactivated;
+        uint8_t      disableForceClear;
+        uint8_t      physicalPresence;
+        uint8_t      physicalPresenceLock;
+        uint8_t      bGlobalLock;
+}__attribute__((packed));
+
+struct  tpm_version_t {
+        uint8_t      Major;
+        uint8_t      Minor;
+        uint8_t      revMajor;
+        uint8_t      revMinor;
+}__attribute__((packed));
+
+struct  tpm_version_1_2_t {
+        uint16_t  tag;
+        uint8_t      Major;
+        uint8_t      Minor;
+        uint8_t      revMajor;
+        uint8_t      revMinor;
+}__attribute__((packed));
+
+struct  timeout_t {
+        uint32_t  a;
+        uint32_t  b;
+        uint32_t  c;
+        uint32_t  d;
+}__attribute__((packed));
+
+struct duration_t {
+        uint32_t  tpm_short;
+        uint32_t  tpm_medium;
+        uint32_t  tpm_long;
+}__attribute__((packed));
+
+struct permanent_flags_t {
+        uint16_t  tag;
+        uint8_t      disable;
+        uint8_t      ownership;
+        uint8_t      deactivated;
+        uint8_t      readPubek;
+        uint8_t      disableOwnerClear;
+        uint8_t      allowMaintenance;
+        uint8_t      physicalPresenceLifetimeLock;
+        uint8_t      physicalPresenceHWEnable;
+        uint8_t      physicalPresenceCMDEnable;
+        uint8_t      CEKPUsed;
+        uint8_t      TPMpost;
+        uint8_t      TPMpostLock;
+        uint8_t      FIPS;
+        uint8_t      operator;
+        uint8_t      enableRevokeEK;
+        uint8_t      nvLocked;
+        uint8_t      readSRKPub;
+        uint8_t      tpmEstablished;
+        uint8_t      maintenanceDone;
+        uint8_t      disableFullDALogicInfo;
+}__attribute__((packed));
+
+typedef union {
+        struct  permanent_flags_t perm_flags;
+        struct  stclear_flags_t stclear_flags;
+        bool    owned;
+        uint32_t  num_pcrs;
+        struct  tpm_version_t   tpm_version;
+        struct  tpm_version_1_2_t tpm_version_1_2;
+        uint32_t  manufacturer_id;
+        struct timeout_t  timeout;
+        struct duration_t duration;
+} cap_t;
+
+struct  tpm_getcap_params_in {
+        uint32_t  cap;
+        uint32_t  subcap_size;
+        uint32_t  subcap;
+}__attribute__((packed));
+
+struct  tpm_getcap_params_out {
+        uint32_t  cap_size;
+        cap_t   cap;
+}__attribute__((packed));
+
+struct  tpm_readpubek_params_out {
+        uint8_t      algorithm[4];
+        uint8_t      encscheme[2];
+        uint8_t      sigscheme[2];
+        uint32_t  paramsize;
+        uint8_t      parameters[12]; /*assuming RSA*/
+        uint32_t  keysize;
+        uint8_t      modulus[256];
+        uint8_t      checksum[20];
+}__attribute__((packed));
+
+typedef union {
+        struct  tpm_input_header in;
+        struct  tpm_output_header out;
+} tpm_cmd_header;
+
+#define TPM_DIGEST_SIZE 20
+struct tpm_pcrread_out {
+        uint8_t      pcr_result[TPM_DIGEST_SIZE];
+}__attribute__((packed));
+
+struct tpm_pcrread_in {
+        uint32_t  pcr_idx;
+}__attribute__((packed));
+
+struct tpm_pcrextend_in {
+        uint32_t  pcr_idx;
+        uint8_t      hash[TPM_DIGEST_SIZE];
+}__attribute__((packed));
+
+typedef union {
+        struct  tpm_getcap_params_out getcap_out;
+        struct  tpm_readpubek_params_out readpubek_out;
+        uint8_t      readpubek_out_buffer[sizeof(struct tpm_readpubek_params_out)];
+        struct  tpm_getcap_params_in getcap_in;
+        struct  tpm_pcrread_in  pcrread_in;
+        struct  tpm_pcrread_out pcrread_out;
+        struct  tpm_pcrextend_in pcrextend_in;
+} tpm_cmd_params;
+
+struct tpm_cmd_t {
+        tpm_cmd_header  header;
+        tpm_cmd_params  params;
+}__attribute__((packed));
+
+
+enum tpm_duration {
+   TPM_SHORT = 0,
+   TPM_MEDIUM = 1,
+   TPM_LONG = 2,
+   TPM_UNDEFINED,
+};
+
+#define TPM_MAX_ORDINAL 243
+#define TPM_MAX_PROTECTED_ORDINAL 12
+#define TPM_PROTECTED_ORDINAL_MASK 0xFF
+
+extern const uint8_t tpm_protected_ordinal_duration[TPM_MAX_PROTECTED_ORDINAL];
+extern const uint8_t tpm_ordinal_duration[TPM_MAX_ORDINAL];
+
+#define TPM_DIGEST_SIZE 20
+#define TPM_ERROR_SIZE 10
+#define TPM_RET_CODE_IDX 6
+
+/* tpm_capabilities */
+#define TPM_CAP_FLAG cpu_to_be32(4)
+#define TPM_CAP_PROP cpu_to_be32(5)
+#define CAP_VERSION_1_1 cpu_to_be32(0x06)
+#define CAP_VERSION_1_2 cpu_to_be32(0x1A)
+
+/* tpm_sub_capabilities */
+#define TPM_CAP_PROP_PCR cpu_to_be32(0x101)
+#define TPM_CAP_PROP_MANUFACTURER cpu_to_be32(0x103)
+#define TPM_CAP_FLAG_PERM cpu_to_be32(0x108)
+#define TPM_CAP_FLAG_VOL cpu_to_be32(0x109)
+#define TPM_CAP_PROP_OWNER cpu_to_be32(0x111)
+#define TPM_CAP_PROP_TIS_TIMEOUT cpu_to_be32(0x115)
+#define TPM_CAP_PROP_TIS_DURATION cpu_to_be32(0x120)
+
+
+#define TPM_INTERNAL_RESULT_SIZE 200
+#define TPM_TAG_RQU_COMMAND cpu_to_be16(193)
+#define TPM_ORD_GET_CAP cpu_to_be32(101)
+
+extern const struct tpm_input_header tpm_getcap_header;
+
+
+
+const uint8_t tpm_protected_ordinal_duration[TPM_MAX_PROTECTED_ORDINAL] = {
+   TPM_UNDEFINED,          /* 0 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 5 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 10 */
+   TPM_SHORT,
+};
+
+const uint8_t tpm_ordinal_duration[TPM_MAX_ORDINAL] = {
+   TPM_UNDEFINED,          /* 0 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 5 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 10 */
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_LONG,
+   TPM_LONG,
+   TPM_MEDIUM,             /* 15 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_LONG,
+   TPM_SHORT,              /* 20 */
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_SHORT,              /* 25 */
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_MEDIUM,             /* 30 */
+   TPM_LONG,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,              /* 35 */
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_MEDIUM,             /* 40 */
+   TPM_LONG,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,              /* 45 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_LONG,
+   TPM_MEDIUM,             /* 50 */
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 55 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_MEDIUM,             /* 60 */
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_MEDIUM,             /* 65 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 70 */
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 75 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_LONG,               /* 80 */
+   TPM_UNDEFINED,
+   TPM_MEDIUM,
+   TPM_LONG,
+   TPM_SHORT,
+   TPM_UNDEFINED,          /* 85 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 90 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,          /* 95 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_MEDIUM,             /* 100 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 105 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 110 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,              /* 115 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_LONG,               /* 120 */
+   TPM_LONG,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_SHORT,
+   TPM_SHORT,              /* 125 */
+   TPM_SHORT,
+   TPM_LONG,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,              /* 130 */
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,          /* 135 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 140 */
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 145 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 150 */
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,          /* 155 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 160 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 165 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_LONG,               /* 170 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 175 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_MEDIUM,             /* 180 */
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_MEDIUM,             /* 185 */
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 190 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 195 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 200 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,
+   TPM_SHORT,              /* 205 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_MEDIUM,             /* 210 */
+   TPM_UNDEFINED,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,          /* 215 */
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,
+   TPM_SHORT,              /* 220 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,          /* 225 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 230 */
+   TPM_LONG,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 235 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 240 */
+   TPM_UNDEFINED,
+   TPM_MEDIUM,
+};
+
+const struct tpm_input_header tpm_getcap_header = {
+        .tag = TPM_TAG_RQU_COMMAND,
+        .length = cpu_to_be32(22),
+        .ordinal = TPM_ORD_GET_CAP
+};
+
+
+enum tis_access {
+   TPM_ACCESS_VALID = 0x80,
+   TPM_ACCESS_ACTIVE_LOCALITY = 0x20,	/* (R) */
+   TPM_ACCESS_RELINQUISH_LOCALITY = 0x20,/* (W) */
+   TPM_ACCESS_REQUEST_PENDING = 0x04,	/* (W) */
+   TPM_ACCESS_REQUEST_USE = 0x02,	/* (W) */
+};
+
+enum tis_status {
+   TPM_STS_VALID = 0x80,		/* (R) */
+   TPM_STS_COMMAND_READY = 0x40,	/* (R) */
+   TPM_STS_DATA_AVAIL = 0x10,		/* (R) */
+   TPM_STS_DATA_EXPECT = 0x08,		/* (R) */
+   TPM_STS_GO = 0x20,			/* (W) */
+};
+
+enum tis_int_flags {
+   TPM_GLOBAL_INT_ENABLE = 0x80000000,
+   TPM_INTF_BURST_COUNT_STATIC = 0x100,
+   TPM_INTF_CMD_READY_INT = 0x080,
+   TPM_INTF_INT_EDGE_FALLING = 0x040,
+   TPM_INTF_INT_EDGE_RISING = 0x020,
+   TPM_INTF_INT_LEVEL_LOW = 0x010,
+   TPM_INTF_INT_LEVEL_HIGH = 0x008,
+   TPM_INTF_LOCALITY_CHANGE_INT = 0x004,
+   TPM_INTF_STS_VALID_INT = 0x002,
+   TPM_INTF_DATA_AVAIL_INT = 0x001,
+};
+
+enum tis_defaults {
+   TIS_MEM_BASE = 0xFED40000,
+   TIS_MEM_LEN  = 0x5000,
+   TIS_SHORT_TIMEOUT = 750, /*ms*/
+   TIS_LONG_TIMEOUT = 2000, /*2 sec */
+};
+
+#define TPM_TIMEOUT 5
+
+#define TPM_ACCESS(t, l)                   (((uint8_t*)t->pages[l]) + 0x0000)
+#define TPM_INT_ENABLE(t, l)               ((uint32_t*)(((uint8_t*)t->pages[l]) + 0x0008))
+#define TPM_INT_VECTOR(t, l)               (((uint8_t*)t->pages[l]) + 0x000C)
+#define TPM_INT_STATUS(t, l)               (((uint8_t*)t->pages[l]) + 0x0010)
+#define TPM_INTF_CAPS(t, l)                ((uint32_t*)(((uint8_t*)t->pages[l]) + 0x0014))
+#define TPM_STS(t, l)                      ((uint8_t*)(((uint8_t*)t->pages[l]) + 0x0018))
+#define TPM_DATA_FIFO(t, l)                (((uint8_t*)t->pages[l]) + 0x0024)
+
+#define TPM_DID_VID(t, l)                  ((uint32_t*)(((uint8_t*)t->pages[l]) + 0x0F00))
+#define TPM_RID(t, l)                      (((uint8_t*)t->pages[l]) + 0x0F04)
+
+struct tpm_chip {
+   int enabled_localities;
+   int locality;
+   unsigned long baseaddr;
+   uint8_t* pages[5];
+   int did, vid, rid;
+
+   uint8_t data_buffer[TPM_BUFSIZE];
+   int data_len;
+
+   s_time_t timeout_a, timeout_b, timeout_c, timeout_d;
+   s_time_t duration[3];
+
+#ifdef HAVE_LIBC
+   int fd;
+#endif
+
+   unsigned int irq;
+   struct wait_queue_head read_queue;
+   struct wait_queue_head int_queue;
+};
+
+
+static void __init_tpm_chip(struct tpm_chip* tpm) {
+   tpm->enabled_localities = TPM_TIS_EN_LOCLALL;
+   tpm->locality = -1;
+   tpm->baseaddr = 0;
+   tpm->pages[0] = tpm->pages[1] = tpm->pages[2] = tpm->pages[3] = tpm->pages[4] = NULL;
+   tpm->vid = 0;
+   tpm->did = 0;
+   tpm->irq = 0;
+   init_waitqueue_head(&tpm->read_queue);
+   init_waitqueue_head(&tpm->int_queue);
+
+   tpm->data_len = -1;
+
+#ifdef HAVE_LIBC
+   tpm->fd = -1;
+#endif
+}
+
+/*
+ * Returns max number of nsecs to wait
+ */
+s_time_t tpm_calc_ordinal_duration(struct tpm_chip *chip,
+      uint32_t ordinal)
+{
+   int duration_idx = TPM_UNDEFINED;
+   s_time_t duration = 0;
+
+   if (ordinal < TPM_MAX_ORDINAL)
+      duration_idx = tpm_ordinal_duration[ordinal];
+   else if ((ordinal & TPM_PROTECTED_ORDINAL_MASK) <
+	 TPM_MAX_PROTECTED_ORDINAL)
+      duration_idx =
+	 tpm_protected_ordinal_duration[ordinal &
+	 TPM_PROTECTED_ORDINAL_MASK];
+
+   if (duration_idx != TPM_UNDEFINED) {
+      duration = chip->duration[duration_idx];
+   }
+
+   if (duration <= 0) {
+      return SECONDS(120);
+   }
+   else
+   {
+      return duration;
+   }
+}
+
+
+static int locality_enabled(struct tpm_chip* tpm, int l) {
+   return tpm->enabled_localities & (1 << l);
+}
+
+static int check_locality(struct tpm_chip* tpm, int l) {
+   if(locality_enabled(tpm, l) && (ioread8(TPM_ACCESS(tpm, l)) &
+	    (TPM_ACCESS_ACTIVE_LOCALITY | TPM_ACCESS_VALID)) ==
+	 (TPM_ACCESS_ACTIVE_LOCALITY | TPM_ACCESS_VALID)) {
+      return l;
+   }
+   return -1;
+}
+
+void release_locality(struct tpm_chip* tpm, int l, int force)
+{
+   if (locality_enabled(tpm, l) && (force || (ioread8(TPM_ACCESS(tpm, l)) &
+	       (TPM_ACCESS_REQUEST_PENDING | TPM_ACCESS_VALID)) ==
+	    (TPM_ACCESS_REQUEST_PENDING | TPM_ACCESS_VALID))) {
+      iowrite8(TPM_ACCESS(tpm, l), TPM_ACCESS_RELINQUISH_LOCALITY);
+   }
+}
+
+int tpm_tis_request_locality(struct tpm_chip* tpm, int l) {
+
+   s_time_t stop;
+   /*Make sure locality is valid */
+   if(!locality_enabled(tpm, l)) {
+      printk("tpm_tis_change_locality() Tried to change to locality %d, but it is disabled or invalid!\n", l);
+      return -1;
+   }
+   /* Check if we already have the current locality */
+   if(check_locality(tpm, l) >= 0) {
+      return tpm->locality = l;
+   }
+   /* Set the new locality*/
+   iowrite8(TPM_ACCESS(tpm, l), TPM_ACCESS_REQUEST_USE);
+
+   if(tpm->irq) {
+      /* Wait for interrupt */
+      wait_event_deadline(tpm->int_queue, (check_locality(tpm, l) >= 0), NOW() + tpm->timeout_a);
+
+      /* FIXME: Handle timeout event, should return error in that case */
+      return l;
+   } else {
+      /* Wait for burstcount */
+      stop = NOW() + tpm->timeout_a;
+      do {
+	 if(check_locality(tpm, l) >= 0) {
+	    return tpm->locality = l;
+	 }
+	 msleep(TPM_TIMEOUT);
+      } while(NOW() < stop);
+   }
+
+   printk("REQ LOCALITY FAILURE\n");
+   return -1;
+}
+
+static uint8_t tpm_tis_status(struct tpm_chip* tpm) {
+   return ioread8(TPM_STS(tpm, tpm->locality));
+}
+
+/* This causes the current command to be aborted */
+static void tpm_tis_ready(struct tpm_chip* tpm) {
+   iowrite8(TPM_STS(tpm, tpm->locality), TPM_STS_COMMAND_READY);
+}
+#define tpm_tis_cancel_cmd(v) tpm_tis_ready(v)
+
+static int get_burstcount(struct tpm_chip* tpm) {
+   s_time_t stop;
+   int burstcnt;
+
+   stop = NOW() + tpm->timeout_d;
+   do {
+      burstcnt = ioread8((TPM_STS(tpm, tpm->locality) + 1));
+      burstcnt += ioread8(TPM_STS(tpm, tpm->locality) + 2) << 8;
+
+      if (burstcnt) {
+	 return burstcnt;
+      }
+      msleep(TPM_TIMEOUT);
+   } while(NOW() < stop);
+   return -EBUSY;
+}
+
+static int wait_for_stat(struct tpm_chip* tpm, uint8_t mask,
+      unsigned long timeout, struct wait_queue_head* queue) {
+   s_time_t stop;
+   uint8_t status;
+
+   status = tpm_tis_status(tpm);
+   if((status & mask) == mask) {
+      return 0;
+   }
+
+   if(tpm->irq) {
+      wait_event_deadline(*queue, ((tpm_tis_status(tpm) & mask) == mask), timeout);
+      /* FIXME: Check for timeout and return -ETIME */
+      return 0;
+   } else {
+      stop = NOW() + timeout;
+      do {
+	 msleep(TPM_TIMEOUT);
+	 status = tpm_tis_status(tpm);
+	 if((status & mask) == mask)
+	    return 0;
+      } while( NOW() < stop);
+   }
+   return -ETIME;
+}
+
+static int recv_data(struct tpm_chip* tpm, uint8_t* buf, size_t count) {
+   int size = 0;
+   int burstcnt;
+   while( size < count &&
+	 wait_for_stat(tpm,
+	    TPM_STS_DATA_AVAIL | TPM_STS_VALID,
+	    tpm->timeout_c,
+	    &tpm->read_queue)
+	 == 0) {
+      burstcnt = get_burstcount(tpm);
+      for(; burstcnt > 0 && size < count; --burstcnt)
+      {
+	 buf[size++] = ioread8(TPM_DATA_FIFO(tpm, tpm->locality));
+      }
+   }
+   return size;
+}
+
+int tpm_tis_recv(struct tpm_chip* tpm, uint8_t* buf, size_t count) {
+   int size = 0;
+   int expected, status;
+
+   if (count < TPM_HEADER_SIZE) {
+      size = -EIO;
+      goto out;
+   }
+
+   /* read first 10 bytes, including tag, paramsize, and result */
+   if((size =
+	    recv_data(tpm, buf, TPM_HEADER_SIZE)) < TPM_HEADER_SIZE) {
+      printk("Error reading tpm cmd header\n");
+      goto out;
+   }
+
+   expected = be32_to_cpu(*((uint32_t*)(buf + 2)));
+   if(expected > count) {
+      size = -EIO;
+      goto out;
+   }
+
+   if((size += recv_data(tpm, & buf[TPM_HEADER_SIZE],
+	       expected - TPM_HEADER_SIZE)) < expected) {
+      printk("Unable to read rest of tpm command size=%d expected=%d\n", size, expected);
+      size = -ETIME;
+      goto out;
+   }
+
+   wait_for_stat(tpm, TPM_STS_VALID, tpm->timeout_c, &tpm->int_queue);
+   status = tpm_tis_status(tpm);
+   if(status & TPM_STS_DATA_AVAIL) {
+      printk("Error: left over data\n");
+      size = -EIO;
+      goto out;
+   }
+
+out:
+   tpm_tis_ready(tpm);
+   release_locality(tpm, tpm->locality, 0);
+   return size;
+}
+int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
+   int rc;
+   int status, burstcnt = 0;
+   int count = 0;
+   uint32_t ordinal;
+
+   if(tpm_tis_request_locality(tpm, tpm->locality) < 0) {
+      return -EBUSY;
+   }
+
+   status = tpm_tis_status(tpm);
+   if((status & TPM_STS_COMMAND_READY) == 0) {
+      tpm_tis_ready(tpm);
+      if(wait_for_stat(tpm, TPM_STS_COMMAND_READY, tpm->timeout_b, &tpm->int_queue) < 0) {
+	 rc = -ETIME;
+	 goto out_err;
+      }
+   }
+
+   while(count < len - 1) {
+      burstcnt = get_burstcount(tpm);
+      for(;burstcnt > 0 && count < len -1; --burstcnt) {
+	 iowrite8(TPM_DATA_FIFO(tpm, tpm->locality), buf[count++]);
+      }
+
+      wait_for_stat(tpm, TPM_STS_VALID, tpm->timeout_c, &tpm->int_queue);
+      status = tpm_tis_status(tpm);
+      if((status & TPM_STS_DATA_EXPECT) == 0) {
+	 rc = -EIO;
+	 goto out_err;
+      }
+   }
+
+   /*Write last byte*/
+   iowrite8(TPM_DATA_FIFO(tpm, tpm->locality), buf[count]);
+   wait_for_stat(tpm, TPM_STS_VALID, tpm->timeout_c, &tpm->read_queue);
+   status = tpm_tis_status(tpm);
+   if((status & TPM_STS_DATA_EXPECT) != 0) {
+      rc = -EIO;
+      goto out_err;
+   }
+
+   /*go and do it*/
+   iowrite8(TPM_STS(tpm, tpm->locality), TPM_STS_GO);
+
+   if(tpm->irq) {
+      /*Wait for interrupt */
+      ordinal = be32_to_cpu(*(buf + 6));
+      if(wait_for_stat(tpm,
+	       TPM_STS_DATA_AVAIL | TPM_STS_VALID,
+	       tpm_calc_ordinal_duration(tpm, ordinal),
+	       &tpm->read_queue) < 0) {
+	 rc = -ETIME;
+	 goto out_err;
+      }
+   }
+#ifdef HAVE_LIBC
+   if(tpm->fd >= 0) {
+      files[tpm->fd].read = 0;
+      files[tpm->fd].tpm_tis.respgot = 0;
+      files[tpm->fd].tpm_tis.offset = 0;
+   }
+#endif
+   return len;
+
+out_err:
+   tpm_tis_ready(tpm);
+   release_locality(tpm, tpm->locality, 0);
+   return rc;
+}
+
+static void tpm_tis_irq_handler(evtchn_port_t port, struct pt_regs *regs, void* data)
+{
+   struct tpm_chip* tpm = data;
+   uint32_t interrupt;
+   int i;
+
+   interrupt = ioread32(TPM_INT_STATUS(tpm, tpm->locality));
+   if(interrupt == 0) {
+      return;
+   }
+
+   if(interrupt & TPM_INTF_DATA_AVAIL_INT) {
+      wake_up(&tpm->read_queue);
+   }
+   if(interrupt & TPM_INTF_LOCALITY_CHANGE_INT) {
+      for(i = 0; i < 5; ++i) {
+	 if(check_locality(tpm, i) >= 0) {
+	    break;
+	 }
+      }
+   }
+   if(interrupt & (TPM_INTF_LOCALITY_CHANGE_INT | TPM_INTF_STS_VALID_INT |
+	    TPM_INTF_CMD_READY_INT)) {
+      wake_up(&tpm->int_queue);
+   }
+
+   /* Clear interrupts handled with TPM_EOI */
+   iowrite32(TPM_INT_STATUS(tpm, tpm->locality), interrupt);
+   ioread32(TPM_INT_STATUS(tpm, tpm->locality));
+   return;
+}
+
+/*
+ * Internal kernel interface to transmit TPM commands
+ */
+static ssize_t tpm_transmit(struct tpm_chip *chip, const uint8_t *buf,
+      size_t bufsiz)
+{
+   ssize_t rc;
+   uint32_t count, ordinal;
+   s_time_t stop;
+
+   count = be32_to_cpu(*((uint32_t *) (buf + 2)));
+   ordinal = be32_to_cpu(*((uint32_t *) (buf + 6)));
+   if (count == 0)
+      return -ENODATA;
+   if (count > bufsiz) {
+      printk("Error: invalid count value %x %zx \n", count, bufsiz);
+      return -E2BIG;
+   }
+
+   //down(&chip->tpm_mutex);
+
+   if ((rc = tpm_tis_send(chip, (uint8_t *) buf, count)) < 0) {
+      printk("tpm_transmit: tpm_send: error %zd\n", rc);
+      goto out;
+   }
+
+   if (chip->irq)
+      goto out_recv;
+
+   stop = NOW() + tpm_calc_ordinal_duration(chip, ordinal);
+   do {
+      uint8_t status = tpm_tis_status(chip);
+      if ((status & (TPM_STS_DATA_AVAIL | TPM_STS_VALID)) ==
+	    (TPM_STS_DATA_AVAIL | TPM_STS_VALID))
+	 goto out_recv;
+
+      if ((status == TPM_STS_COMMAND_READY)) {
+	 printk("TPM Error: Operation Canceled\n");
+	 rc = -ECANCELED;
+	 goto out;
+      }
+
+      msleep(TPM_TIMEOUT);    /* CHECK */
+      rmb();
+   } while (NOW() < stop);
+
+   /* Cancel the command */
+   tpm_tis_cancel_cmd(chip);
+   printk("TPM Operation Timed out\n");
+   rc = -ETIME;
+   goto out;
+
+out_recv:
+   if((rc = tpm_tis_recv(chip, (uint8_t *) buf, bufsiz)) < 0) {
+      printk("tpm_transmit: tpm_recv: error %d\n", rc);
+   }
+out:
+   //up(&chip->tpm_mutex);
+   return rc;
+}
+
+static ssize_t transmit_cmd(struct tpm_chip *chip, struct tpm_cmd_t *cmd,
+                            int len, const char *desc)
+{
+        int err;
+
+        len = tpm_transmit(chip,(uint8_t *) cmd, len);
+        if (len <  0)
+                return len;
+        if (len == TPM_ERROR_SIZE) {
+                err = be32_to_cpu(cmd->header.out.return_code);
+                printk("A TPM error (%d) occurred %s\n", err, desc);
+                return err;
+        }
+        return 0;
+}
+
+void tpm_get_timeouts(struct tpm_chip *chip)
+{
+   struct tpm_cmd_t tpm_cmd;
+   struct timeout_t *timeout_cap;
+   struct duration_t *duration_cap;
+   ssize_t rc;
+   uint32_t timeout;
+
+   tpm_cmd.header.in = tpm_getcap_header;
+   tpm_cmd.params.getcap_in.cap = TPM_CAP_PROP;
+   tpm_cmd.params.getcap_in.subcap_size = cpu_to_be32(4);
+   tpm_cmd.params.getcap_in.subcap = TPM_CAP_PROP_TIS_TIMEOUT;
+
+   if((rc = transmit_cmd(chip, &tpm_cmd, TPM_INTERNAL_RESULT_SIZE,
+	 "attempting to determine the timeouts")) != 0) {
+      printk("transmit failed %d\n", rc);
+      goto duration;
+   }
+
+   if (be32_to_cpu(tpm_cmd.params.getcap_out.cap_size)
+	 != 4 * sizeof(uint32_t)) {
+      printk("Out len check failure %lu \n", be32_to_cpu(tpm_cmd.header.out.length));
+      goto duration;
+   }
+
+   timeout_cap = &tpm_cmd.params.getcap_out.cap.timeout;
+   /* Don't overwrite default if value is 0 */
+   timeout = be32_to_cpu(timeout_cap->a);
+   if (timeout)
+      chip->timeout_a = MICROSECS(timeout); /*Convert to msec */
+   timeout = be32_to_cpu(timeout_cap->b);
+   if (timeout)
+      chip->timeout_b = MICROSECS(timeout); /*Convert to msec */
+   timeout = be32_to_cpu(timeout_cap->c);
+   if (timeout)
+      chip->timeout_c = MICROSECS(timeout); /*Convert to msec */
+   timeout = be32_to_cpu(timeout_cap->d);
+   if (timeout)
+      chip->timeout_d = MICROSECS(timeout); /*Convert to msec */
+
+duration:
+   tpm_cmd.header.in = tpm_getcap_header;
+   tpm_cmd.params.getcap_in.cap = TPM_CAP_PROP;
+   tpm_cmd.params.getcap_in.subcap_size = cpu_to_be32(4);
+   tpm_cmd.params.getcap_in.subcap = TPM_CAP_PROP_TIS_DURATION;
+
+   if((rc = transmit_cmd(chip, &tpm_cmd, TPM_INTERNAL_RESULT_SIZE,
+	 "attempting to determine the durations")) < 0) {
+      return;
+   }
+
+   if (be32_to_cpu(tpm_cmd.params.getcap_out.cap_size)
+	 != 3 * sizeof(uint32_t)) {
+      return;
+   }
+        duration_cap = &tpm_cmd.params.getcap_out.cap.duration;
+        chip->duration[TPM_SHORT] = be32_to_cpu(duration_cap->tpm_short);
+        /* The Broadcom BCM0102 chipset in a Dell Latitude D820 gets the above
+         * value wrong and apparently reports msecs rather than usecs. So we
+         * fix up the resulting too-small TPM_SHORT value to make things work.
+         */
+        if (chip->duration[TPM_SHORT] < 10) {
+	   chip->duration[TPM_SHORT] = MILLISECS(chip->duration[TPM_SHORT]);
+	} else {
+	   chip->duration[TPM_SHORT] = MICROSECS(chip->duration[TPM_SHORT]);
+	}
+
+        chip->duration[TPM_MEDIUM] = MICROSECS(be32_to_cpu(duration_cap->tpm_medium));
+        chip->duration[TPM_LONG] = MICROSECS(be32_to_cpu(duration_cap->tpm_long));
+}
+
+
+
+void tpm_continue_selftest(struct tpm_chip* chip) {
+   uint8_t data[] = {
+      0, 193,                 /* TPM_TAG_RQU_COMMAND */
+      0, 0, 0, 10,            /* length */
+      0, 0, 0, 83,            /* TPM_ORD_GetCapability */
+   };
+
+   tpm_transmit(chip, data, sizeof(data));
+}
+
+ssize_t tpm_getcap(struct tpm_chip *chip, uint32_t subcap_id, cap_t *cap,
+                   const char *desc)
+{
+        struct tpm_cmd_t tpm_cmd;
+        int rc;
+
+        tpm_cmd.header.in = tpm_getcap_header;
+        if (subcap_id == CAP_VERSION_1_1 || subcap_id == CAP_VERSION_1_2) {
+                tpm_cmd.params.getcap_in.cap = subcap_id;
+                /*subcap field not necessary */
+                tpm_cmd.params.getcap_in.subcap_size = cpu_to_be32(0);
+                tpm_cmd.header.in.length -= cpu_to_be32(sizeof(uint32_t));
+        } else {
+                if (subcap_id == TPM_CAP_FLAG_PERM ||
+                    subcap_id == TPM_CAP_FLAG_VOL)
+                        tpm_cmd.params.getcap_in.cap = TPM_CAP_FLAG;
+                else
+                        tpm_cmd.params.getcap_in.cap = TPM_CAP_PROP;
+                tpm_cmd.params.getcap_in.subcap_size = cpu_to_be32(4);
+                tpm_cmd.params.getcap_in.subcap = subcap_id;
+        }
+        rc = transmit_cmd(chip, &tpm_cmd, TPM_INTERNAL_RESULT_SIZE, desc);
+        if (!rc)
+                *cap = tpm_cmd.params.getcap_out.cap;
+        return rc;
+}
+
+
+struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq)
+{
+   int i;
+   unsigned long addr;
+   struct tpm_chip* tpm = NULL;
+   uint32_t didvid;
+   uint32_t intfcaps;
+   uint32_t intmask;
+
+   printk("============= Init TPM TIS Driver ==============\n");
+
+   /*Sanity check the localities input */
+   if(localities & ~TPM_TIS_EN_LOCLALL) {
+      printk("init_tpm_tis() Invalid locality specification! %X\n", localities);
+      goto abort_egress;
+   }
+
+   printk("IOMEM Machine Base Address: %lX\n", baseaddr);
+
+   /* Create the tpm data structure */
+   tpm = malloc(sizeof(struct tpm_chip));
+   __init_tpm_chip(tpm);
+
+   /* Set the enabled localities - if 0 we leave default as all enabled */
+   if(localities != 0) {
+      tpm->enabled_localities = localities;
+   }
+   printk("Enabled Localities: ");
+   for(i = 0; i < 5; ++i) {
+      if(locality_enabled(tpm, i)) {
+	 printk("%d ", i);
+      }
+   }
+   printk("\n");
+
+   /* Set the base machine address */
+   tpm->baseaddr = baseaddr;
+
+   /* Set default timeouts */
+   tpm->timeout_a = MILLISECS(TIS_SHORT_TIMEOUT);
+   tpm->timeout_b = MILLISECS(TIS_LONG_TIMEOUT);
+   tpm->timeout_c = MILLISECS(TIS_SHORT_TIMEOUT);
+   tpm->timeout_d = MILLISECS(TIS_SHORT_TIMEOUT);
+
+   /*Map the mmio pages */
+   addr = tpm->baseaddr;
+   for(i = 0; i < 5; ++i) {
+      if(locality_enabled(tpm, i)) {
+	 /* Map the page in now */
+	 if((tpm->pages[i] = ioremap_nocache(addr, PAGE_SIZE)) == NULL) {
+	    printk("Unable to map iomem page a address %p\n", addr);
+	    goto abort_egress;
+	 }
+
+	 /* Set default locality to the first enabled one */
+	 if (tpm->locality < 0) {
+	    if(tpm_tis_request_locality(tpm, i) < 0) {
+	       printk("Unable to request locality %d??\n", i);
+	       goto abort_egress;
+	    }
+	 }
+      }
+      addr += PAGE_SIZE;
+   }
+
+
+   /* Get the vendor and device ids */
+   didvid = ioread32(TPM_DID_VID(tpm, tpm->locality));
+   tpm->did = didvid >> 16;
+   tpm->vid = didvid & 0xFFFF;
+
+
+   /* Get the revision id */
+   tpm->rid = ioread8(TPM_RID(tpm, tpm->locality));
+
+   printk("1.2 TPM (device-id=0x%X vendor-id = %X rev-id = %X)\n", tpm->did, tpm->vid, tpm->rid);
+
+   intfcaps = ioread32(TPM_INTF_CAPS(tpm, tpm->locality));
+   printk("TPM interface capabilities (0x%x):\n", intfcaps);
+   if (intfcaps & TPM_INTF_BURST_COUNT_STATIC)
+      printk("\tBurst Count Static\n");
+   if (intfcaps & TPM_INTF_CMD_READY_INT)
+      printk("\tCommand Ready Int Support\n");
+   if (intfcaps & TPM_INTF_INT_EDGE_FALLING)
+      printk("\tInterrupt Edge Falling\n");
+   if (intfcaps & TPM_INTF_INT_EDGE_RISING)
+      printk("\tInterrupt Edge Rising\n");
+   if (intfcaps & TPM_INTF_INT_LEVEL_LOW)
+      printk("\tInterrupt Level Low\n");
+   if (intfcaps & TPM_INTF_INT_LEVEL_HIGH)
+      printk("\tInterrupt Level High\n");
+   if (intfcaps & TPM_INTF_LOCALITY_CHANGE_INT)
+      printk("\tLocality Change Int Support\n");
+   if (intfcaps & TPM_INTF_STS_VALID_INT)
+      printk("\tSts Valid Int Support\n");
+   if (intfcaps & TPM_INTF_DATA_AVAIL_INT)
+      printk("\tData Avail Int Support\n");
+
+   /*Interupt setup */
+   intmask = ioread32(TPM_INT_ENABLE(tpm, tpm->locality));
+
+   intmask |= TPM_INTF_CMD_READY_INT
+      | TPM_INTF_LOCALITY_CHANGE_INT | TPM_INTF_DATA_AVAIL_INT
+      | TPM_INTF_STS_VALID_INT;
+
+   iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), intmask);
+
+   /*If interupts are enabled, handle it */
+   if(irq) {
+      if(irq != TPM_PROBE_IRQ) {
+	 tpm->irq = irq;
+      } else {
+	 /*FIXME add irq probing feature later */
+	 printk("IRQ probing not implemented\n");
+      }
+   }
+
+   if(tpm->irq) {
+      iowrite8(TPM_INT_VECTOR(tpm, tpm->locality), tpm->irq);
+
+      if(bind_pirq(tpm->irq, 1, tpm_tis_irq_handler, tpm) != 0) {
+	 printk("Unabled to request irq: %u for use\n", tpm->irq);
+	 printk("Will use polling mode\n");
+	 tpm->irq = 0;
+      } else {
+	 /* Clear all existing */
+	 iowrite32(TPM_INT_STATUS(tpm, tpm->locality), ioread32(TPM_INT_STATUS(tpm, tpm->locality)));
+
+	 /* Turn on interrupts */
+	 iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), intmask | TPM_GLOBAL_INT_ENABLE);
+      }
+   }
+
+   tpm_get_timeouts(tpm);
+   tpm_continue_selftest(tpm);
+
+
+   return tpm;
+abort_egress:
+   if(tpm != NULL) {
+      shutdown_tpm_tis(tpm);
+   }
+   return NULL;
+}
+
+void shutdown_tpm_tis(struct tpm_chip* tpm){
+   int i;
+
+   printk("Shutting down tpm_tis device\n");
+
+   iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), ~TPM_GLOBAL_INT_ENABLE);
+
+   /*Unmap all of the mmio pages */
+   for(i = 0; i < 5; ++i) {
+      if(tpm->pages[i] != NULL) {
+	 iounmap(tpm->pages[i], PAGE_SIZE);
+	 tpm->pages[i] = NULL;
+      }
+   }
+   free(tpm);
+   return;
+}
+
+
+int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen)
+{
+   if(tpm->locality < 0) {
+      printk("tpm_tis_cmd() failed! locality not set!\n");
+      return -1;
+   }
+   if(reqlen > TPM_BUFSIZE) {
+      reqlen = TPM_BUFSIZE;
+   }
+   memcpy(tpm->data_buffer, req, reqlen);
+   *resplen = tpm_transmit(tpm, tpm->data_buffer, TPM_BUFSIZE);
+
+   *resp = malloc(*resplen);
+   memcpy(*resp, tpm->data_buffer, *resplen);
+   return 0;
+}
+
+#ifdef HAVE_LIBC
+int tpm_tis_open(struct tpm_chip* tpm)
+{
+   /* Silently prevent multiple opens */
+   if(tpm->fd != -1) {
+      return tpm->fd;
+   }
+
+   tpm->fd = alloc_fd(FTYPE_TPM_TIS);
+   printk("tpm_tis_open() -> %d\n", tpm->fd);
+   files[tpm->fd].tpm_tis.dev = tpm;
+   files[tpm->fd].tpm_tis.offset = 0;
+   files[tpm->fd].tpm_tis.respgot = 0;
+   return tpm->fd;
+}
+
+int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
+{
+   struct tpm_chip* tpm;
+   tpm = files[fd].tpm_tis.dev;
+
+   if(tpm->locality < 0) {
+      printk("tpm_tis_posix_write() failed! locality not set!\n");
+      errno = EINPROGRESS;
+      return -1;
+   }
+   if(count == 0) {
+      return 0;
+   }
+
+   /* Return an error if we are already processing a command */
+   if(count > TPM_BUFSIZE) {
+      count = TPM_BUFSIZE;
+   }
+   /* Send the command now */
+   memcpy(tpm->data_buffer, buf, count);
+   if((tpm->data_len = tpm_transmit(tpm, tpm->data_buffer, TPM_BUFSIZE)) < 0) {
+      errno = EIO;
+      return -1;
+   }
+   return count;
+}
+
+int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
+{
+   int rc;
+   struct tpm_chip* tpm;
+   tpm = files[fd].tpm_tis.dev;
+
+   if(count == 0) {
+      return 0;
+   }
+
+   /* If there is no tpm resp to read, return EIO */
+   if(tpm->data_len < 0) {
+      errno = EIO;
+      return -1;
+   }
+
+
+   /* Handle EOF case */
+   if(files[fd].tpm_tis.offset >= tpm->data_len) {
+      rc = 0;
+   } else {
+      rc = min(tpm->data_len - files[fd].tpm_tis.offset, count);
+      memcpy(buf, tpm->data_buffer + files[fd].tpm_tis.offset, rc);
+   }
+   files[fd].tpm_tis.offset += rc;
+   /* Reset the data pending flag */
+   return rc;
+}
+int tpm_tis_posix_fstat(int fd, struct stat* buf)
+{
+   struct tpm_chip* tpm;
+   tpm = files[fd].tpm_tis.dev;
+
+   buf->st_mode = O_RDWR;
+   buf->st_uid = 0;
+   buf->st_gid = 0;
+   buf->st_size = be32_to_cpu(*((uint32_t*)(tpm->data_buffer + 2)));
+   buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
+   return 0;
+}
+
+
+#endif
diff --git a/extras/mini-os/tpmback.c b/extras/mini-os/tpmback.c
new file mode 100644
index 0000000..28d786a
--- /dev/null
+++ b/extras/mini-os/tpmback.c
@@ -0,0 +1,1115 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, version 2
+ * of the License
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ * Based upon the files:
+ *  drivers/xen/tpmbk.c
+ * from the Linux kernel, which are Copyright (C) 2006 IBM Corporation
+ */
+#include <mini-os/os.h>
+#include <mini-os/xenbus.h>
+#include <mini-os/events.h>
+#include <errno.h>
+#include <mini-os/gnttab.h>
+#include <xen/io/xenbus.h>
+#include <xen/io/tpmif.h>
+#include <xen/io/protocols.h>
+#include <mini-os/xmalloc.h>
+#include <time.h>
+#include <mini-os/tpmback.h>
+#include <mini-os/lib.h>
+#include <fcntl.h>
+#include <mini-os/mm.h>
+#include <mini-os/posix/sys/mman.h>
+#include <mini-os/semaphore.h>
+#include <mini-os/wait.h>
+
+
+#ifndef HAVE_LIBC
+#define strtoul simple_strtoul
+#endif
+
+//#define TPMBACK_PRINT_DEBUG
+#ifdef TPMBACK_PRINT_DEBUG
+#define TPMBACK_DEBUG(fmt,...) printk("Tpmback:Debug("__FILE__":%d) " fmt, __LINE__, ##__VA_ARGS__)
+#define TPMBACK_DEBUG_MORE(fmt,...) printk(fmt, ##__VA_ARGS__)
+#else
+#define TPMBACK_DEBUG(fmt,...)
+#endif
+#define TPMBACK_ERR(fmt,...) printk("Tpmback:Error " fmt, ##__VA_ARGS__)
+#define TPMBACK_LOG(fmt,...) printk("Tpmback:Info " fmt, ##__VA_ARGS__)
+
+#define min(a,b) (((a) < (b)) ? (a) : (b))
+
+/* Default size of the tpmif array at initialization */
+#define DEF_ARRAY_SIZE 1
+
+/* tpmif and tpmdev flags */
+#define TPMIF_CLOSED 1
+#define TPMIF_REQ_READY 2
+
+struct tpmif {
+   domid_t domid;
+   unsigned int handle;
+
+   char* fe_path;
+   char* fe_state_path;
+
+   /* Locally bound event channel*/
+   evtchn_port_t evtchn;
+
+   /* Shared page */
+   tpmif_tx_interface_t* tx;
+
+   /* pointer to TPMIF_RX_RING_SIZE pages */
+   void** pages;
+
+   enum xenbus_state state;
+   enum { DISCONNECTED, DISCONNECTING, CONNECTED } status;
+
+   char* uuid;
+
+   /* state flags */
+   int flags;
+};
+typedef struct tpmif tpmif_t;
+
+struct tpmback_dev {
+
+   tpmif_t** tpmlist;
+   unsigned long num_tpms;
+   unsigned long num_alloc;
+
+   struct gntmap map;
+
+   /* True if at least one tpmif has a request to be handled */
+   int flags;
+
+   /* exclusive domains, see init_tpmback comment in tpmback.h */
+   char** exclusive_uuids;
+
+   xenbus_event_queue events;
+
+   /* Callbacks */
+   void (*open_callback)(domid_t, unsigned int);
+   void (*close_callback)(domid_t, unsigned int);
+   void (*suspend_callback)(domid_t, unsigned int);
+   void (*resume_callback)(domid_t, unsigned int);
+};
+typedef struct tpmback_dev tpmback_dev_t;
+
+enum { EV_NONE, EV_NEWFE, EV_STCHNG } tpm_ev_enum;
+
+/* Global objects */
+static struct thread* eventthread = NULL;
+static tpmback_dev_t gtpmdev = {
+   .tpmlist = NULL,
+   .num_tpms = 0,
+   .num_alloc = 0,
+   .flags = TPMIF_CLOSED,
+   .events = NULL,
+   .open_callback = NULL,
+   .close_callback = NULL,
+   .suspend_callback = NULL,
+   .resume_callback = NULL,
+};
+struct wait_queue_head waitq;
+int globalinit = 0;
+
+/************************************
+ * TPMIF SORTED ARRAY FUNCTIONS
+ * tpmback_dev_t.tpmlist is a sorted array, sorted by domid and then handle number
+ * Duplicates are not allowed
+ * **********************************/
+
+inline void tpmif_req_ready(tpmif_t* tpmif) {
+   tpmif->flags |= TPMIF_REQ_READY;
+   gtpmdev.flags |= TPMIF_REQ_READY;
+}
+
+inline void tpmdev_check_req(void) {
+   int i;
+   int flags;
+   local_irq_save(flags);
+   for(i = 0; i < gtpmdev.num_tpms; ++i) {
+      if(gtpmdev.tpmlist[i]->flags & TPMIF_REQ_READY) {
+	 gtpmdev.flags |= TPMIF_REQ_READY;
+	 local_irq_restore(flags);
+	 return;
+      }
+   }
+   gtpmdev.flags &= ~TPMIF_REQ_READY;
+   local_irq_restore(flags);
+}
+
+inline void tpmif_req_finished(tpmif_t* tpmif) {
+   tpmif->flags &= ~TPMIF_REQ_READY;
+   tpmdev_check_req();
+}
+
+int __get_tpmif_index(int st, int n, domid_t domid, unsigned int handle)
+{
+   int i = st + n /2;
+   tpmif_t* tmp;
+
+   if( n <= 0 )
+      return -1;
+
+   tmp = gtpmdev.tpmlist[i];
+   if(domid == tmp->domid && tmp->handle == handle) {
+      return i;
+   } else if ( (domid < tmp->domid) ||
+	 (domid == tmp->domid && handle < tmp->handle)) {
+      return __get_tpmif_index(st, n/2, domid, handle);
+   } else {
+      return __get_tpmif_index(i + 1, n/2 - ((n +1) % 2), domid, handle);
+   }
+}
+
+/* Returns the array index of the tpmif domid/handle. Returns -1 if no such tpmif exists */
+int get_tpmif_index(domid_t domid, unsigned int handle)
+{
+   int flags;
+   int index;
+   local_irq_save(flags);
+   index = __get_tpmif_index(0, gtpmdev.num_tpms, domid, handle);
+   local_irq_restore(flags);
+   return index;
+}
+
+/* Returns the tpmif domid/handle or NULL if none exists */
+tpmif_t* get_tpmif(domid_t domid, unsigned int handle)
+{
+   int flags;
+   int i;
+   tpmif_t* ret;
+   local_irq_save(flags);
+   i = get_tpmif_index(domid, handle);
+   if (i < 0) {
+      ret = NULL;
+   } else {
+      ret = gtpmdev.tpmlist[i];
+   }
+   local_irq_restore(flags);
+   return ret;
+}
+
+/* Remove the given tpmif. Returns 0 if it was removed, -1 if it was not removed */
+int remove_tpmif(tpmif_t* tpmif)
+{
+   int i, j;
+   char* err;
+   int flags;
+   local_irq_save(flags);
+
+   /* Find the index in the array if it exists */
+   i = get_tpmif_index(tpmif->domid, tpmif->handle);
+   if (i < 0) {
+      goto error;
+   }
+
+   /* Remove the interface from the list */
+   for(j = i; j < gtpmdev.num_tpms - 1; ++j) {
+      gtpmdev.tpmlist[j] = gtpmdev.tpmlist[j+1];
+   }
+   gtpmdev.tpmlist[j] = NULL;
+   --gtpmdev.num_tpms;
+
+   /* If removed tpm was the only ready tpm, then we need to check and turn off the ready flag */
+   tpmdev_check_req();
+
+   local_irq_restore(flags);
+
+   /* Stop listening for events on this tpm interface */
+   if((err = xenbus_unwatch_path_token(XBT_NIL, tpmif->fe_state_path, tpmif->fe_state_path))) {
+      TPMBACK_ERR("Unable to unwatch path token `%s' Error was %s Ignoring..\n", tpmif->fe_state_path, err);
+      free(err);
+   }
+
+   return 0;
+error:
+   local_irq_restore(flags);
+   return -1;
+}
+
+/* Insert tpmif into dev->tpmlist. Returns 0 on success and non zero on error.
+ * It is an error to insert a tpmif with the same domid and handle
+ * number
+ * as something already in the list */
+int insert_tpmif(tpmif_t* tpmif)
+{
+   int flags;
+   unsigned int i, j;
+   tpmif_t* tmp;
+   char* err;
+
+   local_irq_save(flags);
+
+   /*Check if we need to allocate more space */
+   if (gtpmdev.num_tpms == gtpmdev.num_alloc) {
+      gtpmdev.num_alloc *= 2;
+      gtpmdev.tpmlist = realloc(gtpmdev.tpmlist, gtpmdev.num_alloc);
+   }
+
+   /*Find where to put the new interface */
+   for(i = 0; i < gtpmdev.num_tpms; ++i)
+   {
+      tmp = gtpmdev.tpmlist[i];
+      if(tpmif->domid == tmp->domid && tpmif->handle == tmp->handle) {
+	 TPMBACK_ERR("Tried to insert duplicate tpm interface %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+	 goto error;
+      }
+      if((tpmif->domid < tmp->domid) ||
+	    (tpmif->domid == tmp->domid && tpmif->handle < tmp->handle)) {
+	 break;
+      }
+   }
+
+   /*Shift all the tpm pointers past i down one */
+   for(j = gtpmdev.num_tpms; j > i; --j) {
+      gtpmdev.tpmlist[j] = gtpmdev.tpmlist[j-1];
+   }
+
+   /*Add the new interface */
+   gtpmdev.tpmlist[i] = tpmif;
+   ++gtpmdev.num_tpms;
+
+   /*Should not be needed, anything inserted with ready flag is probably an error */
+   tpmdev_check_req();
+
+   local_irq_restore(flags);
+
+   /*Listen for state changes on the new interface */
+   if((err = xenbus_watch_path_token(XBT_NIL, tpmif->fe_state_path, tpmif->fe_state_path, &gtpmdev.events)))
+   {
+      /* if we got an error here we should carefully remove the interface and then return */
+      TPMBACK_ERR("Unable to watch path token `%s' Error was %s\n", tpmif->fe_state_path, err);
+      free(err);
+      remove_tpmif(tpmif);
+      goto error_post_irq;
+   }
+
+   return 0;
+error:
+   local_irq_restore(flags);
+error_post_irq:
+   return -1;
+}
+
+
+/*****************
+ * CHANGE BACKEND STATE
+ * *****************/
+/*Attempts to change the backend state in xenstore
+ * returns 0 on success and non-zero on error */
+int tpmif_change_state(tpmif_t* tpmif, enum xenbus_state state)
+{
+   char path[512];
+   char *value;
+   char *err;
+   enum xenbus_state readst;
+   TPMBACK_DEBUG("Backend state change %u/%u from=%d to=%d\n", (unsigned int) tpmif->domid, tpmif->handle, tpmif->state, state);
+   if (tpmif->state == state)
+      return 0;
+
+   snprintf(path, 512, "backend/vtpm/%u/%u/state", (unsigned int) tpmif->domid, tpmif->handle);
+
+   if((err = xenbus_read(XBT_NIL, path, &value))) {
+      TPMBACK_ERR("Unable to read backend state %s, error was %s\n", path, err);
+      free(err);
+      return -1;
+   }
+   if(sscanf(value, "%d", &readst) != 1) {
+      TPMBACK_ERR("Non integer value (%s) in %s ??\n", value, path);
+      free(value);
+      return -1;
+   }
+   free(value);
+
+   /* It's possible that the backend state got updated by hotplug or something else behind our back */
+   if(readst != tpmif->state) {
+      TPMBACK_DEBUG("tpm interface state was %d but xenstore state was %d!\n", tpmif->state, readst);
+      tpmif->state = readst;
+   }
+
+   /*If if the state isnt changing, then we dont update xenstore b/c we dont want to fire extraneous events */
+   if(tpmif->state == state) {
+      return 0;
+   }
+
+   /*update xenstore*/
+   snprintf(path, 512, "backend/vtpm/%u/%u", (unsigned int) tpmif->domid, tpmif->handle);
+   if((err = xenbus_printf(XBT_NIL, path, "state", "%u", state))) {
+      TPMBACK_ERR("Error writing to xenstore %s, error was %s new state=%d\n", path, err, state);
+      free(err);
+      return -1;
+   }
+
+   tpmif->state = state;
+
+   return 0;
+}
+/**********************************
+ * TPMIF CREATION AND DELETION
+ * *******************************/
+inline tpmif_t* __init_tpmif(domid_t domid, unsigned int handle)
+{
+   tpmif_t* tpmif;
+   tpmif = malloc(sizeof(*tpmif));
+   tpmif->domid = domid;
+   tpmif->handle = handle;
+   tpmif->fe_path = NULL;
+   tpmif->fe_state_path = NULL;
+   tpmif->state = XenbusStateInitialising;
+   tpmif->status = DISCONNECTED;
+   tpmif->tx = NULL;
+   tpmif->pages = NULL;
+   tpmif->flags = 0;
+   tpmif->uuid = NULL;
+   return tpmif;
+}
+
+void __free_tpmif(tpmif_t* tpmif)
+{
+   if(tpmif->pages) {
+      free(tpmif->pages);
+   }
+   if(tpmif->fe_path) {
+      free(tpmif->fe_path);
+   }
+   if(tpmif->fe_state_path) {
+      free(tpmif->fe_state_path);
+   }
+   if(tpmif->uuid) {
+      free(tpmif->uuid);
+   }
+   free(tpmif);
+}
+/* Creates a new tpm interface, adds it to the sorted array and returns it.
+ * returns NULL on error
+ * If the tpm interface already exists, it is returned*/
+tpmif_t* new_tpmif(domid_t domid, unsigned int handle)
+{
+   tpmif_t* tpmif;
+   char* err;
+   char path[512];
+
+   /* Make sure we haven't already created this tpm
+    * Double events can occur */
+   if((tpmif = get_tpmif(domid, handle)) != NULL) {
+      return tpmif;
+   }
+
+   tpmif = __init_tpmif(domid, handle);
+
+   /* Get the uuid from xenstore */
+   snprintf(path, 512, "backend/vtpm/%u/%u/uuid", (unsigned int) domid, handle);
+   if((err = xenbus_read(XBT_NIL, path, &tpmif->uuid))) {
+      TPMBACK_ERR("Error reading %s, Error = %s\n", path, err);
+      free(err);
+      goto error;
+   }
+
+   /* Do the exclusive uuid check now */
+   if(gtpmdev.exclusive_uuids != NULL) {
+      char** ptr;
+
+      /* Check that its in the whitelist */
+      for(ptr = gtpmdev.exclusive_uuids; *ptr != NULL; ++ptr) {
+	 if(!strcmp(tpmif->uuid, *ptr)) {
+	    break;
+	 }
+      }
+      /* If *ptr == NULL then we went through the whole list without a match, so close the connection */
+      if(*ptr == NULL) {
+	 tpmif_change_state(tpmif, XenbusStateClosed);
+	 TPMBACK_ERR("Frontend %u/%u tried to connect with invalid uuid=%s\n", (unsigned int) domid, handle, tpmif->uuid);
+	 goto error;
+      }
+   }
+
+   /* allocate pages to be used for shared mapping */
+   if((tpmif->pages = malloc(sizeof(void*) * TPMIF_TX_RING_SIZE)) == NULL) {
+      goto error;
+   }
+   memset(tpmif->pages, 0, sizeof(void*) * TPMIF_TX_RING_SIZE);
+
+   if(tpmif_change_state(tpmif, XenbusStateInitWait)) {
+      goto error;
+   }
+
+   snprintf(path, 512, "backend/vtpm/%u/%u/frontend", (unsigned int) domid, handle);
+   if((err = xenbus_read(XBT_NIL, path, &tpmif->fe_path))) {
+      TPMBACK_ERR("Error creating new tpm instance xenbus_read(%s), Error = %s", path, err);
+      free(err);
+      goto error;
+   }
+
+   /*Set the state path */
+   tpmif->fe_state_path = malloc(strlen(tpmif->fe_path) + 7);
+   strcpy(tpmif->fe_state_path, tpmif->fe_path);
+   strcat(tpmif->fe_state_path, "/state");
+
+   if(insert_tpmif(tpmif)) {
+      goto error;
+   }
+   TPMBACK_DEBUG("New tpmif %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+   /* Do the callback now */
+   if(gtpmdev.open_callback) {
+      gtpmdev.open_callback(tpmif->domid, tpmif->handle);
+   }
+   return tpmif;
+error:
+   __free_tpmif(tpmif);
+   return NULL;
+
+}
+
+/* Removes tpmif from dev->tpmlist and frees it's memory usage */
+void free_tpmif(tpmif_t* tpmif)
+{
+   char* err;
+   char path[512];
+   TPMBACK_DEBUG("Free tpmif %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+   if(tpmif->flags & TPMIF_CLOSED) {
+      TPMBACK_ERR("Tried to free an instance twice! Theres a bug somewhere!\n");
+      BUG();
+   }
+   tpmif->flags = TPMIF_CLOSED;
+
+   tpmif_change_state(tpmif, XenbusStateClosing);
+
+   /* Unmap share page and unbind event channel */
+   if(tpmif->status == CONNECTED) {
+      tpmif->status = DISCONNECTING;
+      mask_evtchn(tpmif->evtchn);
+
+      if(gntmap_munmap(&gtpmdev.map, (unsigned long)tpmif->tx, 1)) {
+	 TPMBACK_ERR("%u/%u Error occured while trying to unmap shared page\n", (unsigned int) tpmif->domid, tpmif->handle);
+      }
+
+      unbind_evtchn(tpmif->evtchn);
+   }
+   tpmif->status = DISCONNECTED;
+   tpmif_change_state(tpmif, XenbusStateClosed);
+
+   /* Do the callback now */
+   if(gtpmdev.close_callback) {
+      gtpmdev.close_callback(tpmif->domid, tpmif->handle);
+   }
+
+   /* remove from array */
+   remove_tpmif(tpmif);
+
+   /* Wake up anyone possibly waiting on this interface and let them exit */
+   wake_up(&waitq);
+   schedule();
+
+   /* Remove the old xenbus entries */
+   snprintf(path, 512, "backend/vtpm/%u/%u", (unsigned int) tpmif->domid, tpmif->handle);
+   if((err = xenbus_rm(XBT_NIL, path))) {
+      TPMBACK_ERR("Error cleaning up xenbus entries path=%s error=%s\n", path, err);
+      free(err);
+   }
+
+   TPMBACK_LOG("Frontend %u/%u disconnected\n", (unsigned int) tpmif->domid, tpmif->handle);
+
+   /* free memory */
+   __free_tpmif(tpmif);
+
+}
+
+/**********************
+ * REMAINING TPMBACK FUNCTIONS
+ * ********************/
+
+/*Event channel handler */
+void tpmback_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
+{
+   tpmif_t* tpmif = (tpmif_t*) data;
+   tpmif_tx_request_t* tx = &tpmif->tx->ring[0].req;
+   /* Throw away 0 size events, these can trigger from event channel unmasking */
+   if(tx->size == 0)
+      return;
+
+   TPMBACK_DEBUG("EVENT CHANNEL FIRE %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+   tpmif_req_ready(tpmif);
+   wake_up(&waitq);
+
+}
+
+/* Connect to frontend */
+int connect_fe(tpmif_t* tpmif)
+{
+   char path[512];
+   char* err, *value;
+   uint32_t domid;
+   grant_ref_t ringref;
+   evtchn_port_t evtchn;
+
+   /* If already connected then quit */
+   if (tpmif->status == CONNECTED) {
+      TPMBACK_DEBUG("%u/%u tried to connect while it was already connected?\n", (unsigned int) tpmif->domid, tpmif->handle);
+      return 0;
+   }
+
+   /* Fetch the grant reference */
+   snprintf(path, 512, "%s/ring-ref", tpmif->fe_path);
+   if((err = xenbus_read(XBT_NIL, path, &value))) {
+      TPMBACK_ERR("Error creating new tpm instance xenbus_read(%s) Error = %s", path, err);
+      free(err);
+      return -1;
+   }
+   if(sscanf(value, "%d", &ringref) != 1) {
+      TPMBACK_ERR("Non integer value (%s) in %s ??\n", value, path);
+      free(value);
+      return -1;
+   }
+   free(value);
+
+
+   /* Fetch the event channel*/
+   snprintf(path, 512, "%s/event-channel", tpmif->fe_path);
+   if((err = xenbus_read(XBT_NIL, path, &value))) {
+      TPMBACK_ERR("Error creating new tpm instance xenbus_read(%s) Error = %s", path, err);
+      free(err);
+      return -1;
+   }
+   if(sscanf(value, "%d", &evtchn) != 1) {
+      TPMBACK_ERR("Non integer value (%s) in %s ??\n", value, path);
+      free(value);
+      return -1;
+   }
+   free(value);
+
+   domid = tpmif->domid;
+   if((tpmif->tx = gntmap_map_grant_refs(&gtpmdev.map, 1, &domid, 0, &ringref, PROT_READ | PROT_WRITE)) == NULL) {
+      TPMBACK_ERR("Failed to map grant reference %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+      return -1;
+   }
+   memset(tpmif->tx, 0, PAGE_SIZE);
+
+   /*Bind the event channel */
+   if((evtchn_bind_interdomain(tpmif->domid, evtchn, tpmback_handler, tpmif, &tpmif->evtchn)))
+   {
+      TPMBACK_ERR("%u/%u Unable to bind to interdomain event channel!\n", (unsigned int) tpmif->domid, tpmif->handle);
+      goto error_post_map;
+   }
+   unmask_evtchn(tpmif->evtchn);
+
+   /* Write the ready flag and change status to connected */
+   snprintf(path, 512, "backend/vtpm/%u/%u", (unsigned int) tpmif->domid, tpmif->handle);
+   if((err = xenbus_printf(XBT_NIL, path, "ready", "%u", 1))) {
+      TPMBACK_ERR("%u/%u Unable to write ready flag on connect_fe()\n", (unsigned int) tpmif->domid, tpmif->handle);
+      free(err);
+      goto error_post_evtchn;
+   }
+   tpmif->status = CONNECTED;
+   if((tpmif_change_state(tpmif, XenbusStateConnected))){
+      goto error_post_evtchn;
+   }
+
+   TPMBACK_LOG("Frontend %u/%u connected\n", (unsigned int) tpmif->domid, tpmif->handle);
+
+   return 0;
+error_post_evtchn:
+   mask_evtchn(tpmif->evtchn);
+   unbind_evtchn(tpmif->evtchn);
+error_post_map:
+   gntmap_munmap(&gtpmdev.map, (unsigned long)tpmif->tx, 1);
+   return -1;
+}
+
+static int frontend_changed(tpmif_t* tpmif)
+{
+   int state = xenbus_read_integer(tpmif->fe_state_path);
+   if(state < 0) {
+      state = XenbusStateUnknown;
+   }
+
+   TPMBACK_DEBUG("Frontend %u/%u state changed to %d\n", (unsigned int) tpmif->domid, tpmif->handle, state);
+
+   switch (state) {
+      case XenbusStateInitialising:
+      case XenbusStateInitialised:
+	 break;
+
+      case XenbusStateConnected:
+	 if(connect_fe(tpmif)) {
+	    TPMBACK_ERR("Failed to connect to front end %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+	    tpmif_change_state(tpmif, XenbusStateClosed);
+	    return -1;
+	 }
+	 break;
+
+      case XenbusStateClosing:
+	 tpmif_change_state(tpmif, XenbusStateClosing);
+	 break;
+
+      case XenbusStateUnknown: /* keep it here */
+      case XenbusStateClosed:
+	 free_tpmif(tpmif);
+	 break;
+
+      default:
+	 TPMBACK_DEBUG("BAD STATE CHANGE %u/%u state = %d for tpmif\n", (unsigned int) tpmif->domid, tpmif->handle, state);
+	 return -1;
+   }
+   return 0;
+}
+
+
+/* parses the string that comes out of xenbus_watch_wait_return. */
+static int parse_eventstr(const char* evstr, domid_t* domid, unsigned int* handle)
+{
+   int ret;
+   char cmd[40];
+   char* err;
+   char* value;
+   unsigned int udomid = 0;
+   tpmif_t* tpmif;
+   /* First check for new frontends, this occurs when /backend/vtpm/<domid>/<handle> gets created. Note we what the sscanf to fail on the last %s */
+   if (sscanf(evstr, "backend/vtpm/%u/%u/%40s", &udomid, handle, cmd) == 2) {
+      *domid = udomid;
+      /* Make sure the entry exists, if this event triggers because the entry dissapeared then ignore it */
+      if((err = xenbus_read(XBT_NIL, evstr, &value))) {
+	 free(err);
+	 return EV_NONE;
+      }
+      free(value);
+      /* Make sure the tpmif entry does not already exist, this should not happen */
+      if((tpmif = get_tpmif(*domid, *handle)) != NULL) {
+	 TPMBACK_DEBUG("Duplicate tpm entries! %u %u\n", tpmif->domid, tpmif->handle);
+	 return EV_NONE;
+      }
+      return EV_NEWFE;
+   } else if((ret = sscanf(evstr, "/local/domain/%u/device/vtpm/%u/%40s", &udomid, handle, cmd)) == 3) {
+      *domid = udomid;
+      if (!strcmp(cmd, "state"))
+	 return EV_STCHNG;
+   }
+   return EV_NONE;
+}
+
+void handle_backend_event(char* evstr) {
+   tpmif_t* tpmif;
+   domid_t domid;
+   unsigned int handle;
+   int event;
+
+   TPMBACK_DEBUG("Xenbus Event: %s\n", evstr);
+
+   event = parse_eventstr(evstr, &domid, &handle);
+
+   switch(event) {
+      case EV_NEWFE:
+	 if(new_tpmif(domid, handle) == NULL) {
+	    TPMBACK_ERR("Failed to create new tpm instance %u/%u\n", (unsigned int) domid, handle);
+	 }
+	 wake_up(&waitq);
+	 break;
+      case EV_STCHNG:
+	 if((tpmif = get_tpmif(domid, handle))) {
+	    frontend_changed(tpmif);
+	 } else {
+	    TPMBACK_DEBUG("Event Received for non-existant tpm! instance=%u/%u xenbus_event=%s\n", (unsigned int) domid, handle, evstr);
+	 }
+	 break;
+   }
+}
+
+/* Runs through the given path and creates events recursively
+ * for all of its children.
+ * @path - xenstore path to scan */
+static void generate_backend_events(const char* path)
+{
+   char* err;
+   int i, len;
+   char **dirs;
+   char *entry;
+
+   if((err = xenbus_ls(XBT_NIL, path, &dirs)) != NULL) {
+      free(err);
+      return;
+   }
+
+   for(i = 0; dirs[i] != NULL; ++i) {
+      len = strlen(path) + strlen(dirs[i]) + 2;
+      entry = malloc(len);
+      snprintf(entry, len, "%s/%s", path, dirs[i]);
+
+      /* Generate and handle event for the entry itself */
+      handle_backend_event(entry);
+
+      /* Do children */
+      generate_backend_events(entry);
+
+      /* Cleanup */
+      free(entry);
+      free(dirs[i]);
+   }
+   free(dirs);
+   return;
+}
+
+char* tpmback_get_uuid(domid_t domid, unsigned int handle)
+{
+   tpmif_t* tpmif;
+   if((tpmif = get_tpmif(domid, handle)) == NULL) {
+      TPMBACK_DEBUG("get_uuid() failed, %u/%u is an invalid frontend\n", (unsigned int) domid, handle);
+      return NULL;
+   }
+
+   return tpmif->uuid;
+}
+
+void tpmback_set_open_callback(void (*cb)(domid_t, unsigned int))
+{
+   gtpmdev.open_callback = cb;
+}
+void tpmback_set_close_callback(void (*cb)(domid_t, unsigned int))
+{
+   gtpmdev.close_callback = cb;
+}
+void tpmback_set_suspend_callback(void (*cb)(domid_t, unsigned int))
+{
+   gtpmdev.suspend_callback = cb;
+}
+void tpmback_set_resume_callback(void (*cb)(domid_t, unsigned int))
+{
+   gtpmdev.resume_callback = cb;
+}
+
+static void event_listener(void)
+{
+   const char* bepath = "backend/vtpm";
+   char **path;
+   char* err;
+
+   /* Setup the backend device watch */
+   if((err = xenbus_watch_path_token(XBT_NIL, bepath, bepath, &gtpmdev.events)) != NULL) {
+      TPMBACK_ERR("xenbus_watch_path_token(%s) failed with error %s!\n", bepath, err);
+      free(err);
+      goto egress;
+   }
+
+   /* Check for any frontends that connected before we set the watch.
+    * This is almost guaranteed to happen if both domains are started
+    * immediatly one after the other.
+    * We do this by manually generating events on everything in the backend
+    * path */
+   generate_backend_events(bepath);
+
+   /* Wait and listen for changes in frontend connections */
+   while(1) {
+      path = xenbus_wait_for_watch_return(&gtpmdev.events);
+
+      /*If quit flag was set then exit */
+      if(gtpmdev.flags & TPMIF_CLOSED) {
+	 TPMBACK_DEBUG("listener thread got quit event. Exiting..\n");
+	 free(path);
+	 break;
+      }
+      handle_backend_event(*path);
+      free(path);
+
+   }
+
+   if((err = xenbus_unwatch_path_token(XBT_NIL, bepath, bepath)) != NULL) {
+      free(err);
+   }
+egress:
+   return;
+}
+
+void event_thread(void* p) {
+   event_listener();
+}
+
+void init_tpmback(char** exclusive_uuids)
+{
+   if(!globalinit) {
+      init_waitqueue_head(&waitq);
+      globalinit = 1;
+   }
+   printk("============= Init TPM BACK ================\n");
+   gtpmdev.tpmlist = malloc(sizeof(tpmif_t*) * DEF_ARRAY_SIZE);
+   gtpmdev.num_alloc = DEF_ARRAY_SIZE;
+   gtpmdev.num_tpms = 0;
+   gtpmdev.flags = 0;
+   gtpmdev.exclusive_uuids = exclusive_uuids;
+
+   gtpmdev.open_callback = gtpmdev.close_callback = NULL;
+   gtpmdev.suspend_callback = gtpmdev.resume_callback = NULL;
+
+   eventthread = create_thread("tpmback-listener", event_thread, NULL);
+
+}
+
+void shutdown_tpmback(void)
+{
+   /* Disable callbacks */
+   gtpmdev.open_callback = gtpmdev.close_callback = NULL;
+   gtpmdev.suspend_callback = gtpmdev.resume_callback = NULL;
+
+   TPMBACK_LOG("Shutting down tpm backend\n");
+   /* Set the quit flag */
+   gtpmdev.flags = TPMIF_CLOSED;
+
+   //printk("num tpms is %d\n", gtpmdev.num_tpms);
+   /*Free all backend instances */
+   while(gtpmdev.num_tpms) {
+      free_tpmif(gtpmdev.tpmlist[0]);
+   }
+   free(gtpmdev.tpmlist);
+   gtpmdev.tpmlist = NULL;
+   gtpmdev.num_alloc = 0;
+
+   /* Wake up anyone possibly waiting on the device and let them exit */
+   wake_up(&waitq);
+   schedule();
+}
+
+inline void init_tpmcmd(tpmcmd_t* tpmcmd, domid_t domid, unsigned int handle, char* uuid)
+{
+   tpmcmd->domid = domid;
+   tpmcmd->handle = handle;
+   tpmcmd->uuid = uuid;
+   tpmcmd->req = NULL;
+   tpmcmd->req_len = 0;
+   tpmcmd->resp = NULL;
+   tpmcmd->resp_len = 0;
+}
+
+tpmcmd_t* get_request(tpmif_t* tpmif) {
+   tpmcmd_t* cmd;
+   tpmif_tx_request_t* tx;
+   int offset;
+   int tocopy;
+   int i;
+   uint32_t domid;
+   int flags;
+
+   local_irq_save(flags);
+
+   /* Allocate the cmd object to hold the data */
+   if((cmd = malloc(sizeof(*cmd))) == NULL) {
+      goto error;
+   }
+   init_tpmcmd(cmd, tpmif->domid, tpmif->handle, tpmif->uuid);
+
+   tx = &tpmif->tx->ring[0].req;
+   cmd->req_len = tx->size;
+   /* Allocate the buffer */
+   if(cmd->req_len) {
+      if((cmd->req = malloc(cmd->req_len)) == NULL) {
+	 goto error;
+      }
+   }
+   /* Copy the bits from the shared pages */
+   offset = 0;
+   for(i = 0; i < TPMIF_TX_RING_SIZE && offset < cmd->req_len; ++i) {
+      tx = &tpmif->tx->ring[i].req;
+
+      /* Map the page with the data */
+      domid = (uint32_t)tpmif->domid;
+      if((tpmif->pages[i] = gntmap_map_grant_refs(&gtpmdev.map, 1, &domid, 0, &tx->ref, PROT_READ)) == NULL) {
+	 TPMBACK_ERR("%u/%u Unable to map shared page during read!\n", (unsigned int) tpmif->domid, tpmif->handle);
+	 goto error;
+      }
+
+      /* do the copy now */
+      tocopy = min(cmd->req_len - offset, PAGE_SIZE);
+      memcpy(&cmd->req[offset], tpmif->pages[i], tocopy);
+      offset += tocopy;
+
+      /* release the page */
+      gntmap_munmap(&gtpmdev.map, (unsigned long)tpmif->pages[i], 1);
+
+   }
+
+#ifdef TPMBACK_PRINT_DEBUG
+   TPMBACK_DEBUG("Received Tpm Command from %u/%u of size %u", (unsigned int) tpmif->domid, tpmif->handle, cmd->req_len);
+   for(i = 0; i < cmd->req_len; ++i) {
+      if (!(i % 30)) {
+	 TPMBACK_DEBUG_MORE("\n");
+      }
+      TPMBACK_DEBUG_MORE("%02hhX ", cmd->req[i]);
+   }
+   TPMBACK_DEBUG_MORE("\n\n");
+#endif
+
+   local_irq_restore(flags);
+   return cmd;
+error:
+   if(cmd != NULL) {
+      if (cmd->req != NULL) {
+	 free(cmd->req);
+	 cmd->req = NULL;
+      }
+      free(cmd);
+      cmd = NULL;
+   }
+   local_irq_restore(flags);
+   return NULL;
+
+}
+
+void send_response(tpmcmd_t* cmd, tpmif_t* tpmif)
+{
+   tpmif_tx_request_t* tx;
+   int offset;
+   int i;
+   uint32_t domid;
+   int tocopy;
+   int flags;
+
+   local_irq_save(flags);
+
+   tx = &tpmif->tx->ring[0].req;
+   tx->size = cmd->resp_len;
+
+   offset = 0;
+   for(i = 0; i < TPMIF_TX_RING_SIZE && offset < cmd->resp_len; ++i) {
+      tx = &tpmif->tx->ring[i].req;
+
+      /* Map the page with the data */
+      domid = (uint32_t)tpmif->domid;
+      if((tpmif->pages[i] = gntmap_map_grant_refs(&gtpmdev.map, 1, &domid, 0, &tx->ref, PROT_WRITE)) == NULL) {
+	 TPMBACK_ERR("%u/%u Unable to map shared page during write!\n", (unsigned int) tpmif->domid, tpmif->handle);
+	 goto error;
+      }
+
+      /* do the copy now */
+      tocopy = min(cmd->resp_len - offset, PAGE_SIZE);
+      memcpy(tpmif->pages[i], &cmd->resp[offset], tocopy);
+      offset += tocopy;
+
+      /* release the page */
+      gntmap_munmap(&gtpmdev.map, (unsigned long)tpmif->pages[i], 1);
+
+   }
+
+#ifdef TPMBACK_PRINT_DEBUG
+   TPMBACK_DEBUG("Sent response to %u/%u of size %u", (unsigned int) tpmif->domid, tpmif->handle, cmd->resp_len);
+   for(i = 0; i < cmd->resp_len; ++i) {
+      if (!(i % 30)) {
+	 TPMBACK_DEBUG_MORE("\n");
+      }
+      TPMBACK_DEBUG_MORE("%02hhX ", cmd->resp[i]);
+   }
+   TPMBACK_DEBUG_MORE("\n\n");
+#endif
+   /* clear the ready flag and send the event channel notice to the frontend */
+   tpmif_req_finished(tpmif);
+   notify_remote_via_evtchn(tpmif->evtchn);
+error:
+   local_irq_restore(flags);
+   return;
+}
+
+tpmcmd_t* tpmback_req_any(void)
+{
+   int i;
+   /* Block until something has a request */
+   wait_event(waitq, (gtpmdev.flags & (TPMIF_REQ_READY | TPMIF_CLOSED)));
+
+   /* Check if were shutting down */
+   if(gtpmdev.flags & TPMIF_CLOSED) {
+      /* if something was waiting for us to give up the queue so it can shutdown, let it finish */
+      schedule();
+      return NULL;
+   }
+
+   for(i = 0; i < gtpmdev.num_tpms; ++i) {
+      if(gtpmdev.tpmlist[i]->flags & TPMIF_REQ_READY) {
+	 return get_request(gtpmdev.tpmlist[i]);
+      }
+   }
+
+   TPMBACK_ERR("backend request ready flag was set but no interfaces were actually ready\n");
+   return NULL;
+}
+
+tpmcmd_t* tpmback_req(domid_t domid, unsigned int handle)
+{
+   tpmif_t* tpmif;
+   tpmif = get_tpmif(domid, handle);
+   if(tpmif == NULL) {
+      return NULL;
+   }
+
+   wait_event(waitq, (tpmif->flags & (TPMIF_REQ_READY | TPMIF_CLOSED) || gtpmdev.flags & TPMIF_CLOSED));
+
+   /* Check if were shutting down */
+   if(tpmif->flags & TPMIF_CLOSED || gtpmdev.flags & TPMIF_CLOSED) {
+      /* if something was waiting for us to give up the queue so it can free this instance, let it finish */
+      schedule();
+      return NULL;
+   }
+
+   return get_request(tpmif);
+}
+
+void tpmback_resp(tpmcmd_t* tpmcmd)
+{
+   tpmif_t* tpmif;
+
+   /* Get the associated interface, if it doesnt exist then just quit */
+   tpmif = get_tpmif(tpmcmd->domid, tpmcmd->handle);
+   if(tpmif == NULL) {
+      TPMBACK_ERR("Tried to send a reponse to non existant frontend %u/%u\n", (unsigned int) tpmcmd->domid, tpmcmd->handle);
+      goto end;
+   }
+
+   if(!(tpmif->flags & TPMIF_REQ_READY)) {
+      TPMBACK_ERR("Tried to send response to a frontend that was not waiting for one %u/%u\n", (unsigned int) tpmcmd->domid, tpmcmd->handle);
+      goto end;
+   }
+
+   /* Send response to frontend */
+   send_response(tpmcmd, tpmif);
+
+end:
+   if(tpmcmd->req != NULL) {
+      free(tpmcmd->req);
+   }
+   free(tpmcmd);
+   return;
+}
+
+int tpmback_wait_for_frontend_connect(domid_t *domid, unsigned int *handle)
+{
+   tpmif_t* tpmif;
+   int flags;
+   wait_event(waitq, ((gtpmdev.num_tpms > 0) || gtpmdev.flags & TPMIF_CLOSED));
+   if(gtpmdev.flags & TPMIF_CLOSED) {
+      return -1;
+   }
+   local_irq_save(flags);
+   tpmif = gtpmdev.tpmlist[0];
+   *domid = tpmif->domid;
+   *handle = tpmif->handle;
+   local_irq_restore(flags);
+
+   return 0;
+}
+
+int tpmback_num_frontends(void)
+{
+   return gtpmdev.num_tpms;
+}
diff --git a/extras/mini-os/tpmfront.c b/extras/mini-os/tpmfront.c
new file mode 100644
index 0000000..3f532d7
--- /dev/null
+++ b/extras/mini-os/tpmfront.c
@@ -0,0 +1,607 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, version 2
+ * of the License
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ * Based upon the files:
+ *  drivers/char/tpm/tpm_vtpm.c
+ *  drivers/char/tpm/tpm_xen.c
+ * from the Linux kernel, which are Copyright (C) 2006 IBM Corporation
+ */
+#include <mini-os/os.h>
+#include <mini-os/xenbus.h>
+#include <mini-os/xmalloc.h>
+#include <mini-os/events.h>
+#include <mini-os/wait.h>
+#include <mini-os/gnttab.h>
+#include <xen/io/xenbus.h>
+#include <xen/io/tpmif.h>
+#include <mini-os/tpmfront.h>
+#include <fcntl.h>
+
+//#define TPMFRONT_PRINT_DEBUG
+#ifdef TPMFRONT_PRINT_DEBUG
+#define TPMFRONT_DEBUG(fmt,...) printk("Tpmfront:Debug("__FILE__":%d) " fmt, __LINE__, ##__VA_ARGS__)
+#define TPMFRONT_DEBUG_MORE(fmt,...) printk(fmt, ##__VA_ARGS__)
+#else
+#define TPMFRONT_DEBUG(fmt,...)
+#endif
+#define TPMFRONT_ERR(fmt,...) printk("Tpmfront:Error " fmt, ##__VA_ARGS__)
+#define TPMFRONT_LOG(fmt,...) printk("Tpmfront:Info " fmt, ##__VA_ARGS__)
+
+#define min(a,b) (((a) < (b)) ? (a) : (b))
+
+void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
+   struct tpmfront_dev* dev = (struct tpmfront_dev*) data;
+   /*If we get a response when we didnt make a request, just ignore it */
+   if(!dev->waiting) {
+      return;
+   }
+
+   dev->waiting = 0;
+#ifdef HAVE_LIBC
+   if(dev->fd >= 0) {
+      files[dev->fd].read = 1;
+   }
+#endif
+   wake_up(&dev->waitq);
+}
+
+static int publish_xenbus(struct tpmfront_dev* dev) {
+   xenbus_transaction_t xbt;
+   int retry;
+   char* err;
+   /* Write the grant reference and event channel to xenstore */
+again:
+   if((err = xenbus_transaction_start(&xbt))) {
+      TPMFRONT_ERR("Unable to start xenbus transaction, error was %s\n", err);
+      free(err);
+      return -1;
+   }
+
+   if((err = xenbus_printf(xbt, dev->nodename, "ring-ref", "%u", (unsigned int) dev->ring_ref))) {
+      TPMFRONT_ERR("Unable to write %s/ring-ref, error was %s\n", dev->nodename, err);
+      free(err);
+      goto abort_transaction;
+   }
+
+   if((err = xenbus_printf(xbt, dev->nodename, "event-channel", "%u", (unsigned int) dev->evtchn))) {
+      TPMFRONT_ERR("Unable to write %s/event-channel, error was %s\n", dev->nodename, err);
+      free(err);
+      goto abort_transaction;
+   }
+
+   if((err = xenbus_transaction_end(xbt, 0, &retry))) {
+      TPMFRONT_ERR("Unable to complete xenbus transaction, error was %s\n", err);
+      free(err);
+      return -1;
+   }
+   if(retry) {
+      goto again;
+   }
+
+   return 0;
+abort_transaction:
+   if((err = xenbus_transaction_end(xbt, 1, &retry))) {
+      free(err);
+   }
+   return -1;
+}
+
+static int wait_for_backend_connect(xenbus_event_queue* events, char* path)
+{
+   int state;
+
+   TPMFRONT_LOG("Waiting for backend connection..\n");
+   /* Wait for the backend to connect */
+   while(1) {
+      state = xenbus_read_integer(path);
+      if ( state < 0)
+	 state = XenbusStateUnknown;
+      switch(state) {
+	 /* Bad states, we quit with error */
+	 case XenbusStateUnknown:
+	 case XenbusStateClosing:
+	 case XenbusStateClosed:
+	    TPMFRONT_ERR("Unable to connect to backend\n");
+	    return -1;
+	 /* If backend is connected then break out of loop */
+	 case XenbusStateConnected:
+	    TPMFRONT_LOG("Backend Connected\n");
+	    return 0;
+	 default:
+	    xenbus_wait_for_watch(events);
+      }
+   }
+
+}
+
+static int wait_for_backend_closed(xenbus_event_queue* events, char* path)
+{
+   int state;
+
+   TPMFRONT_LOG("Waiting for backend to close..\n");
+   while(1) {
+      state = xenbus_read_integer(path);
+      if ( state < 0)
+	 state = XenbusStateUnknown;
+      switch(state) {
+	 case XenbusStateUnknown:
+	    TPMFRONT_ERR("Backend Unknown state, forcing shutdown\n");
+	    return -1;
+	 case XenbusStateClosed:
+	    TPMFRONT_LOG("Backend Closed\n");
+	    return 0;
+	 default:
+	    xenbus_wait_for_watch(events);
+      }
+   }
+
+}
+
+static int wait_for_backend_state_changed(struct tpmfront_dev* dev, XenbusState state) {
+   char* err;
+   int ret = 0;
+   xenbus_event_queue events = NULL;
+   char path[512];
+
+   snprintf(path, 512, "%s/state", dev->bepath);
+   /*Setup the watch to wait for the backend */
+   if((err = xenbus_watch_path_token(XBT_NIL, path, path, &events))) {
+      TPMFRONT_ERR("Could not set a watch on %s, error was %s\n", path, err);
+      free(err);
+      return -1;
+   }
+
+   /* Do the actual wait loop now */
+   switch(state) {
+      case XenbusStateConnected:
+	 ret = wait_for_backend_connect(&events, path);
+	 break;
+      case XenbusStateClosed:
+	 ret = wait_for_backend_closed(&events, path);
+	 break;
+      default:
+	 break;
+   }
+
+   if((err = xenbus_unwatch_path_token(XBT_NIL, path, path))) {
+      TPMFRONT_ERR("Unable to unwatch %s, error was %s, ignoring..\n", path, err);
+      free(err);
+   }
+   return ret;
+}
+
+static int tpmfront_connect(struct tpmfront_dev* dev)
+{
+   char* err;
+   /* Create shared page */
+   dev->tx = (tpmif_tx_interface_t*) alloc_page();
+   if(dev->tx == NULL) {
+      TPMFRONT_ERR("Unable to allocate page for shared memory\n");
+      goto error;
+   }
+   memset(dev->tx, 0, PAGE_SIZE);
+   dev->ring_ref = gnttab_grant_access(dev->bedomid, virt_to_mfn(dev->tx), 0);
+   TPMFRONT_DEBUG("grant ref is %lu\n", (unsigned long) dev->ring_ref);
+
+   /*Create event channel */
+   if(evtchn_alloc_unbound(dev->bedomid, tpmfront_handler, dev, &dev->evtchn)) {
+      TPMFRONT_ERR("Unable to allocate event channel\n");
+      goto error_postmap;
+   }
+   unmask_evtchn(dev->evtchn);
+   TPMFRONT_DEBUG("event channel is %lu\n", (unsigned long) dev->evtchn);
+
+   /* Write the entries to xenstore */
+   if(publish_xenbus(dev)) {
+      goto error_postevtchn;
+   }
+
+   /* Change state to connected */
+   dev->state = XenbusStateConnected;
+
+   /* Tell the backend that we are ready */
+   if((err = xenbus_printf(XBT_NIL, dev->nodename, "state", "%u", dev->state))) {
+      TPMFRONT_ERR("Unable to write to xenstore %s/state, value=%u", dev->nodename, XenbusStateConnected);
+      free(err);
+      goto error;
+   }
+
+   return 0;
+error_postevtchn:
+      mask_evtchn(dev->evtchn);
+      unbind_evtchn(dev->evtchn);
+error_postmap:
+      gnttab_end_access(dev->ring_ref);
+      free_page(dev->tx);
+error:
+   return -1;
+}
+
+struct tpmfront_dev* init_tpmfront(const char* _nodename)
+{
+   struct tpmfront_dev* dev;
+   const char* nodename;
+   char path[512];
+   char* value, *err;
+   unsigned long long ival;
+   int i;
+
+   printk("============= Init TPM Front ================\n");
+
+   dev = malloc(sizeof(struct tpmfront_dev));
+   memset(dev, 0, sizeof(struct tpmfront_dev));
+
+#ifdef HAVE_LIBC
+   dev->fd = -1;
+#endif
+
+   nodename = _nodename ? _nodename : "device/vtpm/0";
+   dev->nodename = strdup(nodename);
+
+   init_waitqueue_head(&dev->waitq);
+
+   /* Get backend domid */
+   snprintf(path, 512, "%s/backend-id", dev->nodename);
+   if((err = xenbus_read(XBT_NIL, path, &value))) {
+      TPMFRONT_ERR("Unable to read %s during tpmfront initialization! error = %s\n", path, err);
+      free(err);
+      goto error;
+   }
+   if(sscanf(value, "%llu", &ival) != 1) {
+      TPMFRONT_ERR("%s has non-integer value (%s)\n", path, value);
+      free(value);
+      goto error;
+   }
+   free(value);
+   dev->bedomid = ival;
+
+   /* Get backend xenstore path */
+   snprintf(path, 512, "%s/backend", dev->nodename);
+   if((err = xenbus_read(XBT_NIL, path, &dev->bepath))) {
+      TPMFRONT_ERR("Unable to read %s during tpmfront initialization! error = %s\n", path, err);
+      free(err);
+      goto error;
+   }
+
+   /* Create and publish grant reference and event channel */
+   if (tpmfront_connect(dev)) {
+      goto error;
+   }
+
+   /* Wait for backend to connect */
+   if( wait_for_backend_state_changed(dev, XenbusStateConnected)) {
+      goto error;
+   }
+
+   /* Allocate pages that will contain the messages */
+   dev->pages = malloc(sizeof(void*) * TPMIF_TX_RING_SIZE);
+   if(dev->pages == NULL) {
+      goto error;
+   }
+   memset(dev->pages, 0, sizeof(void*) * TPMIF_TX_RING_SIZE);
+   for(i = 0; i < TPMIF_TX_RING_SIZE; ++i) {
+      dev->pages[i] = (void*)alloc_page();
+      if(dev->pages[i] == NULL) {
+	 goto error;
+      }
+   }
+
+   TPMFRONT_LOG("Initialization Completed successfully\n");
+
+   return dev;
+
+error:
+   shutdown_tpmfront(dev);
+   return NULL;
+}
+void shutdown_tpmfront(struct tpmfront_dev* dev)
+{
+   char* err;
+   char path[512];
+   int i;
+   tpmif_tx_request_t* tx;
+   if(dev == NULL) {
+      return;
+   }
+   TPMFRONT_LOG("Shutting down tpmfront\n");
+   /* disconnect */
+   if(dev->state == XenbusStateConnected) {
+      dev->state = XenbusStateClosing;
+      //FIXME: Transaction for this?
+      /* Tell backend we are closing */
+      if((err = xenbus_printf(XBT_NIL, dev->nodename, "state", "%u", (unsigned int) dev->state))) {
+	 free(err);
+      }
+
+      /* Clean up xenstore entries */
+      snprintf(path, 512, "%s/event-channel", dev->nodename);
+      if((err = xenbus_rm(XBT_NIL, path))) {
+	 free(err);
+      }
+      snprintf(path, 512, "%s/ring-ref", dev->nodename);
+      if((err = xenbus_rm(XBT_NIL, path))) {
+	 free(err);
+      }
+
+      /* Tell backend we are closed */
+      dev->state = XenbusStateClosed;
+      if((err = xenbus_printf(XBT_NIL, dev->nodename, "state", "%u", (unsigned int) dev->state))) {
+	 TPMFRONT_ERR("Unable to write to %s, error was %s", dev->nodename, err);
+	 free(err);
+      }
+
+      /* Wait for the backend to close and unmap shared pages, ignore any errors */
+      wait_for_backend_state_changed(dev, XenbusStateClosed);
+
+      /* Cleanup any shared pages */
+      if(dev->pages) {
+	 for(i = 0; i < TPMIF_TX_RING_SIZE; ++i) {
+	    if(dev->pages[i]) {
+	       tx = &dev->tx->ring[i].req;
+	       if(tx->ref != 0) {
+		  gnttab_end_access(tx->ref);
+	       }
+	       free_page(dev->pages[i]);
+	    }
+	 }
+	 free(dev->pages);
+      }
+
+      /* Close event channel and unmap shared page */
+      mask_evtchn(dev->evtchn);
+      unbind_evtchn(dev->evtchn);
+      gnttab_end_access(dev->ring_ref);
+
+      free_page(dev->tx);
+
+   }
+
+   /* Cleanup memory usage */
+   if(dev->respbuf) {
+      free(dev->respbuf);
+   }
+   if(dev->bepath) {
+      free(dev->bepath);
+   }
+   if(dev->nodename) {
+      free(dev->nodename);
+   }
+   free(dev);
+}
+
+int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
+{
+   int i;
+   tpmif_tx_request_t* tx = NULL;
+   /* Error Checking */
+   if(dev == NULL || dev->state != XenbusStateConnected) {
+      TPMFRONT_ERR("Tried to send message through disconnected frontend\n");
+      return -1;
+   }
+
+#ifdef TPMFRONT_PRINT_DEBUG
+   TPMFRONT_DEBUG("Sending Msg to backend size=%u", (unsigned int) length);
+   for(i = 0; i < length; ++i) {
+      if(!(i % 30)) {
+	 TPMFRONT_DEBUG_MORE("\n");
+      }
+      TPMFRONT_DEBUG_MORE("%02X ", msg[i]);
+   }
+   TPMFRONT_DEBUG_MORE("\n");
+#endif
+
+   /* Copy to shared pages now */
+   for(i = 0; length > 0 && i < TPMIF_TX_RING_SIZE; ++i) {
+      /* Share the page */
+      tx = &dev->tx->ring[i].req;
+      tx->unused = 0;
+      tx->addr = virt_to_mach(dev->pages[i]);
+      tx->ref = gnttab_grant_access(dev->bedomid, virt_to_mfn(dev->pages[i]), 0);
+      /* Copy the bits to the page */
+      tx->size = length > PAGE_SIZE ? PAGE_SIZE : length;
+      memcpy(dev->pages[i], &msg[i * PAGE_SIZE], tx->size);
+
+      /* Update counters */
+      length -= tx->size;
+   }
+   dev->waiting = 1;
+   dev->resplen = 0;
+#ifdef HAVE_LIBC
+   if(dev->fd >= 0) {
+      files[dev->fd].read = 0;
+      files[dev->fd].tpmfront.respgot = 0;
+      files[dev->fd].tpmfront.offset = 0;
+   }
+#endif
+   notify_remote_via_evtchn(dev->evtchn);
+   return 0;
+}
+int tpmfront_recv(struct tpmfront_dev* dev, uint8_t** msg, size_t *length)
+{
+   tpmif_tx_request_t* tx;
+   int i;
+   if(dev == NULL || dev->state != XenbusStateConnected) {
+      TPMFRONT_ERR("Tried to receive message from disconnected frontend\n");
+      return -1;
+   }
+   /*Wait for the response */
+   wait_event(dev->waitq, (!dev->waiting));
+
+   /* Initialize */
+   *msg = NULL;
+   *length = 0;
+
+   /* special case, just quit */
+   tx = &dev->tx->ring[0].req;
+   if(tx->size == 0 ) {
+       goto quit;
+   }
+   /* Get the total size */
+   tx = &dev->tx->ring[0].req;
+   for(i = 0; i < TPMIF_TX_RING_SIZE && tx->size > 0; ++i) {
+      tx = &dev->tx->ring[i].req;
+      *length += tx->size;
+   }
+   /* Alloc the buffer */
+   if(dev->respbuf) {
+      free(dev->respbuf);
+   }
+   *msg = dev->respbuf = malloc(*length);
+   dev->resplen = *length;
+   /* Copy the bits */
+   tx = &dev->tx->ring[0].req;
+   for(i = 0; i < TPMIF_TX_RING_SIZE && tx->size > 0; ++i) {
+      tx = &dev->tx->ring[i].req;
+      memcpy(&(*msg)[i * PAGE_SIZE], dev->pages[i], tx->size);
+      gnttab_end_access(tx->ref);
+      tx->ref = 0;
+   }
+#ifdef TPMFRONT_PRINT_DEBUG
+   TPMFRONT_DEBUG("Received response from backend size=%u", (unsigned int) *length);
+   for(i = 0; i < *length; ++i) {
+      if(!(i % 30)) {
+	 TPMFRONT_DEBUG_MORE("\n");
+      }
+      TPMFRONT_DEBUG_MORE("%02X ", (*msg)[i]);
+   }
+   TPMFRONT_DEBUG_MORE("\n");
+#endif
+#ifdef HAVE_LIBC
+   if(dev->fd >= 0) {
+      files[dev->fd].tpmfront.respgot = 1;
+   }
+#endif
+quit:
+   return 0;
+}
+
+int tpmfront_cmd(struct tpmfront_dev* dev, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen)
+{
+   int rc;
+   if((rc = tpmfront_send(dev, req, reqlen))) {
+      return rc;
+   }
+   if((rc = tpmfront_recv(dev, resp, resplen))) {
+      return rc;
+   }
+
+   return 0;
+}
+
+#ifdef HAVE_LIBC
+#include <errno.h>
+int tpmfront_open(struct tpmfront_dev* dev)
+{
+   /* Silently prevent multiple opens */
+   if(dev->fd != -1) {
+      return dev->fd;
+   }
+
+   dev->fd = alloc_fd(FTYPE_TPMFRONT);
+   printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
+   files[dev->fd].tpmfront.dev = dev;
+   files[dev->fd].tpmfront.offset = 0;
+   files[dev->fd].tpmfront.respgot = 0;
+   return dev->fd;
+}
+
+int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
+{
+   int rc;
+   struct tpmfront_dev* dev;
+   dev = files[fd].tpmfront.dev;
+
+   if(count == 0) {
+      return 0;
+   }
+
+   /* Return an error if we are already processing a command */
+   if(dev->waiting) {
+      errno = EINPROGRESS;
+      return -1;
+   }
+   /* Send the command now */
+   if((rc = tpmfront_send(dev, buf, count)) != 0) {
+      errno = EIO;
+      return -1;
+   }
+   return count;
+}
+
+int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
+{
+   int rc;
+   uint8_t* dummybuf;
+   size_t dummysz;
+   struct tpmfront_dev* dev;
+
+   dev = files[fd].tpmfront.dev;
+
+   if(count == 0) {
+      return 0;
+   }
+
+   /* get the response if we haven't already */
+   if(files[dev->fd].tpmfront.respgot == 0) {
+      if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
+	 errno = EIO;
+	 return -1;
+      }
+   }
+
+   /* handle EOF case */
+   if(files[dev->fd].tpmfront.offset >= dev->resplen) {
+      return 0;
+   }
+
+   /* Compute the number of bytes and do the copy operation */
+   if((rc = min(count, dev->resplen - files[dev->fd].tpmfront.offset)) != 0) {
+      memcpy(buf, dev->respbuf + files[dev->fd].tpmfront.offset, rc);
+      files[dev->fd].tpmfront.offset += rc;
+   }
+
+   return rc;
+}
+
+int tpmfront_posix_fstat(int fd, struct stat* buf)
+{
+   uint8_t* dummybuf;
+   size_t dummysz;
+   int rc;
+   struct tpmfront_dev* dev = files[fd].tpmfront.dev;
+
+   /* If we have a response waiting, then read it now from the backend
+    * so we can get its length*/
+   if(dev->waiting || (files[dev->fd].read == 1 && !files[dev->fd].tpmfront.respgot)) {
+      if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
+	 errno = EIO;
+	 return -1;
+      }
+   }
+
+   buf->st_mode = O_RDWR;
+   buf->st_uid = 0;
+   buf->st_gid = 0;
+   buf->st_size = dev->resplen;
+   buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
+
+   return 0;
+}
+
+
+#endif
-- 
1.7.4.4


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

From xen-devel-bounces@lists.xen.org Wed Oct 03 11:08:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Oct 2012 11:08:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TJMnw-0007aX-EW; Wed, 03 Oct 2012 11:07:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <kiviniemi.valtteri@gmail.com>) id 1TJMnt-0007aS-Id
	for Xen-devel@lists.xen.org; Wed, 03 Oct 2012 11:07:50 +0000
Received: from [85.158.138.51:7707] by server-9.bemta-3.messagelabs.com id
	FF/4A-20338-48C1C605; Wed, 03 Oct 2012 11:07:48 +0000
X-Env-Sender: kiviniemi.valtteri@gmail.com
X-Msg-Ref: server-4.tower-174.messagelabs.com!1349262462!32427600!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_10_20, HTML_MESSAGE, ML_RADAR_SPEW_LINKS_14, RCVD_BY_IP,
	spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23471 invoked from network); 3 Oct 2012 11:07:43 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-4.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	3 Oct 2012 11:07:43 -0000
Received: by ggcs5 with SMTP id s5so602080ggc.32
	for <Xen-devel@lists.xen.org>; Wed, 03 Oct 2012 04:07:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:cc:content-type;
	bh=+dsJkve1dfTDhJhCPHQxEg9dI4wRQ+0U1Uf2Qdc7NEk=;
	b=TS2VhoXzQLk83UTZyYx8Rb6HVnpWodB1i4yq+Etxu+hnUe0WtlVUMV5r/UkFj9YUwO
	xOXZEsgBl+f7W09dSolYrFR2jwHRkLJDcPKpAmDjFi0gY5f5zewEXNFNWAM0FmIAVBDn
	tuv7CXqhKJ03tQTHochy4kJEatE1QghceAoouBgzsXMH0zWr19KBmrIDw4toei18Yelm
	XbaE1F/XqvZ4LHv5H61YIQ1tUfW9u6JhoPydKiM7h9ld+raR/3T0ikQkOX2cnCXxe0WJ
	7gqacO09Vay9GB/GTTCp2Ti8FWET1IbshIb87cXAHYcA0jrC3s02BoC58PhRCpJTE5st
	aUtg==
MIME-Version: 1.0
Received: by 10.101.166.35 with SMTP id t35mr419900ano.63.1349262462176; Wed,
	03 Oct 2012 04:07:42 -0700 (PDT)
Received: by 10.147.129.8 with HTTP; Wed, 3 Oct 2012 04:07:42 -0700 (PDT)
In-Reply-To: <1349261397.650.130.camel@zakaz.uk.xensource.com>
References: <CAN=sCCGMqXfWUAOT=OjiXGuAGNcCnwjZTqPLq1BSr_M5RGAgDw@mail.gmail.com>
	<1349259542.650.122.camel@zakaz.uk.xensource.com>
	<CAN=sCCF1F5gFod3kXexaL_uq_TnPmS++J0J-UEtxo2qyXL7KTg@mail.gmail.com>
	<CAN=sCCH-eKg25Fs=On6=Y-9kieVre0MTsDVgjEWCq4CPj8cvZA@mail.gmail.com>
	<1349261397.650.130.camel@zakaz.uk.xensource.com>
Date: Wed, 3 Oct 2012 14:07:42 +0300
Message-ID: <CAN=sCCEuPqhapvBR2eSTvALQeKbwshmT5=MvSiX3FoMW+vg_aA@mail.gmail.com>
From: Valtteri Kiviniemi <kiviniemi.valtteri@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "Xen-devel@lists.xen.org" <Xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Xen 4.2.0, xl toolstack cant launch older domUs
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8545444535638952119=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============8545444535638952119==
Content-Type: multipart/alternative; boundary=001636ef09adc44f7f04cb25a56c

--001636ef09adc44f7f04cb25a56c
Content-Type: text/plain; charset=ISO-8859-1

Hi,

I dont have the kernel sources for that 2.6.16.33 any more, this is a very
old domU but it still in use since we run some applications there which
require old glibc and wont run on newer machines. The domU works perfectly
with xend, and has always worked (since xen 3.0.0 every xen upgrade). But
now when I decided to move from xend to xl the problems started. Here are
the info that you asked, its going to be a long post and hopefully I
remembered everything that you asked for:

config:

kernel = "/boot/vmlinuz-2.6.16.33-xen-domU-oldgame"
builder = "linux"
memory = "2048"
name = "lightning"
vcpus = "8"
cpus = [ "0", "1", "2", "3", "4", "5", "6", "7" ]
vif = [ "mac=00:16:3e:1d:0d:91, bridge=xenbr0" ]
disk = [ "phy:/dev/virtuals/lightning,xvda1,w" ]
root = "/dev/xvda1 ro"
extra = "xencons=tty1 earlyprintk=xen"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "preserve"

xenstore-ls -fp when started with xend and working:

/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2 = ""   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/image = "(linux (kernel
/boot/bzImage-domU-oldgame) (args 'root=/dev/xvda1 ro console=xvc0
earlyprintk=xen') (superpages 0) (videoram 4) (pci ()) (nomigrate 0)
(tsc_mode 0) (notes (HV_START_LOW 411880652\..."  (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/image/ostype = "linux"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/image/kernel =
"/boot/bzImage-domU-oldgame"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/image/cmdline = "root=/dev/xvda1
ro console=xvc0 earlyprintk=xen"   (n0,r11)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/image/ramdisk = ""   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device = ""   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vbd = ""   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vbd/51713 = ""   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vbd/51713/frontend =
"/local/domain/11/device/vbd/51713"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vbd/51713/frontend-id =
"11"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vbd/51713/backend-id =
"0"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vbd/51713/backend =
"/local/domain/0/backend/vbd/11/51713"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vif = ""   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vif/0 = ""   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vif/0/frontend =
"/local/domain/11/device/vif/0"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vif/0/frontend-id = "11"
(n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vif/0/backend-id = "0"
(n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vif/0/backend =
"/local/domain/0/backend/vif/11/0"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/console = ""   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/console/0 = ""   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/console/0/frontend =
"/local/domain/11/device/console/0"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/console/0/frontend-id =
"11"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/console/0/backend-id =
"0"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/console/0/backend =
"/local/domain/0/backend/console/11/0"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/on_xend_stop = "ignore"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/pool_name = "Pool-0"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/shadow_memory = "0"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/uuid =
"54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2"   (n0,r11)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/on_reboot = "restart"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/start_time = "1349262041.78"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/on_poweroff = "destroy"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/bootloader_args = ""   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/on_xend_start = "ignore"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/on_crash = "preserve"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/xend = ""   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/xend/restart_count = "0"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/vcpus = "1"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/vcpu_avail = "1"   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/bootloader = ""   (n0)
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/name = "lightning"   (n0)

xenstore-ls -fp when started with xl and crashed (preserved):

/vm = ""   (n0)
/vm/e2261517-a75b-4c02-b9db-da9c21a05130 = ""   (n0,r1)
/vm/e2261517-a75b-4c02-b9db-da9c21a05130/uuid =
"e2261517-a75b-4c02-b9db-da9c21a05130"   (n0,r1)
/vm/e2261517-a75b-4c02-b9db-da9c21a05130/name = "lightning"   (n0,r1)
/vm/e2261517-a75b-4c02-b9db-da9c21a05130/image = ""   (n0,r1)
/vm/e2261517-a75b-4c02-b9db-da9c21a05130/image/ostype = "linux"   (n0,r1)
/vm/e2261517-a75b-4c02-b9db-da9c21a05130/image/kernel =
"/boot/bzImage-domU-oldgame"   (n0,r1)
/vm/e2261517-a75b-4c02-b9db-da9c21a05130/image/cmdline = "root=/dev/xvda1
ro console=xvc0 earlyprintk=xen"   (n0,r1)
/vm/e2261517-a75b-4c02-b9db-da9c21a05130/start_time = "1349262365.43"
(n0,r1)
/libxl = ""   (n0)
/libxl/1 = ""   (n0)
/libxl/1/dm-version = "qemu_xen"   (n0)

domU starter with xl -vvv create:

root@xen-2:~# xl -vvv create /etc/xen/lightning.cfg -c
Parsing config from /etc/xen/lightning.cfg
libxl: debug: libxl_create.c:1173:do_domain_create: ao 0x6243d0: create:
how=(nil) callback=(nil) poller=0x623b80
libxl: debug: libxl_device.c:229:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=unknown
libxl: debug: libxl_device.c:265:libxl__device_disk_set_backend: Disk
vdev=xvda1, using backend phy
libxl: debug: libxl_create.c:677:initiate_domain_create: running bootloader
libxl: debug: libxl_bootloader.c:327:libxl__bootloader_run: no bootloader
configured, using user supplied kernel
libxl: debug: libxl_event.c:561:libxl__ev_xswatch_deregister: watch
w=0x624750: deregister unregistered
libxl: debug: libxl_numa.c:435:libxl__get_numa_candidate: New best NUMA
placement candidate found: nr_nodes=1, nr_cpus=8, nr_vcpus=9,
free_memkb=31043
libxl: detail: libxl_dom.c:192:numa_place_domain: NUMA placement candidate
with 1 nodes, 8 cpus and 31043 KB free selected
domainbuilder: detail: xc_dom_allocate: cmdline="root=/dev/xvda1 ro
console=xvc0 earlyprintk=xen", features="(null)"
libxl: debug: libxl_dom.c:380:libxl__build_pv: pv kernel mapped 0 path
/boot/bzImage-domU-oldgame

domainbuilder: detail: xc_dom_kernel_file:
filename="/boot/bzImage-domU-oldgame"
domainbuilder: detail: xc_dom_malloc_filemap    : 1237 kB
domainbuilder: detail: xc_dom_malloc            : 2653 kB
domainbuilder: detail: xc_dom_do_gunzip: unzip ok, 0x135462 -> 0x297540
domainbuilder: detail: xc_dom_boot_xen_init: ver 4.2, caps xen-3.0-x86_64
xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
domainbuilder: detail: xc_dom_parse_image: called
domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader
...
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying Linux bzImage loader ...
domainbuilder: detail: xc_dom_probe_bzimage_kernel: kernel is not a bzImage
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ...
domainbuilder: detail: loader probe OK
xc: detail: elf_parse_binary: phdr: paddr=0xc0100000 memsz=0x20d500
xc: detail: elf_parse_binary: phdr: paddr=0xc030d500 memsz=0xb3308
xc: detail: elf_parse_binary: memory: 0xc0100000 -> 0xc03c0808
xc: detail: elf_xen_parse_note: GUEST_OS = "linux"
xc: detail: elf_xen_parse_note: GUEST_VERSION = "2.6"
xc: detail: elf_xen_parse_note: XEN_VERSION = "xen-3.0"
xc: detail: elf_xen_parse_note: VIRT_BASE = 0xc0000000
xc: detail: elf_xen_parse_note: PADDR_OFFSET = 0xc0000000
xc: detail: elf_xen_parse_note: ENTRY = 0xc0100000
xc: detail: elf_xen_parse_note: HYPERCALL_PAGE = 0xc0101000
xc: detail: elf_xen_parse_note: HV_START_LOW = 0xf5800000
xc: detail: elf_xen_parse_note: FEATURES =
"writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel"
xc: detail: elf_xen_parse_note: PAE_MODE = "yes"
xc: detail: elf_xen_parse_note: LOADER = "generic"
xc: detail: elf_xen_parse: using notes from SHT_NOTE section
xc: detail: elf_xen_addr_calc_check: addresses:
xc: detail:     virt_base        = 0xc0000000
xc: detail:     elf_paddr_offset = 0xc0000000
xc: detail:     virt_offset      = 0x0
xc: detail:     virt_kstart      = 0xc0100000
xc: detail:     virt_kend        = 0xc03c0808
xc: detail:     virt_entry       = 0xc0100000
xc: detail:     p2m_base         = 0xffffffffffffffff
domainbuilder: detail: xc_dom_parse_elf_kernel: xen-3.0-x86_32p: 0xc0100000
-> 0xc03c0808
domainbuilder: detail: xc_dom_mem_init: mem 2048 MB, pages 0x80000 pages,
4k each
domainbuilder: detail: xc_dom_mem_init: 0x80000 pages
domainbuilder: detail: xc_dom_boot_mem_init: called
domainbuilder: detail: x86_compat: guest xen-3.0-x86_32p, address size 32
domainbuilder: detail: xc_dom_malloc            : 4096 kB
domainbuilder: detail: xc_dom_build_image: called
domainbuilder: detail: xc_dom_alloc_segment:   kernel       : 0xc0100000 ->
0xc03c1000  (pfn 0x100 + 0x2c1 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x100+0x2c1 at
0x7fcba1b83000
xc: detail: elf_load_binary: phdr 0 at 0x0x7fcba1b83000 -> 0x0x7fcba1d90500
xc: detail: elf_load_binary: phdr 1 at 0x0x7fcba1d90500 -> 0x0x7fcba1e0f93c
domainbuilder: detail: xc_dom_alloc_segment:   phys2mach    : 0xc03c1000 ->
0xc05c1000  (pfn 0x3c1 + 0x200 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x3c1+0x200 at
0x7fcba1983000
domainbuilder: detail: xc_dom_alloc_page   :   start info   : 0xc05c1000
(pfn 0x5c1)
domainbuilder: detail: xc_dom_alloc_page   :   xenstore     : 0xc05c2000
(pfn 0x5c2)
domainbuilder: detail: xc_dom_alloc_page   :   console      : 0xc05c3000
(pfn 0x5c3)
domainbuilder: detail: nr_page_tables: 0x00000000ffffffff/32:
0x0000000000000000 -> 0x00000000ffffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x000000003fffffff/30:
0x00000000c0000000 -> 0x00000000ffffffff, 1 table(s)
domainbuilder: detail: nr_page_tables: 0x00000000001fffff/21:
0x00000000c0000000 -> 0x00000000c07fffff, 4 table(s)
domainbuilder: detail: xc_dom_alloc_segment:   page tables  : 0xc05c4000 ->
0xc05ca000  (pfn 0x5c4 + 0x6 pages)
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x5c4+0x6 at
0x7fcba197d000
domainbuilder: detail: xc_dom_alloc_page   :   boot stack   : 0xc05ca000
(pfn 0x5ca)
domainbuilder: detail: xc_dom_build_image  : virt_alloc_end : 0xc05cb000
domainbuilder: detail: xc_dom_build_image  : virt_pgtab_end : 0xc0800000
domainbuilder: detail: xc_dom_boot_image: called
domainbuilder: detail: arch_setup_bootearly: doing nothing
domainbuilder: detail: xc_dom_compat_check: supported guest type:
xen-3.0-x86_64
domainbuilder: detail: xc_dom_compat_check: supported guest type:
xen-3.0-x86_32p <= matches
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_32
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_32p
domainbuilder: detail: xc_dom_compat_check: supported guest type:
hvm-3.0-x86_64
domainbuilder: detail: xc_dom_update_guest_p2m: dst 32bit, pages 0x80000
domainbuilder: detail: clear_page: pfn 0x5c3, mfn 0x649f86
domainbuilder: detail: clear_page: pfn 0x5c2, mfn 0x649f87
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x5c1+0x1 at
0x7fcba4599000
domainbuilder: detail: start_info_x86_32: called
domainbuilder: detail: setup_hypercall_page: vaddr=0xc0101000 pfn=0x101
domainbuilder: detail: domain builder memory footprint
domainbuilder: detail:    allocated
domainbuilder: detail:       malloc             : 6780 kB
domainbuilder: detail:       anon mmap          : 0 bytes
domainbuilder: detail:    mapped
domainbuilder: detail:       file mmap          : 1237 kB
domainbuilder: detail:       domU mmap          : 4896 kB
domainbuilder: detail: arch_setup_bootlate: shared_info: pfn 0x0, mfn
0xdbdf8
domainbuilder: detail: shared_info_x86_32: called
domainbuilder: detail: vcpu_x86_32: called
domainbuilder: detail: vcpu_x86_32: cr3: pfn 0x5c4 mfn 0x649f85
domainbuilder: detail: launch_vm: called, ctxt=0x7fff96435b40
domainbuilder: detail: xc_dom_release: called
libxl: debug: libxl_device.c:229:libxl__device_disk_set_backend: Disk
vdev=xvda1 spec.backend=phy
libxl: debug: libxl_event.c:512:libxl__ev_xswatch_register: watch
w=0x625598 wpath=/local/domain/0/backend/vbd/2/51713/state token=3/0:
register slotnum=3
libxl: debug: libxl_create.c:1186:do_domain_create: ao 0x6243d0:
inprogress: poller=0x623b80, flags=i
libxl: debug: libxl_event.c:457:watchfd_callback: watch w=0x625598
wpath=/local/domain/0/backend/vbd/2/51713/state token=3/0: event
epath=/local/domain/0/backend/vbd/2/51713/state
libxl: debug: libxl_event.c:596:devstate_watch_callback: backend
/local/domain/0/backend/vbd/2/51713/state wanted state 2 ok
libxl: debug: libxl_event.c:549:libxl__ev_xswatch_deregister: watch
w=0x625598 wpath=/local/domain/0/backend/vbd/2/51713/state token=3/0:
deregister slotnum=3
libxl: debug: libxl_event.c:561:libxl__ev_xswatch_deregister: watch
w=0x625598: deregister unregistered
libxl: debug: libxl_device.c:916:device_hotplug: calling hotplug script:
/etc/xen/scripts/block add
libxl: debug: libxl_event.c:426:watchfd_callback: watch
epath=/local/domain/0/backend/vbd/2/51713/state token=3/0: empty slot
libxl: debug: libxl_event.c:512:libxl__ev_xswatch_register: watch
w=0x626f38 wpath=/local/domain/0/backend/vif/2/0/state token=3/1: register
slotnum=3
libxl: debug: libxl_event.c:457:watchfd_callback: watch w=0x626f38
wpath=/local/domain/0/backend/vif/2/0/state token=3/1: event
epath=/local/domain/0/backend/vif/2/0/state
libxl: debug: libxl_event.c:596:devstate_watch_callback: backend
/local/domain/0/backend/vif/2/0/state wanted state 2 ok
libxl: debug: libxl_event.c:549:libxl__ev_xswatch_deregister: watch
w=0x626f38 wpath=/local/domain/0/backend/vif/2/0/state token=3/1:
deregister slotnum=3
libxl: debug: libxl_event.c:561:libxl__ev_xswatch_deregister: watch
w=0x626f38: deregister unregistered
libxl: debug: libxl_device.c:916:device_hotplug: calling hotplug script:
/etc/xen/scripts/vif-bridge online
libxl: debug: libxl_event.c:1677:libxl__ao_progress_report: ao 0x6243d0:
progress report: callback queued aop=0x627700
libxl: debug: libxl_event.c:1497:libxl__ao_complete: ao 0x6243d0: complete,
rc=0
libxl: debug: libxl_event.c:1090:egc_run_callbacks: ao 0x6243d0: progress
report: callback aop=0x627700
libxl: debug: libxl_event.c:1469:libxl__ao__destroy: ao 0x6243d0: destroy
Daemon running with PID 4881
Linux version 2.6.16.33-xen-domU-oldgame (root@lightning) (gcc version
4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Fri Sep 28 14:56:14
EEST 2012
BIOS-provided physical RAM map:
 Xen: 0000000000000000 - 0000000080000000 (usable)
1320MB HIGHMEM available.
727MB LOWMEM available.
NX (Execute Disable) protection: active
early console enabled
Built 1 zonelists
Kernel command line: root=/dev/xvda1 ro console=xvc0 earlyprintk=xen
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 65536 bytes)
Xen reported: 3392.372 MHz processor.
disabling early console
Console: colour dummy device 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Software IO TLB disabled
vmalloc area: ee000000-f51fe000, maxmem 2d7fe000
Memory: 2072132k/2097152k available (1917k kernel code, 23952k reserved,
537k data, 148k init, 1351688k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 6820.46 BogoMIPS
(lpj=3410231)
Mount-cache hash table entries: 512
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 256K
CPU: L3 cache: 8192K
Checking 'hlt' instruction... OK.
Brought up 1 CPUs
migration_cost=0
Grant table initialized
NET: Registered protocol family 16
xen_mem: Initialising balloon driver.
SCSI subsystem initialized
highmem bounce pool size: 64 pages
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
Initializing Cryptographic API
io scheduler noop registered
io scheduler cfq registered (default)
rtc: IRQ 8 is not free.
i8042.c: No controller found.
loop: loaded (max 8 devices)
Xen virtual console successfully installed as tty1
Event-channel device installed.
netfront: Initialising virtual ethernet driver.
mice: PS/2 mouse device common for all mice
Netfilter messages via NETLINK v0.30.
NET: Registered protocol family 2
netfront: device eth0 has copying receive path.
Registering block device major 202
blkfront: xvda1: barriers enabled
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
ip_conntrack version 2.4 (8192 buckets, 65536 max) - 232 bytes per conntrack
ip_conntrack_pptp version 3.1 loaded
ip_nat_pptp version 3.0 loaded
ip_tables: (C) 2000-2006 Netfilter Core Team
ipt_recent v0.3.1: Stephen Frost <sfrost@snowman.net>.
http://snowman.net/projects/ipt_recent/
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
Bridge firewalling registered
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
Using IPI Shortcut mode
end_request: I/O error, dev xvda1, sector 2
EXT3-fs: unable to read superblock
Unable to handle kernel NULL pointer dereference at virtual address 00000024
 printing eip:
c0232139
005c4000 -> *pde = 00000000:00000000
Oops: 0000 [#1]
SMP
CPU:    0
EIP:    0061:[<c0232139>]    Not tainted VLI
EFLAGS: 00010097   (2.6.16.33-xen-domU-oldgame #1)
EIP is at blkif_int+0x1dc/0x228
eax: 00000000   ebx: 00000001   ecx: c090e000   edx: 00000000
esi: d92d7c7c   edi: ca010100   ebp: ed6ea0ac   esp: c0367ec0
ds: 007b   es: 007b   ss: e021
Process swapper (pid: 0, threadinfo=c0366000 task=c030d7c0)
Stack: <0>c200ce24 109c6373 00000000 00000000 00000001 00000002 00000000
00000001
       ed6ab7a0 00000000 00000000 c0367f6c c0133197 00000105 c090e000
c0367f6c
       00000105 00008280 c035b680 00000105 ed6ab7a0 c013328f 00000105
0000000a
Call Trace:
 [<c0133197>] handle_IRQ_event+0x38/0xa9
 [<c013328f>] __do_IRQ+0x87/0xf8
 [<c0106782>] do_IRQ+0x1a/0x25
 [<c0228d85>] evtchn_do_upcall+0x95/0xa9
 [<c010504d>] hypervisor_callback+0x3d/0x48
 [<c0107ecf>] safe_halt+0x7a/0xb2
 [<c0102efd>] xen_idle+0x2b/0x4e
 [<c0103014>] cpu_idle+0x52/0x67
 [<c036871c>] start_kernel+0x2b8/0x33c
 [<c03681ea>] unknown_bootoption+0x0/0x27a
Code: c7 04 24 e0 17 30 c0 e8 39 8b ee ff 8b 44 24 38 c7 80 00 14 00 00 00
00 00 00 89 04 24 e8 75 03 00 00 bb a1 ff ff ff 8b 54 24 0c <8b> 42 24 89
44 24 08 89 5c 24 04 89 14 24 e8 3b eb fb ff 85 c0
 <0>Kernel panic - not syncing: Fatal exception in interrupt

And finally the domain-builder-ng.log when started with xend and working:

2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_allocate:
cmdline="root=/dev/xvda1 ro console=xvc0 earlyprintk=xen", features=""
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_kernel_file:
filename="/boot/bzImage-domU-oldgame"
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_malloc_filemap    : 1237 kB
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_malloc            : 2653 kB
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_do_gunzip:
unzip ok, 0x135462 -> 0x297540
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_parse_image:
called
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_find_loader:
trying multiboot-binary loader ...
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: loader probe failed
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_find_loader:
trying Linux bzImage loader ...
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_probe_bzimage_kernel: kernel is not a bzImage
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: loader probe failed
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_find_loader:
trying ELF-generic loader ...
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: loader probe OK
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_parse_binary: phdr:
paddr=0xc0100000 memsz=0x20d500
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_parse_binary: phdr:
paddr=0xc030d500 memsz=0xb3308
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_parse_binary: memory:
0xc0100000 -> 0xc03c0808
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: GUEST_OS =
"linux"
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note:
GUEST_VERSION = "2.6"
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: XEN_VERSION
= "xen-3.0"
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: VIRT_BASE =
0xc0000000
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note:
PADDR_OFFSET = 0xc0000000
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: ENTRY =
0xc0100000
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note:
HYPERCALL_PAGE = 0xc0101000
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note:
HV_START_LOW = 0xf5800000
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: FEATURES =
"writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel"
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: PAE_MODE =
"yes"
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: LOADER =
"generic"
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse: using notes from
SHT_NOTE section
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_addr_calc_check:
addresses:
2012-10-03 14:00:41 EEST [3773] xc: detail:     virt_base        =
0xc0000000
2012-10-03 14:00:41 EEST [3773] xc: detail:     elf_paddr_offset =
0xc0000000
2012-10-03 14:00:41 EEST [3773] xc: detail:     virt_offset      = 0x0
2012-10-03 14:00:41 EEST [3773] xc: detail:     virt_kstart      =
0xc0100000
2012-10-03 14:00:41 EEST [3773] xc: detail:     virt_kend        =
0xc03c0808
2012-10-03 14:00:41 EEST [3773] xc: detail:     virt_entry       =
0xc0100000
2012-10-03 14:00:41 EEST [3773] xc: detail:     p2m_base         =
0xffffffffffffffff
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_parse_elf_kernel: xen-3.0-x86_32p: 0xc0100000 -> 0xc03c0808
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_release:
called
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_allocate:
cmdline="root=/dev/xvda1 ro console=xvc0 earlyprintk=xen", features=""
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_kernel_file:
filename="/boot/bzImage-domU-oldgame"
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_malloc_filemap    : 1237 kB
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_malloc            : 2653 kB
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_do_gunzip:
unzip ok, 0x135462 -> 0x297540
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_boot_xen_init: ver 4.2, caps xen-3.0-x86_64 xen-3.0-x86_32p
hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_parse_image:
called
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_find_loader:
trying multiboot-binary loader ...
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: loader probe failed
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_find_loader:
trying Linux bzImage loader ...
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_probe_bzimage_kernel: kernel is not a bzImage
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: loader probe failed
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_find_loader:
trying ELF-generic loader ...
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: loader probe OK
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_parse_binary: phdr:
paddr=0xc0100000 memsz=0x20d500
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_parse_binary: phdr:
paddr=0xc030d500 memsz=0xb3308
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_parse_binary: memory:
0xc0100000 -> 0xc03c0808
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: GUEST_OS =
"linux"
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note:
GUEST_VERSION = "2.6"
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: XEN_VERSION
= "xen-3.0"
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: VIRT_BASE =
0xc0000000
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note:
PADDR_OFFSET = 0xc0000000
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: ENTRY =
0xc0100000
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note:
HYPERCALL_PAGE = 0xc0101000
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note:
HV_START_LOW = 0xf5800000
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: FEATURES =
"writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel"
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: PAE_MODE =
"yes"
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: LOADER =
"generic"
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse: using notes from
SHT_NOTE section
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_addr_calc_check:
addresses:
2012-10-03 14:00:41 EEST [3773] xc: detail:     virt_base        =
0xc0000000
2012-10-03 14:00:41 EEST [3773] xc: detail:     elf_paddr_offset =
0xc0000000
2012-10-03 14:00:41 EEST [3773] xc: detail:     virt_offset      = 0x0
2012-10-03 14:00:41 EEST [3773] xc: detail:     virt_kstart      =
0xc0100000
2012-10-03 14:00:41 EEST [3773] xc: detail:     virt_kend        =
0xc03c0808
2012-10-03 14:00:41 EEST [3773] xc: detail:     virt_entry       =
0xc0100000
2012-10-03 14:00:41 EEST [3773] xc: detail:     p2m_base         =
0xffffffffffffffff
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_parse_elf_kernel: xen-3.0-x86_32p: 0xc0100000 -> 0xc03c0808
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_mem_init: mem
2048 MB, pages 0x80000 pages, 4k each
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_mem_init:
0x80000 pages
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_boot_mem_init: called
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: x86_compat: guest
xen-3.0-x86_32p, address size 32
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_malloc            : 4096 kB
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_build_image:
called
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_alloc_segment:   kernel       : 0xc0100000 -> 0xc03c1000  (pfn 0x100
+ 0x2c1 pages)
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_pfn_to_ptr:
domU mapping: pfn 0x100+0x2c1 at 0x7fdebe53c000
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_load_binary: phdr 0 at
0x0x7fdebe53c000 -> 0x0x7fdebe749500
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_load_binary: phdr 1 at
0x0x7fdebe749500 -> 0x0x7fdebe7c893c
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_alloc_segment:   phys2mach    : 0xc03c1000 -> 0xc05c1000  (pfn 0x3c1
+ 0x200 pages)
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_pfn_to_ptr:
domU mapping: pfn 0x3c1+0x200 at 0x7fdebe33c000
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_alloc_page
:   start info   : 0xc05c1000 (pfn 0x5c1)
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_alloc_page
:   xenstore     : 0xc05c2000 (pfn 0x5c2)
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_alloc_page
:   console      : 0xc05c3000 (pfn 0x5c3)
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: nr_page_tables:
0x00000000ffffffff/32: 0x0000000000000000 -> 0x00000000ffffffff, 1 table(s)
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: nr_page_tables:
0x000000003fffffff/30: 0x00000000c0000000 -> 0x00000000ffffffff, 1 table(s)
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: nr_page_tables:
0x00000000001fffff/21: 0x00000000c0000000 -> 0x00000000c07fffff, 4 table(s)
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_alloc_segment:   page tables  : 0xc05c4000 -> 0xc05ca000  (pfn 0x5c4
+ 0x6 pages)
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_pfn_to_ptr:
domU mapping: pfn 0x5c4+0x6 at 0x7fdeca12d000
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_alloc_page
:   boot stack   : 0xc05ca000 (pfn 0x5ca)
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_build_image
: virt_alloc_end : 0xc05cb000
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_build_image
: virt_pgtab_end : 0xc0800000
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_boot_image:
called
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
arch_setup_bootearly: doing nothing
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_compat_check:
supported guest type: xen-3.0-x86_64
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_compat_check:
supported guest type: xen-3.0-x86_32p <= matches
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_compat_check:
supported guest type: hvm-3.0-x86_32
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_compat_check:
supported guest type: hvm-3.0-x86_32p
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_compat_check:
supported guest type: hvm-3.0-x86_64
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
xc_dom_update_guest_p2m: dst 32bit, pages 0x80000
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: clear_page: pfn
0x5c3, mfn 0x697ee5
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: clear_page: pfn
0x5c2, mfn 0x697ee6
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_pfn_to_ptr:
domU mapping: pfn 0x5c1+0x1 at 0x7fdeca12a000
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: start_info_x86_32:
called
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
setup_hypercall_page: vaddr=0xc0101000 pfn=0x101
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: domain builder
memory footprint
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:    allocated
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:
malloc             : 6780 kB
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:       anon
mmap          : 0 bytes
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:    mapped
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:       file
mmap          : 1237 kB
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:       domU
mmap          : 4896 kB
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: arch_setup_bootlate:
shared_info: pfn 0x0, mfn 0xdbdf8
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: shared_info_x86_32:
called
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: vcpu_x86_32: called
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: vcpu_x86_32: cr3:
pfn 0x5c4 mfn 0x697ee4
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: launch_vm: called,
ctxt=0x7fdebf7fa650
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_release:
called

- Valtteri

2012/10/3 Ian Campbell <Ian.Campbell@citrix.com>

> On Wed, 2012-10-03 at 11:42 +0100, Valtteri Kiviniemi wrote:
> > Hi,
> >
> > I tried to lower vcpus to 1, and now it produces a different crash:
> >
> > Unable to handle kernel NULL pointer dereference at virtual address
> > 00000024
> >  printing eip:
> > c0232139
> > 005c4000 -> *pde = 00000000:00000000
> > Oops: 0000 [#1]
> > SMP
> > CPU:    0
> > EIP:    0061:[<c0232139>]    Not tainted VLI
> > EFLAGS: 00010097   (2.6.16.33-xen-domU-oldgame #1)
> > EIP is at blkif_int+0x1dc/0x228
>
> I don't suppose you have source / debug info for this kernel to resolve
> this into a location?
>
> You say this exact same config works with xend?
>
> If so then, since this appears to relate to the devices, one thing which
> might be worth trying is to set on_crash = "preserve" in your config and
> run under both xend and xl. You can then collect the content of xenstore
> (xenstore-ls -fp) in both cases (xend booted ok, xl preserved in the
> crashed state), and compare.
>
> There will be a bunch of differences relating to the xend one finishing
> its boot but something might stand out in the diff. Just posting both
> sets of output might be useful.
>
> If you run "xl -vvv create" you should also get a bunch of stuff
> relating to the domain builder and where it is placing things. Running
> under xend I think something similar is dumped under /var/log/xen
> (domain-build-ng.log?)
>
> What does your config file look like?
>
> Ian.
>
>
>

--001636ef09adc44f7f04cb25a56c
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,<br><br>I dont have the kernel sources for that 2.6.16.33 any more, this=
 is a very old domU but it still in use since we run some applications ther=
e which require old glibc and wont run on newer machines. The domU works pe=
rfectly with xend, and has always worked (since xen 3.0.0 every xen upgrade=
). But now when I decided to move from xend to xl the problems started. Her=
e are the info that you asked, its going to be a long post and hopefully I =
remembered everything that you asked for:<br>
<br>config:<br><br>kernel =3D &quot;/boot/vmlinuz-2.6.16.33-xen-domU-oldgam=
e&quot;<br>builder =3D &quot;linux&quot;<br>memory =3D &quot;2048&quot;<br>=
name =3D &quot;lightning&quot;<br>vcpus =3D &quot;8&quot;<br>cpus =3D [ &qu=
ot;0&quot;, &quot;1&quot;, &quot;2&quot;, &quot;3&quot;, &quot;4&quot;, &qu=
ot;5&quot;, &quot;6&quot;, &quot;7&quot; ]<br>
vif =3D [ &quot;mac=3D00:16:3e:1d:0d:91, bridge=3Dxenbr0&quot; ]<br>disk =
=3D [ &quot;phy:/dev/virtuals/lightning,xvda1,w&quot; ]<br>root =3D &quot;/=
dev/xvda1 ro&quot;<br>extra =3D &quot;xencons=3Dtty1 earlyprintk=3Dxen&quot=
;<br>on_poweroff =3D &quot;destroy&quot;<br>
on_reboot =3D &quot;restart&quot;<br>on_crash =3D &quot;preserve&quot;<br><=
br>xenstore-ls -fp when started with xend and working:<br><br>/vm/54fd0bf5-=
0cc8-802a-880e-f5f9dc0e4ec2 =3D &quot;&quot;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc=
8-802a-880e-f5f9dc0e4ec2/image =3D &quot;(linux (kernel /boot/bzImage-domU-=
oldgame) (args &#39;root=3D/dev/xvda1 ro console=3Dxvc0 earlyprintk=3Dxen&#=
39;) (superpages 0) (videoram 4) (pci ()) (nomigrate 0) (tsc_mode 0) (notes=
 (HV_START_LOW 411880652\...&quot;=A0 (n0)<br>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/image/ostype =3D &quot;linux&quot;=
=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/image/kernel =3D &q=
uot;/boot/bzImage-domU-oldgame&quot;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-8=
80e-f5f9dc0e4ec2/image/cmdline =3D &quot;root=3D/dev/xvda1 ro console=3Dxvc=
0 earlyprintk=3Dxen&quot;=A0=A0 (n0,r11)<br>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/image/ramdisk =3D &quot;&quot;=A0=
=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device =3D &quot;&quot=
;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vbd =3D &qu=
ot;&quot;=A0=A0 (n0)<br>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vbd/51713 =3D &quot;&quot;=
=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vbd/51713/fr=
ontend =3D &quot;/local/domain/11/device/vbd/51713&quot;=A0=A0 (n0)<br>/vm/=
54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vbd/51713/frontend-id =3D &quot=
;11&quot;=A0=A0 (n0)<br>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vbd/51713/backend-id =3D &q=
uot;0&quot;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/v=
bd/51713/backend =3D &quot;/local/domain/0/backend/vbd/11/51713&quot;=A0=A0=
 (n0)<br>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vif =3D &quot;&quot;=A0=A0 =
(n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vif/0 =3D &quot;&qu=
ot;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vif/0/fro=
ntend =3D &quot;/local/domain/11/device/vif/0&quot;=A0=A0 (n0)<br>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vif/0/frontend-id =3D &quot=
;11&quot;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/vif=
/0/backend-id =3D &quot;0&quot;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f=
5f9dc0e4ec2/device/vif/0/backend =3D &quot;/local/domain/0/backend/vif/11/0=
&quot;=A0=A0 (n0)<br>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/console =3D &quot;&quot;=A0=
=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/console/0 =3D &=
quot;&quot;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/c=
onsole/0/frontend =3D &quot;/local/domain/11/device/console/0&quot;=A0=A0 (=
n0)<br>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device/console/0/frontend-id =3D &=
quot;11&quot;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/device=
/console/0/backend-id =3D &quot;0&quot;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802=
a-880e-f5f9dc0e4ec2/device/console/0/backend =3D &quot;/local/domain/0/back=
end/console/11/0&quot;=A0=A0 (n0)<br>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/on_xend_stop =3D &quot;ignore&quot=
;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/pool_name =3D &quo=
t;Pool-0&quot;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/shado=
w_memory =3D &quot;0&quot;=A0=A0 (n0)<br>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/uuid =3D &quot;54fd0bf5-0cc8-802a-=
880e-f5f9dc0e4ec2&quot;=A0=A0 (n0,r11)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9d=
c0e4ec2/on_reboot =3D &quot;restart&quot;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-8=
02a-880e-f5f9dc0e4ec2/start_time =3D &quot;1349262041.78&quot;=A0=A0 (n0)<b=
r>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/on_poweroff =3D &quot;destroy&quot=
;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/bootloader_args =
=3D &quot;&quot;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/on_=
xend_start =3D &quot;ignore&quot;=A0=A0 (n0)<br>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/on_crash =3D &quot;preserve&quot;=
=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/xend =3D &quot;&quo=
t;=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/xend/restart_coun=
t =3D &quot;0&quot;=A0=A0 (n0)<br>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/vcpus =3D &quot;1&quot;=A0=A0 (n0)=
<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/vcpu_avail =3D &quot;1&quot;=
=A0=A0 (n0)<br>/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/bootloader =3D &quo=
t;&quot;=A0=A0 (n0)<br>
/vm/54fd0bf5-0cc8-802a-880e-f5f9dc0e4ec2/name =3D &quot;lightning&quot;=A0=
=A0 (n0)<br><br>xenstore-ls -fp when started with xl and crashed (preserved=
):<br><br>/vm =3D &quot;&quot;=A0=A0 (n0)<br>/vm/e2261517-a75b-4c02-b9db-da=
9c21a05130 =3D &quot;&quot;=A0=A0 (n0,r1)<br>
/vm/e2261517-a75b-4c02-b9db-da9c21a05130/uuid =3D &quot;e2261517-a75b-4c02-=
b9db-da9c21a05130&quot;=A0=A0 (n0,r1)<br>/vm/e2261517-a75b-4c02-b9db-da9c21=
a05130/name =3D &quot;lightning&quot;=A0=A0 (n0,r1)<br>/vm/e2261517-a75b-4c=
02-b9db-da9c21a05130/image =3D &quot;&quot;=A0=A0 (n0,r1)<br>
/vm/e2261517-a75b-4c02-b9db-da9c21a05130/image/ostype =3D &quot;linux&quot;=
=A0=A0 (n0,r1)<br>/vm/e2261517-a75b-4c02-b9db-da9c21a05130/image/kernel =3D=
 &quot;/boot/bzImage-domU-oldgame&quot;=A0=A0 (n0,r1)<br>/vm/e2261517-a75b-=
4c02-b9db-da9c21a05130/image/cmdline =3D &quot;root=3D/dev/xvda1 ro console=
=3Dxvc0 earlyprintk=3Dxen&quot;=A0=A0 (n0,r1)<br>
/vm/e2261517-a75b-4c02-b9db-da9c21a05130/start_time =3D &quot;1349262365.43=
&quot;=A0=A0 (n0,r1)<br>/libxl =3D &quot;&quot;=A0=A0 (n0)<br>/libxl/1 =3D =
&quot;&quot;=A0=A0 (n0)<br>/libxl/1/dm-version =3D &quot;qemu_xen&quot;=A0=
=A0 (n0)<br><br>domU starter with xl -vvv create:<br>
<br>root@xen-2:~# xl -vvv create /etc/xen/lightning.cfg -c<br>Parsing confi=
g from /etc/xen/lightning.cfg<br>libxl: debug: libxl_create.c:1173:do_domai=
n_create: ao 0x6243d0: create: how=3D(nil) callback=3D(nil) poller=3D0x623b=
80<br>
libxl: debug: libxl_device.c:229:libxl__device_disk_set_backend: Disk vdev=
=3Dxvda1 spec.backend=3Dunknown<br>libxl: debug: libxl_device.c:265:libxl__=
device_disk_set_backend: Disk vdev=3Dxvda1, using backend phy<br>libxl: deb=
ug: libxl_create.c:677:initiate_domain_create: running bootloader<br>
libxl: debug: libxl_bootloader.c:327:libxl__bootloader_run: no bootloader c=
onfigured, using user supplied kernel<br>libxl: debug: libxl_event.c:561:li=
bxl__ev_xswatch_deregister: watch w=3D0x624750: deregister unregistered<br>
libxl: debug: libxl_numa.c:435:libxl__get_numa_candidate: New best NUMA pla=
cement candidate found: nr_nodes=3D1, nr_cpus=3D8, nr_vcpus=3D9, free_memkb=
=3D31043<br>libxl: detail: libxl_dom.c:192:numa_place_domain: NUMA placemen=
t candidate with 1 nodes, 8 cpus and 31043 KB free selected<br>
domainbuilder: detail: xc_dom_allocate: cmdline=3D&quot;root=3D/dev/xvda1 r=
o console=3Dxvc0 earlyprintk=3Dxen&quot;, features=3D&quot;(null)&quot;<br>=
libxl: debug: libxl_dom.c:380:libxl__build_pv: pv kernel mapped 0 path /boo=
t/bzImage-domU-oldgame<br>
<br>domainbuilder: detail: xc_dom_kernel_file: filename=3D&quot;/boot/bzIma=
ge-domU-oldgame&quot;<br>domainbuilder: detail: xc_dom_malloc_filemap=A0=A0=
=A0 : 1237 kB<br>domainbuilder: detail: xc_dom_malloc=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0 : 2653 kB<br>domainbuilder: detail: xc_dom_do_gunzip: unzip ok=
, 0x135462 -&gt; 0x297540<br>
domainbuilder: detail: xc_dom_boot_xen_init: ver 4.2, caps xen-3.0-x86_64 x=
en-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64<br>domainbuild=
er: detail: xc_dom_parse_image: called<br>domainbuilder: detail: xc_dom_fin=
d_loader: trying multiboot-binary loader ...<br>
domainbuilder: detail: loader probe failed<br>domainbuilder: detail: xc_dom=
_find_loader: trying Linux bzImage loader ...<br>domainbuilder: detail: xc_=
dom_probe_bzimage_kernel: kernel is not a bzImage<br>domainbuilder: detail:=
 loader probe failed<br>
domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ...<br=
>domainbuilder: detail: loader probe OK<br>xc: detail: elf_parse_binary: ph=
dr: paddr=3D0xc0100000 memsz=3D0x20d500<br>xc: detail: elf_parse_binary: ph=
dr: paddr=3D0xc030d500 memsz=3D0xb3308<br>
xc: detail: elf_parse_binary: memory: 0xc0100000 -&gt; 0xc03c0808<br>xc: de=
tail: elf_xen_parse_note: GUEST_OS =3D &quot;linux&quot;<br>xc: detail: elf=
_xen_parse_note: GUEST_VERSION =3D &quot;2.6&quot;<br>xc: detail: elf_xen_p=
arse_note: XEN_VERSION =3D &quot;xen-3.0&quot;<br>
xc: detail: elf_xen_parse_note: VIRT_BASE =3D 0xc0000000<br>xc: detail: elf=
_xen_parse_note: PADDR_OFFSET =3D 0xc0000000<br>xc: detail: elf_xen_parse_n=
ote: ENTRY =3D 0xc0100000<br>xc: detail: elf_xen_parse_note: HYPERCALL_PAGE=
 =3D 0xc0101000<br>
xc: detail: elf_xen_parse_note: HV_START_LOW =3D 0xf5800000<br>xc: detail: =
elf_xen_parse_note: FEATURES =3D &quot;writable_page_tables|writable_descri=
ptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_ker=
nel&quot;<br>
xc: detail: elf_xen_parse_note: PAE_MODE =3D &quot;yes&quot;<br>xc: detail:=
 elf_xen_parse_note: LOADER =3D &quot;generic&quot;<br>xc: detail: elf_xen_=
parse: using notes from SHT_NOTE section<br>xc: detail: elf_xen_addr_calc_c=
heck: addresses:<br>
xc: detail:=A0=A0=A0=A0 virt_base=A0=A0=A0=A0=A0=A0=A0 =3D 0xc0000000<br>xc=
: detail:=A0=A0=A0=A0 elf_paddr_offset =3D 0xc0000000<br>xc: detail:=A0=A0=
=A0=A0 virt_offset=A0=A0=A0=A0=A0 =3D 0x0<br>xc: detail:=A0=A0=A0=A0 virt_k=
start=A0=A0=A0=A0=A0 =3D 0xc0100000<br>xc: detail:=A0=A0=A0=A0 virt_kend=A0=
=A0=A0=A0=A0=A0=A0 =3D 0xc03c0808<br>
xc: detail:=A0=A0=A0=A0 virt_entry=A0=A0=A0=A0=A0=A0 =3D 0xc0100000<br>xc: =
detail:=A0=A0=A0=A0 p2m_base=A0=A0=A0=A0=A0=A0=A0=A0 =3D 0xffffffffffffffff=
<br>domainbuilder: detail: xc_dom_parse_elf_kernel: xen-3.0-x86_32p: 0xc010=
0000 -&gt; 0xc03c0808<br>domainbuilder: detail: xc_dom_mem_init: mem 2048 M=
B, pages 0x80000 pages, 4k each<br>
domainbuilder: detail: xc_dom_mem_init: 0x80000 pages<br>domainbuilder: det=
ail: xc_dom_boot_mem_init: called<br>domainbuilder: detail: x86_compat: gue=
st xen-3.0-x86_32p, address size 32<br>domainbuilder: detail: xc_dom_malloc=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 : 4096 kB<br>
domainbuilder: detail: xc_dom_build_image: called<br>domainbuilder: detail:=
 xc_dom_alloc_segment:=A0=A0 kernel=A0=A0=A0=A0=A0=A0 : 0xc0100000 -&gt; 0x=
c03c1000=A0 (pfn 0x100 + 0x2c1 pages)<br>domainbuilder: detail: xc_dom_pfn_=
to_ptr: domU mapping: pfn 0x100+0x2c1 at 0x7fcba1b83000<br>
xc: detail: elf_load_binary: phdr 0 at 0x0x7fcba1b83000 -&gt; 0x0x7fcba1d90=
500<br>xc: detail: elf_load_binary: phdr 1 at 0x0x7fcba1d90500 -&gt; 0x0x7f=
cba1e0f93c<br>domainbuilder: detail: xc_dom_alloc_segment:=A0=A0 phys2mach=
=A0=A0=A0 : 0xc03c1000 -&gt; 0xc05c1000=A0 (pfn 0x3c1 + 0x200 pages)<br>
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x3c1+0x200 at =
0x7fcba1983000<br>domainbuilder: detail: xc_dom_alloc_page=A0=A0 :=A0=A0 st=
art info=A0=A0 : 0xc05c1000 (pfn 0x5c1)<br>domainbuilder: detail: xc_dom_al=
loc_page=A0=A0 :=A0=A0 xenstore=A0=A0=A0=A0 : 0xc05c2000 (pfn 0x5c2)<br>
domainbuilder: detail: xc_dom_alloc_page=A0=A0 :=A0=A0 console=A0=A0=A0=A0=
=A0 : 0xc05c3000 (pfn 0x5c3)<br>domainbuilder: detail: nr_page_tables: 0x00=
000000ffffffff/32: 0x0000000000000000 -&gt; 0x00000000ffffffff, 1 table(s)<=
br>domainbuilder: detail: nr_page_tables: 0x000000003fffffff/30: 0x00000000=
c0000000 -&gt; 0x00000000ffffffff, 1 table(s)<br>
domainbuilder: detail: nr_page_tables: 0x00000000001fffff/21: 0x00000000c00=
00000 -&gt; 0x00000000c07fffff, 4 table(s)<br>domainbuilder: detail: xc_dom=
_alloc_segment:=A0=A0 page tables=A0 : 0xc05c4000 -&gt; 0xc05ca000=A0 (pfn =
0x5c4 + 0x6 pages)<br>
domainbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x5c4+0x6 at 0x=
7fcba197d000<br>domainbuilder: detail: xc_dom_alloc_page=A0=A0 :=A0=A0 boot=
 stack=A0=A0 : 0xc05ca000 (pfn 0x5ca)<br>domainbuilder: detail: xc_dom_buil=
d_image=A0 : virt_alloc_end : 0xc05cb000<br>
domainbuilder: detail: xc_dom_build_image=A0 : virt_pgtab_end : 0xc0800000<=
br>domainbuilder: detail: xc_dom_boot_image: called<br>domainbuilder: detai=
l: arch_setup_bootearly: doing nothing<br>domainbuilder: detail: xc_dom_com=
pat_check: supported guest type: xen-3.0-x86_64<br>
domainbuilder: detail: xc_dom_compat_check: supported guest type: xen-3.0-x=
86_32p &lt;=3D matches<br>domainbuilder: detail: xc_dom_compat_check: suppo=
rted guest type: hvm-3.0-x86_32<br>domainbuilder: detail: xc_dom_compat_che=
ck: supported guest type: hvm-3.0-x86_32p<br>
domainbuilder: detail: xc_dom_compat_check: supported guest type: hvm-3.0-x=
86_64<br>domainbuilder: detail: xc_dom_update_guest_p2m: dst 32bit, pages 0=
x80000<br>domainbuilder: detail: clear_page: pfn 0x5c3, mfn 0x649f86<br>
domainbuilder: detail: clear_page: pfn 0x5c2, mfn 0x649f87<br>domainbuilder=
: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x5c1+0x1 at 0x7fcba4599000<=
br>domainbuilder: detail: start_info_x86_32: called<br>domainbuilder: detai=
l: setup_hypercall_page: vaddr=3D0xc0101000 pfn=3D0x101<br>
domainbuilder: detail: domain builder memory footprint<br>domainbuilder: de=
tail:=A0=A0=A0 allocated<br>domainbuilder: detail:=A0=A0=A0=A0=A0=A0 malloc=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 : 6780 kB<br>domainbuilder: detail:=A0=
=A0=A0=A0=A0=A0 anon mmap=A0=A0=A0=A0=A0=A0=A0=A0=A0 : 0 bytes<br>domainbui=
lder: detail:=A0=A0=A0 mapped<br>
domainbuilder: detail:=A0=A0=A0=A0=A0=A0 file mmap=A0=A0=A0=A0=A0=A0=A0=A0=
=A0 : 1237 kB<br>domainbuilder: detail:=A0=A0=A0=A0=A0=A0 domU mmap=A0=A0=
=A0=A0=A0=A0=A0=A0=A0 : 4896 kB<br>domainbuilder: detail: arch_setup_bootla=
te: shared_info: pfn 0x0, mfn 0xdbdf8<br>domainbuilder: detail: shared_info=
_x86_32: called<br>
domainbuilder: detail: vcpu_x86_32: called<br>domainbuilder: detail: vcpu_x=
86_32: cr3: pfn 0x5c4 mfn 0x649f85<br>domainbuilder: detail: launch_vm: cal=
led, ctxt=3D0x7fff96435b40<br>domainbuilder: detail: xc_dom_release: called=
<br>
libxl: debug: libxl_device.c:229:libxl__device_disk_set_backend: Disk vdev=
=3Dxvda1 spec.backend=3Dphy<br>libxl: debug: libxl_event.c:512:libxl__ev_xs=
watch_register: watch w=3D0x625598 wpath=3D/local/domain/0/backend/vbd/2/51=
713/state token=3D3/0: register slotnum=3D3<br>
libxl: debug: libxl_create.c:1186:do_domain_create: ao 0x6243d0: inprogress=
: poller=3D0x623b80, flags=3Di<br>libxl: debug: libxl_event.c:457:watchfd_c=
allback: watch w=3D0x625598 wpath=3D/local/domain/0/backend/vbd/2/51713/sta=
te token=3D3/0: event epath=3D/local/domain/0/backend/vbd/2/51713/state<br>
libxl: debug: libxl_event.c:596:devstate_watch_callback: backend /local/dom=
ain/0/backend/vbd/2/51713/state wanted state 2 ok<br>libxl: debug: libxl_ev=
ent.c:549:libxl__ev_xswatch_deregister: watch w=3D0x625598 wpath=3D/local/d=
omain/0/backend/vbd/2/51713/state token=3D3/0: deregister slotnum=3D3<br>
libxl: debug: libxl_event.c:561:libxl__ev_xswatch_deregister: watch w=3D0x6=
25598: deregister unregistered<br>libxl: debug: libxl_device.c:916:device_h=
otplug: calling hotplug script: /etc/xen/scripts/block add<br>libxl: debug:=
 libxl_event.c:426:watchfd_callback: watch epath=3D/local/domain/0/backend/=
vbd/2/51713/state token=3D3/0: empty slot<br>
libxl: debug: libxl_event.c:512:libxl__ev_xswatch_register: watch w=3D0x626=
f38 wpath=3D/local/domain/0/backend/vif/2/0/state token=3D3/1: register slo=
tnum=3D3<br>libxl: debug: libxl_event.c:457:watchfd_callback: watch w=3D0x6=
26f38 wpath=3D/local/domain/0/backend/vif/2/0/state token=3D3/1: event epat=
h=3D/local/domain/0/backend/vif/2/0/state<br>
libxl: debug: libxl_event.c:596:devstate_watch_callback: backend /local/dom=
ain/0/backend/vif/2/0/state wanted state 2 ok<br>libxl: debug: libxl_event.=
c:549:libxl__ev_xswatch_deregister: watch w=3D0x626f38 wpath=3D/local/domai=
n/0/backend/vif/2/0/state token=3D3/1: deregister slotnum=3D3<br>
libxl: debug: libxl_event.c:561:libxl__ev_xswatch_deregister: watch w=3D0x6=
26f38: deregister unregistered<br>libxl: debug: libxl_device.c:916:device_h=
otplug: calling hotplug script: /etc/xen/scripts/vif-bridge online<br>libxl=
: debug: libxl_event.c:1677:libxl__ao_progress_report: ao 0x6243d0: progres=
s report: callback queued aop=3D0x627700<br>
libxl: debug: libxl_event.c:1497:libxl__ao_complete: ao 0x6243d0: complete,=
 rc=3D0<br>libxl: debug: libxl_event.c:1090:egc_run_callbacks: ao 0x6243d0:=
 progress report: callback aop=3D0x627700<br>libxl: debug: libxl_event.c:14=
69:libxl__ao__destroy: ao 0x6243d0: destroy<br>
Daemon running with PID 4881<br>Linux version 2.6.16.33-xen-domU-oldgame (r=
oot@lightning) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) =
#1 SMP Fri Sep 28 14:56:14 EEST 2012<br>BIOS-provided physical RAM map:<br>
=A0Xen: 0000000000000000 - 0000000080000000 (usable)<br>1320MB HIGHMEM avai=
lable.<br>727MB LOWMEM available.<br>NX (Execute Disable) protection: activ=
e<br>early console enabled<br>Built 1 zonelists<br>Kernel command line: roo=
t=3D/dev/xvda1 ro console=3Dxvc0 earlyprintk=3Dxen<br>
Enabling fast FPU save and restore... done.<br>Enabling unmasked SIMD FPU e=
xception support... done.<br>Initializing CPU#0<br>PID hash table entries: =
4096 (order: 12, 65536 bytes)<br>Xen reported: 3392.372 MHz processor.<br>
disabling early console<br>Console: colour dummy device 80x25<br>Dentry cac=
he hash table entries: 131072 (order: 7, 524288 bytes)<br>Inode-cache hash =
table entries: 65536 (order: 6, 262144 bytes)<br>Software IO TLB disabled<b=
r>
vmalloc area: ee000000-f51fe000, maxmem 2d7fe000<br>Memory: 2072132k/209715=
2k available (1917k kernel code, 23952k reserved, 537k data, 148k init, 135=
1688k highmem)<br>Checking if this processor honours the WP bit even in sup=
ervisor mode... Ok.<br>
Calibrating delay using timer specific routine.. 6820.46 BogoMIPS (lpj=3D34=
10231)<br>Mount-cache hash table entries: 512<br>CPU: L1 I cache: 32K, L1 D=
 cache: 32K<br>CPU: L2 cache: 256K<br>CPU: L3 cache: 8192K<br>Checking &#39=
;hlt&#39; instruction... OK.<br>
Brought up 1 CPUs<br>migration_cost=3D0<br>Grant table initialized<br>NET: =
Registered protocol family 16<br>xen_mem: Initialising balloon driver.<br>S=
CSI subsystem initialized<br>highmem bounce pool size: 64 pages<br>Installi=
ng knfsd (copyright (C) 1996 <a href=3D"mailto:okir@monad.swb.de">okir@mona=
d.swb.de</a>).<br>
Initializing Cryptographic API<br>io scheduler noop registered<br>io schedu=
ler cfq registered (default)<br>rtc: IRQ 8 is not free.<br>i8042.c: No cont=
roller found.<br>loop: loaded (max 8 devices)<br>Xen virtual console succes=
sfully installed as tty1<br>
Event-channel device installed.<br>netfront: Initialising virtual ethernet =
driver.<br>mice: PS/2 mouse device common for all mice<br>Netfilter message=
s via NETLINK v0.30.<br>NET: Registered protocol family 2<br>netfront: devi=
ce eth0 has copying receive path.<br>
Registering block device major 202<br>blkfront: xvda1: barriers enabled<br>=
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)<br>TCP es=
tablished hash table entries: 131072 (order: 8, 1048576 bytes)<br>TCP bind =
hash table entries: 65536 (order: 7, 524288 bytes)<br>
TCP: Hash tables configured (established 131072 bind 65536)<br>TCP reno reg=
istered<br>ip_conntrack version 2.4 (8192 buckets, 65536 max) - 232 bytes p=
er conntrack<br>ip_conntrack_pptp version 3.1 loaded<br>ip_nat_pptp version=
 3.0 loaded<br>
ip_tables: (C) 2000-2006 Netfilter Core Team<br>ipt_recent v0.3.1: Stephen =
Frost &lt;<a href=3D"mailto:sfrost@snowman.net">sfrost@snowman.net</a>&gt;.=
=A0 <a href=3D"http://snowman.net/projects/ipt_recent/">http://snowman.net/=
projects/ipt_recent/</a><br>
TCP bic registered<br>NET: Registered protocol family 1<br>NET: Registered =
protocol family 17<br>NET: Registered protocol family 15<br>Bridge firewall=
ing registered<br>802.1Q VLAN Support v1.8 Ben Greear &lt;<a href=3D"mailto=
:greearb@candelatech.com">greearb@candelatech.com</a>&gt;<br>
All bugs added by David S. Miller &lt;<a href=3D"mailto:davem@redhat.com">d=
avem@redhat.com</a>&gt;<br>Using IPI Shortcut mode<br>end_request: I/O erro=
r, dev xvda1, sector 2<br>EXT3-fs: unable to read superblock<br>Unable to h=
andle kernel NULL pointer dereference at virtual address 00000024<br>
=A0printing eip:<br>c0232139<br>005c4000 -&gt; *pde =3D 00000000:00000000<b=
r>Oops: 0000 [#1]<br>SMP<br>CPU:=A0=A0=A0 0<br>EIP:=A0=A0=A0 0061:[&lt;c023=
2139&gt;]=A0=A0=A0 Not tainted VLI<br>EFLAGS: 00010097=A0=A0 (2.6.16.33-xen=
-domU-oldgame #1)<br>EIP is at blkif_int+0x1dc/0x228<br>
eax: 00000000=A0=A0 ebx: 00000001=A0=A0 ecx: c090e000=A0=A0 edx: 00000000<b=
r>esi: d92d7c7c=A0=A0 edi: ca010100=A0=A0 ebp: ed6ea0ac=A0=A0 esp: c0367ec0=
<br>ds: 007b=A0=A0 es: 007b=A0=A0 ss: e021<br>Process swapper (pid: 0, thre=
adinfo=3Dc0366000 task=3Dc030d7c0)<br>
Stack: &lt;0&gt;c200ce24 109c6373 00000000 00000000 00000001 00000002 00000=
000 00000001<br>=A0=A0=A0=A0=A0=A0 ed6ab7a0 00000000 00000000 c0367f6c c013=
3197 00000105 c090e000 c0367f6c<br>=A0=A0=A0=A0=A0=A0 00000105 00008280 c03=
5b680 00000105 ed6ab7a0 c013328f 00000105 0000000a<br>
Call Trace:<br>=A0[&lt;c0133197&gt;] handle_IRQ_event+0x38/0xa9<br>=A0[&lt;=
c013328f&gt;] __do_IRQ+0x87/0xf8<br>=A0[&lt;c0106782&gt;] do_IRQ+0x1a/0x25<=
br>=A0[&lt;c0228d85&gt;] evtchn_do_upcall+0x95/0xa9<br>=A0[&lt;c010504d&gt;=
] hypervisor_callback+0x3d/0x48<br>
=A0[&lt;c0107ecf&gt;] safe_halt+0x7a/0xb2<br>=A0[&lt;c0102efd&gt;] xen_idle=
+0x2b/0x4e<br>=A0[&lt;c0103014&gt;] cpu_idle+0x52/0x67<br>=A0[&lt;c036871c&=
gt;] start_kernel+0x2b8/0x33c<br>=A0[&lt;c03681ea&gt;] unknown_bootoption+0=
x0/0x27a<br>
Code: c7 04 24 e0 17 30 c0 e8 39 8b ee ff 8b 44 24 38 c7 80 00 14 00 00 00 =
00 00 00 89 04 24 e8 75 03 00 00 bb a1 ff ff ff 8b 54 24 0c &lt;8b&gt; 42 2=
4 89 44 24 08 89 5c 24 04 89 14 24 e8 3b eb fb ff 85 c0<br>=A0&lt;0&gt;Kern=
el panic - not syncing: Fatal exception in interrupt<br>
<br>And finally the domain-builder-ng.log when started with xend and workin=
g:<br><br>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_all=
ocate: cmdline=3D&quot;root=3D/dev/xvda1 ro console=3Dxvc0 earlyprintk=3Dxe=
n&quot;, features=3D&quot;&quot;<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_kernel_file: =
filename=3D&quot;/boot/bzImage-domU-oldgame&quot;<br>2012-10-03 14:00:41 EE=
ST [3773] domainbuilder: detail: xc_dom_malloc_filemap=A0=A0=A0 : 1237 kB<b=
r>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_malloc=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 : 2653 kB<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_do_gunzip: un=
zip ok, 0x135462 -&gt; 0x297540<br>2012-10-03 14:00:41 EEST [3773] domainbu=
ilder: detail: xc_dom_parse_image: called<br>2012-10-03 14:00:41 EEST [3773=
] domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader=
 ... <br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: loader probe failed<=
br>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_find_loade=
r: trying Linux bzImage loader ... <br>2012-10-03 14:00:41 EEST [3773] doma=
inbuilder: detail: xc_dom_probe_bzimage_kernel: kernel is not a bzImage<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: loader probe failed<=
br>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_find_loade=
r: trying ELF-generic loader ... <br>2012-10-03 14:00:41 EEST [3773] domain=
builder: detail: loader probe OK<br>
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_parse_binary: phdr: paddr=
=3D0xc0100000 memsz=3D0x20d500<br>2012-10-03 14:00:41 EEST [3773] xc: detai=
l: elf_parse_binary: phdr: paddr=3D0xc030d500 memsz=3D0xb3308<br>2012-10-03=
 14:00:41 EEST [3773] xc: detail: elf_parse_binary: memory: 0xc0100000 -&gt=
; 0xc03c0808<br>
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: GUEST_OS =
=3D &quot;linux&quot;<br>2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xe=
n_parse_note: GUEST_VERSION =3D &quot;2.6&quot;<br>2012-10-03 14:00:41 EEST=
 [3773] xc: detail: elf_xen_parse_note: XEN_VERSION =3D &quot;xen-3.0&quot;=
<br>
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: VIRT_BASE =
=3D 0xc0000000<br>2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse=
_note: PADDR_OFFSET =3D 0xc0000000<br>2012-10-03 14:00:41 EEST [3773] xc: d=
etail: elf_xen_parse_note: ENTRY =3D 0xc0100000<br>
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: HYPERCALL_P=
AGE =3D 0xc0101000<br>2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_p=
arse_note: HV_START_LOW =3D 0xf5800000<br>2012-10-03 14:00:41 EEST [3773] x=
c: detail: elf_xen_parse_note: FEATURES =3D &quot;writable_page_tables|writ=
able_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervis=
or_mode_kernel&quot;<br>
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: PAE_MODE =
=3D &quot;yes&quot;<br>2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_=
parse_note: LOADER =3D &quot;generic&quot;<br>2012-10-03 14:00:41 EEST [377=
3] xc: detail: elf_xen_parse: using notes from SHT_NOTE section<br>
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_addr_calc_check: addres=
ses:<br>2012-10-03 14:00:41 EEST [3773] xc: detail:=A0=A0=A0=A0 virt_base=
=A0=A0=A0=A0=A0=A0=A0 =3D 0xc0000000<br>2012-10-03 14:00:41 EEST [3773] xc:=
 detail:=A0=A0=A0=A0 elf_paddr_offset =3D 0xc0000000<br>
2012-10-03 14:00:41 EEST [3773] xc: detail:=A0=A0=A0=A0 virt_offset=A0=A0=
=A0=A0=A0 =3D 0x0<br>2012-10-03 14:00:41 EEST [3773] xc: detail:=A0=A0=A0=
=A0 virt_kstart=A0=A0=A0=A0=A0 =3D 0xc0100000<br>2012-10-03 14:00:41 EEST [=
3773] xc: detail:=A0=A0=A0=A0 virt_kend=A0=A0=A0=A0=A0=A0=A0 =3D 0xc03c0808=
<br>
2012-10-03 14:00:41 EEST [3773] xc: detail:=A0=A0=A0=A0 virt_entry=A0=A0=A0=
=A0=A0=A0 =3D 0xc0100000<br>2012-10-03 14:00:41 EEST [3773] xc: detail:=A0=
=A0=A0=A0 p2m_base=A0=A0=A0=A0=A0=A0=A0=A0 =3D 0xffffffffffffffff<br>2012-1=
0-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_parse_elf_kernel: x=
en-3.0-x86_32p: 0xc0100000 -&gt; 0xc03c0808<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_release: call=
ed<br>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_allocat=
e: cmdline=3D&quot;root=3D/dev/xvda1 ro console=3Dxvc0 earlyprintk=3Dxen&qu=
ot;, features=3D&quot;&quot;<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_kernel_file: =
filename=3D&quot;/boot/bzImage-domU-oldgame&quot;<br>2012-10-03 14:00:41 EE=
ST [3773] domainbuilder: detail: xc_dom_malloc_filemap=A0=A0=A0 : 1237 kB<b=
r>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_malloc=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 : 2653 kB<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_do_gunzip: un=
zip ok, 0x135462 -&gt; 0x297540<br>2012-10-03 14:00:41 EEST [3773] domainbu=
ilder: detail: xc_dom_boot_xen_init: ver 4.2, caps xen-3.0-x86_64 xen-3.0-x=
86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 <br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_parse_image: =
called<br>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_fin=
d_loader: trying multiboot-binary loader ... <br>2012-10-03 14:00:41 EEST [=
3773] domainbuilder: detail: loader probe failed<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_find_loader: =
trying Linux bzImage loader ... <br>2012-10-03 14:00:41 EEST [3773] domainb=
uilder: detail: xc_dom_probe_bzimage_kernel: kernel is not a bzImage<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: loader probe failed<=
br>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_find_loade=
r: trying ELF-generic loader ... <br>2012-10-03 14:00:41 EEST [3773] domain=
builder: detail: loader probe OK<br>
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_parse_binary: phdr: paddr=
=3D0xc0100000 memsz=3D0x20d500<br>2012-10-03 14:00:41 EEST [3773] xc: detai=
l: elf_parse_binary: phdr: paddr=3D0xc030d500 memsz=3D0xb3308<br>2012-10-03=
 14:00:41 EEST [3773] xc: detail: elf_parse_binary: memory: 0xc0100000 -&gt=
; 0xc03c0808<br>
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: GUEST_OS =
=3D &quot;linux&quot;<br>2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xe=
n_parse_note: GUEST_VERSION =3D &quot;2.6&quot;<br>2012-10-03 14:00:41 EEST=
 [3773] xc: detail: elf_xen_parse_note: XEN_VERSION =3D &quot;xen-3.0&quot;=
<br>
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: VIRT_BASE =
=3D 0xc0000000<br>2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse=
_note: PADDR_OFFSET =3D 0xc0000000<br>2012-10-03 14:00:41 EEST [3773] xc: d=
etail: elf_xen_parse_note: ENTRY =3D 0xc0100000<br>
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: HYPERCALL_P=
AGE =3D 0xc0101000<br>2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_p=
arse_note: HV_START_LOW =3D 0xf5800000<br>2012-10-03 14:00:41 EEST [3773] x=
c: detail: elf_xen_parse_note: FEATURES =3D &quot;writable_page_tables|writ=
able_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervis=
or_mode_kernel&quot;<br>
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_parse_note: PAE_MODE =
=3D &quot;yes&quot;<br>2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_=
parse_note: LOADER =3D &quot;generic&quot;<br>2012-10-03 14:00:41 EEST [377=
3] xc: detail: elf_xen_parse: using notes from SHT_NOTE section<br>
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_xen_addr_calc_check: addres=
ses:<br>2012-10-03 14:00:41 EEST [3773] xc: detail:=A0=A0=A0=A0 virt_base=
=A0=A0=A0=A0=A0=A0=A0 =3D 0xc0000000<br>2012-10-03 14:00:41 EEST [3773] xc:=
 detail:=A0=A0=A0=A0 elf_paddr_offset =3D 0xc0000000<br>
2012-10-03 14:00:41 EEST [3773] xc: detail:=A0=A0=A0=A0 virt_offset=A0=A0=
=A0=A0=A0 =3D 0x0<br>2012-10-03 14:00:41 EEST [3773] xc: detail:=A0=A0=A0=
=A0 virt_kstart=A0=A0=A0=A0=A0 =3D 0xc0100000<br>2012-10-03 14:00:41 EEST [=
3773] xc: detail:=A0=A0=A0=A0 virt_kend=A0=A0=A0=A0=A0=A0=A0 =3D 0xc03c0808=
<br>
2012-10-03 14:00:41 EEST [3773] xc: detail:=A0=A0=A0=A0 virt_entry=A0=A0=A0=
=A0=A0=A0 =3D 0xc0100000<br>2012-10-03 14:00:41 EEST [3773] xc: detail:=A0=
=A0=A0=A0 p2m_base=A0=A0=A0=A0=A0=A0=A0=A0 =3D 0xffffffffffffffff<br>2012-1=
0-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_parse_elf_kernel: x=
en-3.0-x86_32p: 0xc0100000 -&gt; 0xc03c0808<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_mem_init: mem=
 2048 MB, pages 0x80000 pages, 4k each<br>2012-10-03 14:00:41 EEST [3773] d=
omainbuilder: detail: xc_dom_mem_init: 0x80000 pages<br>2012-10-03 14:00:41=
 EEST [3773] domainbuilder: detail: xc_dom_boot_mem_init: called<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: x86_compat: guest xe=
n-3.0-x86_32p, address size 32<br>2012-10-03 14:00:41 EEST [3773] domainbui=
lder: detail: xc_dom_malloc=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 : 4096 kB<br>2=
012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_build_image: c=
alled<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_alloc_segment=
:=A0=A0 kernel=A0=A0=A0=A0=A0=A0 : 0xc0100000 -&gt; 0xc03c1000=A0 (pfn 0x10=
0 + 0x2c1 pages)<br>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: =
xc_dom_pfn_to_ptr: domU mapping: pfn 0x100+0x2c1 at 0x7fdebe53c000<br>
2012-10-03 14:00:41 EEST [3773] xc: detail: elf_load_binary: phdr 0 at 0x0x=
7fdebe53c000 -&gt; 0x0x7fdebe749500<br>2012-10-03 14:00:41 EEST [3773] xc: =
detail: elf_load_binary: phdr 1 at 0x0x7fdebe749500 -&gt; 0x0x7fdebe7c893c<=
br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_alloc_segment=
:=A0=A0 phys2mach=A0=A0=A0 : 0xc03c1000 -&gt; 0xc05c1000=A0 (pfn 0x3c1 + 0x=
200 pages)<br>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom=
_pfn_to_ptr: domU mapping: pfn 0x3c1+0x200 at 0x7fdebe33c000<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_alloc_page=A0=
=A0 :=A0=A0 start info=A0=A0 : 0xc05c1000 (pfn 0x5c1)<br>2012-10-03 14:00:4=
1 EEST [3773] domainbuilder: detail: xc_dom_alloc_page=A0=A0 :=A0=A0 xensto=
re=A0=A0=A0=A0 : 0xc05c2000 (pfn 0x5c2)<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_alloc_page=A0=
=A0 :=A0=A0 console=A0=A0=A0=A0=A0 : 0xc05c3000 (pfn 0x5c3)<br>2012-10-03 1=
4:00:41 EEST [3773] domainbuilder: detail: nr_page_tables: 0x00000000ffffff=
ff/32: 0x0000000000000000 -&gt; 0x00000000ffffffff, 1 table(s)<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: nr_page_tables: 0x00=
0000003fffffff/30: 0x00000000c0000000 -&gt; 0x00000000ffffffff, 1 table(s)<=
br>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: nr_page_tables: 0=
x00000000001fffff/21: 0x00000000c0000000 -&gt; 0x00000000c07fffff, 4 table(=
s)<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_alloc_segment=
:=A0=A0 page tables=A0 : 0xc05c4000 -&gt; 0xc05ca000=A0 (pfn 0x5c4 + 0x6 pa=
ges)<br>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_pfn_t=
o_ptr: domU mapping: pfn 0x5c4+0x6 at 0x7fdeca12d000<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_alloc_page=A0=
=A0 :=A0=A0 boot stack=A0=A0 : 0xc05ca000 (pfn 0x5ca)<br>2012-10-03 14:00:4=
1 EEST [3773] domainbuilder: detail: xc_dom_build_image=A0 : virt_alloc_end=
 : 0xc05cb000<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_build_image=
=A0 : virt_pgtab_end : 0xc0800000<br>2012-10-03 14:00:41 EEST [3773] domain=
builder: detail: xc_dom_boot_image: called<br>2012-10-03 14:00:41 EEST [377=
3] domainbuilder: detail: arch_setup_bootearly: doing nothing<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_compat_check:=
 supported guest type: xen-3.0-x86_64<br>2012-10-03 14:00:41 EEST [3773] do=
mainbuilder: detail: xc_dom_compat_check: supported guest type: xen-3.0-x86=
_32p &lt;=3D matches<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_compat_check:=
 supported guest type: hvm-3.0-x86_32<br>2012-10-03 14:00:41 EEST [3773] do=
mainbuilder: detail: xc_dom_compat_check: supported guest type: hvm-3.0-x86=
_32p<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: xc_dom_compat_check:=
 supported guest type: hvm-3.0-x86_64<br>2012-10-03 14:00:41 EEST [3773] do=
mainbuilder: detail: xc_dom_update_guest_p2m: dst 32bit, pages 0x80000<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: clear_page: pfn 0x5c=
3, mfn 0x697ee5<br>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: c=
lear_page: pfn 0x5c2, mfn 0x697ee6<br>2012-10-03 14:00:41 EEST [3773] domai=
nbuilder: detail: xc_dom_pfn_to_ptr: domU mapping: pfn 0x5c1+0x1 at 0x7fdec=
a12a000<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: start_info_x86_32: c=
alled<br>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: setup_hyper=
call_page: vaddr=3D0xc0101000 pfn=3D0x101<br>2012-10-03 14:00:41 EEST [3773=
] domainbuilder: detail: domain builder memory footprint<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:=A0=A0=A0 allocated<b=
r>2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:=A0=A0=A0=A0=A0=A0 =
malloc=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 : 6780 kB<br>2012-10-03 14:00:41=
 EEST [3773] domainbuilder: detail:=A0=A0=A0=A0=A0=A0 anon mmap=A0=A0=A0=A0=
=A0=A0=A0=A0=A0 : 0 bytes<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail:=A0=A0=A0 mapped<br>2=
012-10-03 14:00:41 EEST [3773] domainbuilder: detail:=A0=A0=A0=A0=A0=A0 fil=
e mmap=A0=A0=A0=A0=A0=A0=A0=A0=A0 : 1237 kB<br>2012-10-03 14:00:41 EEST [37=
73] domainbuilder: detail:=A0=A0=A0=A0=A0=A0 domU mmap=A0=A0=A0=A0=A0=A0=A0=
=A0=A0 : 4896 kB<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: arch_setup_bootlate:=
 shared_info: pfn 0x0, mfn 0xdbdf8<br>2012-10-03 14:00:41 EEST [3773] domai=
nbuilder: detail: shared_info_x86_32: called<br>2012-10-03 14:00:41 EEST [3=
773] domainbuilder: detail: vcpu_x86_32: called<br>
2012-10-03 14:00:41 EEST [3773] domainbuilder: detail: vcpu_x86_32: cr3: pf=
n 0x5c4 mfn 0x697ee4<br>2012-10-03 14:00:41 EEST [3773] domainbuilder: deta=
il: launch_vm: called, ctxt=3D0x7fdebf7fa650<br>2012-10-03 14:00:41 EEST [3=
773] domainbuilder: detail: xc_dom_release: called<br>
<br>- Valtteri<br><br><div class=3D"gmail_quote">2012/10/3 Ian Campbell <sp=
an dir=3D"ltr">&lt;<a href=3D"mailto:Ian.Campbell@citrix.com" target=3D"_bl=
ank">Ian.Campbell@citrix.com</a>&gt;</span><br><blockquote class=3D"gmail_q=
uote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1e=
x">
<div class=3D"im">On Wed, 2012-10-03 at 11:42 +0100, Valtteri Kiviniemi wro=
te:<br>
&gt; Hi,<br>
&gt;<br>
&gt; I tried to lower vcpus to 1, and now it produces a different crash:<br=
>
&gt;<br>
&gt; Unable to handle kernel NULL pointer dereference at virtual address<br=
>
&gt; 00000024<br>
&gt; =A0printing eip:<br>
&gt; c0232139<br>
&gt; 005c4000 -&gt; *pde =3D 00000000:00000000<br>
&gt; Oops: 0000 [#1]<br>
&gt; SMP<br>
&gt; CPU: =A0 =A00<br>
&gt; EIP: =A0 =A00061:[&lt;c0232139&gt;] =A0 =A0Not tainted VLI<br>
&gt; EFLAGS: 00010097 =A0 (2.6.16.33-xen-domU-oldgame #1)<br>
&gt; EIP is at blkif_int+0x1dc/0x228<br>
<br>
</div>I don&#39;t suppose you have source / debug info for this kernel to r=
esolve<br>
this into a location?<br>
<br>
You say this exact same config works with xend?<br>
<br>
If so then, since this appears to relate to the devices, one thing which<br=
>
might be worth trying is to set on_crash =3D &quot;preserve&quot; in your c=
onfig and<br>
run under both xend and xl. You can then collect the content of xenstore<br=
>
(xenstore-ls -fp) in both cases (xend booted ok, xl preserved in the<br>
crashed state), and compare.<br>
<br>
There will be a bunch of differences relating to the xend one finishing<br>
its boot but something might stand out in the diff. Just posting both<br>
sets of output might be useful.<br>
<br>
If you run &quot;xl -vvv create&quot; you should also get a bunch of stuff<=
br>
relating to the domain builder and where it is placing things. Running<br>
under xend I think something similar is dumped under /var/log/xen<br>
(domain-build-ng.log?)<br>
<br>
What does your config file look like?<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
Ian.<br>
<br>
<br>
</font></span></blockquote></div><br>

--001636ef09adc44f7f04cb25a56c--


--===============8545444535638952119==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--===============8545444535638952119==--


From xen-devel-bounces@lists.xen.org Fri Oct 05 18:01:53 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Oct 2012 18:01:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TKCDb-0002Ua-6E; Fri, 05 Oct 2012 18:01:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <matthew.fioravante@jhuapl.edu>) id 1TKCDZ-0002T7-4W
	for xen-devel@lists.xen.org; Fri, 05 Oct 2012 18:01:45 +0000
Received: from [85.158.139.211:3025] by server-7.bemta-5.messagelabs.com id
	71/CC-00431-8802F605; Fri, 05 Oct 2012 18:01:44 +0000
X-Env-Sender: matthew.fioravante@jhuapl.edu
X-Msg-Ref: server-12.tower-206.messagelabs.com!1349460097!20239802!1
X-Originating-IP: [128.244.251.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=UNPARSEABLE_RELAY
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6021 invoked from network); 5 Oct 2012 18:01:39 -0000
Received: from piper.jhuapl.edu (HELO jhuapl.edu) (128.244.251.37)
	by server-12.tower-206.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 5 Oct 2012 18:01:39 -0000
Received: from ([128.244.207.97])
	by piper.jhuapl.edu with ESMTP with TLS id 5Y8HCH1.146215583;
	Fri, 05 Oct 2012 14:01:02 -0400
From: Matthew Fioravante <matthew.fioravante@jhuapl.edu>
To: xen-devel@lists.xen.org, ian.campbell@citrix.com,
	samuel.thibault@ens-lyons.org
Date: Fri,  5 Oct 2012 14:01:17 -0400
Message-Id: <1349460077-13770-8-git-send-email-matthew.fioravante@jhuapl.edu>
X-Mailer: git-send-email 1.7.4.4
In-Reply-To: <1349460077-13770-1-git-send-email-matthew.fioravante@jhuapl.edu>
References: <1349460077-13770-1-git-send-email-matthew.fioravante@jhuapl.edu>
Cc: Matthew Fioravante <matthew.fioravante@jhuapl.edu>
Subject: [Xen-devel] [PATCH vtpm v2 08/12] add tpmfront, tpm_tis,
	and tpmback drivers to mini-os
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This patch adds 3 new drivers to mini-os.

tpmfront - paravirtualized tpm frontend driver
tpmback - paravirtualized tpm backend driver
tpm_tis - hardware tpm driver

Unfortunately these drivers were derived from GPL
licensed linux kernel drivers so they must carry
the GPL license. However, since mini-os now
supports conditional compilation, hopefully these
drivers can be included into the xen tree and
conditionally removed from non-gpl projects.
By default they are disabled in the makefile.

Signed-off-by: Matthew Fioravante <matthew.fioravante@jhuapl.edu>

diff --git a/extras/mini-os/Makefile b/extras/mini-os/Makefile
index 2422db3..2302a23 100644
--- a/extras/mini-os/Makefile
+++ b/extras/mini-os/Makefile
@@ -22,6 +22,9 @@ CONFIG_QEMU_XS_ARGS ?= n
 CONFIG_TEST ?= n
 CONFIG_PCIFRONT ?= n
 CONFIG_BLKFRONT ?= y
+CONFIG_TPMFRONT ?= n
+CONFIG_TPM_TIS ?= n
+CONFIG_TPMBACK ?= n
 CONFIG_NETFRONT ?= y
 CONFIG_FBFRONT ?= y
 CONFIG_KBDFRONT ?= y
@@ -36,6 +39,9 @@ flags-$(CONFIG_SPARSE_BSS) += -DCONFIG_SPARSE_BSS
 flags-$(CONFIG_QEMU_XS_ARGS) += -DCONFIG_QEMU_XS_ARGS
 flags-$(CONFIG_PCIFRONT) += -DCONFIG_PCIFRONT
 flags-$(CONFIG_BLKFRONT) += -DCONFIG_BLKFRONT
+flags-$(CONFIG_TPMFRONT) += -DCONFIG_TPMFRONT
+flags-$(CONFIG_TPM_TIS) += -DCONFIG_TPM_TIS
+flags-$(CONFIG_TPMBACK) += -DCONFIG_TPMBACK
 flags-$(CONFIG_NETFRONT) += -DCONFIG_NETFRONT
 flags-$(CONFIG_KBDFRONT) += -DCONFIG_KBDFRONT
 flags-$(CONFIG_FBFRONT) += -DCONFIG_FBFRONT
@@ -67,6 +73,9 @@ TARGET := mini-os
 SUBDIRS := lib xenbus console
 
 src-$(CONFIG_BLKFRONT) += blkfront.c
+src-$(CONFIG_TPMFRONT) += tpmfront.c
+src-$(CONFIG_TPM_TIS) += tpm_tis.c
+src-$(CONFIG_TPMBACK) += tpmback.c
 src-y += daytime.c
 src-y += events.c
 src-$(CONFIG_FBFRONT) += fbfront.c
diff --git a/extras/mini-os/include/lib.h b/extras/mini-os/include/lib.h
index d4641b6..935bede 100644
--- a/extras/mini-os/include/lib.h
+++ b/extras/mini-os/include/lib.h
@@ -142,6 +142,8 @@ enum fd_type {
     FTYPE_FB,
     FTYPE_MEM,
     FTYPE_SAVEFILE,
+    FTYPE_TPMFRONT,
+    FTYPE_TPM_TIS,
 };
 
 LIST_HEAD(evtchn_port_list, evtchn_port_info);
@@ -185,6 +187,20 @@ extern struct file {
 	struct {
 	    struct consfront_dev *dev;
 	} cons;
+#ifdef CONFIG_TPMFRONT
+	struct {
+	   struct tpmfront_dev *dev;
+	   int respgot;
+	   off_t offset;
+	} tpmfront;
+#endif
+#ifdef CONFIG_TPM_TIS
+	struct {
+	   struct tpm_chip *dev;
+	   int respgot;
+	   off_t offset;
+	} tpm_tis;
+#endif
 #ifdef CONFIG_XENBUS
         struct {
             /* To each xenbus FD is associated a queue of watch events for this
diff --git a/extras/mini-os/include/tpm_tis.h b/extras/mini-os/include/tpm_tis.h
new file mode 100644
index 0000000..1faca0d
--- /dev/null
+++ b/extras/mini-os/include/tpm_tis.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This code has been derived from drivers/char/tpm.c
+ * from the linux kernel
+ *
+ * Copyright (C) 2004 IBM Corporation
+ *
+ * This code has also been derived from drivers/char/tpm/tpm_tis.c
+ * from the linux kernel
+ *
+ * Copyright (C) 2005, 2006 IBM Corporation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, version 2
+ * of the License
+ */
+#ifndef TPM_TIS_H
+#define TPM_TIS_H
+
+#include <mini-os/types.h>
+#include <mini-os/byteorder.h>
+
+#define TPM_TIS_EN_LOCL0 1
+#define TPM_TIS_EN_LOCL1 (1 << 1)
+#define TPM_TIS_EN_LOCL2 (1 << 2)
+#define TPM_TIS_EN_LOCL3 (1 << 3)
+#define TPM_TIS_EN_LOCL4 (1 << 4)
+#define TPM_TIS_EN_LOCLALL (TPM_TIS_EN_LOCL0 | TPM_TIS_EN_LOCL1  | TPM_TIS_EN_LOCL2 | TPM_TIS_EN_LOCL3 | TPM_TIS_EN_LOCL4)
+#define TPM_TIS_LOCL_INT_TO_FLAG(x) (1 << x)
+#define TPM_BASEADDR 0xFED40000
+#define TPM_PROBE_IRQ 0xFFFF
+
+struct tpm_chip;
+
+struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq);
+void shutdown_tpm_tis(struct tpm_chip* tpm);
+
+int tpm_tis_request_locality(struct tpm_chip* tpm, int locality);
+int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen);
+
+#ifdef HAVE_LIBC
+#include <sys/stat.h>
+#include <fcntl.h>
+/* POSIX IO functions:
+ * use tpm_tis_open() to get a file descriptor to the tpm device
+ * use write() on the fd to send a command to the backend. You must
+ * include the entire command in a single call to write().
+ * use read() on the fd to read the response. You can use
+ * fstat() to get the size of the response and lseek() to seek on it.
+ */
+int tpm_tis_open(struct tpm_chip* tpm);
+int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count);
+int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count);
+int tpm_tis_posix_fstat(int fd, struct stat* buf);
+#endif
+
+#endif
diff --git a/extras/mini-os/include/tpmback.h b/extras/mini-os/include/tpmback.h
new file mode 100644
index 0000000..302f83b
--- /dev/null
+++ b/extras/mini-os/include/tpmback.h
@@ -0,0 +1,110 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This code has been derived from drivers/xen/tpmback/tpmback.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (c) 2005, IBM Corporation
+ *
+ * which was itself derived from drivers/xen/netback/netback.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (c) 2002-2004, K A Fraser
+ *
+ * This code has also been derived from drivers/xen/tpmback/xenbus.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (C) 2005 IBM Corporation
+ * Copyright (C) 2005 Rusty Russell <rusty@rustcorp.com.au>
+ *
+ * This code has also been derived from drivers/xen/tpmback/interface.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (c) 2005, IBM Corporation
+ *
+ * which was itself also derived from drvivers/xen/netback/interface.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (c) 2004, Keir Fraser
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, version 2
+ * of the License
+ */
+
+#include <xen/io/tpmif.h>
+#include <xen/io/xenbus.h>
+#include <mini-os/types.h>
+#include <xen/xen.h>
+#ifndef TPMBACK_H
+#define TPMBACK_H
+
+struct tpmcmd {
+   domid_t domid;		/* Domid of the frontend */
+   unsigned int handle;	/* Handle of the frontend */
+   char* uuid;			/* uuid of the tpm interface - allocated internally, dont free it */
+
+   unsigned int req_len;		/* Size of the command in buf - set by tpmback driver */
+   uint8_t* req;			/* tpm command bits, allocated by driver, DON'T FREE IT */
+   unsigned int resp_len;	/* Size of the outgoing command,
+				   you set this before passing the cmd object to tpmback_resp */
+   uint8_t* resp;		/* Buffer for response - YOU MUST ALLOCATE IT, YOU MUST ALSO FREE IT */
+};
+typedef struct tpmcmd tpmcmd_t;
+
+/* Initialize the tpm backend driver
+ * @exclusive_domname - This is NULL terminated list of vtpm uuid strings. If this list
+ * 			is non-empty, then only frontend domains with vtpm uuid's matching
+ * 			entries in this list will be allowed to connect.
+ * 			Other connections will be immediatly closed.
+ * 			Set this argument to NULL to allow any vtpm to connect.
+ */
+void init_tpmback(char** exclusive_uuids);
+/* Shutdown tpm backend driver */
+void shutdown_tpmback(void);
+
+/* Blocks until a tpm command is sent from any front end.
+ * Returns a pointer to the tpm command to handle.
+ * Do not try to free this pointer or the req buffer
+ * This function will return NULL if the tpm backend driver
+ * is shutdown or any other error occurs */
+tpmcmd_t* tpmback_req_any(void);
+
+/* Blocks until a tpm command from the frontend at domid/handle
+ * is sent.
+ * Returns NULL if domid/handle is not connected, tpmback is
+ * shutdown or shutting down, or if there is an error
+ */
+tpmcmd_t* tpmback_req(domid_t domid, unsigned int handle);
+
+/* Send the response to the tpm command back to the frontend
+ * This function will free the tpmcmd object, but you must free the resp
+ * buffer yourself */
+void tpmback_resp(tpmcmd_t* tpmcmd);
+
+/* Waits for the first frontend to connect and then sets domid and handle appropriately.
+ * If one or more frontends are already connected, this will set domid and handle to one
+ * of them arbitrarily. The main use for this function is to wait until a single
+ * frontend connection has occured.
+ * returns 0 on success, non-zero on failure */
+int tpmback_wait_for_frontend_connect(domid_t *domid, unsigned int *handle);
+
+/* returns the number of frontends connected */
+int tpmback_num_frontends(void);
+
+/* Returns the uuid of the specified frontend, NULL on error */
+char* tpmback_get_uuid(domid_t domid, unsigned int handle);
+
+/* Specify a function to call when a new tpm device connects */
+void tpmback_set_open_callback(void (*cb)(domid_t, unsigned int));
+
+/* Specify a function to call when a tpm device disconnects */
+void tpmback_set_close_callback(void (*cb)(domid_t, unsigned int));
+
+//Not Implemented
+void tpmback_set_suspend_callback(void (*cb)(domid_t, unsigned int));
+void tpmback_set_resume_callback(void (*cb)(domid_t, unsigned int));
+
+#endif
diff --git a/extras/mini-os/include/tpmfront.h b/extras/mini-os/include/tpmfront.h
new file mode 100644
index 0000000..fd2cb17
--- /dev/null
+++ b/extras/mini-os/include/tpmfront.h
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This code has been derived from drivers/char/tpm_vtpm.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (C) 2006 IBM Corporation
+ *
+ * This code has also been derived from drivers/char/tpm_xen.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (c) 2005, IBM Corporation
+ *
+ * which was itself derived from drivers/xen/netfront/netfront.c
+ * from the linux kernel
+ *
+ * Copyright (c) 2002-2004, K A Fraser
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2 of the
+ * License.
+ */
+#ifndef TPMFRONT_H
+#define TPMFRONT_H
+
+#include <mini-os/types.h>
+#include <mini-os/os.h>
+#include <mini-os/events.h>
+#include <mini-os/wait.h>
+#include <xen/xen.h>
+#include <xen/io/xenbus.h>
+#include <xen/io/tpmif.h>
+
+struct tpmfront_dev {
+   grant_ref_t ring_ref;
+   evtchn_port_t evtchn;
+
+   tpmif_tx_interface_t* tx;
+
+   void** pages;
+
+   domid_t bedomid;
+   char* nodename;
+   char* bepath;
+
+   XenbusState state;
+
+   uint8_t waiting;
+   struct wait_queue_head waitq;
+
+   uint8_t* respbuf;
+   size_t resplen;
+
+#ifdef HAVE_LIBC
+   int fd;
+#endif
+
+};
+
+
+/*Initialize frontend */
+struct tpmfront_dev* init_tpmfront(const char* nodename);
+/*Shutdown frontend */
+void shutdown_tpmfront(struct tpmfront_dev* dev);
+
+/* Send a tpm command to the backend and wait for the response
+ *
+ * @dev - frontend device
+ * @req - request buffer
+ * @reqlen - length of request buffer
+ * @resp - *resp will be set to internal response buffer, don't free it! Value is undefined on error
+ * @resplen - *resplen will be set to the length of the response. Value is undefined on error
+ *
+ * returns 0 on success, non zero on failure.
+ * */
+int tpmfront_cmd(struct tpmfront_dev* dev, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen);
+
+#ifdef HAVE_LIBC
+#include <sys/stat.h>
+/* POSIX IO functions:
+ * use tpmfront_open() to get a file descriptor to the tpm device
+ * use write() on the fd to send a command to the backend. You must
+ * include the entire command in a single call to write().
+ * use read() on the fd to read the response. You can use
+ * fstat() to get the size of the response and lseek() to seek on it.
+ */
+int tpmfront_open(struct tpmfront_dev* dev);
+int tpmfront_posix_read(int fd, uint8_t* buf, size_t count);
+int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count);
+int tpmfront_posix_fstat(int fd, struct stat* buf);
+#endif
+
+
+#endif
diff --git a/extras/mini-os/lib/sys.c b/extras/mini-os/lib/sys.c
index 6cb97b1..d212969 100644
--- a/extras/mini-os/lib/sys.c
+++ b/extras/mini-os/lib/sys.c
@@ -27,6 +27,8 @@
 #include <netfront.h>
 #include <blkfront.h>
 #include <fbfront.h>
+#include <tpmfront.h>
+#include <tpm_tis.h>
 #include <xenbus.h>
 #include <xenstore.h>
 
@@ -294,6 +296,16 @@ int read(int fd, void *buf, size_t nbytes)
 	    return blkfront_posix_read(fd, buf, nbytes);
         }
 #endif
+#ifdef CONFIG_TPMFRONT
+        case FTYPE_TPMFRONT: {
+	    return tpmfront_posix_read(fd, buf, nbytes);
+        }
+#endif
+#ifdef CONFIG_TPM_TIS
+        case FTYPE_TPM_TIS: {
+	    return tpm_tis_posix_read(fd, buf, nbytes);
+        }
+#endif
 	default:
 	    break;
     }
@@ -330,6 +342,14 @@ int write(int fd, const void *buf, size_t nbytes)
 	case FTYPE_BLK:
 	    return blkfront_posix_write(fd, buf, nbytes);
 #endif
+#ifdef CONFIG_TPMFRONT
+	case FTYPE_TPMFRONT:
+	    return tpmfront_posix_write(fd, buf, nbytes);
+#endif
+#ifdef CONFIG_TPM_TIS
+	case FTYPE_TPM_TIS:
+	    return tpm_tis_posix_write(fd, buf, nbytes);
+#endif
 	default:
 	    break;
     }
@@ -341,8 +361,16 @@ int write(int fd, const void *buf, size_t nbytes)
 off_t lseek(int fd, off_t offset, int whence)
 {
     switch(files[fd].type) {
+#if defined(CONFIG_BLKFRONT) || defined(CONFIG_TPMFRONT) || defined(CONFIG_TPM_TIS)
 #ifdef CONFIG_BLKFRONT
        case FTYPE_BLK:
+#endif
+#ifdef CONFIG_TPMFRNT
+       case FTYPE_TPMFRONT:
+#endif
+#ifdef CONFIG_TPM_TIS
+       case FTYPE_TPM_TIS:
+#endif
 	  switch (whence) {
 	     case SEEK_SET:
 		files[fd].file.offset = offset;
@@ -420,6 +448,18 @@ int close(int fd)
 	    files[fd].type = FTYPE_NONE;
 	    return 0;
 #endif
+#ifdef CONFIG_TPMFRONT
+	case FTYPE_TPMFRONT:
+            shutdown_tpmfront(files[fd].tpmfront.dev);
+	    files[fd].type = FTYPE_NONE;
+	    return 0;
+#endif
+#ifdef CONFIG_TPM_TIS
+	case FTYPE_TPM_TIS:
+            shutdown_tpm_tis(files[fd].tpm_tis.dev);
+	    files[fd].type = FTYPE_NONE;
+	    return 0;
+#endif
 #ifdef CONFIG_KBDFRONT
 	case FTYPE_KBD:
             shutdown_kbdfront(files[fd].kbd.dev);
@@ -489,6 +529,14 @@ int fstat(int fd, struct stat *buf)
 	case FTYPE_BLK:
 	   return blkfront_posix_fstat(fd, buf);
 #endif
+#ifdef CONFIG_TPMFRONT
+	case FTYPE_TPMFRONT:
+	   return tpmfront_posix_fstat(fd, buf);
+#endif
+#ifdef CONFIG_TPM_TIS
+	case FTYPE_TPM_TIS:
+	   return tpm_tis_posix_fstat(fd, buf);
+#endif
 	default:
 	    break;
     }
diff --git a/extras/mini-os/tpm_tis.c b/extras/mini-os/tpm_tis.c
new file mode 100644
index 0000000..b0e27b2
--- /dev/null
+++ b/extras/mini-os/tpm_tis.c
@@ -0,0 +1,1341 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This code has been derived from drivers/char/tpm.c
+ * from the linux kernel
+ *
+ * Copyright (C) 2004 IBM Corporation
+ *
+ * This code has also been derived from drivers/char/tpm/tpm_tis.c
+ * from the linux kernel
+ *
+ * Copyright (C) 2005, 2006 IBM Corporation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, version 2
+ * of the License
+ */
+#include <mini-os/ioremap.h>
+#include <mini-os/iorw.h>
+#include <mini-os/tpm_tis.h>
+#include <mini-os/os.h>
+#include <mini-os/sched.h>
+#include <mini-os/byteorder.h>
+#include <mini-os/events.h>
+#include <mini-os/wait.h>
+#include <mini-os/xmalloc.h>
+#include <errno.h>
+#include <stdbool.h>
+
+#ifndef min
+	#define min( a, b ) ( ((a) < (b)) ? (a) : (b) )
+#endif
+
+#define TPM_HEADER_SIZE 10
+
+#define TPM_BUFSIZE 2048
+
+struct tpm_input_header {
+        uint16_t  tag;
+        uint32_t  length;
+        uint32_t  ordinal;
+}__attribute__((packed));
+
+struct tpm_output_header {
+        uint16_t  tag;
+        uint32_t  length;
+        uint32_t  return_code;
+}__attribute__((packed));
+
+struct  stclear_flags_t {
+        uint16_t  tag;
+        uint8_t      deactivated;
+        uint8_t      disableForceClear;
+        uint8_t      physicalPresence;
+        uint8_t      physicalPresenceLock;
+        uint8_t      bGlobalLock;
+}__attribute__((packed));
+
+struct  tpm_version_t {
+        uint8_t      Major;
+        uint8_t      Minor;
+        uint8_t      revMajor;
+        uint8_t      revMinor;
+}__attribute__((packed));
+
+struct  tpm_version_1_2_t {
+        uint16_t  tag;
+        uint8_t      Major;
+        uint8_t      Minor;
+        uint8_t      revMajor;
+        uint8_t      revMinor;
+}__attribute__((packed));
+
+struct  timeout_t {
+        uint32_t  a;
+        uint32_t  b;
+        uint32_t  c;
+        uint32_t  d;
+}__attribute__((packed));
+
+struct duration_t {
+        uint32_t  tpm_short;
+        uint32_t  tpm_medium;
+        uint32_t  tpm_long;
+}__attribute__((packed));
+
+struct permanent_flags_t {
+        uint16_t  tag;
+        uint8_t      disable;
+        uint8_t      ownership;
+        uint8_t      deactivated;
+        uint8_t      readPubek;
+        uint8_t      disableOwnerClear;
+        uint8_t      allowMaintenance;
+        uint8_t      physicalPresenceLifetimeLock;
+        uint8_t      physicalPresenceHWEnable;
+        uint8_t      physicalPresenceCMDEnable;
+        uint8_t      CEKPUsed;
+        uint8_t      TPMpost;
+        uint8_t      TPMpostLock;
+        uint8_t      FIPS;
+        uint8_t      operator;
+        uint8_t      enableRevokeEK;
+        uint8_t      nvLocked;
+        uint8_t      readSRKPub;
+        uint8_t      tpmEstablished;
+        uint8_t      maintenanceDone;
+        uint8_t      disableFullDALogicInfo;
+}__attribute__((packed));
+
+typedef union {
+        struct  permanent_flags_t perm_flags;
+        struct  stclear_flags_t stclear_flags;
+        bool    owned;
+        uint32_t  num_pcrs;
+        struct  tpm_version_t   tpm_version;
+        struct  tpm_version_1_2_t tpm_version_1_2;
+        uint32_t  manufacturer_id;
+        struct timeout_t  timeout;
+        struct duration_t duration;
+} cap_t;
+
+struct  tpm_getcap_params_in {
+        uint32_t  cap;
+        uint32_t  subcap_size;
+        uint32_t  subcap;
+}__attribute__((packed));
+
+struct  tpm_getcap_params_out {
+        uint32_t  cap_size;
+        cap_t   cap;
+}__attribute__((packed));
+
+struct  tpm_readpubek_params_out {
+        uint8_t      algorithm[4];
+        uint8_t      encscheme[2];
+        uint8_t      sigscheme[2];
+        uint32_t  paramsize;
+        uint8_t      parameters[12]; /*assuming RSA*/
+        uint32_t  keysize;
+        uint8_t      modulus[256];
+        uint8_t      checksum[20];
+}__attribute__((packed));
+
+typedef union {
+        struct  tpm_input_header in;
+        struct  tpm_output_header out;
+} tpm_cmd_header;
+
+#define TPM_DIGEST_SIZE 20
+struct tpm_pcrread_out {
+        uint8_t      pcr_result[TPM_DIGEST_SIZE];
+}__attribute__((packed));
+
+struct tpm_pcrread_in {
+        uint32_t  pcr_idx;
+}__attribute__((packed));
+
+struct tpm_pcrextend_in {
+        uint32_t  pcr_idx;
+        uint8_t      hash[TPM_DIGEST_SIZE];
+}__attribute__((packed));
+
+typedef union {
+        struct  tpm_getcap_params_out getcap_out;
+        struct  tpm_readpubek_params_out readpubek_out;
+        uint8_t      readpubek_out_buffer[sizeof(struct tpm_readpubek_params_out)];
+        struct  tpm_getcap_params_in getcap_in;
+        struct  tpm_pcrread_in  pcrread_in;
+        struct  tpm_pcrread_out pcrread_out;
+        struct  tpm_pcrextend_in pcrextend_in;
+} tpm_cmd_params;
+
+struct tpm_cmd_t {
+        tpm_cmd_header  header;
+        tpm_cmd_params  params;
+}__attribute__((packed));
+
+
+enum tpm_duration {
+   TPM_SHORT = 0,
+   TPM_MEDIUM = 1,
+   TPM_LONG = 2,
+   TPM_UNDEFINED,
+};
+
+#define TPM_MAX_ORDINAL 243
+#define TPM_MAX_PROTECTED_ORDINAL 12
+#define TPM_PROTECTED_ORDINAL_MASK 0xFF
+
+extern const uint8_t tpm_protected_ordinal_duration[TPM_MAX_PROTECTED_ORDINAL];
+extern const uint8_t tpm_ordinal_duration[TPM_MAX_ORDINAL];
+
+#define TPM_DIGEST_SIZE 20
+#define TPM_ERROR_SIZE 10
+#define TPM_RET_CODE_IDX 6
+
+/* tpm_capabilities */
+#define TPM_CAP_FLAG cpu_to_be32(4)
+#define TPM_CAP_PROP cpu_to_be32(5)
+#define CAP_VERSION_1_1 cpu_to_be32(0x06)
+#define CAP_VERSION_1_2 cpu_to_be32(0x1A)
+
+/* tpm_sub_capabilities */
+#define TPM_CAP_PROP_PCR cpu_to_be32(0x101)
+#define TPM_CAP_PROP_MANUFACTURER cpu_to_be32(0x103)
+#define TPM_CAP_FLAG_PERM cpu_to_be32(0x108)
+#define TPM_CAP_FLAG_VOL cpu_to_be32(0x109)
+#define TPM_CAP_PROP_OWNER cpu_to_be32(0x111)
+#define TPM_CAP_PROP_TIS_TIMEOUT cpu_to_be32(0x115)
+#define TPM_CAP_PROP_TIS_DURATION cpu_to_be32(0x120)
+
+
+#define TPM_INTERNAL_RESULT_SIZE 200
+#define TPM_TAG_RQU_COMMAND cpu_to_be16(193)
+#define TPM_ORD_GET_CAP cpu_to_be32(101)
+
+extern const struct tpm_input_header tpm_getcap_header;
+
+
+
+const uint8_t tpm_protected_ordinal_duration[TPM_MAX_PROTECTED_ORDINAL] = {
+   TPM_UNDEFINED,          /* 0 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 5 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 10 */
+   TPM_SHORT,
+};
+
+const uint8_t tpm_ordinal_duration[TPM_MAX_ORDINAL] = {
+   TPM_UNDEFINED,          /* 0 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 5 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 10 */
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_LONG,
+   TPM_LONG,
+   TPM_MEDIUM,             /* 15 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_LONG,
+   TPM_SHORT,              /* 20 */
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_SHORT,              /* 25 */
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_MEDIUM,             /* 30 */
+   TPM_LONG,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,              /* 35 */
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_MEDIUM,             /* 40 */
+   TPM_LONG,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,              /* 45 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_LONG,
+   TPM_MEDIUM,             /* 50 */
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 55 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_MEDIUM,             /* 60 */
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_MEDIUM,             /* 65 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 70 */
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 75 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_LONG,               /* 80 */
+   TPM_UNDEFINED,
+   TPM_MEDIUM,
+   TPM_LONG,
+   TPM_SHORT,
+   TPM_UNDEFINED,          /* 85 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 90 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,          /* 95 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_MEDIUM,             /* 100 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 105 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 110 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,              /* 115 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_LONG,               /* 120 */
+   TPM_LONG,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_SHORT,
+   TPM_SHORT,              /* 125 */
+   TPM_SHORT,
+   TPM_LONG,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,              /* 130 */
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,          /* 135 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 140 */
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 145 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 150 */
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,          /* 155 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 160 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 165 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_LONG,               /* 170 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 175 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_MEDIUM,             /* 180 */
+   TPM_SHORT,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_MEDIUM,             /* 185 */
+   TPM_SHORT,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 190 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 195 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 200 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,
+   TPM_SHORT,              /* 205 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_MEDIUM,             /* 210 */
+   TPM_UNDEFINED,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,          /* 215 */
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,
+   TPM_SHORT,              /* 220 */
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_SHORT,
+   TPM_UNDEFINED,          /* 225 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 230 */
+   TPM_LONG,
+   TPM_MEDIUM,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,          /* 235 */
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_UNDEFINED,
+   TPM_SHORT,              /* 240 */
+   TPM_UNDEFINED,
+   TPM_MEDIUM,
+};
+
+const struct tpm_input_header tpm_getcap_header = {
+        .tag = TPM_TAG_RQU_COMMAND,
+        .length = cpu_to_be32(22),
+        .ordinal = TPM_ORD_GET_CAP
+};
+
+
+enum tis_access {
+   TPM_ACCESS_VALID = 0x80,
+   TPM_ACCESS_ACTIVE_LOCALITY = 0x20,	/* (R) */
+   TPM_ACCESS_RELINQUISH_LOCALITY = 0x20,/* (W) */
+   TPM_ACCESS_REQUEST_PENDING = 0x04,	/* (W) */
+   TPM_ACCESS_REQUEST_USE = 0x02,	/* (W) */
+};
+
+enum tis_status {
+   TPM_STS_VALID = 0x80,		/* (R) */
+   TPM_STS_COMMAND_READY = 0x40,	/* (R) */
+   TPM_STS_DATA_AVAIL = 0x10,		/* (R) */
+   TPM_STS_DATA_EXPECT = 0x08,		/* (R) */
+   TPM_STS_GO = 0x20,			/* (W) */
+};
+
+enum tis_int_flags {
+   TPM_GLOBAL_INT_ENABLE = 0x80000000,
+   TPM_INTF_BURST_COUNT_STATIC = 0x100,
+   TPM_INTF_CMD_READY_INT = 0x080,
+   TPM_INTF_INT_EDGE_FALLING = 0x040,
+   TPM_INTF_INT_EDGE_RISING = 0x020,
+   TPM_INTF_INT_LEVEL_LOW = 0x010,
+   TPM_INTF_INT_LEVEL_HIGH = 0x008,
+   TPM_INTF_LOCALITY_CHANGE_INT = 0x004,
+   TPM_INTF_STS_VALID_INT = 0x002,
+   TPM_INTF_DATA_AVAIL_INT = 0x001,
+};
+
+enum tis_defaults {
+   TIS_MEM_BASE = 0xFED40000,
+   TIS_MEM_LEN  = 0x5000,
+   TIS_SHORT_TIMEOUT = 750, /*ms*/
+   TIS_LONG_TIMEOUT = 2000, /*2 sec */
+};
+
+#define TPM_TIMEOUT 5
+
+#define TPM_ACCESS(t, l)                   (((uint8_t*)t->pages[l]) + 0x0000)
+#define TPM_INT_ENABLE(t, l)               ((uint32_t*)(((uint8_t*)t->pages[l]) + 0x0008))
+#define TPM_INT_VECTOR(t, l)               (((uint8_t*)t->pages[l]) + 0x000C)
+#define TPM_INT_STATUS(t, l)               (((uint8_t*)t->pages[l]) + 0x0010)
+#define TPM_INTF_CAPS(t, l)                ((uint32_t*)(((uint8_t*)t->pages[l]) + 0x0014))
+#define TPM_STS(t, l)                      ((uint8_t*)(((uint8_t*)t->pages[l]) + 0x0018))
+#define TPM_DATA_FIFO(t, l)                (((uint8_t*)t->pages[l]) + 0x0024)
+
+#define TPM_DID_VID(t, l)                  ((uint32_t*)(((uint8_t*)t->pages[l]) + 0x0F00))
+#define TPM_RID(t, l)                      (((uint8_t*)t->pages[l]) + 0x0F04)
+
+struct tpm_chip {
+   int enabled_localities;
+   int locality;
+   unsigned long baseaddr;
+   uint8_t* pages[5];
+   int did, vid, rid;
+
+   uint8_t data_buffer[TPM_BUFSIZE];
+   int data_len;
+
+   s_time_t timeout_a, timeout_b, timeout_c, timeout_d;
+   s_time_t duration[3];
+
+#ifdef HAVE_LIBC
+   int fd;
+#endif
+
+   unsigned int irq;
+   struct wait_queue_head read_queue;
+   struct wait_queue_head int_queue;
+};
+
+
+static void __init_tpm_chip(struct tpm_chip* tpm) {
+   tpm->enabled_localities = TPM_TIS_EN_LOCLALL;
+   tpm->locality = -1;
+   tpm->baseaddr = 0;
+   tpm->pages[0] = tpm->pages[1] = tpm->pages[2] = tpm->pages[3] = tpm->pages[4] = NULL;
+   tpm->vid = 0;
+   tpm->did = 0;
+   tpm->irq = 0;
+   init_waitqueue_head(&tpm->read_queue);
+   init_waitqueue_head(&tpm->int_queue);
+
+   tpm->data_len = -1;
+
+#ifdef HAVE_LIBC
+   tpm->fd = -1;
+#endif
+}
+
+/*
+ * Returns max number of nsecs to wait
+ */
+s_time_t tpm_calc_ordinal_duration(struct tpm_chip *chip,
+      uint32_t ordinal)
+{
+   int duration_idx = TPM_UNDEFINED;
+   s_time_t duration = 0;
+
+   if (ordinal < TPM_MAX_ORDINAL)
+      duration_idx = tpm_ordinal_duration[ordinal];
+   else if ((ordinal & TPM_PROTECTED_ORDINAL_MASK) <
+	 TPM_MAX_PROTECTED_ORDINAL)
+      duration_idx =
+	 tpm_protected_ordinal_duration[ordinal &
+	 TPM_PROTECTED_ORDINAL_MASK];
+
+   if (duration_idx != TPM_UNDEFINED) {
+      duration = chip->duration[duration_idx];
+   }
+
+   if (duration <= 0) {
+      return SECONDS(120);
+   }
+   else
+   {
+      return duration;
+   }
+}
+
+
+static int locality_enabled(struct tpm_chip* tpm, int l) {
+   return tpm->enabled_localities & (1 << l);
+}
+
+static int check_locality(struct tpm_chip* tpm, int l) {
+   if(locality_enabled(tpm, l) && (ioread8(TPM_ACCESS(tpm, l)) &
+	    (TPM_ACCESS_ACTIVE_LOCALITY | TPM_ACCESS_VALID)) ==
+	 (TPM_ACCESS_ACTIVE_LOCALITY | TPM_ACCESS_VALID)) {
+      return l;
+   }
+   return -1;
+}
+
+void release_locality(struct tpm_chip* tpm, int l, int force)
+{
+   if (locality_enabled(tpm, l) && (force || (ioread8(TPM_ACCESS(tpm, l)) &
+	       (TPM_ACCESS_REQUEST_PENDING | TPM_ACCESS_VALID)) ==
+	    (TPM_ACCESS_REQUEST_PENDING | TPM_ACCESS_VALID))) {
+      iowrite8(TPM_ACCESS(tpm, l), TPM_ACCESS_RELINQUISH_LOCALITY);
+   }
+}
+
+int tpm_tis_request_locality(struct tpm_chip* tpm, int l) {
+
+   s_time_t stop;
+   /*Make sure locality is valid */
+   if(!locality_enabled(tpm, l)) {
+      printk("tpm_tis_change_locality() Tried to change to locality %d, but it is disabled or invalid!\n", l);
+      return -1;
+   }
+   /* Check if we already have the current locality */
+   if(check_locality(tpm, l) >= 0) {
+      return tpm->locality = l;
+   }
+   /* Set the new locality*/
+   iowrite8(TPM_ACCESS(tpm, l), TPM_ACCESS_REQUEST_USE);
+
+   if(tpm->irq) {
+      /* Wait for interrupt */
+      wait_event_deadline(tpm->int_queue, (check_locality(tpm, l) >= 0), NOW() + tpm->timeout_a);
+
+      /* FIXME: Handle timeout event, should return error in that case */
+      return l;
+   } else {
+      /* Wait for burstcount */
+      stop = NOW() + tpm->timeout_a;
+      do {
+	 if(check_locality(tpm, l) >= 0) {
+	    return tpm->locality = l;
+	 }
+	 msleep(TPM_TIMEOUT);
+      } while(NOW() < stop);
+   }
+
+   printk("REQ LOCALITY FAILURE\n");
+   return -1;
+}
+
+static uint8_t tpm_tis_status(struct tpm_chip* tpm) {
+   return ioread8(TPM_STS(tpm, tpm->locality));
+}
+
+/* This causes the current command to be aborted */
+static void tpm_tis_ready(struct tpm_chip* tpm) {
+   iowrite8(TPM_STS(tpm, tpm->locality), TPM_STS_COMMAND_READY);
+}
+#define tpm_tis_cancel_cmd(v) tpm_tis_ready(v)
+
+static int get_burstcount(struct tpm_chip* tpm) {
+   s_time_t stop;
+   int burstcnt;
+
+   stop = NOW() + tpm->timeout_d;
+   do {
+      burstcnt = ioread8((TPM_STS(tpm, tpm->locality) + 1));
+      burstcnt += ioread8(TPM_STS(tpm, tpm->locality) + 2) << 8;
+
+      if (burstcnt) {
+	 return burstcnt;
+      }
+      msleep(TPM_TIMEOUT);
+   } while(NOW() < stop);
+   return -EBUSY;
+}
+
+static int wait_for_stat(struct tpm_chip* tpm, uint8_t mask,
+      unsigned long timeout, struct wait_queue_head* queue) {
+   s_time_t stop;
+   uint8_t status;
+
+   status = tpm_tis_status(tpm);
+   if((status & mask) == mask) {
+      return 0;
+   }
+
+   if(tpm->irq) {
+      wait_event_deadline(*queue, ((tpm_tis_status(tpm) & mask) == mask), timeout);
+      /* FIXME: Check for timeout and return -ETIME */
+      return 0;
+   } else {
+      stop = NOW() + timeout;
+      do {
+	 msleep(TPM_TIMEOUT);
+	 status = tpm_tis_status(tpm);
+	 if((status & mask) == mask)
+	    return 0;
+      } while( NOW() < stop);
+   }
+   return -ETIME;
+}
+
+static int recv_data(struct tpm_chip* tpm, uint8_t* buf, size_t count) {
+   int size = 0;
+   int burstcnt;
+   while( size < count &&
+	 wait_for_stat(tpm,
+	    TPM_STS_DATA_AVAIL | TPM_STS_VALID,
+	    tpm->timeout_c,
+	    &tpm->read_queue)
+	 == 0) {
+      burstcnt = get_burstcount(tpm);
+      for(; burstcnt > 0 && size < count; --burstcnt)
+      {
+	 buf[size++] = ioread8(TPM_DATA_FIFO(tpm, tpm->locality));
+      }
+   }
+   return size;
+}
+
+int tpm_tis_recv(struct tpm_chip* tpm, uint8_t* buf, size_t count) {
+   int size = 0;
+   int expected, status;
+
+   if (count < TPM_HEADER_SIZE) {
+      size = -EIO;
+      goto out;
+   }
+
+   /* read first 10 bytes, including tag, paramsize, and result */
+   if((size =
+	    recv_data(tpm, buf, TPM_HEADER_SIZE)) < TPM_HEADER_SIZE) {
+      printk("Error reading tpm cmd header\n");
+      goto out;
+   }
+
+   expected = be32_to_cpu(*((uint32_t*)(buf + 2)));
+   if(expected > count) {
+      size = -EIO;
+      goto out;
+   }
+
+   if((size += recv_data(tpm, & buf[TPM_HEADER_SIZE],
+	       expected - TPM_HEADER_SIZE)) < expected) {
+      printk("Unable to read rest of tpm command size=%d expected=%d\n", size, expected);
+      size = -ETIME;
+      goto out;
+   }
+
+   wait_for_stat(tpm, TPM_STS_VALID, tpm->timeout_c, &tpm->int_queue);
+   status = tpm_tis_status(tpm);
+   if(status & TPM_STS_DATA_AVAIL) {
+      printk("Error: left over data\n");
+      size = -EIO;
+      goto out;
+   }
+
+out:
+   tpm_tis_ready(tpm);
+   release_locality(tpm, tpm->locality, 0);
+   return size;
+}
+int tpm_tis_send(struct tpm_chip* tpm, uint8_t* buf, size_t len) {
+   int rc;
+   int status, burstcnt = 0;
+   int count = 0;
+   uint32_t ordinal;
+
+   if(tpm_tis_request_locality(tpm, tpm->locality) < 0) {
+      return -EBUSY;
+   }
+
+   status = tpm_tis_status(tpm);
+   if((status & TPM_STS_COMMAND_READY) == 0) {
+      tpm_tis_ready(tpm);
+      if(wait_for_stat(tpm, TPM_STS_COMMAND_READY, tpm->timeout_b, &tpm->int_queue) < 0) {
+	 rc = -ETIME;
+	 goto out_err;
+      }
+   }
+
+   while(count < len - 1) {
+      burstcnt = get_burstcount(tpm);
+      for(;burstcnt > 0 && count < len -1; --burstcnt) {
+	 iowrite8(TPM_DATA_FIFO(tpm, tpm->locality), buf[count++]);
+      }
+
+      wait_for_stat(tpm, TPM_STS_VALID, tpm->timeout_c, &tpm->int_queue);
+      status = tpm_tis_status(tpm);
+      if((status & TPM_STS_DATA_EXPECT) == 0) {
+	 rc = -EIO;
+	 goto out_err;
+      }
+   }
+
+   /*Write last byte*/
+   iowrite8(TPM_DATA_FIFO(tpm, tpm->locality), buf[count]);
+   wait_for_stat(tpm, TPM_STS_VALID, tpm->timeout_c, &tpm->read_queue);
+   status = tpm_tis_status(tpm);
+   if((status & TPM_STS_DATA_EXPECT) != 0) {
+      rc = -EIO;
+      goto out_err;
+   }
+
+   /*go and do it*/
+   iowrite8(TPM_STS(tpm, tpm->locality), TPM_STS_GO);
+
+   if(tpm->irq) {
+      /*Wait for interrupt */
+      ordinal = be32_to_cpu(*(buf + 6));
+      if(wait_for_stat(tpm,
+	       TPM_STS_DATA_AVAIL | TPM_STS_VALID,
+	       tpm_calc_ordinal_duration(tpm, ordinal),
+	       &tpm->read_queue) < 0) {
+	 rc = -ETIME;
+	 goto out_err;
+      }
+   }
+#ifdef HAVE_LIBC
+   if(tpm->fd >= 0) {
+      files[tpm->fd].read = 0;
+      files[tpm->fd].tpm_tis.respgot = 0;
+      files[tpm->fd].tpm_tis.offset = 0;
+   }
+#endif
+   return len;
+
+out_err:
+   tpm_tis_ready(tpm);
+   release_locality(tpm, tpm->locality, 0);
+   return rc;
+}
+
+static void tpm_tis_irq_handler(evtchn_port_t port, struct pt_regs *regs, void* data)
+{
+   struct tpm_chip* tpm = data;
+   uint32_t interrupt;
+   int i;
+
+   interrupt = ioread32(TPM_INT_STATUS(tpm, tpm->locality));
+   if(interrupt == 0) {
+      return;
+   }
+
+   if(interrupt & TPM_INTF_DATA_AVAIL_INT) {
+      wake_up(&tpm->read_queue);
+   }
+   if(interrupt & TPM_INTF_LOCALITY_CHANGE_INT) {
+      for(i = 0; i < 5; ++i) {
+	 if(check_locality(tpm, i) >= 0) {
+	    break;
+	 }
+      }
+   }
+   if(interrupt & (TPM_INTF_LOCALITY_CHANGE_INT | TPM_INTF_STS_VALID_INT |
+	    TPM_INTF_CMD_READY_INT)) {
+      wake_up(&tpm->int_queue);
+   }
+
+   /* Clear interrupts handled with TPM_EOI */
+   iowrite32(TPM_INT_STATUS(tpm, tpm->locality), interrupt);
+   ioread32(TPM_INT_STATUS(tpm, tpm->locality));
+   return;
+}
+
+/*
+ * Internal kernel interface to transmit TPM commands
+ */
+static ssize_t tpm_transmit(struct tpm_chip *chip, const uint8_t *buf,
+      size_t bufsiz)
+{
+   ssize_t rc;
+   uint32_t count, ordinal;
+   s_time_t stop;
+
+   count = be32_to_cpu(*((uint32_t *) (buf + 2)));
+   ordinal = be32_to_cpu(*((uint32_t *) (buf + 6)));
+   if (count == 0)
+      return -ENODATA;
+   if (count > bufsiz) {
+      printk("Error: invalid count value %x %zx \n", count, bufsiz);
+      return -E2BIG;
+   }
+
+   //down(&chip->tpm_mutex);
+
+   if ((rc = tpm_tis_send(chip, (uint8_t *) buf, count)) < 0) {
+      printk("tpm_transmit: tpm_send: error %zd\n", rc);
+      goto out;
+   }
+
+   if (chip->irq)
+      goto out_recv;
+
+   stop = NOW() + tpm_calc_ordinal_duration(chip, ordinal);
+   do {
+      uint8_t status = tpm_tis_status(chip);
+      if ((status & (TPM_STS_DATA_AVAIL | TPM_STS_VALID)) ==
+	    (TPM_STS_DATA_AVAIL | TPM_STS_VALID))
+	 goto out_recv;
+
+      if ((status == TPM_STS_COMMAND_READY)) {
+	 printk("TPM Error: Operation Canceled\n");
+	 rc = -ECANCELED;
+	 goto out;
+      }
+
+      msleep(TPM_TIMEOUT);    /* CHECK */
+      rmb();
+   } while (NOW() < stop);
+
+   /* Cancel the command */
+   tpm_tis_cancel_cmd(chip);
+   printk("TPM Operation Timed out\n");
+   rc = -ETIME;
+   goto out;
+
+out_recv:
+   if((rc = tpm_tis_recv(chip, (uint8_t *) buf, bufsiz)) < 0) {
+      printk("tpm_transmit: tpm_recv: error %d\n", rc);
+   }
+out:
+   //up(&chip->tpm_mutex);
+   return rc;
+}
+
+static ssize_t transmit_cmd(struct tpm_chip *chip, struct tpm_cmd_t *cmd,
+                            int len, const char *desc)
+{
+        int err;
+
+        len = tpm_transmit(chip,(uint8_t *) cmd, len);
+        if (len <  0)
+                return len;
+        if (len == TPM_ERROR_SIZE) {
+                err = be32_to_cpu(cmd->header.out.return_code);
+                printk("A TPM error (%d) occurred %s\n", err, desc);
+                return err;
+        }
+        return 0;
+}
+
+void tpm_get_timeouts(struct tpm_chip *chip)
+{
+   struct tpm_cmd_t tpm_cmd;
+   struct timeout_t *timeout_cap;
+   struct duration_t *duration_cap;
+   ssize_t rc;
+   uint32_t timeout;
+
+   tpm_cmd.header.in = tpm_getcap_header;
+   tpm_cmd.params.getcap_in.cap = TPM_CAP_PROP;
+   tpm_cmd.params.getcap_in.subcap_size = cpu_to_be32(4);
+   tpm_cmd.params.getcap_in.subcap = TPM_CAP_PROP_TIS_TIMEOUT;
+
+   if((rc = transmit_cmd(chip, &tpm_cmd, TPM_INTERNAL_RESULT_SIZE,
+	 "attempting to determine the timeouts")) != 0) {
+      printk("transmit failed %d\n", rc);
+      goto duration;
+   }
+
+   if (be32_to_cpu(tpm_cmd.params.getcap_out.cap_size)
+	 != 4 * sizeof(uint32_t)) {
+      printk("Out len check failure %lu \n", be32_to_cpu(tpm_cmd.header.out.length));
+      goto duration;
+   }
+
+   timeout_cap = &tpm_cmd.params.getcap_out.cap.timeout;
+   /* Don't overwrite default if value is 0 */
+   timeout = be32_to_cpu(timeout_cap->a);
+   if (timeout)
+      chip->timeout_a = MICROSECS(timeout); /*Convert to msec */
+   timeout = be32_to_cpu(timeout_cap->b);
+   if (timeout)
+      chip->timeout_b = MICROSECS(timeout); /*Convert to msec */
+   timeout = be32_to_cpu(timeout_cap->c);
+   if (timeout)
+      chip->timeout_c = MICROSECS(timeout); /*Convert to msec */
+   timeout = be32_to_cpu(timeout_cap->d);
+   if (timeout)
+      chip->timeout_d = MICROSECS(timeout); /*Convert to msec */
+
+duration:
+   tpm_cmd.header.in = tpm_getcap_header;
+   tpm_cmd.params.getcap_in.cap = TPM_CAP_PROP;
+   tpm_cmd.params.getcap_in.subcap_size = cpu_to_be32(4);
+   tpm_cmd.params.getcap_in.subcap = TPM_CAP_PROP_TIS_DURATION;
+
+   if((rc = transmit_cmd(chip, &tpm_cmd, TPM_INTERNAL_RESULT_SIZE,
+	 "attempting to determine the durations")) < 0) {
+      return;
+   }
+
+   if (be32_to_cpu(tpm_cmd.params.getcap_out.cap_size)
+	 != 3 * sizeof(uint32_t)) {
+      return;
+   }
+        duration_cap = &tpm_cmd.params.getcap_out.cap.duration;
+        chip->duration[TPM_SHORT] = be32_to_cpu(duration_cap->tpm_short);
+        /* The Broadcom BCM0102 chipset in a Dell Latitude D820 gets the above
+         * value wrong and apparently reports msecs rather than usecs. So we
+         * fix up the resulting too-small TPM_SHORT value to make things work.
+         */
+        if (chip->duration[TPM_SHORT] < 10) {
+	   chip->duration[TPM_SHORT] = MILLISECS(chip->duration[TPM_SHORT]);
+	} else {
+	   chip->duration[TPM_SHORT] = MICROSECS(chip->duration[TPM_SHORT]);
+	}
+
+        chip->duration[TPM_MEDIUM] = MICROSECS(be32_to_cpu(duration_cap->tpm_medium));
+        chip->duration[TPM_LONG] = MICROSECS(be32_to_cpu(duration_cap->tpm_long));
+}
+
+
+
+void tpm_continue_selftest(struct tpm_chip* chip) {
+   uint8_t data[] = {
+      0, 193,                 /* TPM_TAG_RQU_COMMAND */
+      0, 0, 0, 10,            /* length */
+      0, 0, 0, 83,            /* TPM_ORD_GetCapability */
+   };
+
+   tpm_transmit(chip, data, sizeof(data));
+}
+
+ssize_t tpm_getcap(struct tpm_chip *chip, uint32_t subcap_id, cap_t *cap,
+                   const char *desc)
+{
+        struct tpm_cmd_t tpm_cmd;
+        int rc;
+
+        tpm_cmd.header.in = tpm_getcap_header;
+        if (subcap_id == CAP_VERSION_1_1 || subcap_id == CAP_VERSION_1_2) {
+                tpm_cmd.params.getcap_in.cap = subcap_id;
+                /*subcap field not necessary */
+                tpm_cmd.params.getcap_in.subcap_size = cpu_to_be32(0);
+                tpm_cmd.header.in.length -= cpu_to_be32(sizeof(uint32_t));
+        } else {
+                if (subcap_id == TPM_CAP_FLAG_PERM ||
+                    subcap_id == TPM_CAP_FLAG_VOL)
+                        tpm_cmd.params.getcap_in.cap = TPM_CAP_FLAG;
+                else
+                        tpm_cmd.params.getcap_in.cap = TPM_CAP_PROP;
+                tpm_cmd.params.getcap_in.subcap_size = cpu_to_be32(4);
+                tpm_cmd.params.getcap_in.subcap = subcap_id;
+        }
+        rc = transmit_cmd(chip, &tpm_cmd, TPM_INTERNAL_RESULT_SIZE, desc);
+        if (!rc)
+                *cap = tpm_cmd.params.getcap_out.cap;
+        return rc;
+}
+
+
+struct tpm_chip* init_tpm_tis(unsigned long baseaddr, int localities, unsigned int irq)
+{
+   int i;
+   unsigned long addr;
+   struct tpm_chip* tpm = NULL;
+   uint32_t didvid;
+   uint32_t intfcaps;
+   uint32_t intmask;
+
+   printk("============= Init TPM TIS Driver ==============\n");
+
+   /*Sanity check the localities input */
+   if(localities & ~TPM_TIS_EN_LOCLALL) {
+      printk("init_tpm_tis() Invalid locality specification! %X\n", localities);
+      goto abort_egress;
+   }
+
+   printk("IOMEM Machine Base Address: %lX\n", baseaddr);
+
+   /* Create the tpm data structure */
+   tpm = malloc(sizeof(struct tpm_chip));
+   __init_tpm_chip(tpm);
+
+   /* Set the enabled localities - if 0 we leave default as all enabled */
+   if(localities != 0) {
+      tpm->enabled_localities = localities;
+   }
+   printk("Enabled Localities: ");
+   for(i = 0; i < 5; ++i) {
+      if(locality_enabled(tpm, i)) {
+	 printk("%d ", i);
+      }
+   }
+   printk("\n");
+
+   /* Set the base machine address */
+   tpm->baseaddr = baseaddr;
+
+   /* Set default timeouts */
+   tpm->timeout_a = MILLISECS(TIS_SHORT_TIMEOUT);
+   tpm->timeout_b = MILLISECS(TIS_LONG_TIMEOUT);
+   tpm->timeout_c = MILLISECS(TIS_SHORT_TIMEOUT);
+   tpm->timeout_d = MILLISECS(TIS_SHORT_TIMEOUT);
+
+   /*Map the mmio pages */
+   addr = tpm->baseaddr;
+   for(i = 0; i < 5; ++i) {
+      if(locality_enabled(tpm, i)) {
+	 /* Map the page in now */
+	 if((tpm->pages[i] = ioremap_nocache(addr, PAGE_SIZE)) == NULL) {
+	    printk("Unable to map iomem page a address %p\n", addr);
+	    goto abort_egress;
+	 }
+
+	 /* Set default locality to the first enabled one */
+	 if (tpm->locality < 0) {
+	    if(tpm_tis_request_locality(tpm, i) < 0) {
+	       printk("Unable to request locality %d??\n", i);
+	       goto abort_egress;
+	    }
+	 }
+      }
+      addr += PAGE_SIZE;
+   }
+
+
+   /* Get the vendor and device ids */
+   didvid = ioread32(TPM_DID_VID(tpm, tpm->locality));
+   tpm->did = didvid >> 16;
+   tpm->vid = didvid & 0xFFFF;
+
+
+   /* Get the revision id */
+   tpm->rid = ioread8(TPM_RID(tpm, tpm->locality));
+
+   printk("1.2 TPM (device-id=0x%X vendor-id = %X rev-id = %X)\n", tpm->did, tpm->vid, tpm->rid);
+
+   intfcaps = ioread32(TPM_INTF_CAPS(tpm, tpm->locality));
+   printk("TPM interface capabilities (0x%x):\n", intfcaps);
+   if (intfcaps & TPM_INTF_BURST_COUNT_STATIC)
+      printk("\tBurst Count Static\n");
+   if (intfcaps & TPM_INTF_CMD_READY_INT)
+      printk("\tCommand Ready Int Support\n");
+   if (intfcaps & TPM_INTF_INT_EDGE_FALLING)
+      printk("\tInterrupt Edge Falling\n");
+   if (intfcaps & TPM_INTF_INT_EDGE_RISING)
+      printk("\tInterrupt Edge Rising\n");
+   if (intfcaps & TPM_INTF_INT_LEVEL_LOW)
+      printk("\tInterrupt Level Low\n");
+   if (intfcaps & TPM_INTF_INT_LEVEL_HIGH)
+      printk("\tInterrupt Level High\n");
+   if (intfcaps & TPM_INTF_LOCALITY_CHANGE_INT)
+      printk("\tLocality Change Int Support\n");
+   if (intfcaps & TPM_INTF_STS_VALID_INT)
+      printk("\tSts Valid Int Support\n");
+   if (intfcaps & TPM_INTF_DATA_AVAIL_INT)
+      printk("\tData Avail Int Support\n");
+
+   /*Interupt setup */
+   intmask = ioread32(TPM_INT_ENABLE(tpm, tpm->locality));
+
+   intmask |= TPM_INTF_CMD_READY_INT
+      | TPM_INTF_LOCALITY_CHANGE_INT | TPM_INTF_DATA_AVAIL_INT
+      | TPM_INTF_STS_VALID_INT;
+
+   iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), intmask);
+
+   /*If interupts are enabled, handle it */
+   if(irq) {
+      if(irq != TPM_PROBE_IRQ) {
+	 tpm->irq = irq;
+      } else {
+	 /*FIXME add irq probing feature later */
+	 printk("IRQ probing not implemented\n");
+      }
+   }
+
+   if(tpm->irq) {
+      iowrite8(TPM_INT_VECTOR(tpm, tpm->locality), tpm->irq);
+
+      if(bind_pirq(tpm->irq, 1, tpm_tis_irq_handler, tpm) != 0) {
+	 printk("Unabled to request irq: %u for use\n", tpm->irq);
+	 printk("Will use polling mode\n");
+	 tpm->irq = 0;
+      } else {
+	 /* Clear all existing */
+	 iowrite32(TPM_INT_STATUS(tpm, tpm->locality), ioread32(TPM_INT_STATUS(tpm, tpm->locality)));
+
+	 /* Turn on interrupts */
+	 iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), intmask | TPM_GLOBAL_INT_ENABLE);
+      }
+   }
+
+   tpm_get_timeouts(tpm);
+   tpm_continue_selftest(tpm);
+
+
+   return tpm;
+abort_egress:
+   if(tpm != NULL) {
+      shutdown_tpm_tis(tpm);
+   }
+   return NULL;
+}
+
+void shutdown_tpm_tis(struct tpm_chip* tpm){
+   int i;
+
+   printk("Shutting down tpm_tis device\n");
+
+   iowrite32(TPM_INT_ENABLE(tpm, tpm->locality), ~TPM_GLOBAL_INT_ENABLE);
+
+   /*Unmap all of the mmio pages */
+   for(i = 0; i < 5; ++i) {
+      if(tpm->pages[i] != NULL) {
+	 iounmap(tpm->pages[i], PAGE_SIZE);
+	 tpm->pages[i] = NULL;
+      }
+   }
+   free(tpm);
+   return;
+}
+
+
+int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen)
+{
+   if(tpm->locality < 0) {
+      printk("tpm_tis_cmd() failed! locality not set!\n");
+      return -1;
+   }
+   if(reqlen > TPM_BUFSIZE) {
+      reqlen = TPM_BUFSIZE;
+   }
+   memcpy(tpm->data_buffer, req, reqlen);
+   *resplen = tpm_transmit(tpm, tpm->data_buffer, TPM_BUFSIZE);
+
+   *resp = malloc(*resplen);
+   memcpy(*resp, tpm->data_buffer, *resplen);
+   return 0;
+}
+
+#ifdef HAVE_LIBC
+int tpm_tis_open(struct tpm_chip* tpm)
+{
+   /* Silently prevent multiple opens */
+   if(tpm->fd != -1) {
+      return tpm->fd;
+   }
+
+   tpm->fd = alloc_fd(FTYPE_TPM_TIS);
+   printk("tpm_tis_open() -> %d\n", tpm->fd);
+   files[tpm->fd].tpm_tis.dev = tpm;
+   files[tpm->fd].tpm_tis.offset = 0;
+   files[tpm->fd].tpm_tis.respgot = 0;
+   return tpm->fd;
+}
+
+int tpm_tis_posix_write(int fd, const uint8_t* buf, size_t count)
+{
+   struct tpm_chip* tpm;
+   tpm = files[fd].tpm_tis.dev;
+
+   if(tpm->locality < 0) {
+      printk("tpm_tis_posix_write() failed! locality not set!\n");
+      errno = EINPROGRESS;
+      return -1;
+   }
+   if(count == 0) {
+      return 0;
+   }
+
+   /* Return an error if we are already processing a command */
+   if(count > TPM_BUFSIZE) {
+      count = TPM_BUFSIZE;
+   }
+   /* Send the command now */
+   memcpy(tpm->data_buffer, buf, count);
+   if((tpm->data_len = tpm_transmit(tpm, tpm->data_buffer, TPM_BUFSIZE)) < 0) {
+      errno = EIO;
+      return -1;
+   }
+   return count;
+}
+
+int tpm_tis_posix_read(int fd, uint8_t* buf, size_t count)
+{
+   int rc;
+   struct tpm_chip* tpm;
+   tpm = files[fd].tpm_tis.dev;
+
+   if(count == 0) {
+      return 0;
+   }
+
+   /* If there is no tpm resp to read, return EIO */
+   if(tpm->data_len < 0) {
+      errno = EIO;
+      return -1;
+   }
+
+
+   /* Handle EOF case */
+   if(files[fd].tpm_tis.offset >= tpm->data_len) {
+      rc = 0;
+   } else {
+      rc = min(tpm->data_len - files[fd].tpm_tis.offset, count);
+      memcpy(buf, tpm->data_buffer + files[fd].tpm_tis.offset, rc);
+   }
+   files[fd].tpm_tis.offset += rc;
+   /* Reset the data pending flag */
+   return rc;
+}
+int tpm_tis_posix_fstat(int fd, struct stat* buf)
+{
+   struct tpm_chip* tpm;
+   tpm = files[fd].tpm_tis.dev;
+
+   buf->st_mode = O_RDWR;
+   buf->st_uid = 0;
+   buf->st_gid = 0;
+   buf->st_size = be32_to_cpu(*((uint32_t*)(tpm->data_buffer + 2)));
+   buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
+   return 0;
+}
+
+
+#endif
diff --git a/extras/mini-os/tpmback.c b/extras/mini-os/tpmback.c
new file mode 100644
index 0000000..b6ae2e6
--- /dev/null
+++ b/extras/mini-os/tpmback.c
@@ -0,0 +1,1128 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This code has been derived from drivers/xen/tpmback/tpmback.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (c) 2005, IBM Corporation
+ *
+ * which was itself derived from drivers/xen/netback/netback.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (c) 2002-2004, K A Fraser
+ *
+ * This code has also been derived from drivers/xen/tpmback/xenbus.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (C) 2005 IBM Corporation
+ * Copyright (C) 2005 Rusty Russell <rusty@rustcorp.com.au>
+ *
+ * This code has also been derived from drivers/xen/tpmback/interface.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (c) 2005, IBM Corporation
+ *
+ * which was itself also derived from drvivers/xen/netback/interface.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (c) 2004, Keir Fraser
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, version 2
+ * of the License
+ */
+#include <mini-os/os.h>
+#include <mini-os/xenbus.h>
+#include <mini-os/events.h>
+#include <errno.h>
+#include <mini-os/gnttab.h>
+#include <xen/io/xenbus.h>
+#include <xen/io/tpmif.h>
+#include <xen/io/protocols.h>
+#include <mini-os/xmalloc.h>
+#include <time.h>
+#include <mini-os/tpmback.h>
+#include <mini-os/lib.h>
+#include <fcntl.h>
+#include <mini-os/mm.h>
+#include <mini-os/posix/sys/mman.h>
+#include <mini-os/semaphore.h>
+#include <mini-os/wait.h>
+
+
+#ifndef HAVE_LIBC
+#define strtoul simple_strtoul
+#endif
+
+//#define TPMBACK_PRINT_DEBUG
+#ifdef TPMBACK_PRINT_DEBUG
+#define TPMBACK_DEBUG(fmt,...) printk("Tpmback:Debug("__FILE__":%d) " fmt, __LINE__, ##__VA_ARGS__)
+#define TPMBACK_DEBUG_MORE(fmt,...) printk(fmt, ##__VA_ARGS__)
+#else
+#define TPMBACK_DEBUG(fmt,...)
+#endif
+#define TPMBACK_ERR(fmt,...) printk("Tpmback:Error " fmt, ##__VA_ARGS__)
+#define TPMBACK_LOG(fmt,...) printk("Tpmback:Info " fmt, ##__VA_ARGS__)
+
+#define min(a,b) (((a) < (b)) ? (a) : (b))
+
+/* Default size of the tpmif array at initialization */
+#define DEF_ARRAY_SIZE 1
+
+/* tpmif and tpmdev flags */
+#define TPMIF_CLOSED 1
+#define TPMIF_REQ_READY 2
+
+struct tpmif {
+   domid_t domid;
+   unsigned int handle;
+
+   char* fe_path;
+   char* fe_state_path;
+
+   /* Locally bound event channel*/
+   evtchn_port_t evtchn;
+
+   /* Shared page */
+   tpmif_tx_interface_t* tx;
+
+   /* pointer to TPMIF_RX_RING_SIZE pages */
+   void** pages;
+
+   enum xenbus_state state;
+   enum { DISCONNECTED, DISCONNECTING, CONNECTED } status;
+
+   char* uuid;
+
+   /* state flags */
+   int flags;
+};
+typedef struct tpmif tpmif_t;
+
+struct tpmback_dev {
+
+   tpmif_t** tpmlist;
+   unsigned long num_tpms;
+   unsigned long num_alloc;
+
+   struct gntmap map;
+
+   /* True if at least one tpmif has a request to be handled */
+   int flags;
+
+   /* exclusive domains, see init_tpmback comment in tpmback.h */
+   char** exclusive_uuids;
+
+   xenbus_event_queue events;
+
+   /* Callbacks */
+   void (*open_callback)(domid_t, unsigned int);
+   void (*close_callback)(domid_t, unsigned int);
+   void (*suspend_callback)(domid_t, unsigned int);
+   void (*resume_callback)(domid_t, unsigned int);
+};
+typedef struct tpmback_dev tpmback_dev_t;
+
+enum { EV_NONE, EV_NEWFE, EV_STCHNG } tpm_ev_enum;
+
+/* Global objects */
+static struct thread* eventthread = NULL;
+static tpmback_dev_t gtpmdev = {
+   .tpmlist = NULL,
+   .num_tpms = 0,
+   .num_alloc = 0,
+   .flags = TPMIF_CLOSED,
+   .events = NULL,
+   .open_callback = NULL,
+   .close_callback = NULL,
+   .suspend_callback = NULL,
+   .resume_callback = NULL,
+};
+struct wait_queue_head waitq;
+int globalinit = 0;
+
+/************************************
+ * TPMIF SORTED ARRAY FUNCTIONS
+ * tpmback_dev_t.tpmlist is a sorted array, sorted by domid and then handle number
+ * Duplicates are not allowed
+ * **********************************/
+
+inline void tpmif_req_ready(tpmif_t* tpmif) {
+   tpmif->flags |= TPMIF_REQ_READY;
+   gtpmdev.flags |= TPMIF_REQ_READY;
+}
+
+inline void tpmdev_check_req(void) {
+   int i;
+   int flags;
+   local_irq_save(flags);
+   for(i = 0; i < gtpmdev.num_tpms; ++i) {
+      if(gtpmdev.tpmlist[i]->flags & TPMIF_REQ_READY) {
+	 gtpmdev.flags |= TPMIF_REQ_READY;
+	 local_irq_restore(flags);
+	 return;
+      }
+   }
+   gtpmdev.flags &= ~TPMIF_REQ_READY;
+   local_irq_restore(flags);
+}
+
+inline void tpmif_req_finished(tpmif_t* tpmif) {
+   tpmif->flags &= ~TPMIF_REQ_READY;
+   tpmdev_check_req();
+}
+
+int __get_tpmif_index(int st, int n, domid_t domid, unsigned int handle)
+{
+   int i = st + n /2;
+   tpmif_t* tmp;
+
+   if( n <= 0 )
+      return -1;
+
+   tmp = gtpmdev.tpmlist[i];
+   if(domid == tmp->domid && tmp->handle == handle) {
+      return i;
+   } else if ( (domid < tmp->domid) ||
+	 (domid == tmp->domid && handle < tmp->handle)) {
+      return __get_tpmif_index(st, n/2, domid, handle);
+   } else {
+      return __get_tpmif_index(i + 1, n/2 - ((n +1) % 2), domid, handle);
+   }
+}
+
+/* Returns the array index of the tpmif domid/handle. Returns -1 if no such tpmif exists */
+int get_tpmif_index(domid_t domid, unsigned int handle)
+{
+   int flags;
+   int index;
+   local_irq_save(flags);
+   index = __get_tpmif_index(0, gtpmdev.num_tpms, domid, handle);
+   local_irq_restore(flags);
+   return index;
+}
+
+/* Returns the tpmif domid/handle or NULL if none exists */
+tpmif_t* get_tpmif(domid_t domid, unsigned int handle)
+{
+   int flags;
+   int i;
+   tpmif_t* ret;
+   local_irq_save(flags);
+   i = get_tpmif_index(domid, handle);
+   if (i < 0) {
+      ret = NULL;
+   } else {
+      ret = gtpmdev.tpmlist[i];
+   }
+   local_irq_restore(flags);
+   return ret;
+}
+
+/* Remove the given tpmif. Returns 0 if it was removed, -1 if it was not removed */
+int remove_tpmif(tpmif_t* tpmif)
+{
+   int i, j;
+   char* err;
+   int flags;
+   local_irq_save(flags);
+
+   /* Find the index in the array if it exists */
+   i = get_tpmif_index(tpmif->domid, tpmif->handle);
+   if (i < 0) {
+      goto error;
+   }
+
+   /* Remove the interface from the list */
+   for(j = i; j < gtpmdev.num_tpms - 1; ++j) {
+      gtpmdev.tpmlist[j] = gtpmdev.tpmlist[j+1];
+   }
+   gtpmdev.tpmlist[j] = NULL;
+   --gtpmdev.num_tpms;
+
+   /* If removed tpm was the only ready tpm, then we need to check and turn off the ready flag */
+   tpmdev_check_req();
+
+   local_irq_restore(flags);
+
+   /* Stop listening for events on this tpm interface */
+   if((err = xenbus_unwatch_path_token(XBT_NIL, tpmif->fe_state_path, tpmif->fe_state_path))) {
+      TPMBACK_ERR("Unable to unwatch path token `%s' Error was %s Ignoring..\n", tpmif->fe_state_path, err);
+      free(err);
+   }
+
+   return 0;
+error:
+   local_irq_restore(flags);
+   return -1;
+}
+
+/* Insert tpmif into dev->tpmlist. Returns 0 on success and non zero on error.
+ * It is an error to insert a tpmif with the same domid and handle
+ * number
+ * as something already in the list */
+int insert_tpmif(tpmif_t* tpmif)
+{
+   int flags;
+   unsigned int i, j;
+   tpmif_t* tmp;
+   char* err;
+
+   local_irq_save(flags);
+
+   /*Check if we need to allocate more space */
+   if (gtpmdev.num_tpms == gtpmdev.num_alloc) {
+      gtpmdev.num_alloc *= 2;
+      gtpmdev.tpmlist = realloc(gtpmdev.tpmlist, gtpmdev.num_alloc);
+   }
+
+   /*Find where to put the new interface */
+   for(i = 0; i < gtpmdev.num_tpms; ++i)
+   {
+      tmp = gtpmdev.tpmlist[i];
+      if(tpmif->domid == tmp->domid && tpmif->handle == tmp->handle) {
+	 TPMBACK_ERR("Tried to insert duplicate tpm interface %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+	 goto error;
+      }
+      if((tpmif->domid < tmp->domid) ||
+	    (tpmif->domid == tmp->domid && tpmif->handle < tmp->handle)) {
+	 break;
+      }
+   }
+
+   /*Shift all the tpm pointers past i down one */
+   for(j = gtpmdev.num_tpms; j > i; --j) {
+      gtpmdev.tpmlist[j] = gtpmdev.tpmlist[j-1];
+   }
+
+   /*Add the new interface */
+   gtpmdev.tpmlist[i] = tpmif;
+   ++gtpmdev.num_tpms;
+
+   /*Should not be needed, anything inserted with ready flag is probably an error */
+   tpmdev_check_req();
+
+   local_irq_restore(flags);
+
+   /*Listen for state changes on the new interface */
+   if((err = xenbus_watch_path_token(XBT_NIL, tpmif->fe_state_path, tpmif->fe_state_path, &gtpmdev.events)))
+   {
+      /* if we got an error here we should carefully remove the interface and then return */
+      TPMBACK_ERR("Unable to watch path token `%s' Error was %s\n", tpmif->fe_state_path, err);
+      free(err);
+      remove_tpmif(tpmif);
+      goto error_post_irq;
+   }
+
+   return 0;
+error:
+   local_irq_restore(flags);
+error_post_irq:
+   return -1;
+}
+
+
+/*****************
+ * CHANGE BACKEND STATE
+ * *****************/
+/*Attempts to change the backend state in xenstore
+ * returns 0 on success and non-zero on error */
+int tpmif_change_state(tpmif_t* tpmif, enum xenbus_state state)
+{
+   char path[512];
+   char *value;
+   char *err;
+   enum xenbus_state readst;
+   TPMBACK_DEBUG("Backend state change %u/%u from=%d to=%d\n", (unsigned int) tpmif->domid, tpmif->handle, tpmif->state, state);
+   if (tpmif->state == state)
+      return 0;
+
+   snprintf(path, 512, "backend/vtpm/%u/%u/state", (unsigned int) tpmif->domid, tpmif->handle);
+
+   if((err = xenbus_read(XBT_NIL, path, &value))) {
+      TPMBACK_ERR("Unable to read backend state %s, error was %s\n", path, err);
+      free(err);
+      return -1;
+   }
+   if(sscanf(value, "%d", &readst) != 1) {
+      TPMBACK_ERR("Non integer value (%s) in %s ??\n", value, path);
+      free(value);
+      return -1;
+   }
+   free(value);
+
+   /* It's possible that the backend state got updated by hotplug or something else behind our back */
+   if(readst != tpmif->state) {
+      TPMBACK_DEBUG("tpm interface state was %d but xenstore state was %d!\n", tpmif->state, readst);
+      tpmif->state = readst;
+   }
+
+   /*If if the state isnt changing, then we dont update xenstore b/c we dont want to fire extraneous events */
+   if(tpmif->state == state) {
+      return 0;
+   }
+
+   /*update xenstore*/
+   snprintf(path, 512, "backend/vtpm/%u/%u", (unsigned int) tpmif->domid, tpmif->handle);
+   if((err = xenbus_printf(XBT_NIL, path, "state", "%u", state))) {
+      TPMBACK_ERR("Error writing to xenstore %s, error was %s new state=%d\n", path, err, state);
+      free(err);
+      return -1;
+   }
+
+   tpmif->state = state;
+
+   return 0;
+}
+/**********************************
+ * TPMIF CREATION AND DELETION
+ * *******************************/
+inline tpmif_t* __init_tpmif(domid_t domid, unsigned int handle)
+{
+   tpmif_t* tpmif;
+   tpmif = malloc(sizeof(*tpmif));
+   tpmif->domid = domid;
+   tpmif->handle = handle;
+   tpmif->fe_path = NULL;
+   tpmif->fe_state_path = NULL;
+   tpmif->state = XenbusStateInitialising;
+   tpmif->status = DISCONNECTED;
+   tpmif->tx = NULL;
+   tpmif->pages = NULL;
+   tpmif->flags = 0;
+   tpmif->uuid = NULL;
+   return tpmif;
+}
+
+void __free_tpmif(tpmif_t* tpmif)
+{
+   if(tpmif->pages) {
+      free(tpmif->pages);
+   }
+   if(tpmif->fe_path) {
+      free(tpmif->fe_path);
+   }
+   if(tpmif->fe_state_path) {
+      free(tpmif->fe_state_path);
+   }
+   if(tpmif->uuid) {
+      free(tpmif->uuid);
+   }
+   free(tpmif);
+}
+/* Creates a new tpm interface, adds it to the sorted array and returns it.
+ * returns NULL on error
+ * If the tpm interface already exists, it is returned*/
+tpmif_t* new_tpmif(domid_t domid, unsigned int handle)
+{
+   tpmif_t* tpmif;
+   char* err;
+   char path[512];
+
+   /* Make sure we haven't already created this tpm
+    * Double events can occur */
+   if((tpmif = get_tpmif(domid, handle)) != NULL) {
+      return tpmif;
+   }
+
+   tpmif = __init_tpmif(domid, handle);
+
+   /* Get the uuid from xenstore */
+   snprintf(path, 512, "backend/vtpm/%u/%u/uuid", (unsigned int) domid, handle);
+   if((err = xenbus_read(XBT_NIL, path, &tpmif->uuid))) {
+      TPMBACK_ERR("Error reading %s, Error = %s\n", path, err);
+      free(err);
+      goto error;
+   }
+
+   /* Do the exclusive uuid check now */
+   if(gtpmdev.exclusive_uuids != NULL) {
+      char** ptr;
+
+      /* Check that its in the whitelist */
+      for(ptr = gtpmdev.exclusive_uuids; *ptr != NULL; ++ptr) {
+	 if(!strcmp(tpmif->uuid, *ptr)) {
+	    break;
+	 }
+      }
+      /* If *ptr == NULL then we went through the whole list without a match, so close the connection */
+      if(*ptr == NULL) {
+	 tpmif_change_state(tpmif, XenbusStateClosed);
+	 TPMBACK_ERR("Frontend %u/%u tried to connect with invalid uuid=%s\n", (unsigned int) domid, handle, tpmif->uuid);
+	 goto error;
+      }
+   }
+
+   /* allocate pages to be used for shared mapping */
+   if((tpmif->pages = malloc(sizeof(void*) * TPMIF_TX_RING_SIZE)) == NULL) {
+      goto error;
+   }
+   memset(tpmif->pages, 0, sizeof(void*) * TPMIF_TX_RING_SIZE);
+
+   if(tpmif_change_state(tpmif, XenbusStateInitWait)) {
+      goto error;
+   }
+
+   snprintf(path, 512, "backend/vtpm/%u/%u/frontend", (unsigned int) domid, handle);
+   if((err = xenbus_read(XBT_NIL, path, &tpmif->fe_path))) {
+      TPMBACK_ERR("Error creating new tpm instance xenbus_read(%s), Error = %s", path, err);
+      free(err);
+      goto error;
+   }
+
+   /*Set the state path */
+   tpmif->fe_state_path = malloc(strlen(tpmif->fe_path) + 7);
+   strcpy(tpmif->fe_state_path, tpmif->fe_path);
+   strcat(tpmif->fe_state_path, "/state");
+
+   if(insert_tpmif(tpmif)) {
+      goto error;
+   }
+   TPMBACK_DEBUG("New tpmif %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+   /* Do the callback now */
+   if(gtpmdev.open_callback) {
+      gtpmdev.open_callback(tpmif->domid, tpmif->handle);
+   }
+   return tpmif;
+error:
+   __free_tpmif(tpmif);
+   return NULL;
+
+}
+
+/* Removes tpmif from dev->tpmlist and frees it's memory usage */
+void free_tpmif(tpmif_t* tpmif)
+{
+   char* err;
+   char path[512];
+   TPMBACK_DEBUG("Free tpmif %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+   if(tpmif->flags & TPMIF_CLOSED) {
+      TPMBACK_ERR("Tried to free an instance twice! Theres a bug somewhere!\n");
+      BUG();
+   }
+   tpmif->flags = TPMIF_CLOSED;
+
+   tpmif_change_state(tpmif, XenbusStateClosing);
+
+   /* Unmap share page and unbind event channel */
+   if(tpmif->status == CONNECTED) {
+      tpmif->status = DISCONNECTING;
+      mask_evtchn(tpmif->evtchn);
+
+      if(gntmap_munmap(&gtpmdev.map, (unsigned long)tpmif->tx, 1)) {
+	 TPMBACK_ERR("%u/%u Error occured while trying to unmap shared page\n", (unsigned int) tpmif->domid, tpmif->handle);
+      }
+
+      unbind_evtchn(tpmif->evtchn);
+   }
+   tpmif->status = DISCONNECTED;
+   tpmif_change_state(tpmif, XenbusStateClosed);
+
+   /* Do the callback now */
+   if(gtpmdev.close_callback) {
+      gtpmdev.close_callback(tpmif->domid, tpmif->handle);
+   }
+
+   /* remove from array */
+   remove_tpmif(tpmif);
+
+   /* Wake up anyone possibly waiting on this interface and let them exit */
+   wake_up(&waitq);
+   schedule();
+
+   /* Remove the old xenbus entries */
+   snprintf(path, 512, "backend/vtpm/%u/%u", (unsigned int) tpmif->domid, tpmif->handle);
+   if((err = xenbus_rm(XBT_NIL, path))) {
+      TPMBACK_ERR("Error cleaning up xenbus entries path=%s error=%s\n", path, err);
+      free(err);
+   }
+
+   TPMBACK_LOG("Frontend %u/%u disconnected\n", (unsigned int) tpmif->domid, tpmif->handle);
+
+   /* free memory */
+   __free_tpmif(tpmif);
+
+}
+
+/**********************
+ * REMAINING TPMBACK FUNCTIONS
+ * ********************/
+
+/*Event channel handler */
+void tpmback_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
+{
+   tpmif_t* tpmif = (tpmif_t*) data;
+   tpmif_tx_request_t* tx = &tpmif->tx->ring[0].req;
+   /* Throw away 0 size events, these can trigger from event channel unmasking */
+   if(tx->size == 0)
+      return;
+
+   TPMBACK_DEBUG("EVENT CHANNEL FIRE %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+   tpmif_req_ready(tpmif);
+   wake_up(&waitq);
+
+}
+
+/* Connect to frontend */
+int connect_fe(tpmif_t* tpmif)
+{
+   char path[512];
+   char* err, *value;
+   uint32_t domid;
+   grant_ref_t ringref;
+   evtchn_port_t evtchn;
+
+   /* If already connected then quit */
+   if (tpmif->status == CONNECTED) {
+      TPMBACK_DEBUG("%u/%u tried to connect while it was already connected?\n", (unsigned int) tpmif->domid, tpmif->handle);
+      return 0;
+   }
+
+   /* Fetch the grant reference */
+   snprintf(path, 512, "%s/ring-ref", tpmif->fe_path);
+   if((err = xenbus_read(XBT_NIL, path, &value))) {
+      TPMBACK_ERR("Error creating new tpm instance xenbus_read(%s) Error = %s", path, err);
+      free(err);
+      return -1;
+   }
+   if(sscanf(value, "%d", &ringref) != 1) {
+      TPMBACK_ERR("Non integer value (%s) in %s ??\n", value, path);
+      free(value);
+      return -1;
+   }
+   free(value);
+
+
+   /* Fetch the event channel*/
+   snprintf(path, 512, "%s/event-channel", tpmif->fe_path);
+   if((err = xenbus_read(XBT_NIL, path, &value))) {
+      TPMBACK_ERR("Error creating new tpm instance xenbus_read(%s) Error = %s", path, err);
+      free(err);
+      return -1;
+   }
+   if(sscanf(value, "%d", &evtchn) != 1) {
+      TPMBACK_ERR("Non integer value (%s) in %s ??\n", value, path);
+      free(value);
+      return -1;
+   }
+   free(value);
+
+   domid = tpmif->domid;
+   if((tpmif->tx = gntmap_map_grant_refs(&gtpmdev.map, 1, &domid, 0, &ringref, PROT_READ | PROT_WRITE)) == NULL) {
+      TPMBACK_ERR("Failed to map grant reference %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+      return -1;
+   }
+   memset(tpmif->tx, 0, PAGE_SIZE);
+
+   /*Bind the event channel */
+   if((evtchn_bind_interdomain(tpmif->domid, evtchn, tpmback_handler, tpmif, &tpmif->evtchn)))
+   {
+      TPMBACK_ERR("%u/%u Unable to bind to interdomain event channel!\n", (unsigned int) tpmif->domid, tpmif->handle);
+      goto error_post_map;
+   }
+   unmask_evtchn(tpmif->evtchn);
+
+   /* Write the ready flag and change status to connected */
+   snprintf(path, 512, "backend/vtpm/%u/%u", (unsigned int) tpmif->domid, tpmif->handle);
+   if((err = xenbus_printf(XBT_NIL, path, "ready", "%u", 1))) {
+      TPMBACK_ERR("%u/%u Unable to write ready flag on connect_fe()\n", (unsigned int) tpmif->domid, tpmif->handle);
+      free(err);
+      goto error_post_evtchn;
+   }
+   tpmif->status = CONNECTED;
+   if((tpmif_change_state(tpmif, XenbusStateConnected))){
+      goto error_post_evtchn;
+   }
+
+   TPMBACK_LOG("Frontend %u/%u connected\n", (unsigned int) tpmif->domid, tpmif->handle);
+
+   return 0;
+error_post_evtchn:
+   mask_evtchn(tpmif->evtchn);
+   unbind_evtchn(tpmif->evtchn);
+error_post_map:
+   gntmap_munmap(&gtpmdev.map, (unsigned long)tpmif->tx, 1);
+   return -1;
+}
+
+static int frontend_changed(tpmif_t* tpmif)
+{
+   int state = xenbus_read_integer(tpmif->fe_state_path);
+   if(state < 0) {
+      state = XenbusStateUnknown;
+   }
+
+   TPMBACK_DEBUG("Frontend %u/%u state changed to %d\n", (unsigned int) tpmif->domid, tpmif->handle, state);
+
+   switch (state) {
+      case XenbusStateInitialising:
+      case XenbusStateInitialised:
+	 break;
+
+      case XenbusStateConnected:
+	 if(connect_fe(tpmif)) {
+	    TPMBACK_ERR("Failed to connect to front end %u/%u\n", (unsigned int) tpmif->domid, tpmif->handle);
+	    tpmif_change_state(tpmif, XenbusStateClosed);
+	    return -1;
+	 }
+	 break;
+
+      case XenbusStateClosing:
+	 tpmif_change_state(tpmif, XenbusStateClosing);
+	 break;
+
+      case XenbusStateUnknown: /* keep it here */
+      case XenbusStateClosed:
+	 free_tpmif(tpmif);
+	 break;
+
+      default:
+	 TPMBACK_DEBUG("BAD STATE CHANGE %u/%u state = %d for tpmif\n", (unsigned int) tpmif->domid, tpmif->handle, state);
+	 return -1;
+   }
+   return 0;
+}
+
+
+/* parses the string that comes out of xenbus_watch_wait_return. */
+static int parse_eventstr(const char* evstr, domid_t* domid, unsigned int* handle)
+{
+   int ret;
+   char cmd[40];
+   char* err;
+   char* value;
+   unsigned int udomid = 0;
+   tpmif_t* tpmif;
+   /* First check for new frontends, this occurs when /backend/vtpm/<domid>/<handle> gets created. Note we what the sscanf to fail on the last %s */
+   if (sscanf(evstr, "backend/vtpm/%u/%u/%40s", &udomid, handle, cmd) == 2) {
+      *domid = udomid;
+      /* Make sure the entry exists, if this event triggers because the entry dissapeared then ignore it */
+      if((err = xenbus_read(XBT_NIL, evstr, &value))) {
+	 free(err);
+	 return EV_NONE;
+      }
+      free(value);
+      /* Make sure the tpmif entry does not already exist, this should not happen */
+      if((tpmif = get_tpmif(*domid, *handle)) != NULL) {
+	 TPMBACK_DEBUG("Duplicate tpm entries! %u %u\n", tpmif->domid, tpmif->handle);
+	 return EV_NONE;
+      }
+      return EV_NEWFE;
+   } else if((ret = sscanf(evstr, "/local/domain/%u/device/vtpm/%u/%40s", &udomid, handle, cmd)) == 3) {
+      *domid = udomid;
+      if (!strcmp(cmd, "state"))
+	 return EV_STCHNG;
+   }
+   return EV_NONE;
+}
+
+void handle_backend_event(char* evstr) {
+   tpmif_t* tpmif;
+   domid_t domid;
+   unsigned int handle;
+   int event;
+
+   TPMBACK_DEBUG("Xenbus Event: %s\n", evstr);
+
+   event = parse_eventstr(evstr, &domid, &handle);
+
+   switch(event) {
+      case EV_NEWFE:
+	 if(new_tpmif(domid, handle) == NULL) {
+	    TPMBACK_ERR("Failed to create new tpm instance %u/%u\n", (unsigned int) domid, handle);
+	 }
+	 wake_up(&waitq);
+	 break;
+      case EV_STCHNG:
+	 if((tpmif = get_tpmif(domid, handle))) {
+	    frontend_changed(tpmif);
+	 } else {
+	    TPMBACK_DEBUG("Event Received for non-existant tpm! instance=%u/%u xenbus_event=%s\n", (unsigned int) domid, handle, evstr);
+	 }
+	 break;
+   }
+}
+
+/* Runs through the given path and creates events recursively
+ * for all of its children.
+ * @path - xenstore path to scan */
+static void generate_backend_events(const char* path)
+{
+   char* err;
+   int i, len;
+   char **dirs;
+   char *entry;
+
+   if((err = xenbus_ls(XBT_NIL, path, &dirs)) != NULL) {
+      free(err);
+      return;
+   }
+
+   for(i = 0; dirs[i] != NULL; ++i) {
+      len = strlen(path) + strlen(dirs[i]) + 2;
+      entry = malloc(len);
+      snprintf(entry, len, "%s/%s", path, dirs[i]);
+
+      /* Generate and handle event for the entry itself */
+      handle_backend_event(entry);
+
+      /* Do children */
+      generate_backend_events(entry);
+
+      /* Cleanup */
+      free(entry);
+      free(dirs[i]);
+   }
+   free(dirs);
+   return;
+}
+
+char* tpmback_get_uuid(domid_t domid, unsigned int handle)
+{
+   tpmif_t* tpmif;
+   if((tpmif = get_tpmif(domid, handle)) == NULL) {
+      TPMBACK_DEBUG("get_uuid() failed, %u/%u is an invalid frontend\n", (unsigned int) domid, handle);
+      return NULL;
+   }
+
+   return tpmif->uuid;
+}
+
+void tpmback_set_open_callback(void (*cb)(domid_t, unsigned int))
+{
+   gtpmdev.open_callback = cb;
+}
+void tpmback_set_close_callback(void (*cb)(domid_t, unsigned int))
+{
+   gtpmdev.close_callback = cb;
+}
+void tpmback_set_suspend_callback(void (*cb)(domid_t, unsigned int))
+{
+   gtpmdev.suspend_callback = cb;
+}
+void tpmback_set_resume_callback(void (*cb)(domid_t, unsigned int))
+{
+   gtpmdev.resume_callback = cb;
+}
+
+static void event_listener(void)
+{
+   const char* bepath = "backend/vtpm";
+   char **path;
+   char* err;
+
+   /* Setup the backend device watch */
+   if((err = xenbus_watch_path_token(XBT_NIL, bepath, bepath, &gtpmdev.events)) != NULL) {
+      TPMBACK_ERR("xenbus_watch_path_token(%s) failed with error %s!\n", bepath, err);
+      free(err);
+      goto egress;
+   }
+
+   /* Check for any frontends that connected before we set the watch.
+    * This is almost guaranteed to happen if both domains are started
+    * immediatly one after the other.
+    * We do this by manually generating events on everything in the backend
+    * path */
+   generate_backend_events(bepath);
+
+   /* Wait and listen for changes in frontend connections */
+   while(1) {
+      path = xenbus_wait_for_watch_return(&gtpmdev.events);
+
+      /*If quit flag was set then exit */
+      if(gtpmdev.flags & TPMIF_CLOSED) {
+	 TPMBACK_DEBUG("listener thread got quit event. Exiting..\n");
+	 free(path);
+	 break;
+      }
+      handle_backend_event(*path);
+      free(path);
+
+   }
+
+   if((err = xenbus_unwatch_path_token(XBT_NIL, bepath, bepath)) != NULL) {
+      free(err);
+   }
+egress:
+   return;
+}
+
+void event_thread(void* p) {
+   event_listener();
+}
+
+void init_tpmback(char** exclusive_uuids)
+{
+   if(!globalinit) {
+      init_waitqueue_head(&waitq);
+      globalinit = 1;
+   }
+   printk("============= Init TPM BACK ================\n");
+   gtpmdev.tpmlist = malloc(sizeof(tpmif_t*) * DEF_ARRAY_SIZE);
+   gtpmdev.num_alloc = DEF_ARRAY_SIZE;
+   gtpmdev.num_tpms = 0;
+   gtpmdev.flags = 0;
+   gtpmdev.exclusive_uuids = exclusive_uuids;
+
+   gtpmdev.open_callback = gtpmdev.close_callback = NULL;
+   gtpmdev.suspend_callback = gtpmdev.resume_callback = NULL;
+
+   eventthread = create_thread("tpmback-listener", event_thread, NULL);
+
+}
+
+void shutdown_tpmback(void)
+{
+   /* Disable callbacks */
+   gtpmdev.open_callback = gtpmdev.close_callback = NULL;
+   gtpmdev.suspend_callback = gtpmdev.resume_callback = NULL;
+
+   TPMBACK_LOG("Shutting down tpm backend\n");
+   /* Set the quit flag */
+   gtpmdev.flags = TPMIF_CLOSED;
+
+   //printk("num tpms is %d\n", gtpmdev.num_tpms);
+   /*Free all backend instances */
+   while(gtpmdev.num_tpms) {
+      free_tpmif(gtpmdev.tpmlist[0]);
+   }
+   free(gtpmdev.tpmlist);
+   gtpmdev.tpmlist = NULL;
+   gtpmdev.num_alloc = 0;
+
+   /* Wake up anyone possibly waiting on the device and let them exit */
+   wake_up(&waitq);
+   schedule();
+}
+
+inline void init_tpmcmd(tpmcmd_t* tpmcmd, domid_t domid, unsigned int handle, char* uuid)
+{
+   tpmcmd->domid = domid;
+   tpmcmd->handle = handle;
+   tpmcmd->uuid = uuid;
+   tpmcmd->req = NULL;
+   tpmcmd->req_len = 0;
+   tpmcmd->resp = NULL;
+   tpmcmd->resp_len = 0;
+}
+
+tpmcmd_t* get_request(tpmif_t* tpmif) {
+   tpmcmd_t* cmd;
+   tpmif_tx_request_t* tx;
+   int offset;
+   int tocopy;
+   int i;
+   uint32_t domid;
+   int flags;
+
+   local_irq_save(flags);
+
+   /* Allocate the cmd object to hold the data */
+   if((cmd = malloc(sizeof(*cmd))) == NULL) {
+      goto error;
+   }
+   init_tpmcmd(cmd, tpmif->domid, tpmif->handle, tpmif->uuid);
+
+   tx = &tpmif->tx->ring[0].req;
+   cmd->req_len = tx->size;
+   /* Allocate the buffer */
+   if(cmd->req_len) {
+      if((cmd->req = malloc(cmd->req_len)) == NULL) {
+	 goto error;
+      }
+   }
+   /* Copy the bits from the shared pages */
+   offset = 0;
+   for(i = 0; i < TPMIF_TX_RING_SIZE && offset < cmd->req_len; ++i) {
+      tx = &tpmif->tx->ring[i].req;
+
+      /* Map the page with the data */
+      domid = (uint32_t)tpmif->domid;
+      if((tpmif->pages[i] = gntmap_map_grant_refs(&gtpmdev.map, 1, &domid, 0, &tx->ref, PROT_READ)) == NULL) {
+	 TPMBACK_ERR("%u/%u Unable to map shared page during read!\n", (unsigned int) tpmif->domid, tpmif->handle);
+	 goto error;
+      }
+
+      /* do the copy now */
+      tocopy = min(cmd->req_len - offset, PAGE_SIZE);
+      memcpy(&cmd->req[offset], tpmif->pages[i], tocopy);
+      offset += tocopy;
+
+      /* release the page */
+      gntmap_munmap(&gtpmdev.map, (unsigned long)tpmif->pages[i], 1);
+
+   }
+
+#ifdef TPMBACK_PRINT_DEBUG
+   TPMBACK_DEBUG("Received Tpm Command from %u/%u of size %u", (unsigned int) tpmif->domid, tpmif->handle, cmd->req_len);
+   for(i = 0; i < cmd->req_len; ++i) {
+      if (!(i % 30)) {
+	 TPMBACK_DEBUG_MORE("\n");
+      }
+      TPMBACK_DEBUG_MORE("%02hhX ", cmd->req[i]);
+   }
+   TPMBACK_DEBUG_MORE("\n\n");
+#endif
+
+   local_irq_restore(flags);
+   return cmd;
+error:
+   if(cmd != NULL) {
+      if (cmd->req != NULL) {
+	 free(cmd->req);
+	 cmd->req = NULL;
+      }
+      free(cmd);
+      cmd = NULL;
+   }
+   local_irq_restore(flags);
+   return NULL;
+
+}
+
+void send_response(tpmcmd_t* cmd, tpmif_t* tpmif)
+{
+   tpmif_tx_request_t* tx;
+   int offset;
+   int i;
+   uint32_t domid;
+   int tocopy;
+   int flags;
+
+   local_irq_save(flags);
+
+   tx = &tpmif->tx->ring[0].req;
+   tx->size = cmd->resp_len;
+
+   offset = 0;
+   for(i = 0; i < TPMIF_TX_RING_SIZE && offset < cmd->resp_len; ++i) {
+      tx = &tpmif->tx->ring[i].req;
+
+      /* Map the page with the data */
+      domid = (uint32_t)tpmif->domid;
+      if((tpmif->pages[i] = gntmap_map_grant_refs(&gtpmdev.map, 1, &domid, 0, &tx->ref, PROT_WRITE)) == NULL) {
+	 TPMBACK_ERR("%u/%u Unable to map shared page during write!\n", (unsigned int) tpmif->domid, tpmif->handle);
+	 goto error;
+      }
+
+      /* do the copy now */
+      tocopy = min(cmd->resp_len - offset, PAGE_SIZE);
+      memcpy(tpmif->pages[i], &cmd->resp[offset], tocopy);
+      offset += tocopy;
+
+      /* release the page */
+      gntmap_munmap(&gtpmdev.map, (unsigned long)tpmif->pages[i], 1);
+
+   }
+
+#ifdef TPMBACK_PRINT_DEBUG
+   TPMBACK_DEBUG("Sent response to %u/%u of size %u", (unsigned int) tpmif->domid, tpmif->handle, cmd->resp_len);
+   for(i = 0; i < cmd->resp_len; ++i) {
+      if (!(i % 30)) {
+	 TPMBACK_DEBUG_MORE("\n");
+      }
+      TPMBACK_DEBUG_MORE("%02hhX ", cmd->resp[i]);
+   }
+   TPMBACK_DEBUG_MORE("\n\n");
+#endif
+   /* clear the ready flag and send the event channel notice to the frontend */
+   tpmif_req_finished(tpmif);
+   notify_remote_via_evtchn(tpmif->evtchn);
+error:
+   local_irq_restore(flags);
+   return;
+}
+
+tpmcmd_t* tpmback_req_any(void)
+{
+   int i;
+   /* Block until something has a request */
+   wait_event(waitq, (gtpmdev.flags & (TPMIF_REQ_READY | TPMIF_CLOSED)));
+
+   /* Check if were shutting down */
+   if(gtpmdev.flags & TPMIF_CLOSED) {
+      /* if something was waiting for us to give up the queue so it can shutdown, let it finish */
+      schedule();
+      return NULL;
+   }
+
+   for(i = 0; i < gtpmdev.num_tpms; ++i) {
+      if(gtpmdev.tpmlist[i]->flags & TPMIF_REQ_READY) {
+	 return get_request(gtpmdev.tpmlist[i]);
+      }
+   }
+
+   TPMBACK_ERR("backend request ready flag was set but no interfaces were actually ready\n");
+   return NULL;
+}
+
+tpmcmd_t* tpmback_req(domid_t domid, unsigned int handle)
+{
+   tpmif_t* tpmif;
+   tpmif = get_tpmif(domid, handle);
+   if(tpmif == NULL) {
+      return NULL;
+   }
+
+   wait_event(waitq, (tpmif->flags & (TPMIF_REQ_READY | TPMIF_CLOSED) || gtpmdev.flags & TPMIF_CLOSED));
+
+   /* Check if were shutting down */
+   if(tpmif->flags & TPMIF_CLOSED || gtpmdev.flags & TPMIF_CLOSED) {
+      /* if something was waiting for us to give up the queue so it can free this instance, let it finish */
+      schedule();
+      return NULL;
+   }
+
+   return get_request(tpmif);
+}
+
+void tpmback_resp(tpmcmd_t* tpmcmd)
+{
+   tpmif_t* tpmif;
+
+   /* Get the associated interface, if it doesnt exist then just quit */
+   tpmif = get_tpmif(tpmcmd->domid, tpmcmd->handle);
+   if(tpmif == NULL) {
+      TPMBACK_ERR("Tried to send a reponse to non existant frontend %u/%u\n", (unsigned int) tpmcmd->domid, tpmcmd->handle);
+      goto end;
+   }
+
+   if(!(tpmif->flags & TPMIF_REQ_READY)) {
+      TPMBACK_ERR("Tried to send response to a frontend that was not waiting for one %u/%u\n", (unsigned int) tpmcmd->domid, tpmcmd->handle);
+      goto end;
+   }
+
+   /* Send response to frontend */
+   send_response(tpmcmd, tpmif);
+
+end:
+   if(tpmcmd->req != NULL) {
+      free(tpmcmd->req);
+   }
+   free(tpmcmd);
+   return;
+}
+
+int tpmback_wait_for_frontend_connect(domid_t *domid, unsigned int *handle)
+{
+   tpmif_t* tpmif;
+   int flags;
+   wait_event(waitq, ((gtpmdev.num_tpms > 0) || gtpmdev.flags & TPMIF_CLOSED));
+   if(gtpmdev.flags & TPMIF_CLOSED) {
+      return -1;
+   }
+   local_irq_save(flags);
+   tpmif = gtpmdev.tpmlist[0];
+   *domid = tpmif->domid;
+   *handle = tpmif->handle;
+   local_irq_restore(flags);
+
+   return 0;
+}
+
+int tpmback_num_frontends(void)
+{
+   return gtpmdev.num_tpms;
+}
diff --git a/extras/mini-os/tpmfront.c b/extras/mini-os/tpmfront.c
new file mode 100644
index 0000000..0218d7f
--- /dev/null
+++ b/extras/mini-os/tpmfront.c
@@ -0,0 +1,608 @@
+/*
+ * Copyright (c) 2010-2012 United States Government, as represented by
+ * the Secretary of Defense.  All rights reserved.
+ *
+ * This code has been derived from drivers/char/tpm_vtpm.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (C) 2006 IBM Corporation
+ *
+ * This code has also been derived from drivers/char/tpm_xen.c
+ * from the xen 2.6.18 linux kernel
+ *
+ * Copyright (c) 2005, IBM Corporation
+ *
+ * which was itself derived from drivers/xen/netfront/netfront.c
+ * from the linux kernel
+ *
+ * Copyright (c) 2002-2004, K A Fraser
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2 of the
+ * License.
+ */
+#include <mini-os/os.h>
+#include <mini-os/xenbus.h>
+#include <mini-os/xmalloc.h>
+#include <mini-os/events.h>
+#include <mini-os/wait.h>
+#include <mini-os/gnttab.h>
+#include <xen/io/xenbus.h>
+#include <xen/io/tpmif.h>
+#include <mini-os/tpmfront.h>
+#include <fcntl.h>
+
+//#define TPMFRONT_PRINT_DEBUG
+#ifdef TPMFRONT_PRINT_DEBUG
+#define TPMFRONT_DEBUG(fmt,...) printk("Tpmfront:Debug("__FILE__":%d) " fmt, __LINE__, ##__VA_ARGS__)
+#define TPMFRONT_DEBUG_MORE(fmt,...) printk(fmt, ##__VA_ARGS__)
+#else
+#define TPMFRONT_DEBUG(fmt,...)
+#endif
+#define TPMFRONT_ERR(fmt,...) printk("Tpmfront:Error " fmt, ##__VA_ARGS__)
+#define TPMFRONT_LOG(fmt,...) printk("Tpmfront:Info " fmt, ##__VA_ARGS__)
+
+#define min(a,b) (((a) < (b)) ? (a) : (b))
+
+void tpmfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) {
+   struct tpmfront_dev* dev = (struct tpmfront_dev*) data;
+   /*If we get a response when we didnt make a request, just ignore it */
+   if(!dev->waiting) {
+      return;
+   }
+
+   dev->waiting = 0;
+#ifdef HAVE_LIBC
+   if(dev->fd >= 0) {
+      files[dev->fd].read = 1;
+   }
+#endif
+   wake_up(&dev->waitq);
+}
+
+static int publish_xenbus(struct tpmfront_dev* dev) {
+   xenbus_transaction_t xbt;
+   int retry;
+   char* err;
+   /* Write the grant reference and event channel to xenstore */
+again:
+   if((err = xenbus_transaction_start(&xbt))) {
+      TPMFRONT_ERR("Unable to start xenbus transaction, error was %s\n", err);
+      free(err);
+      return -1;
+   }
+
+   if((err = xenbus_printf(xbt, dev->nodename, "ring-ref", "%u", (unsigned int) dev->ring_ref))) {
+      TPMFRONT_ERR("Unable to write %s/ring-ref, error was %s\n", dev->nodename, err);
+      free(err);
+      goto abort_transaction;
+   }
+
+   if((err = xenbus_printf(xbt, dev->nodename, "event-channel", "%u", (unsigned int) dev->evtchn))) {
+      TPMFRONT_ERR("Unable to write %s/event-channel, error was %s\n", dev->nodename, err);
+      free(err);
+      goto abort_transaction;
+   }
+
+   if((err = xenbus_transaction_end(xbt, 0, &retry))) {
+      TPMFRONT_ERR("Unable to complete xenbus transaction, error was %s\n", err);
+      free(err);
+      return -1;
+   }
+   if(retry) {
+      goto again;
+   }
+
+   return 0;
+abort_transaction:
+   if((err = xenbus_transaction_end(xbt, 1, &retry))) {
+      free(err);
+   }
+   return -1;
+}
+
+static int wait_for_backend_connect(xenbus_event_queue* events, char* path)
+{
+   int state;
+
+   TPMFRONT_LOG("Waiting for backend connection..\n");
+   /* Wait for the backend to connect */
+   while(1) {
+      state = xenbus_read_integer(path);
+      if ( state < 0)
+	 state = XenbusStateUnknown;
+      switch(state) {
+	 /* Bad states, we quit with error */
+	 case XenbusStateUnknown:
+	 case XenbusStateClosing:
+	 case XenbusStateClosed:
+	    TPMFRONT_ERR("Unable to connect to backend\n");
+	    return -1;
+	 /* If backend is connected then break out of loop */
+	 case XenbusStateConnected:
+	    TPMFRONT_LOG("Backend Connected\n");
+	    return 0;
+	 default:
+	    xenbus_wait_for_watch(events);
+      }
+   }
+
+}
+
+static int wait_for_backend_closed(xenbus_event_queue* events, char* path)
+{
+   int state;
+
+   TPMFRONT_LOG("Waiting for backend to close..\n");
+   while(1) {
+      state = xenbus_read_integer(path);
+      if ( state < 0)
+	 state = XenbusStateUnknown;
+      switch(state) {
+	 case XenbusStateUnknown:
+	    TPMFRONT_ERR("Backend Unknown state, forcing shutdown\n");
+	    return -1;
+	 case XenbusStateClosed:
+	    TPMFRONT_LOG("Backend Closed\n");
+	    return 0;
+	 default:
+	    xenbus_wait_for_watch(events);
+      }
+   }
+
+}
+
+static int wait_for_backend_state_changed(struct tpmfront_dev* dev, XenbusState state) {
+   char* err;
+   int ret = 0;
+   xenbus_event_queue events = NULL;
+   char path[512];
+
+   snprintf(path, 512, "%s/state", dev->bepath);
+   /*Setup the watch to wait for the backend */
+   if((err = xenbus_watch_path_token(XBT_NIL, path, path, &events))) {
+      TPMFRONT_ERR("Could not set a watch on %s, error was %s\n", path, err);
+      free(err);
+      return -1;
+   }
+
+   /* Do the actual wait loop now */
+   switch(state) {
+      case XenbusStateConnected:
+	 ret = wait_for_backend_connect(&events, path);
+	 break;
+      case XenbusStateClosed:
+	 ret = wait_for_backend_closed(&events, path);
+	 break;
+      default:
+	 break;
+   }
+
+   if((err = xenbus_unwatch_path_token(XBT_NIL, path, path))) {
+      TPMFRONT_ERR("Unable to unwatch %s, error was %s, ignoring..\n", path, err);
+      free(err);
+   }
+   return ret;
+}
+
+static int tpmfront_connect(struct tpmfront_dev* dev)
+{
+   char* err;
+   /* Create shared page */
+   dev->tx = (tpmif_tx_interface_t*) alloc_page();
+   if(dev->tx == NULL) {
+      TPMFRONT_ERR("Unable to allocate page for shared memory\n");
+      goto error;
+   }
+   memset(dev->tx, 0, PAGE_SIZE);
+   dev->ring_ref = gnttab_grant_access(dev->bedomid, virt_to_mfn(dev->tx), 0);
+   TPMFRONT_DEBUG("grant ref is %lu\n", (unsigned long) dev->ring_ref);
+
+   /*Create event channel */
+   if(evtchn_alloc_unbound(dev->bedomid, tpmfront_handler, dev, &dev->evtchn)) {
+      TPMFRONT_ERR("Unable to allocate event channel\n");
+      goto error_postmap;
+   }
+   unmask_evtchn(dev->evtchn);
+   TPMFRONT_DEBUG("event channel is %lu\n", (unsigned long) dev->evtchn);
+
+   /* Write the entries to xenstore */
+   if(publish_xenbus(dev)) {
+      goto error_postevtchn;
+   }
+
+   /* Change state to connected */
+   dev->state = XenbusStateConnected;
+
+   /* Tell the backend that we are ready */
+   if((err = xenbus_printf(XBT_NIL, dev->nodename, "state", "%u", dev->state))) {
+      TPMFRONT_ERR("Unable to write to xenstore %s/state, value=%u", dev->nodename, XenbusStateConnected);
+      free(err);
+      goto error;
+   }
+
+   return 0;
+error_postevtchn:
+      mask_evtchn(dev->evtchn);
+      unbind_evtchn(dev->evtchn);
+error_postmap:
+      gnttab_end_access(dev->ring_ref);
+      free_page(dev->tx);
+error:
+   return -1;
+}
+
+struct tpmfront_dev* init_tpmfront(const char* _nodename)
+{
+   struct tpmfront_dev* dev;
+   const char* nodename;
+   char path[512];
+   char* value, *err;
+   unsigned long long ival;
+   int i;
+
+   printk("============= Init TPM Front ================\n");
+
+   dev = malloc(sizeof(struct tpmfront_dev));
+   memset(dev, 0, sizeof(struct tpmfront_dev));
+
+#ifdef HAVE_LIBC
+   dev->fd = -1;
+#endif
+
+   nodename = _nodename ? _nodename : "device/vtpm/0";
+   dev->nodename = strdup(nodename);
+
+   init_waitqueue_head(&dev->waitq);
+
+   /* Get backend domid */
+   snprintf(path, 512, "%s/backend-id", dev->nodename);
+   if((err = xenbus_read(XBT_NIL, path, &value))) {
+      TPMFRONT_ERR("Unable to read %s during tpmfront initialization! error = %s\n", path, err);
+      free(err);
+      goto error;
+   }
+   if(sscanf(value, "%llu", &ival) != 1) {
+      TPMFRONT_ERR("%s has non-integer value (%s)\n", path, value);
+      free(value);
+      goto error;
+   }
+   free(value);
+   dev->bedomid = ival;
+
+   /* Get backend xenstore path */
+   snprintf(path, 512, "%s/backend", dev->nodename);
+   if((err = xenbus_read(XBT_NIL, path, &dev->bepath))) {
+      TPMFRONT_ERR("Unable to read %s during tpmfront initialization! error = %s\n", path, err);
+      free(err);
+      goto error;
+   }
+
+   /* Create and publish grant reference and event channel */
+   if (tpmfront_connect(dev)) {
+      goto error;
+   }
+
+   /* Wait for backend to connect */
+   if( wait_for_backend_state_changed(dev, XenbusStateConnected)) {
+      goto error;
+   }
+
+   /* Allocate pages that will contain the messages */
+   dev->pages = malloc(sizeof(void*) * TPMIF_TX_RING_SIZE);
+   if(dev->pages == NULL) {
+      goto error;
+   }
+   memset(dev->pages, 0, sizeof(void*) * TPMIF_TX_RING_SIZE);
+   for(i = 0; i < TPMIF_TX_RING_SIZE; ++i) {
+      dev->pages[i] = (void*)alloc_page();
+      if(dev->pages[i] == NULL) {
+	 goto error;
+      }
+   }
+
+   TPMFRONT_LOG("Initialization Completed successfully\n");
+
+   return dev;
+
+error:
+   shutdown_tpmfront(dev);
+   return NULL;
+}
+void shutdown_tpmfront(struct tpmfront_dev* dev)
+{
+   char* err;
+   char path[512];
+   int i;
+   tpmif_tx_request_t* tx;
+   if(dev == NULL) {
+      return;
+   }
+   TPMFRONT_LOG("Shutting down tpmfront\n");
+   /* disconnect */
+   if(dev->state == XenbusStateConnected) {
+      dev->state = XenbusStateClosing;
+      //FIXME: Transaction for this?
+      /* Tell backend we are closing */
+      if((err = xenbus_printf(XBT_NIL, dev->nodename, "state", "%u", (unsigned int) dev->state))) {
+	 free(err);
+      }
+
+      /* Clean up xenstore entries */
+      snprintf(path, 512, "%s/event-channel", dev->nodename);
+      if((err = xenbus_rm(XBT_NIL, path))) {
+	 free(err);
+      }
+      snprintf(path, 512, "%s/ring-ref", dev->nodename);
+      if((err = xenbus_rm(XBT_NIL, path))) {
+	 free(err);
+      }
+
+      /* Tell backend we are closed */
+      dev->state = XenbusStateClosed;
+      if((err = xenbus_printf(XBT_NIL, dev->nodename, "state", "%u", (unsigned int) dev->state))) {
+	 TPMFRONT_ERR("Unable to write to %s, error was %s", dev->nodename, err);
+	 free(err);
+      }
+
+      /* Wait for the backend to close and unmap shared pages, ignore any errors */
+      wait_for_backend_state_changed(dev, XenbusStateClosed);
+
+      /* Cleanup any shared pages */
+      if(dev->pages) {
+	 for(i = 0; i < TPMIF_TX_RING_SIZE; ++i) {
+	    if(dev->pages[i]) {
+	       tx = &dev->tx->ring[i].req;
+	       if(tx->ref != 0) {
+		  gnttab_end_access(tx->ref);
+	       }
+	       free_page(dev->pages[i]);
+	    }
+	 }
+	 free(dev->pages);
+      }
+
+      /* Close event channel and unmap shared page */
+      mask_evtchn(dev->evtchn);
+      unbind_evtchn(dev->evtchn);
+      gnttab_end_access(dev->ring_ref);
+
+      free_page(dev->tx);
+
+   }
+
+   /* Cleanup memory usage */
+   if(dev->respbuf) {
+      free(dev->respbuf);
+   }
+   if(dev->bepath) {
+      free(dev->bepath);
+   }
+   if(dev->nodename) {
+      free(dev->nodename);
+   }
+   free(dev);
+}
+
+int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
+{
+   int i;
+   tpmif_tx_request_t* tx = NULL;
+   /* Error Checking */
+   if(dev == NULL || dev->state != XenbusStateConnected) {
+      TPMFRONT_ERR("Tried to send message through disconnected frontend\n");
+      return -1;
+   }
+
+#ifdef TPMFRONT_PRINT_DEBUG
+   TPMFRONT_DEBUG("Sending Msg to backend size=%u", (unsigned int) length);
+   for(i = 0; i < length; ++i) {
+      if(!(i % 30)) {
+	 TPMFRONT_DEBUG_MORE("\n");
+      }
+      TPMFRONT_DEBUG_MORE("%02X ", msg[i]);
+   }
+   TPMFRONT_DEBUG_MORE("\n");
+#endif
+
+   /* Copy to shared pages now */
+   for(i = 0; length > 0 && i < TPMIF_TX_RING_SIZE; ++i) {
+      /* Share the page */
+      tx = &dev->tx->ring[i].req;
+      tx->unused = 0;
+      tx->addr = virt_to_mach(dev->pages[i]);
+      tx->ref = gnttab_grant_access(dev->bedomid, virt_to_mfn(dev->pages[i]), 0);
+      /* Copy the bits to the page */
+      tx->size = length > PAGE_SIZE ? PAGE_SIZE : length;
+      memcpy(dev->pages[i], &msg[i * PAGE_SIZE], tx->size);
+
+      /* Update counters */
+      length -= tx->size;
+   }
+   dev->waiting = 1;
+   dev->resplen = 0;
+#ifdef HAVE_LIBC
+   if(dev->fd >= 0) {
+      files[dev->fd].read = 0;
+      files[dev->fd].tpmfront.respgot = 0;
+      files[dev->fd].tpmfront.offset = 0;
+   }
+#endif
+   notify_remote_via_evtchn(dev->evtchn);
+   return 0;
+}
+int tpmfront_recv(struct tpmfront_dev* dev, uint8_t** msg, size_t *length)
+{
+   tpmif_tx_request_t* tx;
+   int i;
+   if(dev == NULL || dev->state != XenbusStateConnected) {
+      TPMFRONT_ERR("Tried to receive message from disconnected frontend\n");
+      return -1;
+   }
+   /*Wait for the response */
+   wait_event(dev->waitq, (!dev->waiting));
+
+   /* Initialize */
+   *msg = NULL;
+   *length = 0;
+
+   /* special case, just quit */
+   tx = &dev->tx->ring[0].req;
+   if(tx->size == 0 ) {
+       goto quit;
+   }
+   /* Get the total size */
+   tx = &dev->tx->ring[0].req;
+   for(i = 0; i < TPMIF_TX_RING_SIZE && tx->size > 0; ++i) {
+      tx = &dev->tx->ring[i].req;
+      *length += tx->size;
+   }
+   /* Alloc the buffer */
+   if(dev->respbuf) {
+      free(dev->respbuf);
+   }
+   *msg = dev->respbuf = malloc(*length);
+   dev->resplen = *length;
+   /* Copy the bits */
+   tx = &dev->tx->ring[0].req;
+   for(i = 0; i < TPMIF_TX_RING_SIZE && tx->size > 0; ++i) {
+      tx = &dev->tx->ring[i].req;
+      memcpy(&(*msg)[i * PAGE_SIZE], dev->pages[i], tx->size);
+      gnttab_end_access(tx->ref);
+      tx->ref = 0;
+   }
+#ifdef TPMFRONT_PRINT_DEBUG
+   TPMFRONT_DEBUG("Received response from backend size=%u", (unsigned int) *length);
+   for(i = 0; i < *length; ++i) {
+      if(!(i % 30)) {
+	 TPMFRONT_DEBUG_MORE("\n");
+      }
+      TPMFRONT_DEBUG_MORE("%02X ", (*msg)[i]);
+   }
+   TPMFRONT_DEBUG_MORE("\n");
+#endif
+#ifdef HAVE_LIBC
+   if(dev->fd >= 0) {
+      files[dev->fd].tpmfront.respgot = 1;
+   }
+#endif
+quit:
+   return 0;
+}
+
+int tpmfront_cmd(struct tpmfront_dev* dev, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen)
+{
+   int rc;
+   if((rc = tpmfront_send(dev, req, reqlen))) {
+      return rc;
+   }
+   if((rc = tpmfront_recv(dev, resp, resplen))) {
+      return rc;
+   }
+
+   return 0;
+}
+
+#ifdef HAVE_LIBC
+#include <errno.h>
+int tpmfront_open(struct tpmfront_dev* dev)
+{
+   /* Silently prevent multiple opens */
+   if(dev->fd != -1) {
+      return dev->fd;
+   }
+
+   dev->fd = alloc_fd(FTYPE_TPMFRONT);
+   printk("tpmfront_open(%s) -> %d\n", dev->nodename, dev->fd);
+   files[dev->fd].tpmfront.dev = dev;
+   files[dev->fd].tpmfront.offset = 0;
+   files[dev->fd].tpmfront.respgot = 0;
+   return dev->fd;
+}
+
+int tpmfront_posix_write(int fd, const uint8_t* buf, size_t count)
+{
+   int rc;
+   struct tpmfront_dev* dev;
+   dev = files[fd].tpmfront.dev;
+
+   if(count == 0) {
+      return 0;
+   }
+
+   /* Return an error if we are already processing a command */
+   if(dev->waiting) {
+      errno = EINPROGRESS;
+      return -1;
+   }
+   /* Send the command now */
+   if((rc = tpmfront_send(dev, buf, count)) != 0) {
+      errno = EIO;
+      return -1;
+   }
+   return count;
+}
+
+int tpmfront_posix_read(int fd, uint8_t* buf, size_t count)
+{
+   int rc;
+   uint8_t* dummybuf;
+   size_t dummysz;
+   struct tpmfront_dev* dev;
+
+   dev = files[fd].tpmfront.dev;
+
+   if(count == 0) {
+      return 0;
+   }
+
+   /* get the response if we haven't already */
+   if(files[dev->fd].tpmfront.respgot == 0) {
+      if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
+	 errno = EIO;
+	 return -1;
+      }
+   }
+
+   /* handle EOF case */
+   if(files[dev->fd].tpmfront.offset >= dev->resplen) {
+      return 0;
+   }
+
+   /* Compute the number of bytes and do the copy operation */
+   if((rc = min(count, dev->resplen - files[dev->fd].tpmfront.offset)) != 0) {
+      memcpy(buf, dev->respbuf + files[dev->fd].tpmfront.offset, rc);
+      files[dev->fd].tpmfront.offset += rc;
+   }
+
+   return rc;
+}
+
+int tpmfront_posix_fstat(int fd, struct stat* buf)
+{
+   uint8_t* dummybuf;
+   size_t dummysz;
+   int rc;
+   struct tpmfront_dev* dev = files[fd].tpmfront.dev;
+
+   /* If we have a response waiting, then read it now from the backend
+    * so we can get its length*/
+   if(dev->waiting || (files[dev->fd].read == 1 && !files[dev->fd].tpmfront.respgot)) {
+      if ((rc = tpmfront_recv(dev, &dummybuf, &dummysz)) != 0) {
+	 errno = EIO;
+	 return -1;
+      }
+   }
+
+   buf->st_mode = O_RDWR;
+   buf->st_uid = 0;
+   buf->st_gid = 0;
+   buf->st_size = dev->resplen;
+   buf->st_atime = buf->st_mtime = buf->st_ctime = time(NULL);
+
+   return 0;
+}
+
+
+#endif
-- 
1.7.4.4


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

From xen-devel-bounces@lists.xen.org Fri Oct 05 18:37:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Oct 2012 18:37:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TKClX-0004Np-Qp; Fri, 05 Oct 2012 18:36:51 +0000
Received: from mail27.messagelabs.com ([193.109.254.147])
	by lists.xen.org with smtp (Exim 4.72)
	(envelope-from <ehabkost@redhat.com>) id 1TKClW-0004Nh-AK
	for xen-devel@lists.xensource.com; Fri, 05 Oct 2012 18:36:50 +0000
X-Env-Sender: ehabkost@redhat.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1349462201!8803160!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTcwODY=\n
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1849 invoked from network); 5 Oct 2012 18:36:42 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-4.tower-27.messagelabs.com with SMTP;
	5 Oct 2012 18:36:42 -0000
Received: from int-mx01.intmail.prod.int.phx2.redhat.com
	(int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q95Ia9m5016528
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 5 Oct 2012 14:36:10 -0400
Received: from blackpad.lan.raisama.net (vpn1-7-193.gru2.redhat.com
	[10.97.7.193])
	by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
	id q95Ia6JZ003269; Fri, 5 Oct 2012 14:36:06 -0400
Received: by blackpad.lan.raisama.net (Postfix, from userid 500)
	id E256C203604; Fri,  5 Oct 2012 15:37:05 -0300 (BRT)
From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org
Date: Fri,  5 Oct 2012 15:37:00 -0300
Message-Id: <1349462220-13742-1-git-send-email-ehabkost@redhat.com>
X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Evgeny Voevodin <e.voevodin@samsung.com>,
	Peter Crosthwaite <peter.crosthwaite@petalogix.com>,
	Max Filippov <jcmvbkbc@gmail.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Guan Xuetao <gxt@mprc.pku.edu.cn>, xen-devel@lists.xensource.com,
	Igor Mitsyanko <i.mitsyanko@samsung.com>,
	Magnus Damm <magnus.damm@gmail.com>, Alexander Graf <agraf@suse.de>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Maksim Kozlov <m.kozlov@samsung.com>,
	Andrzej Zaborowski <balrogg@gmail.com>,
	Fabien Chouteau <chouteau@adacore.com>, Jan Kiszka <jan.kiszka@web.de>,
	Paul Brook <paul@codesourcery.com>, Blue Swirl <blauwirbel@gmail.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	Michael Walle <michael@walle.cc>, qemu-ppc@nongnu.org,
	Dmitry Solodkiy <d.solodkiy@samsung.com>,
	Aurelien Jarno <aurelien@aurel32.net>
Subject: [Xen-devel] [QEMU PATCH] create struct for machine initialization
	arguments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org


This should help us to:
 - More easily add or remove machine initialization arguments without
   having to change every single machine init function;
 - More easily make mechanical changes involving the machine init
   functions in the future;
 - Let machine initialization forward the init arguments to other
   functions more easily.

This change was half-mechanical process: first the struct was added with
the local ram_size, boot_device, kernel_*, initrd_*, and cpu_model local
variable initialization to all functions. Then the compiler helped me
locate the local variables that are unused, so they could be removed.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 hw/alpha_dp264.c              |  12 ++--
 hw/an5206.c                   |   8 +--
 hw/axis_dev88.c               |   9 +--
 hw/boards.h                   |  16 +++--
 hw/collie.c                   |   9 +--
 hw/dummy_m68k.c               |   8 +--
 hw/exynos4_boards.c           |  16 ++---
 hw/gumstix.c                  |  11 +---
 hw/highbank.c                 |  10 ++--
 hw/integratorcp.c             |  10 ++--
 hw/kzm.c                      |  10 ++--
 hw/leon3.c                    |  10 ++--
 hw/lm32_boards.c              |  18 +++---
 hw/mainstone.c                |  10 ++--
 hw/mcf5208.c                  |   8 +--
 hw/milkymist.c                |  10 ++--
 hw/mips_fulong2e.c            |   9 ++-
 hw/mips_jazz.c                |  14 ++---
 hw/mips_malta.c               |  10 ++--
 hw/mips_mipssim.c             |  10 ++--
 hw/mips_r4k.c                 |  10 ++--
 hw/musicpal.c                 |   9 +--
 hw/nseries.c                  |  22 ++++---
 hw/null-machine.c             |   7 +--
 hw/omap_sx1.c                 |  22 ++++---
 hw/openrisc_sim.c             |  10 ++--
 hw/palm.c                     |   9 +--
 hw/pc_piix.c                  |  42 +++++++------
 hw/petalogix_ml605_mmu.c      |   8 +--
 hw/petalogix_s3adsp1800_mmu.c |   8 +--
 hw/ppc/e500plat.c             |  13 +++--
 hw/ppc/mpc8544ds.c            |  13 +++--
 hw/ppc405_boards.c            |  25 ++++----
 hw/ppc440_bamboo.c            |  12 ++--
 hw/ppc_newworld.c             |  13 +++--
 hw/ppc_oldworld.c             |  13 +++--
 hw/ppc_prep.c                 |  13 +++--
 hw/puv3.c                     |   8 ++-
 hw/r2d.c                      |   9 +--
 hw/realview.c                 |  44 +++++++++-----
 hw/s390-virtio.c              |  13 +++--
 hw/shix.c                     |   6 +-
 hw/spapr.c                    |  13 +++--
 hw/spitz.c                    |  40 ++++++++-----
 hw/stellaris.c                |  14 ++---
 hw/sun4m.c                    | 133 ++++++++++++++++++++++++++----------------
 hw/sun4u.c                    |  39 ++++++++-----
 hw/tosa.c                     |   9 +--
 hw/versatilepb.c              |  22 ++++---
 hw/vexpress.c                 |  26 +++++----
 hw/virtex_ml507.c             |  10 ++--
 hw/xen_machine_pv.c           |  13 +++--
 hw/xilinx_zynq.c              |   9 ++-
 hw/xtensa_lx60.c              |  22 ++++---
 hw/xtensa_sim.c               |  11 ++--
 hw/z2.c                       |   9 +--
 vl.c                          |   9 ++-
 57 files changed, 520 insertions(+), 406 deletions(-)

diff --git a/hw/alpha_dp264.c b/hw/alpha_dp264.c
index 9eb939f..2c2e237 100644
--- a/hw/alpha_dp264.c
+++ b/hw/alpha_dp264.c
@@ -42,13 +42,13 @@ static int clipper_pci_map_irq(PCIDevice *d, int irq_num)
     return (slot + 1) * 4 + irq_num;
 }
 
-static void clipper_init(ram_addr_t ram_size,
-                         const char *boot_device,
-                         const char *kernel_filename,
-                         const char *kernel_cmdline,
-                         const char *initrd_filename,
-                         const char *cpu_model)
+static void clipper_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     CPUAlphaState *cpus[4];
     PCIBus *pci_bus;
     ISABus *isa_bus;
diff --git a/hw/an5206.c b/hw/an5206.c
index 25407c0..042c5fc 100644
--- a/hw/an5206.c
+++ b/hw/an5206.c
@@ -19,11 +19,11 @@
 
 /* Board init.  */
 
-static void an5206_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void an5206_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     CPUM68KState *env;
     int kernel_size;
     uint64_t elf_entry;
diff --git a/hw/axis_dev88.c b/hw/axis_dev88.c
index eab6327..2fd7356 100644
--- a/hw/axis_dev88.c
+++ b/hw/axis_dev88.c
@@ -242,11 +242,12 @@ static const MemoryRegionOps gpio_ops = {
 static struct cris_load_info li;
 
 static
-void axisdev88_init (ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+void axisdev88_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
     CRISCPU *cpu;
     CPUCRISState *env;
     DeviceState *dev;
diff --git a/hw/boards.h b/hw/boards.h
index a2e0a54..813d0e5 100644
--- a/hw/boards.h
+++ b/hw/boards.h
@@ -5,12 +5,16 @@
 
 #include "qdev.h"
 
-typedef void QEMUMachineInitFunc(ram_addr_t ram_size,
-                                 const char *boot_device,
-                                 const char *kernel_filename,
-                                 const char *kernel_cmdline,
-                                 const char *initrd_filename,
-                                 const char *cpu_model);
+typedef struct QEMUMachineInitArgs {
+    ram_addr_t ram_size;
+    const char *boot_device;
+    const char *kernel_filename;
+    const char *kernel_cmdline;
+    const char *initrd_filename;
+    const char *cpu_model;
+} QEMUMachineInitArgs;
+
+typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
 
 typedef void QEMUMachineResetFunc(void);
 
diff --git a/hw/collie.c b/hw/collie.c
index 56f89a9..695982a 100644
--- a/hw/collie.c
+++ b/hw/collie.c
@@ -23,11 +23,12 @@ static struct arm_boot_info collie_binfo = {
     .ram_size = 0x20000000,
 };
 
-static void collie_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void collie_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     StrongARMState *s;
     DriveInfo *dinfo;
     MemoryRegion *sysmem = get_system_memory();
diff --git a/hw/dummy_m68k.c b/hw/dummy_m68k.c
index 7cc7a99..f436a0c 100644
--- a/hw/dummy_m68k.c
+++ b/hw/dummy_m68k.c
@@ -16,11 +16,11 @@
 
 /* Board init.  */
 
-static void dummy_m68k_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void dummy_m68k_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     CPUM68KState *env;
     MemoryRegion *address_space_mem =  get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/exynos4_boards.c b/hw/exynos4_boards.c
index 4bb0a60..4951064 100644
--- a/hw/exynos4_boards.c
+++ b/hw/exynos4_boards.c
@@ -130,22 +130,22 @@ static Exynos4210State *exynos4_boards_init_common(
             exynos4_board_ram_size[board_type]);
 }
 
-static void nuri_init(ram_addr_t ram_size,
-        const char *boot_device,
-        const char *kernel_filename, const char *kernel_cmdline,
-        const char *initrd_filename, const char *cpu_model)
+static void nuri_init(QEMUMachineInitArgs *args)
 {
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     exynos4_boards_init_common(kernel_filename, kernel_cmdline,
                 initrd_filename, EXYNOS4_BOARD_NURI);
 
     arm_load_kernel(arm_env_get_cpu(first_cpu), &exynos4_board_binfo);
 }
 
-static void smdkc210_init(ram_addr_t ram_size,
-        const char *boot_device,
-        const char *kernel_filename, const char *kernel_cmdline,
-        const char *initrd_filename, const char *cpu_model)
+static void smdkc210_init(QEMUMachineInitArgs *args)
 {
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     Exynos4210State *s = exynos4_boards_init_common(kernel_filename,
             kernel_cmdline, initrd_filename, EXYNOS4_BOARD_SMDKC210);
 
diff --git a/hw/gumstix.c b/hw/gumstix.c
index 13a36ea..4103a88 100644
--- a/hw/gumstix.c
+++ b/hw/gumstix.c
@@ -45,10 +45,7 @@
 
 static const int sector_len = 128 * 1024;
 
-static void connex_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void connex_init(QEMUMachineInitArgs *args)
 {
     PXA2xxState *cpu;
     DriveInfo *dinfo;
@@ -84,11 +81,9 @@ static void connex_init(ram_addr_t ram_size,
                     qdev_get_gpio_in(cpu->gpio, 36));
 }
 
-static void verdex_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void verdex_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
     PXA2xxState *cpu;
     DriveInfo *dinfo;
     int be;
diff --git a/hw/highbank.c b/hw/highbank.c
index 11aa131..15036b6 100644
--- a/hw/highbank.c
+++ b/hw/highbank.c
@@ -187,11 +187,13 @@ static struct arm_boot_info highbank_binfo;
  * 32-bit host, set the reg value of memory to 0xf7ff00000 in the
  * device tree and pass -m 2047 to QEMU.
  */
-static void highbank_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void highbank_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     DeviceState *dev;
     SysBusDevice *busdev;
     qemu_irq *irqp;
diff --git a/hw/integratorcp.c b/hw/integratorcp.c
index d0e2e90..ac0ea83 100644
--- a/hw/integratorcp.c
+++ b/hw/integratorcp.c
@@ -438,11 +438,13 @@ static struct arm_boot_info integrator_binfo = {
     .board_id = 0x113,
 };
 
-static void integratorcp_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void integratorcp_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/kzm.c b/hw/kzm.c
index 68cd1b4..d1266d9 100644
--- a/hw/kzm.c
+++ b/hw/kzm.c
@@ -70,11 +70,13 @@ static struct arm_boot_info kzm_binfo = {
     .board_id = 1722,
 };
 
-static void kzm_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void kzm_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/leon3.c b/hw/leon3.c
index 878d3aa..6486b7b 100644
--- a/hw/leon3.c
+++ b/hw/leon3.c
@@ -94,13 +94,11 @@ static void leon3_set_pil_in(void *opaque, uint32_t pil_in)
     }
 }
 
-static void leon3_generic_hw_init(ram_addr_t  ram_size,
-                                  const char *boot_device,
-                                  const char *kernel_filename,
-                                  const char *kernel_cmdline,
-                                  const char *initrd_filename,
-                                  const char *cpu_model)
+static void leon3_generic_hw_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     SPARCCPU *cpu;
     CPUSPARCState   *env;
     MemoryRegion *address_space_mem = get_system_memory();
diff --git a/hw/lm32_boards.c b/hw/lm32_boards.c
index b76d800..c5a62c8 100644
--- a/hw/lm32_boards.c
+++ b/hw/lm32_boards.c
@@ -69,12 +69,10 @@ static void main_cpu_reset(void *opaque)
     env->deba = reset_info->flash_base;
 }
 
-static void lm32_evr_init(ram_addr_t ram_size_not_used,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+static void lm32_evr_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     LM32CPU *cpu;
     CPULM32State *env;
     DriveInfo *dinfo;
@@ -159,12 +157,12 @@ static void lm32_evr_init(ram_addr_t ram_size_not_used,
     qemu_register_reset(main_cpu_reset, reset_info);
 }
 
-static void lm32_uclinux_init(ram_addr_t ram_size_not_used,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+static void lm32_uclinux_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     LM32CPU *cpu;
     CPULM32State *env;
     DriveInfo *dinfo;
diff --git a/hw/mainstone.c b/hw/mainstone.c
index 97687b6..c0d6034 100644
--- a/hw/mainstone.c
+++ b/hw/mainstone.c
@@ -171,11 +171,13 @@ static void mainstone_common_init(MemoryRegion *address_space_mem,
     arm_load_kernel(mpu->cpu, &mainstone_binfo);
 }
 
-static void mainstone_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void mainstone_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     mainstone_common_init(get_system_memory(), ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, mainstone, 0x196);
 }
diff --git a/hw/mcf5208.c b/hw/mcf5208.c
index ee25b1b..688bc3c 100644
--- a/hw/mcf5208.c
+++ b/hw/mcf5208.c
@@ -187,11 +187,11 @@ static void mcf5208_sys_init(MemoryRegion *address_space, qemu_irq *pic)
     }
 }
 
-static void mcf5208evb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void mcf5208evb_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     CPUM68KState *env;
     int kernel_size;
     uint64_t elf_entry;
diff --git a/hw/milkymist.c b/hw/milkymist.c
index 2e7235b..ca9ed43 100644
--- a/hw/milkymist.c
+++ b/hw/milkymist.c
@@ -73,12 +73,12 @@ static void main_cpu_reset(void *opaque)
 }
 
 static void
-milkymist_init(ram_addr_t ram_size_not_used,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+milkymist_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     LM32CPU *cpu;
     CPULM32State *env;
     int kernel_size;
diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c
index 38e4b86..af7bb50 100644
--- a/hw/mips_fulong2e.c
+++ b/hw/mips_fulong2e.c
@@ -256,10 +256,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
     }
 }
 
-static void mips_fulong2e_init(ram_addr_t ram_size, const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void mips_fulong2e_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c
index db927f1..14df4d7 100644
--- a/hw/mips_jazz.c
+++ b/hw/mips_jazz.c
@@ -302,21 +302,19 @@ static void mips_jazz_init(MemoryRegion *address_space,
 }
 
 static
-void mips_magnum_init (ram_addr_t ram_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+void mips_magnum_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
         mips_jazz_init(get_system_memory(), get_system_io(),
                        ram_size, cpu_model, JAZZ_MAGNUM);
 }
 
 static
-void mips_pica61_init (ram_addr_t ram_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+void mips_pica61_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
     mips_jazz_init(get_system_memory(), get_system_io(),
                    ram_size, cpu_model, JAZZ_PICA61);
 }
diff --git a/hw/mips_malta.c b/hw/mips_malta.c
index ad23f26..14151f9 100644
--- a/hw/mips_malta.c
+++ b/hw/mips_malta.c
@@ -777,11 +777,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
 }
 
 static
-void mips_malta_init (ram_addr_t ram_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+void mips_malta_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     pflash_t *fl;
     MemoryRegion *system_memory = get_system_memory();
diff --git a/hw/mips_mipssim.c b/hw/mips_mipssim.c
index 830f635..a1d3945 100644
--- a/hw/mips_mipssim.c
+++ b/hw/mips_mipssim.c
@@ -131,11 +131,13 @@ static void mipsnet_init(int base, qemu_irq irq, NICInfo *nd)
 }
 
 static void
-mips_mipssim_init (ram_addr_t ram_size,
-                   const char *boot_device,
-                   const char *kernel_filename, const char *kernel_cmdline,
-                   const char *initrd_filename, const char *cpu_model)
+mips_mipssim_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c
index 967a76e..b73cdc3 100644
--- a/hw/mips_r4k.c
+++ b/hw/mips_r4k.c
@@ -151,11 +151,13 @@ static void main_cpu_reset(void *opaque)
 
 static const int sector_len = 32 * 1024;
 static
-void mips_r4k_init (ram_addr_t ram_size,
-                    const char *boot_device,
-                    const char *kernel_filename, const char *kernel_cmdline,
-                    const char *initrd_filename, const char *cpu_model)
+void mips_r4k_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/musicpal.c b/hw/musicpal.c
index f305e21..f06814c 100644
--- a/hw/musicpal.c
+++ b/hw/musicpal.c
@@ -1508,11 +1508,12 @@ static struct arm_boot_info musicpal_binfo = {
     .board_id = 0x20e,
 };
 
-static void musicpal_init(ram_addr_t ram_size,
-               const char *boot_device,
-               const char *kernel_filename, const char *kernel_cmdline,
-               const char *initrd_filename, const char *cpu_model)
+static void musicpal_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     qemu_irq *cpu_pic;
     qemu_irq pic[32];
diff --git a/hw/nseries.c b/hw/nseries.c
index 6df71eb..7ada90d 100644
--- a/hw/nseries.c
+++ b/hw/nseries.c
@@ -1397,21 +1397,27 @@ static struct arm_boot_info n810_binfo = {
     .atag_board = n810_atag_setup,
 };
 
-static void n800_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void n800_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     return n8x0_init(ram_size, boot_device,
                     kernel_filename, kernel_cmdline, initrd_filename,
                     cpu_model, &n800_binfo, 800);
 }
 
-static void n810_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void n810_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     return n8x0_init(ram_size, boot_device,
                     kernel_filename, kernel_cmdline, initrd_filename,
                     cpu_model, &n810_binfo, 810);
diff --git a/hw/null-machine.c b/hw/null-machine.c
index 69910d3..d813c08 100644
--- a/hw/null-machine.c
+++ b/hw/null-machine.c
@@ -15,12 +15,7 @@
 #include "hw/hw.h"
 #include "hw/boards.h"
 
-static void machine_none_init(ram_addr_t ram_size,
-                              const char *boot_device,
-                              const char *kernel_filename,
-                              const char *kernel_cmdline,
-                              const char *initrd_filename,
-                              const char *cpu_model)
+static void machine_none_init(QEMUMachineInitArgs *args)
 {
 }
 
diff --git a/hw/omap_sx1.c b/hw/omap_sx1.c
index abca341..ad17487 100644
--- a/hw/omap_sx1.c
+++ b/hw/omap_sx1.c
@@ -209,20 +209,26 @@ static void sx1_init(ram_addr_t ram_size,
     //~ qemu_console_resize(ds, 640, 480);
 }
 
-static void sx1_init_v1(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void sx1_init_v1(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sx1_init(ram_size, boot_device, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, 1);
 }
 
-static void sx1_init_v2(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void sx1_init_v2(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sx1_init(ram_size, boot_device, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, 2);
 }
diff --git a/hw/openrisc_sim.c b/hw/openrisc_sim.c
index 55e97f0..e96a944 100644
--- a/hw/openrisc_sim.c
+++ b/hw/openrisc_sim.c
@@ -90,13 +90,11 @@ static void cpu_openrisc_load_kernel(ram_addr_t ram_size,
     cpu->env.pc = entry;
 }
 
-static void openrisc_sim_init(ram_addr_t ram_size,
-                              const char *boot_device,
-                              const char *kernel_filename,
-                              const char *kernel_cmdline,
-                              const char *initrd_filename,
-                              const char *cpu_model)
+static void openrisc_sim_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
    OpenRISCCPU *cpu = NULL;
     MemoryRegion *ram;
     int n;
diff --git a/hw/palm.c b/hw/palm.c
index bacdc90..032b8d6 100644
--- a/hw/palm.c
+++ b/hw/palm.c
@@ -190,11 +190,12 @@ static struct arm_boot_info palmte_binfo = {
     .board_id = 0x331,
 };
 
-static void palmte_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void palmte_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     MemoryRegion *address_space_mem = get_system_memory();
     struct omap_mpu_state_s *mpu;
     int flash_size = 0x00800000;
diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index fd5898f..9efc822 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -287,13 +287,14 @@ static void pc_init1(MemoryRegion *system_memory,
     }
 }
 
-static void pc_init_pci(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename,
-                        const char *cpu_model)
+static void pc_init_pci(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     pc_init1(get_system_memory(),
              get_system_io(),
              ram_size, boot_device,
@@ -301,13 +302,14 @@ static void pc_init_pci(ram_addr_t ram_size,
              initrd_filename, cpu_model, 1, 1);
 }
 
-static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
-                                    const char *boot_device,
-                                    const char *kernel_filename,
-                                    const char *kernel_cmdline,
-                                    const char *initrd_filename,
-                                    const char *cpu_model)
+static void pc_init_pci_no_kvmclock(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     pc_init1(get_system_memory(),
              get_system_io(),
              ram_size, boot_device,
@@ -315,13 +317,14 @@ static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
              initrd_filename, cpu_model, 1, 0);
 }
 
-static void pc_init_isa(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename,
-                        const char *cpu_model)
+static void pc_init_isa(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (cpu_model == NULL)
         cpu_model = "486";
     pc_init1(get_system_memory(),
@@ -332,7 +335,8 @@ static void pc_init_isa(ram_addr_t ram_size,
 }
 
 #ifdef CONFIG_XEN
-static void pc_xen_hvm_init(ram_addr_t ram_size,
+static void pc_xen_hvm_init(QEMUMachine *machine,
+                            ram_addr_t ram_size,
                             const char *boot_device,
                             const char *kernel_filename,
                             const char *kernel_cmdline,
diff --git a/hw/petalogix_ml605_mmu.c b/hw/petalogix_ml605_mmu.c
index dced648..ace0187 100644
--- a/hw/petalogix_ml605_mmu.c
+++ b/hw/petalogix_ml605_mmu.c
@@ -70,12 +70,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
 }
 
 static void
-petalogix_ml605_init(ram_addr_t ram_size,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+petalogix_ml605_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
     MemoryRegion *address_space_mem = get_system_memory();
     DeviceState *dev, *dma, *eth0;
     MicroBlazeCPU *cpu;
diff --git a/hw/petalogix_s3adsp1800_mmu.c b/hw/petalogix_s3adsp1800_mmu.c
index 2cf6882..71c32ce 100644
--- a/hw/petalogix_s3adsp1800_mmu.c
+++ b/hw/petalogix_s3adsp1800_mmu.c
@@ -57,12 +57,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
 }
 
 static void
-petalogix_s3adsp1800_init(ram_addr_t ram_size,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+petalogix_s3adsp1800_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
     DeviceState *dev;
     MicroBlazeCPU *cpu;
     CPUMBState *env;
diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
index 60a5cb3..4cfb940 100644
--- a/hw/ppc/e500plat.c
+++ b/hw/ppc/e500plat.c
@@ -25,13 +25,14 @@ static void e500plat_fixup_devtree(PPCE500Params *params, void *fdt)
                          sizeof(compatible));
 }
 
-static void e500plat_init(ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void e500plat_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *boot_device = args->boot_device;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     PPCE500Params params = {
         .ram_size = ram_size,
         .boot_device = boot_device,
diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c
index 984d21c..e651661 100644
--- a/hw/ppc/mpc8544ds.c
+++ b/hw/ppc/mpc8544ds.c
@@ -25,13 +25,14 @@ static void mpc8544ds_fixup_devtree(PPCE500Params *params, void *fdt)
                          sizeof(compatible));
 }
 
-static void mpc8544ds_init(ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void mpc8544ds_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *boot_device = args->boot_device;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     PPCE500Params params = {
         .ram_size = ram_size,
         .boot_device = boot_device,
diff --git a/hw/ppc405_boards.c b/hw/ppc405_boards.c
index 476775d..e848cb0 100644
--- a/hw/ppc405_boards.c
+++ b/hw/ppc405_boards.c
@@ -158,7 +158,7 @@ static void ref405ep_fpga_reset (void *opaque)
     fpga->reg1 = 0x0F;
 }
 
-static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
+static void ref405ep_fpga_init(MemoryRegion *sysmem, uint32_t base)
 {
     ref405ep_fpga_t *fpga;
     MemoryRegion *fpga_memory = g_new(MemoryRegion, 1);
@@ -170,13 +170,12 @@ static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
     qemu_register_reset(&ref405ep_fpga_reset, fpga);
 }
 
-static void ref405ep_init (ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void ref405ep_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     ppc4xx_bd_info_t bd;
     CPUPPCState *env;
@@ -484,7 +483,7 @@ static void taihu_cpld_reset (void *opaque)
     cpld->reg1 = 0x80;
 }
 
-static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
+static void taihu_cpld_init(MemoryRegion *sysmem, uint32_t base)
 {
     taihu_cpld_t *cpld;
     MemoryRegion *cpld_memory = g_new(MemoryRegion, 1);
@@ -495,13 +494,11 @@ static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
     qemu_register_reset(&taihu_cpld_reset, cpld);
 }
 
-static void taihu_405ep_init(ram_addr_t ram_size,
-                             const char *boot_device,
-                             const char *kernel_filename,
-                             const char *kernel_cmdline,
-                             const char *initrd_filename,
-                             const char *cpu_model)
+static void taihu_405ep_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *kernel_filename = args->kernel_filename;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     qemu_irq *pic;
     MemoryRegion *sysmem = get_system_memory();
diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c
index c198071..78e7985 100644
--- a/hw/ppc440_bamboo.c
+++ b/hw/ppc440_bamboo.c
@@ -157,13 +157,13 @@ static void main_cpu_reset(void *opaque)
     mmubooke_create_initial_mapping(env, 0, 0);
 }
 
-static void bamboo_init(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename,
-                        const char *cpu_model)
+static void bamboo_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     unsigned int pci_irq_nrs[4] = { 28, 27, 26, 25 };
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram_memories
diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c
index e95cfe8..e7c0747 100644
--- a/hw/ppc_newworld.c
+++ b/hw/ppc_newworld.c
@@ -129,13 +129,14 @@ static void ppc_core99_reset(void *opaque)
 }
 
 /* PowerPC Mac99 hardware initialisation */
-static void ppc_core99_init (ram_addr_t ram_size,
-                             const char *boot_device,
-                             const char *kernel_filename,
-                             const char *kernel_cmdline,
-                             const char *initrd_filename,
-                             const char *cpu_model)
+static void ppc_core99_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
     char *filename;
diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c
index 1dcd8a6..d9f76a8 100644
--- a/hw/ppc_oldworld.c
+++ b/hw/ppc_oldworld.c
@@ -72,13 +72,14 @@ static void ppc_heathrow_reset(void *opaque)
     cpu_reset(CPU(cpu));
 }
 
-static void ppc_heathrow_init (ram_addr_t ram_size,
-                               const char *boot_device,
-                               const char *kernel_filename,
-                               const char *kernel_cmdline,
-                               const char *initrd_filename,
-                               const char *cpu_model)
+static void ppc_heathrow_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     MemoryRegion *sysmem = get_system_memory();
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c
index 592b7b2..f51f78a 100644
--- a/hw/ppc_prep.c
+++ b/hw/ppc_prep.c
@@ -448,13 +448,14 @@ static void ppc_prep_reset(void *opaque)
 }
 
 /* PowerPC PREP hardware initialisation */
-static void ppc_prep_init (ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void ppc_prep_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     MemoryRegion *sysmem = get_system_memory();
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
diff --git a/hw/puv3.c b/hw/puv3.c
index 43f7216..764799c 100644
--- a/hw/puv3.c
+++ b/hw/puv3.c
@@ -91,10 +91,12 @@ static void puv3_load_kernel(const char *kernel_filename)
     graphic_console_init(NULL, NULL, NULL, NULL, NULL);
 }
 
-static void puv3_init(ram_addr_t ram_size, const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void puv3_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *initrd_filename = args->initrd_filename;
     CPUUniCore32State *env;
 
     if (initrd_filename) {
diff --git a/hw/r2d.c b/hw/r2d.c
index 0f16e81..5daa42f 100644
--- a/hw/r2d.c
+++ b/hw/r2d.c
@@ -219,11 +219,12 @@ static struct QEMU_PACKED
     char kernel_cmdline[256];
 } boot_params;
 
-static void r2d_init(ram_addr_t ram_size,
-              const char *boot_device,
-	      const char *kernel_filename, const char *kernel_cmdline,
-	      const char *initrd_filename, const char *cpu_model)
+static void r2d_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     SuperHCPU *cpu;
     CPUSH4State *env;
     ResetData *reset_info;
diff --git a/hw/realview.c b/hw/realview.c
index 19db4d0..8dc4be6 100644
--- a/hw/realview.c
+++ b/hw/realview.c
@@ -330,11 +330,14 @@ static void realview_init(ram_addr_t ram_size,
     arm_load_kernel(arm_env_get_cpu(first_cpu), &realview_binfo);
 }
 
-static void realview_eb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_eb_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "arm926";
     }
@@ -342,11 +345,14 @@ static void realview_eb_init(ram_addr_t ram_size,
                   initrd_filename, cpu_model, BOARD_EB);
 }
 
-static void realview_eb_mpcore_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_eb_mpcore_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "arm11mpcore";
     }
@@ -354,11 +360,14 @@ static void realview_eb_mpcore_init(ram_addr_t ram_size,
                   initrd_filename, cpu_model, BOARD_EB_MPCORE);
 }
 
-static void realview_pb_a8_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_pb_a8_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "cortex-a8";
     }
@@ -366,11 +375,14 @@ static void realview_pb_a8_init(ram_addr_t ram_size,
                   initrd_filename, cpu_model, BOARD_PB_A8);
 }
 
-static void realview_pbx_a9_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_pbx_a9_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "cortex-a9";
     }
diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
index 47eed35..39ff178 100644
--- a/hw/s390-virtio.c
+++ b/hw/s390-virtio.c
@@ -151,13 +151,14 @@ unsigned s390_del_running_cpu(CPUS390XState *env)
 }
 
 /* PC hardware initialisation */
-static void s390_init(ram_addr_t my_ram_size,
-                      const char *boot_device,
-                      const char *kernel_filename,
-                      const char *kernel_cmdline,
-                      const char *initrd_filename,
-                      const char *cpu_model)
+static void s390_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t my_ram_size = args->ram_size;
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     CPUS390XState *env = NULL;
     MemoryRegion *sysmem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/shix.c b/hw/shix.c
index dd9ce17..b56dd54 100644
--- a/hw/shix.c
+++ b/hw/shix.c
@@ -37,11 +37,9 @@
 #define BIOS_FILENAME "shix_bios.bin"
 #define BIOS_ADDRESS 0xA0000000
 
-static void shix_init(ram_addr_t ram_size,
-               const char *boot_device,
-	       const char *kernel_filename, const char *kernel_cmdline,
-	       const char *initrd_filename, const char *cpu_model)
+static void shix_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
     int ret;
     CPUSH4State *env;
     struct SH7750State *s;
diff --git a/hw/spapr.c b/hw/spapr.c
index c34b767..8921c4d 100644
--- a/hw/spapr.c
+++ b/hw/spapr.c
@@ -603,13 +603,14 @@ static int spapr_vga_init(PCIBus *pci_bus)
 }
 
 /* pSeries LPAR / sPAPR hardware init */
-static void ppc_spapr_init(ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void ppc_spapr_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     PowerPCCPU *cpu;
     CPUPPCState *env;
     PCIHostState *phb;
diff --git a/hw/spitz.c b/hw/spitz.c
index 20e7835..df829b3 100644
--- a/hw/spitz.c
+++ b/hw/spitz.c
@@ -936,38 +936,46 @@ static void spitz_common_init(ram_addr_t ram_size,
     sl_bootparam_write(SL_PXA_PARAM_BASE);
 }
 
-static void spitz_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void spitz_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, spitz, 0x2c9);
 }
 
-static void borzoi_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void borzoi_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, borzoi, 0x33f);
 }
 
-static void akita_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void akita_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, akita, 0x2e8);
 }
 
-static void terrier_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void terrier_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, terrier, 0x33f);
 }
diff --git a/hw/stellaris.c b/hw/stellaris.c
index 562fbbf..b79c7fb 100644
--- a/hw/stellaris.c
+++ b/hw/stellaris.c
@@ -1358,19 +1358,17 @@ static void stellaris_init(const char *kernel_filename, const char *cpu_model,
 }
 
 /* FIXME: Figure out how to generate these from stellaris_boards.  */
-static void lm3s811evb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void lm3s811evb_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     stellaris_init(kernel_filename, cpu_model, &stellaris_boards[0]);
 }
 
-static void lm3s6965evb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void lm3s6965evb_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     stellaris_init(kernel_filename, cpu_model, &stellaris_boards[1]);
 }
 
diff --git a/hw/sun4m.c b/hw/sun4m.c
index c98cd5e..22e011f 100644
--- a/hw/sun4m.c
+++ b/hw/sun4m.c
@@ -1303,92 +1303,118 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
 };
 
 /* SPARCstation 5 hardware initialisation */
-static void ss5_init(ram_addr_t RAM_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void ss5_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[0], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation 10 hardware initialisation */
-static void ss10_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void ss10_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[1], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCserver 600MP hardware initialisation */
-static void ss600mp_init(ram_addr_t RAM_size,
-                         const char *boot_device,
-                         const char *kernel_filename,
-                         const char *kernel_cmdline,
-                         const char *initrd_filename, const char *cpu_model)
+static void ss600mp_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[2], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation 20 hardware initialisation */
-static void ss20_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void ss20_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[3], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation Voyager hardware initialisation */
-static void vger_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void vger_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[4], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation LX hardware initialisation */
-static void ss_lx_init(ram_addr_t RAM_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+static void ss_lx_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[5], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation 4 hardware initialisation */
-static void ss4_init(ram_addr_t RAM_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void ss4_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[6], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCClassic hardware initialisation */
-static void scls_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void scls_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[7], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCbook hardware initialisation */
-static void sbook_init(ram_addr_t RAM_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+static void sbook_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[8], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
@@ -1651,21 +1677,27 @@ static void sun4d_hw_init(const struct sun4d_hwdef *hwdef, ram_addr_t RAM_size,
 }
 
 /* SPARCserver 1000 hardware initialisation */
-static void ss1000_init(ram_addr_t RAM_size,
-                        const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void ss1000_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4d_hw_init(&sun4d_hwdefs[0], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCcenter 2000 hardware initialisation */
-static void ss2000_init(ram_addr_t RAM_size,
-                        const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void ss2000_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4d_hw_init(&sun4d_hwdefs[1], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
@@ -1845,11 +1877,14 @@ static void sun4c_hw_init(const struct sun4c_hwdef *hwdef, ram_addr_t RAM_size,
 }
 
 /* SPARCstation 2 hardware initialisation */
-static void ss2_init(ram_addr_t RAM_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void ss2_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4c_hw_init(&sun4c_hwdefs[0], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
diff --git a/hw/sun4u.c b/hw/sun4u.c
index 07cd042..379768c 100644
--- a/hw/sun4u.c
+++ b/hw/sun4u.c
@@ -930,31 +930,40 @@ static const struct hwdef hwdefs[] = {
 };
 
 /* Sun4u hardware initialisation */
-static void sun4u_init(ram_addr_t RAM_size,
-                       const char *boot_devices,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
-{
+static void sun4u_init(QEMUMachineInitArgs *args)
+{
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_devices = args->boot_device;
     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[0]);
 }
 
 /* Sun4v hardware initialisation */
-static void sun4v_init(ram_addr_t RAM_size,
-                       const char *boot_devices,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
-{
+static void sun4v_init(QEMUMachineInitArgs *args)
+{
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_devices = args->boot_device;
     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[1]);
 }
 
 /* Niagara hardware initialisation */
-static void niagara_init(ram_addr_t RAM_size,
-                         const char *boot_devices,
-                         const char *kernel_filename, const char *kernel_cmdline,
-                         const char *initrd_filename, const char *cpu_model)
-{
+static void niagara_init(QEMUMachineInitArgs *args)
+{
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_devices = args->boot_device;
     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[2]);
 }
diff --git a/hw/tosa.c b/hw/tosa.c
index 297a8c2..512278c 100644
--- a/hw/tosa.c
+++ b/hw/tosa.c
@@ -205,11 +205,12 @@ static struct arm_boot_info tosa_binfo = {
     .ram_size = 0x04000000,
 };
 
-static void tosa_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void tosa_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *rom = g_new(MemoryRegion, 1);
     PXA2xxState *mpu;
diff --git a/hw/versatilepb.c b/hw/versatilepb.c
index 7a92034..686dcc7 100644
--- a/hw/versatilepb.c
+++ b/hw/versatilepb.c
@@ -342,22 +342,28 @@ static void versatile_init(ram_addr_t ram_size,
     arm_load_kernel(cpu, &versatile_binfo);
 }
 
-static void vpb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void vpb_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     versatile_init(ram_size,
                    boot_device,
                    kernel_filename, kernel_cmdline,
                    initrd_filename, cpu_model, 0x183);
 }
 
-static void vab_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void vab_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     versatile_init(ram_size,
                    boot_device,
                    kernel_filename, kernel_cmdline,
diff --git a/hw/vexpress.c b/hw/vexpress.c
index 3596d1e..36503d6 100644
--- a/hw/vexpress.c
+++ b/hw/vexpress.c
@@ -467,25 +467,27 @@ static void vexpress_common_init(const VEDBoardInfo *daughterboard,
     arm_load_kernel(arm_env_get_cpu(first_cpu), &vexpress_binfo);
 }
 
-static void vexpress_a9_init(ram_addr_t ram_size,
-                             const char *boot_device,
-                             const char *kernel_filename,
-                             const char *kernel_cmdline,
-                             const char *initrd_filename,
-                             const char *cpu_model)
+static void vexpress_a9_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     vexpress_common_init(&a9_daughterboard,
                          ram_size, boot_device, kernel_filename,
                          kernel_cmdline, initrd_filename, cpu_model);
 }
 
-static void vexpress_a15_init(ram_addr_t ram_size,
-                              const char *boot_device,
-                              const char *kernel_filename,
-                              const char *kernel_cmdline,
-                              const char *initrd_filename,
-                              const char *cpu_model)
+static void vexpress_a15_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     vexpress_common_init(&a15_daughterboard,
                          ram_size, boot_device, kernel_filename,
                          kernel_cmdline, initrd_filename, cpu_model);
diff --git a/hw/virtex_ml507.c b/hw/virtex_ml507.c
index 79bc0d1..a09b27a 100644
--- a/hw/virtex_ml507.c
+++ b/hw/virtex_ml507.c
@@ -183,12 +183,12 @@ static int xilinx_load_device_tree(target_phys_addr_t addr,
     return fdt_size;
 }
 
-static void virtex_init(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void virtex_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
     MemoryRegion *address_space_mem = get_system_memory();
     DeviceState *dev;
     PowerPCCPU *cpu;
diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
index 4b72aa7..1ac9990 100644
--- a/hw/xen_machine_pv.c
+++ b/hw/xen_machine_pv.c
@@ -29,12 +29,13 @@
 #include "xen_domainbuild.h"
 #include "blockdev.h"
 
-static void xen_init_pv(ram_addr_t ram_size,
-			const char *boot_device,
-			const char *kernel_filename,
-			const char *kernel_cmdline,
-			const char *initrd_filename,
-			const char *cpu_model)
+static void xen_init_pv(QEMUMachine *machine,
+                        ram_addr_t ram_size,
+                        const char *boot_device,
+                        const char *kernel_filename,
+                        const char *kernel_cmdline,
+                        const char *initrd_filename,
+                        const char *cpu_model)
 {
     X86CPU *cpu;
     CPUX86State *env;
diff --git a/hw/xilinx_zynq.c b/hw/xilinx_zynq.c
index 7e6c273..83f322e 100644
--- a/hw/xilinx_zynq.c
+++ b/hw/xilinx_zynq.c
@@ -46,10 +46,13 @@ static void gem_init(NICInfo *nd, uint32_t base, qemu_irq irq)
     sysbus_connect_irq(s, 0, irq);
 }
 
-static void zynq_init(ram_addr_t ram_size, const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void zynq_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ext_ram = g_new(MemoryRegion, 1);
diff --git a/hw/xtensa_lx60.c b/hw/xtensa_lx60.c
index 3653f65..1fd2c47 100644
--- a/hw/xtensa_lx60.c
+++ b/hw/xtensa_lx60.c
@@ -268,11 +268,14 @@ static void lx_init(const LxBoardDesc *board,
     }
 }
 
-static void xtensa_lx60_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void xtensa_lx60_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     static const LxBoardDesc lx60_board = {
         .flash_size = 0x400000,
         .flash_sector_size = 0x10000,
@@ -283,11 +286,14 @@ static void xtensa_lx60_init(ram_addr_t ram_size,
             initrd_filename, cpu_model);
 }
 
-static void xtensa_lx200_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void xtensa_lx200_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     static const LxBoardDesc lx200_board = {
         .flash_size = 0x1000000,
         .flash_sector_size = 0x20000,
diff --git a/hw/xtensa_sim.c b/hw/xtensa_sim.c
index 831460b..2e846d8 100644
--- a/hw/xtensa_sim.c
+++ b/hw/xtensa_sim.c
@@ -96,11 +96,14 @@ static void sim_init(ram_addr_t ram_size,
     }
 }
 
-static void xtensa_sim_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void xtensa_sim_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = XTENSA_DEFAULT_CPU_MODEL;
     }
diff --git a/hw/z2.c b/hw/z2.c
index 289cee9..0927bad 100644
--- a/hw/z2.c
+++ b/hw/z2.c
@@ -294,11 +294,12 @@ static TypeInfo aer915_info = {
     .class_init    = aer915_class_init,
 };
 
-static void z2_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void z2_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     MemoryRegion *address_space_mem = get_system_memory();
     uint32_t sector_len = 0x10000;
     PXA2xxState *mpu;
diff --git a/vl.c b/vl.c
index 8d305ca..f663e7c 100644
--- a/vl.c
+++ b/vl.c
@@ -3624,8 +3624,13 @@ int main(int argc, char **argv, char **envp)
 
     qdev_machine_init();
 
-    machine->init(ram_size, boot_devices,
-                  kernel_filename, kernel_cmdline, initrd_filename, cpu_model);
+    QEMUMachineInitArgs args = { .ram_size = ram_size,
+                                 .boot_device = boot_devices,
+                                 .kernel_filename = kernel_filename,
+                                 .kernel_cmdline = kernel_cmdline,
+                                 initrd_filename = initrd_filename,
+                                 .cpu_model = cpu_model };
+    machine->init(&args);
 
     cpu_synchronize_all_post_init();
 
-- 
1.7.11.4


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

From xen-devel-bounces@lists.xen.org Fri Oct 05 18:45:35 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Oct 2012 18:45:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TKCth-0004lT-Bq; Fri, 05 Oct 2012 18:45:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <agraf@suse.de>) id 1TKCtg-0004lO-4f
	for xen-devel@lists.xensource.com; Fri, 05 Oct 2012 18:45:16 +0000
Received: from [85.158.143.35:49814] by server-3.bemta-4.messagelabs.com id
	F0/0C-10986-BBA2F605; Fri, 05 Oct 2012 18:45:15 +0000
X-Env-Sender: agraf@suse.de
X-Msg-Ref: server-16.tower-21.messagelabs.com!1349462709!15013806!1
X-Originating-IP: [195.135.220.15]
X-SpamReason: No, hits=0.7 required=7.0 tests=BODY_RANDOM_LONG,
	MIME_QP_LONG_LINE
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4230 invoked from network); 5 Oct 2012 18:45:10 -0000
Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15)
	by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 5 Oct 2012 18:45:10 -0000
Received: from relay1.suse.de (unknown [195.135.220.254])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx2.suse.de (Postfix) with ESMTP id 9B9CF9A78E;
	Fri,  5 Oct 2012 20:45:05 +0200 (CEST)
References: <1349462220-13742-1-git-send-email-ehabkost@redhat.com>
In-Reply-To: <1349462220-13742-1-git-send-email-ehabkost@redhat.com>
Mime-Version: 1.0 (1.0)
Message-Id: <34AF8EDF-D8BB-437B-9417-2FFAB6FC626F@suse.de>
X-Mailer: iPhone Mail (9B206)
From: Alexander Graf <agraf@suse.de>
Date: Fri, 5 Oct 2012 20:45:19 +0200
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Evgeny Voevodin <e.voevodin@samsung.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Peter Crosthwaite <peter.crosthwaite@petalogix.com>,
	Max Filippov <jcmvbkbc@gmail.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Guan Xuetao <gxt@mprc.pku.edu.cn>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Igor Mitsyanko <i.mitsyanko@samsung.com>,
	Magnus Damm <magnus.damm@gmail.com>,
	=?utf-8?Q?Herv=C3=A9_Poussineau?= <hpoussin@reactos.org>,
	Maksim Kozlov <m.kozlov@samsung.com>,
	Andrzej Zaborowski <balrogg@gmail.com>,
	Fabien Chouteau <chouteau@adacore.com>, Jan Kiszka <jan.kiszka@web.de>,
	Paul Brook <paul@codesourcery.com>, Blue Swirl <blauwirbel@gmail.com>,
	Anthony Liguori <aliguori@us.ibm.com>, Michael Walle <michael@walle.cc>,
	"qemu-ppc@nongnu.org" <qemu-ppc@nongnu.org>,
	Dmitry Solodkiy <d.solodkiy@samsung.com>,
	Aurelien Jarno <aurelien@aurel32.net>
Subject: Re: [Xen-devel] [QEMU PATCH] create struct for machine
	initialization arguments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org



On 05.10.2012, at 20:37, Eduardo Habkost <ehabkost@redhat.com> wrote:

> 
> This should help us to:
> - More easily add or remove machine initialization arguments without
>   having to change every single machine init function;
> - More easily make mechanical changes involving the machine init
>   functions in the future;
> - Let machine initialization forward the init arguments to other
>   functions more easily.
> 
> This change was half-mechanical process: first the struct was added with
> the local ram_size, boot_device, kernel_*, initrd_*, and cpu_model local
> variable initialization to all functions. Then the compiler helped me
> locate the local variables that are unused, so they could be removed.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>

Very good idea :).

Alex

> ---
> hw/alpha_dp264.c              |  12 ++--
> hw/an5206.c                   |   8 +--
> hw/axis_dev88.c               |   9 +--
> hw/boards.h                   |  16 +++--
> hw/collie.c                   |   9 +--
> hw/dummy_m68k.c               |   8 +--
> hw/exynos4_boards.c           |  16 ++---
> hw/gumstix.c                  |  11 +---
> hw/highbank.c                 |  10 ++--
> hw/integratorcp.c             |  10 ++--
> hw/kzm.c                      |  10 ++--
> hw/leon3.c                    |  10 ++--
> hw/lm32_boards.c              |  18 +++---
> hw/mainstone.c                |  10 ++--
> hw/mcf5208.c                  |   8 +--
> hw/milkymist.c                |  10 ++--
> hw/mips_fulong2e.c            |   9 ++-
> hw/mips_jazz.c                |  14 ++---
> hw/mips_malta.c               |  10 ++--
> hw/mips_mipssim.c             |  10 ++--
> hw/mips_r4k.c                 |  10 ++--
> hw/musicpal.c                 |   9 +--
> hw/nseries.c                  |  22 ++++---
> hw/null-machine.c             |   7 +--
> hw/omap_sx1.c                 |  22 ++++---
> hw/openrisc_sim.c             |  10 ++--
> hw/palm.c                     |   9 +--
> hw/pc_piix.c                  |  42 +++++++------
> hw/petalogix_ml605_mmu.c      |   8 +--
> hw/petalogix_s3adsp1800_mmu.c |   8 +--
> hw/ppc/e500plat.c             |  13 +++--
> hw/ppc/mpc8544ds.c            |  13 +++--
> hw/ppc405_boards.c            |  25 ++++----
> hw/ppc440_bamboo.c            |  12 ++--
> hw/ppc_newworld.c             |  13 +++--
> hw/ppc_oldworld.c             |  13 +++--
> hw/ppc_prep.c                 |  13 +++--
> hw/puv3.c                     |   8 ++-
> hw/r2d.c                      |   9 +--
> hw/realview.c                 |  44 +++++++++-----
> hw/s390-virtio.c              |  13 +++--
> hw/shix.c                     |   6 +-
> hw/spapr.c                    |  13 +++--
> hw/spitz.c                    |  40 ++++++++-----
> hw/stellaris.c                |  14 ++---
> hw/sun4m.c                    | 133 ++++++++++++++++++++++++++----------------
> hw/sun4u.c                    |  39 ++++++++-----
> hw/tosa.c                     |   9 +--
> hw/versatilepb.c              |  22 ++++---
> hw/vexpress.c                 |  26 +++++----
> hw/virtex_ml507.c             |  10 ++--
> hw/xen_machine_pv.c           |  13 +++--
> hw/xilinx_zynq.c              |   9 ++-
> hw/xtensa_lx60.c              |  22 ++++---
> hw/xtensa_sim.c               |  11 ++--
> hw/z2.c                       |   9 +--
> vl.c                          |   9 ++-
> 57 files changed, 520 insertions(+), 406 deletions(-)
> 
> diff --git a/hw/alpha_dp264.c b/hw/alpha_dp264.c
> index 9eb939f..2c2e237 100644
> --- a/hw/alpha_dp264.c
> +++ b/hw/alpha_dp264.c
> @@ -42,13 +42,13 @@ static int clipper_pci_map_irq(PCIDevice *d, int irq_num)
>     return (slot + 1) * 4 + irq_num;
> }
> 
> -static void clipper_init(ram_addr_t ram_size,
> -                         const char *boot_device,
> -                         const char *kernel_filename,
> -                         const char *kernel_cmdline,
> -                         const char *initrd_filename,
> -                         const char *cpu_model)
> +static void clipper_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     CPUAlphaState *cpus[4];
>     PCIBus *pci_bus;
>     ISABus *isa_bus;
> diff --git a/hw/an5206.c b/hw/an5206.c
> index 25407c0..042c5fc 100644
> --- a/hw/an5206.c
> +++ b/hw/an5206.c
> @@ -19,11 +19,11 @@
> 
> /* Board init.  */
> 
> -static void an5206_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void an5206_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>     CPUM68KState *env;
>     int kernel_size;
>     uint64_t elf_entry;
> diff --git a/hw/axis_dev88.c b/hw/axis_dev88.c
> index eab6327..2fd7356 100644
> --- a/hw/axis_dev88.c
> +++ b/hw/axis_dev88.c
> @@ -242,11 +242,12 @@ static const MemoryRegionOps gpio_ops = {
> static struct cris_load_info li;
> 
> static
> -void axisdev88_init (ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +void axisdev88_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
>     CRISCPU *cpu;
>     CPUCRISState *env;
>     DeviceState *dev;
> diff --git a/hw/boards.h b/hw/boards.h
> index a2e0a54..813d0e5 100644
> --- a/hw/boards.h
> +++ b/hw/boards.h
> @@ -5,12 +5,16 @@
> 
> #include "qdev.h"
> 
> -typedef void QEMUMachineInitFunc(ram_addr_t ram_size,
> -                                 const char *boot_device,
> -                                 const char *kernel_filename,
> -                                 const char *kernel_cmdline,
> -                                 const char *initrd_filename,
> -                                 const char *cpu_model);
> +typedef struct QEMUMachineInitArgs {
> +    ram_addr_t ram_size;
> +    const char *boot_device;
> +    const char *kernel_filename;
> +    const char *kernel_cmdline;
> +    const char *initrd_filename;
> +    const char *cpu_model;
> +} QEMUMachineInitArgs;
> +
> +typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
> 
> typedef void QEMUMachineResetFunc(void);
> 
> diff --git a/hw/collie.c b/hw/collie.c
> index 56f89a9..695982a 100644
> --- a/hw/collie.c
> +++ b/hw/collie.c
> @@ -23,11 +23,12 @@ static struct arm_boot_info collie_binfo = {
>     .ram_size = 0x20000000,
> };
> 
> -static void collie_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void collie_init(QEMUMachineInitArgs *args)
> {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     StrongARMState *s;
>     DriveInfo *dinfo;
>     MemoryRegion *sysmem = get_system_memory();
> diff --git a/hw/dummy_m68k.c b/hw/dummy_m68k.c
> index 7cc7a99..f436a0c 100644
> --- a/hw/dummy_m68k.c
> +++ b/hw/dummy_m68k.c
> @@ -16,11 +16,11 @@
> 
> /* Board init.  */
> 
> -static void dummy_m68k_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void dummy_m68k_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>     CPUM68KState *env;
>     MemoryRegion *address_space_mem =  get_system_memory();
>     MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/exynos4_boards.c b/hw/exynos4_boards.c
> index 4bb0a60..4951064 100644
> --- a/hw/exynos4_boards.c
> +++ b/hw/exynos4_boards.c
> @@ -130,22 +130,22 @@ static Exynos4210State *exynos4_boards_init_common(
>             exynos4_board_ram_size[board_type]);
> }
> 
> -static void nuri_init(ram_addr_t ram_size,
> -        const char *boot_device,
> -        const char *kernel_filename, const char *kernel_cmdline,
> -        const char *initrd_filename, const char *cpu_model)
> +static void nuri_init(QEMUMachineInitArgs *args)
> {
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     exynos4_boards_init_common(kernel_filename, kernel_cmdline,
>                 initrd_filename, EXYNOS4_BOARD_NURI);
> 
>     arm_load_kernel(arm_env_get_cpu(first_cpu), &exynos4_board_binfo);
> }
> 
> -static void smdkc210_init(ram_addr_t ram_size,
> -        const char *boot_device,
> -        const char *kernel_filename, const char *kernel_cmdline,
> -        const char *initrd_filename, const char *cpu_model)
> +static void smdkc210_init(QEMUMachineInitArgs *args)
> {
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     Exynos4210State *s = exynos4_boards_init_common(kernel_filename,
>             kernel_cmdline, initrd_filename, EXYNOS4_BOARD_SMDKC210);
> 
> diff --git a/hw/gumstix.c b/hw/gumstix.c
> index 13a36ea..4103a88 100644
> --- a/hw/gumstix.c
> +++ b/hw/gumstix.c
> @@ -45,10 +45,7 @@
> 
> static const int sector_len = 128 * 1024;
> 
> -static void connex_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void connex_init(QEMUMachineInitArgs *args)
> {
>     PXA2xxState *cpu;
>     DriveInfo *dinfo;
> @@ -84,11 +81,9 @@ static void connex_init(ram_addr_t ram_size,
>                     qdev_get_gpio_in(cpu->gpio, 36));
> }
> 
> -static void verdex_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void verdex_init(QEMUMachineInitArgs *args)
> {
> +    const char *cpu_model = args->cpu_model;
>     PXA2xxState *cpu;
>     DriveInfo *dinfo;
>     int be;
> diff --git a/hw/highbank.c b/hw/highbank.c
> index 11aa131..15036b6 100644
> --- a/hw/highbank.c
> +++ b/hw/highbank.c
> @@ -187,11 +187,13 @@ static struct arm_boot_info highbank_binfo;
>  * 32-bit host, set the reg value of memory to 0xf7ff00000 in the
>  * device tree and pass -m 2047 to QEMU.
>  */
> -static void highbank_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void highbank_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     DeviceState *dev;
>     SysBusDevice *busdev;
>     qemu_irq *irqp;
> diff --git a/hw/integratorcp.c b/hw/integratorcp.c
> index d0e2e90..ac0ea83 100644
> --- a/hw/integratorcp.c
> +++ b/hw/integratorcp.c
> @@ -438,11 +438,13 @@ static struct arm_boot_info integrator_binfo = {
>     .board_id = 0x113,
> };
> 
> -static void integratorcp_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void integratorcp_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     ARMCPU *cpu;
>     MemoryRegion *address_space_mem = get_system_memory();
>     MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/kzm.c b/hw/kzm.c
> index 68cd1b4..d1266d9 100644
> --- a/hw/kzm.c
> +++ b/hw/kzm.c
> @@ -70,11 +70,13 @@ static struct arm_boot_info kzm_binfo = {
>     .board_id = 1722,
> };
> 
> -static void kzm_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void kzm_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     ARMCPU *cpu;
>     MemoryRegion *address_space_mem = get_system_memory();
>     MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/leon3.c b/hw/leon3.c
> index 878d3aa..6486b7b 100644
> --- a/hw/leon3.c
> +++ b/hw/leon3.c
> @@ -94,13 +94,11 @@ static void leon3_set_pil_in(void *opaque, uint32_t pil_in)
>     }
> }
> 
> -static void leon3_generic_hw_init(ram_addr_t  ram_size,
> -                                  const char *boot_device,
> -                                  const char *kernel_filename,
> -                                  const char *kernel_cmdline,
> -                                  const char *initrd_filename,
> -                                  const char *cpu_model)
> +static void leon3_generic_hw_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>     SPARCCPU *cpu;
>     CPUSPARCState   *env;
>     MemoryRegion *address_space_mem = get_system_memory();
> diff --git a/hw/lm32_boards.c b/hw/lm32_boards.c
> index b76d800..c5a62c8 100644
> --- a/hw/lm32_boards.c
> +++ b/hw/lm32_boards.c
> @@ -69,12 +69,10 @@ static void main_cpu_reset(void *opaque)
>     env->deba = reset_info->flash_base;
> }
> 
> -static void lm32_evr_init(ram_addr_t ram_size_not_used,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +static void lm32_evr_init(QEMUMachineInitArgs *args)
> {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>     LM32CPU *cpu;
>     CPULM32State *env;
>     DriveInfo *dinfo;
> @@ -159,12 +157,12 @@ static void lm32_evr_init(ram_addr_t ram_size_not_used,
>     qemu_register_reset(main_cpu_reset, reset_info);
> }
> 
> -static void lm32_uclinux_init(ram_addr_t ram_size_not_used,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +static void lm32_uclinux_init(QEMUMachineInitArgs *args)
> {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     LM32CPU *cpu;
>     CPULM32State *env;
>     DriveInfo *dinfo;
> diff --git a/hw/mainstone.c b/hw/mainstone.c
> index 97687b6..c0d6034 100644
> --- a/hw/mainstone.c
> +++ b/hw/mainstone.c
> @@ -171,11 +171,13 @@ static void mainstone_common_init(MemoryRegion *address_space_mem,
>     arm_load_kernel(mpu->cpu, &mainstone_binfo);
> }
> 
> -static void mainstone_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void mainstone_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     mainstone_common_init(get_system_memory(), ram_size, kernel_filename,
>                 kernel_cmdline, initrd_filename, cpu_model, mainstone, 0x196);
> }
> diff --git a/hw/mcf5208.c b/hw/mcf5208.c
> index ee25b1b..688bc3c 100644
> --- a/hw/mcf5208.c
> +++ b/hw/mcf5208.c
> @@ -187,11 +187,11 @@ static void mcf5208_sys_init(MemoryRegion *address_space, qemu_irq *pic)
>     }
> }
> 
> -static void mcf5208evb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void mcf5208evb_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>     CPUM68KState *env;
>     int kernel_size;
>     uint64_t elf_entry;
> diff --git a/hw/milkymist.c b/hw/milkymist.c
> index 2e7235b..ca9ed43 100644
> --- a/hw/milkymist.c
> +++ b/hw/milkymist.c
> @@ -73,12 +73,12 @@ static void main_cpu_reset(void *opaque)
> }
> 
> static void
> -milkymist_init(ram_addr_t ram_size_not_used,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +milkymist_init(QEMUMachineInitArgs *args)
> {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     LM32CPU *cpu;
>     CPULM32State *env;
>     int kernel_size;
> diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c
> index 38e4b86..af7bb50 100644
> --- a/hw/mips_fulong2e.c
> +++ b/hw/mips_fulong2e.c
> @@ -256,10 +256,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
>     }
> }
> 
> -static void mips_fulong2e_init(ram_addr_t ram_size, const char *boot_device,
> -                        const char *kernel_filename, const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void mips_fulong2e_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     char *filename;
>     MemoryRegion *address_space_mem = get_system_memory();
>     MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c
> index db927f1..14df4d7 100644
> --- a/hw/mips_jazz.c
> +++ b/hw/mips_jazz.c
> @@ -302,21 +302,19 @@ static void mips_jazz_init(MemoryRegion *address_space,
> }
> 
> static
> -void mips_magnum_init (ram_addr_t ram_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> +void mips_magnum_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
>         mips_jazz_init(get_system_memory(), get_system_io(),
>                        ram_size, cpu_model, JAZZ_MAGNUM);
> }
> 
> static
> -void mips_pica61_init (ram_addr_t ram_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> +void mips_pica61_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
>     mips_jazz_init(get_system_memory(), get_system_io(),
>                    ram_size, cpu_model, JAZZ_PICA61);
> }
> diff --git a/hw/mips_malta.c b/hw/mips_malta.c
> index ad23f26..14151f9 100644
> --- a/hw/mips_malta.c
> +++ b/hw/mips_malta.c
> @@ -777,11 +777,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
> }
> 
> static
> -void mips_malta_init (ram_addr_t ram_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +void mips_malta_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     char *filename;
>     pflash_t *fl;
>     MemoryRegion *system_memory = get_system_memory();
> diff --git a/hw/mips_mipssim.c b/hw/mips_mipssim.c
> index 830f635..a1d3945 100644
> --- a/hw/mips_mipssim.c
> +++ b/hw/mips_mipssim.c
> @@ -131,11 +131,13 @@ static void mipsnet_init(int base, qemu_irq irq, NICInfo *nd)
> }
> 
> static void
> -mips_mipssim_init (ram_addr_t ram_size,
> -                   const char *boot_device,
> -                   const char *kernel_filename, const char *kernel_cmdline,
> -                   const char *initrd_filename, const char *cpu_model)
> +mips_mipssim_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     char *filename;
>     MemoryRegion *address_space_mem = get_system_memory();
>     MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c
> index 967a76e..b73cdc3 100644
> --- a/hw/mips_r4k.c
> +++ b/hw/mips_r4k.c
> @@ -151,11 +151,13 @@ static void main_cpu_reset(void *opaque)
> 
> static const int sector_len = 32 * 1024;
> static
> -void mips_r4k_init (ram_addr_t ram_size,
> -                    const char *boot_device,
> -                    const char *kernel_filename, const char *kernel_cmdline,
> -                    const char *initrd_filename, const char *cpu_model)
> +void mips_r4k_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     char *filename;
>     MemoryRegion *address_space_mem = get_system_memory();
>     MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/musicpal.c b/hw/musicpal.c
> index f305e21..f06814c 100644
> --- a/hw/musicpal.c
> +++ b/hw/musicpal.c
> @@ -1508,11 +1508,12 @@ static struct arm_boot_info musicpal_binfo = {
>     .board_id = 0x20e,
> };
> 
> -static void musicpal_init(ram_addr_t ram_size,
> -               const char *boot_device,
> -               const char *kernel_filename, const char *kernel_cmdline,
> -               const char *initrd_filename, const char *cpu_model)
> +static void musicpal_init(QEMUMachineInitArgs *args)
> {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     ARMCPU *cpu;
>     qemu_irq *cpu_pic;
>     qemu_irq pic[32];
> diff --git a/hw/nseries.c b/hw/nseries.c
> index 6df71eb..7ada90d 100644
> --- a/hw/nseries.c
> +++ b/hw/nseries.c
> @@ -1397,21 +1397,27 @@ static struct arm_boot_info n810_binfo = {
>     .atag_board = n810_atag_setup,
> };
> 
> -static void n800_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void n800_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     return n8x0_init(ram_size, boot_device,
>                     kernel_filename, kernel_cmdline, initrd_filename,
>                     cpu_model, &n800_binfo, 800);
> }
> 
> -static void n810_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void n810_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     return n8x0_init(ram_size, boot_device,
>                     kernel_filename, kernel_cmdline, initrd_filename,
>                     cpu_model, &n810_binfo, 810);
> diff --git a/hw/null-machine.c b/hw/null-machine.c
> index 69910d3..d813c08 100644
> --- a/hw/null-machine.c
> +++ b/hw/null-machine.c
> @@ -15,12 +15,7 @@
> #include "hw/hw.h"
> #include "hw/boards.h"
> 
> -static void machine_none_init(ram_addr_t ram_size,
> -                              const char *boot_device,
> -                              const char *kernel_filename,
> -                              const char *kernel_cmdline,
> -                              const char *initrd_filename,
> -                              const char *cpu_model)
> +static void machine_none_init(QEMUMachineInitArgs *args)
> {
> }
> 
> diff --git a/hw/omap_sx1.c b/hw/omap_sx1.c
> index abca341..ad17487 100644
> --- a/hw/omap_sx1.c
> +++ b/hw/omap_sx1.c
> @@ -209,20 +209,26 @@ static void sx1_init(ram_addr_t ram_size,
>     //~ qemu_console_resize(ds, 640, 480);
> }
> 
> -static void sx1_init_v1(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void sx1_init_v1(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sx1_init(ram_size, boot_device, kernel_filename,
>                 kernel_cmdline, initrd_filename, cpu_model, 1);
> }
> 
> -static void sx1_init_v2(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void sx1_init_v2(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sx1_init(ram_size, boot_device, kernel_filename,
>                 kernel_cmdline, initrd_filename, cpu_model, 2);
> }
> diff --git a/hw/openrisc_sim.c b/hw/openrisc_sim.c
> index 55e97f0..e96a944 100644
> --- a/hw/openrisc_sim.c
> +++ b/hw/openrisc_sim.c
> @@ -90,13 +90,11 @@ static void cpu_openrisc_load_kernel(ram_addr_t ram_size,
>     cpu->env.pc = entry;
> }
> 
> -static void openrisc_sim_init(ram_addr_t ram_size,
> -                              const char *boot_device,
> -                              const char *kernel_filename,
> -                              const char *kernel_cmdline,
> -                              const char *initrd_filename,
> -                              const char *cpu_model)
> +static void openrisc_sim_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>    OpenRISCCPU *cpu = NULL;
>     MemoryRegion *ram;
>     int n;
> diff --git a/hw/palm.c b/hw/palm.c
> index bacdc90..032b8d6 100644
> --- a/hw/palm.c
> +++ b/hw/palm.c
> @@ -190,11 +190,12 @@ static struct arm_boot_info palmte_binfo = {
>     .board_id = 0x331,
> };
> 
> -static void palmte_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void palmte_init(QEMUMachineInitArgs *args)
> {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     MemoryRegion *address_space_mem = get_system_memory();
>     struct omap_mpu_state_s *mpu;
>     int flash_size = 0x00800000;
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index fd5898f..9efc822 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -287,13 +287,14 @@ static void pc_init1(MemoryRegion *system_memory,
>     }
> }
> 
> -static void pc_init_pci(ram_addr_t ram_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename,
> -                        const char *kernel_cmdline,
> -                        const char *initrd_filename,
> -                        const char *cpu_model)
> +static void pc_init_pci(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     pc_init1(get_system_memory(),
>              get_system_io(),
>              ram_size, boot_device,
> @@ -301,13 +302,14 @@ static void pc_init_pci(ram_addr_t ram_size,
>              initrd_filename, cpu_model, 1, 1);
> }
> 
> -static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
> -                                    const char *boot_device,
> -                                    const char *kernel_filename,
> -                                    const char *kernel_cmdline,
> -                                    const char *initrd_filename,
> -                                    const char *cpu_model)
> +static void pc_init_pci_no_kvmclock(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     pc_init1(get_system_memory(),
>              get_system_io(),
>              ram_size, boot_device,
> @@ -315,13 +317,14 @@ static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
>              initrd_filename, cpu_model, 1, 0);
> }
> 
> -static void pc_init_isa(ram_addr_t ram_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename,
> -                        const char *kernel_cmdline,
> -                        const char *initrd_filename,
> -                        const char *cpu_model)
> +static void pc_init_isa(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     if (cpu_model == NULL)
>         cpu_model = "486";
>     pc_init1(get_system_memory(),
> @@ -332,7 +335,8 @@ static void pc_init_isa(ram_addr_t ram_size,
> }
> 
> #ifdef CONFIG_XEN
> -static void pc_xen_hvm_init(ram_addr_t ram_size,
> +static void pc_xen_hvm_init(QEMUMachine *machine,
> +                            ram_addr_t ram_size,
>                             const char *boot_device,
>                             const char *kernel_filename,
>                             const char *kernel_cmdline,
> diff --git a/hw/petalogix_ml605_mmu.c b/hw/petalogix_ml605_mmu.c
> index dced648..ace0187 100644
> --- a/hw/petalogix_ml605_mmu.c
> +++ b/hw/petalogix_ml605_mmu.c
> @@ -70,12 +70,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
> }
> 
> static void
> -petalogix_ml605_init(ram_addr_t ram_size,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +petalogix_ml605_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
>     MemoryRegion *address_space_mem = get_system_memory();
>     DeviceState *dev, *dma, *eth0;
>     MicroBlazeCPU *cpu;
> diff --git a/hw/petalogix_s3adsp1800_mmu.c b/hw/petalogix_s3adsp1800_mmu.c
> index 2cf6882..71c32ce 100644
> --- a/hw/petalogix_s3adsp1800_mmu.c
> +++ b/hw/petalogix_s3adsp1800_mmu.c
> @@ -57,12 +57,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
> }
> 
> static void
> -petalogix_s3adsp1800_init(ram_addr_t ram_size,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +petalogix_s3adsp1800_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
>     DeviceState *dev;
>     MicroBlazeCPU *cpu;
>     CPUMBState *env;
> diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
> index 60a5cb3..4cfb940 100644
> --- a/hw/ppc/e500plat.c
> +++ b/hw/ppc/e500plat.c
> @@ -25,13 +25,14 @@ static void e500plat_fixup_devtree(PPCE500Params *params, void *fdt)
>                          sizeof(compatible));
> }
> 
> -static void e500plat_init(ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void e500plat_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *boot_device = args->boot_device;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     PPCE500Params params = {
>         .ram_size = ram_size,
>         .boot_device = boot_device,
> diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c
> index 984d21c..e651661 100644
> --- a/hw/ppc/mpc8544ds.c
> +++ b/hw/ppc/mpc8544ds.c
> @@ -25,13 +25,14 @@ static void mpc8544ds_fixup_devtree(PPCE500Params *params, void *fdt)
>                          sizeof(compatible));
> }
> 
> -static void mpc8544ds_init(ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void mpc8544ds_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *boot_device = args->boot_device;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     PPCE500Params params = {
>         .ram_size = ram_size,
>         .boot_device = boot_device,
> diff --git a/hw/ppc405_boards.c b/hw/ppc405_boards.c
> index 476775d..e848cb0 100644
> --- a/hw/ppc405_boards.c
> +++ b/hw/ppc405_boards.c
> @@ -158,7 +158,7 @@ static void ref405ep_fpga_reset (void *opaque)
>     fpga->reg1 = 0x0F;
> }
> 
> -static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
> +static void ref405ep_fpga_init(MemoryRegion *sysmem, uint32_t base)
> {
>     ref405ep_fpga_t *fpga;
>     MemoryRegion *fpga_memory = g_new(MemoryRegion, 1);
> @@ -170,13 +170,12 @@ static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
>     qemu_register_reset(&ref405ep_fpga_reset, fpga);
> }
> 
> -static void ref405ep_init (ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void ref405ep_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     char *filename;
>     ppc4xx_bd_info_t bd;
>     CPUPPCState *env;
> @@ -484,7 +483,7 @@ static void taihu_cpld_reset (void *opaque)
>     cpld->reg1 = 0x80;
> }
> 
> -static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
> +static void taihu_cpld_init(MemoryRegion *sysmem, uint32_t base)
> {
>     taihu_cpld_t *cpld;
>     MemoryRegion *cpld_memory = g_new(MemoryRegion, 1);
> @@ -495,13 +494,11 @@ static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
>     qemu_register_reset(&taihu_cpld_reset, cpld);
> }
> 
> -static void taihu_405ep_init(ram_addr_t ram_size,
> -                             const char *boot_device,
> -                             const char *kernel_filename,
> -                             const char *kernel_cmdline,
> -                             const char *initrd_filename,
> -                             const char *cpu_model)
> +static void taihu_405ep_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *initrd_filename = args->initrd_filename;
>     char *filename;
>     qemu_irq *pic;
>     MemoryRegion *sysmem = get_system_memory();
> diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c
> index c198071..78e7985 100644
> --- a/hw/ppc440_bamboo.c
> +++ b/hw/ppc440_bamboo.c
> @@ -157,13 +157,13 @@ static void main_cpu_reset(void *opaque)
>     mmubooke_create_initial_mapping(env, 0, 0);
> }
> 
> -static void bamboo_init(ram_addr_t ram_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename,
> -                        const char *kernel_cmdline,
> -                        const char *initrd_filename,
> -                        const char *cpu_model)
> +static void bamboo_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     unsigned int pci_irq_nrs[4] = { 28, 27, 26, 25 };
>     MemoryRegion *address_space_mem = get_system_memory();
>     MemoryRegion *ram_memories
> diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c
> index e95cfe8..e7c0747 100644
> --- a/hw/ppc_newworld.c
> +++ b/hw/ppc_newworld.c
> @@ -129,13 +129,14 @@ static void ppc_core99_reset(void *opaque)
> }
> 
> /* PowerPC Mac99 hardware initialisation */
> -static void ppc_core99_init (ram_addr_t ram_size,
> -                             const char *boot_device,
> -                             const char *kernel_filename,
> -                             const char *kernel_cmdline,
> -                             const char *initrd_filename,
> -                             const char *cpu_model)
> +static void ppc_core99_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     PowerPCCPU *cpu = NULL;
>     CPUPPCState *env = NULL;
>     char *filename;
> diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c
> index 1dcd8a6..d9f76a8 100644
> --- a/hw/ppc_oldworld.c
> +++ b/hw/ppc_oldworld.c
> @@ -72,13 +72,14 @@ static void ppc_heathrow_reset(void *opaque)
>     cpu_reset(CPU(cpu));
> }
> 
> -static void ppc_heathrow_init (ram_addr_t ram_size,
> -                               const char *boot_device,
> -                               const char *kernel_filename,
> -                               const char *kernel_cmdline,
> -                               const char *initrd_filename,
> -                               const char *cpu_model)
> +static void ppc_heathrow_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     MemoryRegion *sysmem = get_system_memory();
>     PowerPCCPU *cpu = NULL;
>     CPUPPCState *env = NULL;
> diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c
> index 592b7b2..f51f78a 100644
> --- a/hw/ppc_prep.c
> +++ b/hw/ppc_prep.c
> @@ -448,13 +448,14 @@ static void ppc_prep_reset(void *opaque)
> }
> 
> /* PowerPC PREP hardware initialisation */
> -static void ppc_prep_init (ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void ppc_prep_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     MemoryRegion *sysmem = get_system_memory();
>     PowerPCCPU *cpu = NULL;
>     CPUPPCState *env = NULL;
> diff --git a/hw/puv3.c b/hw/puv3.c
> index 43f7216..764799c 100644
> --- a/hw/puv3.c
> +++ b/hw/puv3.c
> @@ -91,10 +91,12 @@ static void puv3_load_kernel(const char *kernel_filename)
>     graphic_console_init(NULL, NULL, NULL, NULL, NULL);
> }
> 
> -static void puv3_init(ram_addr_t ram_size, const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void puv3_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *initrd_filename = args->initrd_filename;
>     CPUUniCore32State *env;
> 
>     if (initrd_filename) {
> diff --git a/hw/r2d.c b/hw/r2d.c
> index 0f16e81..5daa42f 100644
> --- a/hw/r2d.c
> +++ b/hw/r2d.c
> @@ -219,11 +219,12 @@ static struct QEMU_PACKED
>     char kernel_cmdline[256];
> } boot_params;
> 
> -static void r2d_init(ram_addr_t ram_size,
> -              const char *boot_device,
> -          const char *kernel_filename, const char *kernel_cmdline,
> -          const char *initrd_filename, const char *cpu_model)
> +static void r2d_init(QEMUMachineInitArgs *args)
> {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     SuperHCPU *cpu;
>     CPUSH4State *env;
>     ResetData *reset_info;
> diff --git a/hw/realview.c b/hw/realview.c
> index 19db4d0..8dc4be6 100644
> --- a/hw/realview.c
> +++ b/hw/realview.c
> @@ -330,11 +330,14 @@ static void realview_init(ram_addr_t ram_size,
>     arm_load_kernel(arm_env_get_cpu(first_cpu), &realview_binfo);
> }
> 
> -static void realview_eb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void realview_eb_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     if (!cpu_model) {
>         cpu_model = "arm926";
>     }
> @@ -342,11 +345,14 @@ static void realview_eb_init(ram_addr_t ram_size,
>                   initrd_filename, cpu_model, BOARD_EB);
> }
> 
> -static void realview_eb_mpcore_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void realview_eb_mpcore_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     if (!cpu_model) {
>         cpu_model = "arm11mpcore";
>     }
> @@ -354,11 +360,14 @@ static void realview_eb_mpcore_init(ram_addr_t ram_size,
>                   initrd_filename, cpu_model, BOARD_EB_MPCORE);
> }
> 
> -static void realview_pb_a8_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void realview_pb_a8_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     if (!cpu_model) {
>         cpu_model = "cortex-a8";
>     }
> @@ -366,11 +375,14 @@ static void realview_pb_a8_init(ram_addr_t ram_size,
>                   initrd_filename, cpu_model, BOARD_PB_A8);
> }
> 
> -static void realview_pbx_a9_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void realview_pbx_a9_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     if (!cpu_model) {
>         cpu_model = "cortex-a9";
>     }
> diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
> index 47eed35..39ff178 100644
> --- a/hw/s390-virtio.c
> +++ b/hw/s390-virtio.c
> @@ -151,13 +151,14 @@ unsigned s390_del_running_cpu(CPUS390XState *env)
> }
> 
> /* PC hardware initialisation */
> -static void s390_init(ram_addr_t my_ram_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename,
> -                      const char *kernel_cmdline,
> -                      const char *initrd_filename,
> -                      const char *cpu_model)
> +static void s390_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t my_ram_size = args->ram_size;
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     CPUS390XState *env = NULL;
>     MemoryRegion *sysmem = get_system_memory();
>     MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/shix.c b/hw/shix.c
> index dd9ce17..b56dd54 100644
> --- a/hw/shix.c
> +++ b/hw/shix.c
> @@ -37,11 +37,9 @@
> #define BIOS_FILENAME "shix_bios.bin"
> #define BIOS_ADDRESS 0xA0000000
> 
> -static void shix_init(ram_addr_t ram_size,
> -               const char *boot_device,
> -           const char *kernel_filename, const char *kernel_cmdline,
> -           const char *initrd_filename, const char *cpu_model)
> +static void shix_init(QEMUMachineInitArgs *args)
> {
> +    const char *cpu_model = args->cpu_model;
>     int ret;
>     CPUSH4State *env;
>     struct SH7750State *s;
> diff --git a/hw/spapr.c b/hw/spapr.c
> index c34b767..8921c4d 100644
> --- a/hw/spapr.c
> +++ b/hw/spapr.c
> @@ -603,13 +603,14 @@ static int spapr_vga_init(PCIBus *pci_bus)
> }
> 
> /* pSeries LPAR / sPAPR hardware init */
> -static void ppc_spapr_init(ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void ppc_spapr_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     PowerPCCPU *cpu;
>     CPUPPCState *env;
>     PCIHostState *phb;
> diff --git a/hw/spitz.c b/hw/spitz.c
> index 20e7835..df829b3 100644
> --- a/hw/spitz.c
> +++ b/hw/spitz.c
> @@ -936,38 +936,46 @@ static void spitz_common_init(ram_addr_t ram_size,
>     sl_bootparam_write(SL_PXA_PARAM_BASE);
> }
> 
> -static void spitz_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void spitz_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     spitz_common_init(ram_size, kernel_filename,
>                 kernel_cmdline, initrd_filename, cpu_model, spitz, 0x2c9);
> }
> 
> -static void borzoi_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void borzoi_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     spitz_common_init(ram_size, kernel_filename,
>                 kernel_cmdline, initrd_filename, cpu_model, borzoi, 0x33f);
> }
> 
> -static void akita_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void akita_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     spitz_common_init(ram_size, kernel_filename,
>                 kernel_cmdline, initrd_filename, cpu_model, akita, 0x2e8);
> }
> 
> -static void terrier_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void terrier_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     spitz_common_init(ram_size, kernel_filename,
>                 kernel_cmdline, initrd_filename, cpu_model, terrier, 0x33f);
> }
> diff --git a/hw/stellaris.c b/hw/stellaris.c
> index 562fbbf..b79c7fb 100644
> --- a/hw/stellaris.c
> +++ b/hw/stellaris.c
> @@ -1358,19 +1358,17 @@ static void stellaris_init(const char *kernel_filename, const char *cpu_model,
> }
> 
> /* FIXME: Figure out how to generate these from stellaris_boards.  */
> -static void lm3s811evb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void lm3s811evb_init(QEMUMachineInitArgs *args)
> {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>     stellaris_init(kernel_filename, cpu_model, &stellaris_boards[0]);
> }
> 
> -static void lm3s6965evb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void lm3s6965evb_init(QEMUMachineInitArgs *args)
> {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>     stellaris_init(kernel_filename, cpu_model, &stellaris_boards[1]);
> }
> 
> diff --git a/hw/sun4m.c b/hw/sun4m.c
> index c98cd5e..22e011f 100644
> --- a/hw/sun4m.c
> +++ b/hw/sun4m.c
> @@ -1303,92 +1303,118 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
> };
> 
> /* SPARCstation 5 hardware initialisation */
> -static void ss5_init(ram_addr_t RAM_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void ss5_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sun4m_hw_init(&sun4m_hwdefs[0], RAM_size, boot_device, kernel_filename,
>                   kernel_cmdline, initrd_filename, cpu_model);
> }
> 
> /* SPARCstation 10 hardware initialisation */
> -static void ss10_init(ram_addr_t RAM_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +static void ss10_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sun4m_hw_init(&sun4m_hwdefs[1], RAM_size, boot_device, kernel_filename,
>                   kernel_cmdline, initrd_filename, cpu_model);
> }
> 
> /* SPARCserver 600MP hardware initialisation */
> -static void ss600mp_init(ram_addr_t RAM_size,
> -                         const char *boot_device,
> -                         const char *kernel_filename,
> -                         const char *kernel_cmdline,
> -                         const char *initrd_filename, const char *cpu_model)
> +static void ss600mp_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sun4m_hw_init(&sun4m_hwdefs[2], RAM_size, boot_device, kernel_filename,
>                   kernel_cmdline, initrd_filename, cpu_model);
> }
> 
> /* SPARCstation 20 hardware initialisation */
> -static void ss20_init(ram_addr_t RAM_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +static void ss20_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sun4m_hw_init(&sun4m_hwdefs[3], RAM_size, boot_device, kernel_filename,
>                   kernel_cmdline, initrd_filename, cpu_model);
> }
> 
> /* SPARCstation Voyager hardware initialisation */
> -static void vger_init(ram_addr_t RAM_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +static void vger_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sun4m_hw_init(&sun4m_hwdefs[4], RAM_size, boot_device, kernel_filename,
>                   kernel_cmdline, initrd_filename, cpu_model);
> }
> 
> /* SPARCstation LX hardware initialisation */
> -static void ss_lx_init(ram_addr_t RAM_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> +static void ss_lx_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sun4m_hw_init(&sun4m_hwdefs[5], RAM_size, boot_device, kernel_filename,
>                   kernel_cmdline, initrd_filename, cpu_model);
> }
> 
> /* SPARCstation 4 hardware initialisation */
> -static void ss4_init(ram_addr_t RAM_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void ss4_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sun4m_hw_init(&sun4m_hwdefs[6], RAM_size, boot_device, kernel_filename,
>                   kernel_cmdline, initrd_filename, cpu_model);
> }
> 
> /* SPARCClassic hardware initialisation */
> -static void scls_init(ram_addr_t RAM_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +static void scls_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sun4m_hw_init(&sun4m_hwdefs[7], RAM_size, boot_device, kernel_filename,
>                   kernel_cmdline, initrd_filename, cpu_model);
> }
> 
> /* SPARCbook hardware initialisation */
> -static void sbook_init(ram_addr_t RAM_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> +static void sbook_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sun4m_hw_init(&sun4m_hwdefs[8], RAM_size, boot_device, kernel_filename,
>                   kernel_cmdline, initrd_filename, cpu_model);
> }
> @@ -1651,21 +1677,27 @@ static void sun4d_hw_init(const struct sun4d_hwdef *hwdef, ram_addr_t RAM_size,
> }
> 
> /* SPARCserver 1000 hardware initialisation */
> -static void ss1000_init(ram_addr_t RAM_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename, const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void ss1000_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sun4d_hw_init(&sun4d_hwdefs[0], RAM_size, boot_device, kernel_filename,
>                   kernel_cmdline, initrd_filename, cpu_model);
> }
> 
> /* SPARCcenter 2000 hardware initialisation */
> -static void ss2000_init(ram_addr_t RAM_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename, const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void ss2000_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sun4d_hw_init(&sun4d_hwdefs[1], RAM_size, boot_device, kernel_filename,
>                   kernel_cmdline, initrd_filename, cpu_model);
> }
> @@ -1845,11 +1877,14 @@ static void sun4c_hw_init(const struct sun4c_hwdef *hwdef, ram_addr_t RAM_size,
> }
> 
> /* SPARCstation 2 hardware initialisation */
> -static void ss2_init(ram_addr_t RAM_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void ss2_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     sun4c_hw_init(&sun4c_hwdefs[0], RAM_size, boot_device, kernel_filename,
>                   kernel_cmdline, initrd_filename, cpu_model);
> }
> diff --git a/hw/sun4u.c b/hw/sun4u.c
> index 07cd042..379768c 100644
> --- a/hw/sun4u.c
> +++ b/hw/sun4u.c
> @@ -930,31 +930,40 @@ static const struct hwdef hwdefs[] = {
> };
> 
> /* Sun4u hardware initialisation */
> -static void sun4u_init(ram_addr_t RAM_size,
> -                       const char *boot_devices,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> -{
> +static void sun4u_init(QEMUMachineInitArgs *args)
> +{
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_devices = args->boot_device;
>     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
>                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[0]);
> }
> 
> /* Sun4v hardware initialisation */
> -static void sun4v_init(ram_addr_t RAM_size,
> -                       const char *boot_devices,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> -{
> +static void sun4v_init(QEMUMachineInitArgs *args)
> +{
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_devices = args->boot_device;
>     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
>                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[1]);
> }
> 
> /* Niagara hardware initialisation */
> -static void niagara_init(ram_addr_t RAM_size,
> -                         const char *boot_devices,
> -                         const char *kernel_filename, const char *kernel_cmdline,
> -                         const char *initrd_filename, const char *cpu_model)
> -{
> +static void niagara_init(QEMUMachineInitArgs *args)
> +{
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_devices = args->boot_device;
>     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
>                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[2]);
> }
> diff --git a/hw/tosa.c b/hw/tosa.c
> index 297a8c2..512278c 100644
> --- a/hw/tosa.c
> +++ b/hw/tosa.c
> @@ -205,11 +205,12 @@ static struct arm_boot_info tosa_binfo = {
>     .ram_size = 0x04000000,
> };
> 
> -static void tosa_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void tosa_init(QEMUMachineInitArgs *args)
> {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     MemoryRegion *address_space_mem = get_system_memory();
>     MemoryRegion *rom = g_new(MemoryRegion, 1);
>     PXA2xxState *mpu;
> diff --git a/hw/versatilepb.c b/hw/versatilepb.c
> index 7a92034..686dcc7 100644
> --- a/hw/versatilepb.c
> +++ b/hw/versatilepb.c
> @@ -342,22 +342,28 @@ static void versatile_init(ram_addr_t ram_size,
>     arm_load_kernel(cpu, &versatile_binfo);
> }
> 
> -static void vpb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void vpb_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     versatile_init(ram_size,
>                    boot_device,
>                    kernel_filename, kernel_cmdline,
>                    initrd_filename, cpu_model, 0x183);
> }
> 
> -static void vab_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void vab_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     versatile_init(ram_size,
>                    boot_device,
>                    kernel_filename, kernel_cmdline,
> diff --git a/hw/vexpress.c b/hw/vexpress.c
> index 3596d1e..36503d6 100644
> --- a/hw/vexpress.c
> +++ b/hw/vexpress.c
> @@ -467,25 +467,27 @@ static void vexpress_common_init(const VEDBoardInfo *daughterboard,
>     arm_load_kernel(arm_env_get_cpu(first_cpu), &vexpress_binfo);
> }
> 
> -static void vexpress_a9_init(ram_addr_t ram_size,
> -                             const char *boot_device,
> -                             const char *kernel_filename,
> -                             const char *kernel_cmdline,
> -                             const char *initrd_filename,
> -                             const char *cpu_model)
> +static void vexpress_a9_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     vexpress_common_init(&a9_daughterboard,
>                          ram_size, boot_device, kernel_filename,
>                          kernel_cmdline, initrd_filename, cpu_model);
> }
> 
> -static void vexpress_a15_init(ram_addr_t ram_size,
> -                              const char *boot_device,
> -                              const char *kernel_filename,
> -                              const char *kernel_cmdline,
> -                              const char *initrd_filename,
> -                              const char *cpu_model)
> +static void vexpress_a15_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     vexpress_common_init(&a15_daughterboard,
>                          ram_size, boot_device, kernel_filename,
>                          kernel_cmdline, initrd_filename, cpu_model);
> diff --git a/hw/virtex_ml507.c b/hw/virtex_ml507.c
> index 79bc0d1..a09b27a 100644
> --- a/hw/virtex_ml507.c
> +++ b/hw/virtex_ml507.c
> @@ -183,12 +183,12 @@ static int xilinx_load_device_tree(target_phys_addr_t addr,
>     return fdt_size;
> }
> 
> -static void virtex_init(ram_addr_t ram_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename,
> -                        const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void virtex_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
>     MemoryRegion *address_space_mem = get_system_memory();
>     DeviceState *dev;
>     PowerPCCPU *cpu;
> diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
> index 4b72aa7..1ac9990 100644
> --- a/hw/xen_machine_pv.c
> +++ b/hw/xen_machine_pv.c
> @@ -29,12 +29,13 @@
> #include "xen_domainbuild.h"
> #include "blockdev.h"
> 
> -static void xen_init_pv(ram_addr_t ram_size,
> -            const char *boot_device,
> -            const char *kernel_filename,
> -            const char *kernel_cmdline,
> -            const char *initrd_filename,
> -            const char *cpu_model)
> +static void xen_init_pv(QEMUMachine *machine,
> +                        ram_addr_t ram_size,
> +                        const char *boot_device,
> +                        const char *kernel_filename,
> +                        const char *kernel_cmdline,
> +                        const char *initrd_filename,
> +                        const char *cpu_model)
> {
>     X86CPU *cpu;
>     CPUX86State *env;
> diff --git a/hw/xilinx_zynq.c b/hw/xilinx_zynq.c
> index 7e6c273..83f322e 100644
> --- a/hw/xilinx_zynq.c
> +++ b/hw/xilinx_zynq.c
> @@ -46,10 +46,13 @@ static void gem_init(NICInfo *nd, uint32_t base, qemu_irq irq)
>     sysbus_connect_irq(s, 0, irq);
> }
> 
> -static void zynq_init(ram_addr_t ram_size, const char *boot_device,
> -                        const char *kernel_filename, const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void zynq_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     ARMCPU *cpu;
>     MemoryRegion *address_space_mem = get_system_memory();
>     MemoryRegion *ext_ram = g_new(MemoryRegion, 1);
> diff --git a/hw/xtensa_lx60.c b/hw/xtensa_lx60.c
> index 3653f65..1fd2c47 100644
> --- a/hw/xtensa_lx60.c
> +++ b/hw/xtensa_lx60.c
> @@ -268,11 +268,14 @@ static void lx_init(const LxBoardDesc *board,
>     }
> }
> 
> -static void xtensa_lx60_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void xtensa_lx60_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     static const LxBoardDesc lx60_board = {
>         .flash_size = 0x400000,
>         .flash_sector_size = 0x10000,
> @@ -283,11 +286,14 @@ static void xtensa_lx60_init(ram_addr_t ram_size,
>             initrd_filename, cpu_model);
> }
> 
> -static void xtensa_lx200_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void xtensa_lx200_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     static const LxBoardDesc lx200_board = {
>         .flash_size = 0x1000000,
>         .flash_sector_size = 0x20000,
> diff --git a/hw/xtensa_sim.c b/hw/xtensa_sim.c
> index 831460b..2e846d8 100644
> --- a/hw/xtensa_sim.c
> +++ b/hw/xtensa_sim.c
> @@ -96,11 +96,14 @@ static void sim_init(ram_addr_t ram_size,
>     }
> }
> 
> -static void xtensa_sim_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void xtensa_sim_init(QEMUMachineInitArgs *args)
> {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>     if (!cpu_model) {
>         cpu_model = XTENSA_DEFAULT_CPU_MODEL;
>     }
> diff --git a/hw/z2.c b/hw/z2.c
> index 289cee9..0927bad 100644
> --- a/hw/z2.c
> +++ b/hw/z2.c
> @@ -294,11 +294,12 @@ static TypeInfo aer915_info = {
>     .class_init    = aer915_class_init,
> };
> 
> -static void z2_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void z2_init(QEMUMachineInitArgs *args)
> {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>     MemoryRegion *address_space_mem = get_system_memory();
>     uint32_t sector_len = 0x10000;
>     PXA2xxState *mpu;
> diff --git a/vl.c b/vl.c
> index 8d305ca..f663e7c 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -3624,8 +3624,13 @@ int main(int argc, char **argv, char **envp)
> 
>     qdev_machine_init();
> 
> -    machine->init(ram_size, boot_devices,
> -                  kernel_filename, kernel_cmdline, initrd_filename, cpu_model);
> +    QEMUMachineInitArgs args = { .ram_size = ram_size,
> +                                 .boot_device = boot_devices,
> +                                 .kernel_filename = kernel_filename,
> +                                 .kernel_cmdline = kernel_cmdline,
> +                                 initrd_filename = initrd_filename,
> +                                 .cpu_model = cpu_model };
> +    machine->init(&args);
> 
>     cpu_synchronize_all_post_init();
> 
> -- 
> 1.7.11.4
> 

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

From xen-devel-bounces@lists.xen.org Fri Oct 05 20:22:19 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Oct 2012 20:22:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TKEPG-00079H-Sf; Fri, 05 Oct 2012 20:21:58 +0000
Received: from mail27.messagelabs.com ([193.109.254.147])
	by lists.xen.org with smtp (Exim 4.72)
	(envelope-from <ehabkost@redhat.com>) id 1TKEPF-00079A-6z
	for xen-devel@lists.xensource.com; Fri, 05 Oct 2012 20:21:57 +0000
X-Env-Sender: ehabkost@redhat.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1349468509!1785447!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTcwODY=\n
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32430 invoked from network); 5 Oct 2012 20:21:49 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-14.tower-27.messagelabs.com with SMTP;
	5 Oct 2012 20:21:49 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q95KLJvR032621
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 5 Oct 2012 16:21:19 -0400
Received: from blackpad.lan.raisama.net (vpn1-7-193.gru2.redhat.com
	[10.97.7.193])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q95KLHg2020961; Fri, 5 Oct 2012 16:21:17 -0400
Received: by blackpad.lan.raisama.net (Postfix, from userid 500)
	id 61DFB203604; Fri,  5 Oct 2012 17:22:17 -0300 (BRT)
From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org
Date: Fri,  5 Oct 2012 17:22:15 -0300
Message-Id: <1349468535-14499-1-git-send-email-ehabkost@redhat.com>
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Evgeny Voevodin <e.voevodin@samsung.com>,
	Peter Crosthwaite <peter.crosthwaite@petalogix.com>,
	Max Filippov <jcmvbkbc@gmail.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Guan Xuetao <gxt@mprc.pku.edu.cn>, xen-devel@lists.xensource.com,
	Igor Mitsyanko <i.mitsyanko@samsung.com>,
	Magnus Damm <magnus.damm@gmail.com>, Alexander Graf <agraf@suse.de>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Maksim Kozlov <m.kozlov@samsung.com>,
	Andrzej Zaborowski <balrogg@gmail.com>,
	Fabien Chouteau <chouteau@adacore.com>, Jan Kiszka <jan.kiszka@web.de>,
	Paul Brook <paul@codesourcery.com>, Blue Swirl <blauwirbel@gmail.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	Michael Walle <michael@walle.cc>, qemu-ppc@nongnu.org,
	Dmitry Solodkiy <d.solodkiy@samsung.com>,
	Aurelien Jarno <aurelien@aurel32.net>
Subject: [Xen-devel] [QEMU PATCH] create struct for machine initialization
	arguments (v2)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This should help us to:
- More easily add or remove machine initialization arguments without
  having to change every single machine init function;
- More easily make mechanical changes involving the machine init
  functions in the future;
- Let machine initialization forward the init arguments to other
  functions more easily.

This change was half-mechanical process: first the struct was added with
the local ram_size, boot_device, kernel_*, initrd_*, and cpu_model local
variable initialization to all functions. Then the compiler helped me
locate the local variables that are unused, so they could be removed.

Changes v1 -> v2:
 - Fix mistake on the conversion of pc_xen_hvm_init() and xen_init_pv()

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 hw/alpha_dp264.c              |  12 ++--
 hw/an5206.c                   |   8 +--
 hw/axis_dev88.c               |   9 +--
 hw/boards.h                   |  16 +++--
 hw/collie.c                   |   9 +--
 hw/dummy_m68k.c               |   8 +--
 hw/exynos4_boards.c           |  16 ++---
 hw/gumstix.c                  |  11 +---
 hw/highbank.c                 |  10 ++--
 hw/integratorcp.c             |  10 ++--
 hw/kzm.c                      |  10 ++--
 hw/leon3.c                    |  10 ++--
 hw/lm32_boards.c              |  18 +++---
 hw/mainstone.c                |  10 ++--
 hw/mcf5208.c                  |   8 +--
 hw/milkymist.c                |  10 ++--
 hw/mips_fulong2e.c            |   9 ++-
 hw/mips_jazz.c                |  14 ++---
 hw/mips_malta.c               |  10 ++--
 hw/mips_mipssim.c             |  10 ++--
 hw/mips_r4k.c                 |  10 ++--
 hw/musicpal.c                 |   9 +--
 hw/nseries.c                  |  22 ++++---
 hw/null-machine.c             |   7 +--
 hw/omap_sx1.c                 |  22 ++++---
 hw/openrisc_sim.c             |  10 ++--
 hw/palm.c                     |   9 +--
 hw/pc_piix.c                  |  50 ++++++++--------
 hw/petalogix_ml605_mmu.c      |   8 +--
 hw/petalogix_s3adsp1800_mmu.c |   8 +--
 hw/ppc/e500plat.c             |  13 +++--
 hw/ppc/mpc8544ds.c            |  13 +++--
 hw/ppc405_boards.c            |  25 ++++----
 hw/ppc440_bamboo.c            |  12 ++--
 hw/ppc_newworld.c             |  13 +++--
 hw/ppc_oldworld.c             |  13 +++--
 hw/ppc_prep.c                 |  13 +++--
 hw/puv3.c                     |   8 ++-
 hw/r2d.c                      |   9 +--
 hw/realview.c                 |  44 +++++++++-----
 hw/s390-virtio.c              |  13 +++--
 hw/shix.c                     |   6 +-
 hw/spapr.c                    |  13 +++--
 hw/spitz.c                    |  40 ++++++++-----
 hw/stellaris.c                |  14 ++---
 hw/sun4m.c                    | 133 ++++++++++++++++++++++++++----------------
 hw/sun4u.c                    |  39 ++++++++-----
 hw/tosa.c                     |   9 +--
 hw/versatilepb.c              |  22 ++++---
 hw/vexpress.c                 |  26 +++++----
 hw/virtex_ml507.c             |  10 ++--
 hw/xen_machine_pv.c           |   7 +--
 hw/xilinx_zynq.c              |   9 ++-
 hw/xtensa_lx60.c              |  22 ++++---
 hw/xtensa_sim.c               |  11 ++--
 hw/z2.c                       |   9 +--
 vl.c                          |   9 ++-
 57 files changed, 514 insertions(+), 414 deletions(-)

diff --git a/hw/alpha_dp264.c b/hw/alpha_dp264.c
index 9eb939f..2c2e237 100644
--- a/hw/alpha_dp264.c
+++ b/hw/alpha_dp264.c
@@ -42,13 +42,13 @@ static int clipper_pci_map_irq(PCIDevice *d, int irq_num)
     return (slot + 1) * 4 + irq_num;
 }
 
-static void clipper_init(ram_addr_t ram_size,
-                         const char *boot_device,
-                         const char *kernel_filename,
-                         const char *kernel_cmdline,
-                         const char *initrd_filename,
-                         const char *cpu_model)
+static void clipper_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     CPUAlphaState *cpus[4];
     PCIBus *pci_bus;
     ISABus *isa_bus;
diff --git a/hw/an5206.c b/hw/an5206.c
index 25407c0..042c5fc 100644
--- a/hw/an5206.c
+++ b/hw/an5206.c
@@ -19,11 +19,11 @@
 
 /* Board init.  */
 
-static void an5206_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void an5206_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     CPUM68KState *env;
     int kernel_size;
     uint64_t elf_entry;
diff --git a/hw/axis_dev88.c b/hw/axis_dev88.c
index eab6327..2fd7356 100644
--- a/hw/axis_dev88.c
+++ b/hw/axis_dev88.c
@@ -242,11 +242,12 @@ static const MemoryRegionOps gpio_ops = {
 static struct cris_load_info li;
 
 static
-void axisdev88_init (ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+void axisdev88_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
     CRISCPU *cpu;
     CPUCRISState *env;
     DeviceState *dev;
diff --git a/hw/boards.h b/hw/boards.h
index a2e0a54..813d0e5 100644
--- a/hw/boards.h
+++ b/hw/boards.h
@@ -5,12 +5,16 @@
 
 #include "qdev.h"
 
-typedef void QEMUMachineInitFunc(ram_addr_t ram_size,
-                                 const char *boot_device,
-                                 const char *kernel_filename,
-                                 const char *kernel_cmdline,
-                                 const char *initrd_filename,
-                                 const char *cpu_model);
+typedef struct QEMUMachineInitArgs {
+    ram_addr_t ram_size;
+    const char *boot_device;
+    const char *kernel_filename;
+    const char *kernel_cmdline;
+    const char *initrd_filename;
+    const char *cpu_model;
+} QEMUMachineInitArgs;
+
+typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
 
 typedef void QEMUMachineResetFunc(void);
 
diff --git a/hw/collie.c b/hw/collie.c
index 56f89a9..695982a 100644
--- a/hw/collie.c
+++ b/hw/collie.c
@@ -23,11 +23,12 @@ static struct arm_boot_info collie_binfo = {
     .ram_size = 0x20000000,
 };
 
-static void collie_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void collie_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     StrongARMState *s;
     DriveInfo *dinfo;
     MemoryRegion *sysmem = get_system_memory();
diff --git a/hw/dummy_m68k.c b/hw/dummy_m68k.c
index 7cc7a99..f436a0c 100644
--- a/hw/dummy_m68k.c
+++ b/hw/dummy_m68k.c
@@ -16,11 +16,11 @@
 
 /* Board init.  */
 
-static void dummy_m68k_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void dummy_m68k_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     CPUM68KState *env;
     MemoryRegion *address_space_mem =  get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/exynos4_boards.c b/hw/exynos4_boards.c
index 4bb0a60..4951064 100644
--- a/hw/exynos4_boards.c
+++ b/hw/exynos4_boards.c
@@ -130,22 +130,22 @@ static Exynos4210State *exynos4_boards_init_common(
             exynos4_board_ram_size[board_type]);
 }
 
-static void nuri_init(ram_addr_t ram_size,
-        const char *boot_device,
-        const char *kernel_filename, const char *kernel_cmdline,
-        const char *initrd_filename, const char *cpu_model)
+static void nuri_init(QEMUMachineInitArgs *args)
 {
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     exynos4_boards_init_common(kernel_filename, kernel_cmdline,
                 initrd_filename, EXYNOS4_BOARD_NURI);
 
     arm_load_kernel(arm_env_get_cpu(first_cpu), &exynos4_board_binfo);
 }
 
-static void smdkc210_init(ram_addr_t ram_size,
-        const char *boot_device,
-        const char *kernel_filename, const char *kernel_cmdline,
-        const char *initrd_filename, const char *cpu_model)
+static void smdkc210_init(QEMUMachineInitArgs *args)
 {
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     Exynos4210State *s = exynos4_boards_init_common(kernel_filename,
             kernel_cmdline, initrd_filename, EXYNOS4_BOARD_SMDKC210);
 
diff --git a/hw/gumstix.c b/hw/gumstix.c
index 13a36ea..4103a88 100644
--- a/hw/gumstix.c
+++ b/hw/gumstix.c
@@ -45,10 +45,7 @@
 
 static const int sector_len = 128 * 1024;
 
-static void connex_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void connex_init(QEMUMachineInitArgs *args)
 {
     PXA2xxState *cpu;
     DriveInfo *dinfo;
@@ -84,11 +81,9 @@ static void connex_init(ram_addr_t ram_size,
                     qdev_get_gpio_in(cpu->gpio, 36));
 }
 
-static void verdex_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void verdex_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
     PXA2xxState *cpu;
     DriveInfo *dinfo;
     int be;
diff --git a/hw/highbank.c b/hw/highbank.c
index 11aa131..15036b6 100644
--- a/hw/highbank.c
+++ b/hw/highbank.c
@@ -187,11 +187,13 @@ static struct arm_boot_info highbank_binfo;
  * 32-bit host, set the reg value of memory to 0xf7ff00000 in the
  * device tree and pass -m 2047 to QEMU.
  */
-static void highbank_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void highbank_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     DeviceState *dev;
     SysBusDevice *busdev;
     qemu_irq *irqp;
diff --git a/hw/integratorcp.c b/hw/integratorcp.c
index d0e2e90..ac0ea83 100644
--- a/hw/integratorcp.c
+++ b/hw/integratorcp.c
@@ -438,11 +438,13 @@ static struct arm_boot_info integrator_binfo = {
     .board_id = 0x113,
 };
 
-static void integratorcp_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void integratorcp_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/kzm.c b/hw/kzm.c
index 68cd1b4..d1266d9 100644
--- a/hw/kzm.c
+++ b/hw/kzm.c
@@ -70,11 +70,13 @@ static struct arm_boot_info kzm_binfo = {
     .board_id = 1722,
 };
 
-static void kzm_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void kzm_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/leon3.c b/hw/leon3.c
index 878d3aa..6486b7b 100644
--- a/hw/leon3.c
+++ b/hw/leon3.c
@@ -94,13 +94,11 @@ static void leon3_set_pil_in(void *opaque, uint32_t pil_in)
     }
 }
 
-static void leon3_generic_hw_init(ram_addr_t  ram_size,
-                                  const char *boot_device,
-                                  const char *kernel_filename,
-                                  const char *kernel_cmdline,
-                                  const char *initrd_filename,
-                                  const char *cpu_model)
+static void leon3_generic_hw_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     SPARCCPU *cpu;
     CPUSPARCState   *env;
     MemoryRegion *address_space_mem = get_system_memory();
diff --git a/hw/lm32_boards.c b/hw/lm32_boards.c
index b76d800..c5a62c8 100644
--- a/hw/lm32_boards.c
+++ b/hw/lm32_boards.c
@@ -69,12 +69,10 @@ static void main_cpu_reset(void *opaque)
     env->deba = reset_info->flash_base;
 }
 
-static void lm32_evr_init(ram_addr_t ram_size_not_used,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+static void lm32_evr_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     LM32CPU *cpu;
     CPULM32State *env;
     DriveInfo *dinfo;
@@ -159,12 +157,12 @@ static void lm32_evr_init(ram_addr_t ram_size_not_used,
     qemu_register_reset(main_cpu_reset, reset_info);
 }
 
-static void lm32_uclinux_init(ram_addr_t ram_size_not_used,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+static void lm32_uclinux_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     LM32CPU *cpu;
     CPULM32State *env;
     DriveInfo *dinfo;
diff --git a/hw/mainstone.c b/hw/mainstone.c
index 97687b6..c0d6034 100644
--- a/hw/mainstone.c
+++ b/hw/mainstone.c
@@ -171,11 +171,13 @@ static void mainstone_common_init(MemoryRegion *address_space_mem,
     arm_load_kernel(mpu->cpu, &mainstone_binfo);
 }
 
-static void mainstone_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void mainstone_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     mainstone_common_init(get_system_memory(), ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, mainstone, 0x196);
 }
diff --git a/hw/mcf5208.c b/hw/mcf5208.c
index ee25b1b..688bc3c 100644
--- a/hw/mcf5208.c
+++ b/hw/mcf5208.c
@@ -187,11 +187,11 @@ static void mcf5208_sys_init(MemoryRegion *address_space, qemu_irq *pic)
     }
 }
 
-static void mcf5208evb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void mcf5208evb_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     CPUM68KState *env;
     int kernel_size;
     uint64_t elf_entry;
diff --git a/hw/milkymist.c b/hw/milkymist.c
index 2e7235b..ca9ed43 100644
--- a/hw/milkymist.c
+++ b/hw/milkymist.c
@@ -73,12 +73,12 @@ static void main_cpu_reset(void *opaque)
 }
 
 static void
-milkymist_init(ram_addr_t ram_size_not_used,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+milkymist_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     LM32CPU *cpu;
     CPULM32State *env;
     int kernel_size;
diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c
index 38e4b86..af7bb50 100644
--- a/hw/mips_fulong2e.c
+++ b/hw/mips_fulong2e.c
@@ -256,10 +256,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
     }
 }
 
-static void mips_fulong2e_init(ram_addr_t ram_size, const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void mips_fulong2e_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c
index db927f1..14df4d7 100644
--- a/hw/mips_jazz.c
+++ b/hw/mips_jazz.c
@@ -302,21 +302,19 @@ static void mips_jazz_init(MemoryRegion *address_space,
 }
 
 static
-void mips_magnum_init (ram_addr_t ram_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+void mips_magnum_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
         mips_jazz_init(get_system_memory(), get_system_io(),
                        ram_size, cpu_model, JAZZ_MAGNUM);
 }
 
 static
-void mips_pica61_init (ram_addr_t ram_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+void mips_pica61_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
     mips_jazz_init(get_system_memory(), get_system_io(),
                    ram_size, cpu_model, JAZZ_PICA61);
 }
diff --git a/hw/mips_malta.c b/hw/mips_malta.c
index ad23f26..14151f9 100644
--- a/hw/mips_malta.c
+++ b/hw/mips_malta.c
@@ -777,11 +777,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
 }
 
 static
-void mips_malta_init (ram_addr_t ram_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+void mips_malta_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     pflash_t *fl;
     MemoryRegion *system_memory = get_system_memory();
diff --git a/hw/mips_mipssim.c b/hw/mips_mipssim.c
index 830f635..a1d3945 100644
--- a/hw/mips_mipssim.c
+++ b/hw/mips_mipssim.c
@@ -131,11 +131,13 @@ static void mipsnet_init(int base, qemu_irq irq, NICInfo *nd)
 }
 
 static void
-mips_mipssim_init (ram_addr_t ram_size,
-                   const char *boot_device,
-                   const char *kernel_filename, const char *kernel_cmdline,
-                   const char *initrd_filename, const char *cpu_model)
+mips_mipssim_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c
index 967a76e..b73cdc3 100644
--- a/hw/mips_r4k.c
+++ b/hw/mips_r4k.c
@@ -151,11 +151,13 @@ static void main_cpu_reset(void *opaque)
 
 static const int sector_len = 32 * 1024;
 static
-void mips_r4k_init (ram_addr_t ram_size,
-                    const char *boot_device,
-                    const char *kernel_filename, const char *kernel_cmdline,
-                    const char *initrd_filename, const char *cpu_model)
+void mips_r4k_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/musicpal.c b/hw/musicpal.c
index f305e21..f06814c 100644
--- a/hw/musicpal.c
+++ b/hw/musicpal.c
@@ -1508,11 +1508,12 @@ static struct arm_boot_info musicpal_binfo = {
     .board_id = 0x20e,
 };
 
-static void musicpal_init(ram_addr_t ram_size,
-               const char *boot_device,
-               const char *kernel_filename, const char *kernel_cmdline,
-               const char *initrd_filename, const char *cpu_model)
+static void musicpal_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     qemu_irq *cpu_pic;
     qemu_irq pic[32];
diff --git a/hw/nseries.c b/hw/nseries.c
index 6df71eb..7ada90d 100644
--- a/hw/nseries.c
+++ b/hw/nseries.c
@@ -1397,21 +1397,27 @@ static struct arm_boot_info n810_binfo = {
     .atag_board = n810_atag_setup,
 };
 
-static void n800_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void n800_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     return n8x0_init(ram_size, boot_device,
                     kernel_filename, kernel_cmdline, initrd_filename,
                     cpu_model, &n800_binfo, 800);
 }
 
-static void n810_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void n810_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     return n8x0_init(ram_size, boot_device,
                     kernel_filename, kernel_cmdline, initrd_filename,
                     cpu_model, &n810_binfo, 810);
diff --git a/hw/null-machine.c b/hw/null-machine.c
index 69910d3..d813c08 100644
--- a/hw/null-machine.c
+++ b/hw/null-machine.c
@@ -15,12 +15,7 @@
 #include "hw/hw.h"
 #include "hw/boards.h"
 
-static void machine_none_init(ram_addr_t ram_size,
-                              const char *boot_device,
-                              const char *kernel_filename,
-                              const char *kernel_cmdline,
-                              const char *initrd_filename,
-                              const char *cpu_model)
+static void machine_none_init(QEMUMachineInitArgs *args)
 {
 }
 
diff --git a/hw/omap_sx1.c b/hw/omap_sx1.c
index abca341..ad17487 100644
--- a/hw/omap_sx1.c
+++ b/hw/omap_sx1.c
@@ -209,20 +209,26 @@ static void sx1_init(ram_addr_t ram_size,
     //~ qemu_console_resize(ds, 640, 480);
 }
 
-static void sx1_init_v1(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void sx1_init_v1(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sx1_init(ram_size, boot_device, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, 1);
 }
 
-static void sx1_init_v2(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void sx1_init_v2(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sx1_init(ram_size, boot_device, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, 2);
 }
diff --git a/hw/openrisc_sim.c b/hw/openrisc_sim.c
index 55e97f0..e96a944 100644
--- a/hw/openrisc_sim.c
+++ b/hw/openrisc_sim.c
@@ -90,13 +90,11 @@ static void cpu_openrisc_load_kernel(ram_addr_t ram_size,
     cpu->env.pc = entry;
 }
 
-static void openrisc_sim_init(ram_addr_t ram_size,
-                              const char *boot_device,
-                              const char *kernel_filename,
-                              const char *kernel_cmdline,
-                              const char *initrd_filename,
-                              const char *cpu_model)
+static void openrisc_sim_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
    OpenRISCCPU *cpu = NULL;
     MemoryRegion *ram;
     int n;
diff --git a/hw/palm.c b/hw/palm.c
index bacdc90..032b8d6 100644
--- a/hw/palm.c
+++ b/hw/palm.c
@@ -190,11 +190,12 @@ static struct arm_boot_info palmte_binfo = {
     .board_id = 0x331,
 };
 
-static void palmte_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void palmte_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     MemoryRegion *address_space_mem = get_system_memory();
     struct omap_mpu_state_s *mpu;
     int flash_size = 0x00800000;
diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index fd5898f..c9fca05 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -287,13 +287,14 @@ static void pc_init1(MemoryRegion *system_memory,
     }
 }
 
-static void pc_init_pci(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename,
-                        const char *cpu_model)
+static void pc_init_pci(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     pc_init1(get_system_memory(),
              get_system_io(),
              ram_size, boot_device,
@@ -301,13 +302,14 @@ static void pc_init_pci(ram_addr_t ram_size,
              initrd_filename, cpu_model, 1, 1);
 }
 
-static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
-                                    const char *boot_device,
-                                    const char *kernel_filename,
-                                    const char *kernel_cmdline,
-                                    const char *initrd_filename,
-                                    const char *cpu_model)
+static void pc_init_pci_no_kvmclock(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     pc_init1(get_system_memory(),
              get_system_io(),
              ram_size, boot_device,
@@ -315,13 +317,14 @@ static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
              initrd_filename, cpu_model, 1, 0);
 }
 
-static void pc_init_isa(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename,
-                        const char *cpu_model)
+static void pc_init_isa(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (cpu_model == NULL)
         cpu_model = "486";
     pc_init1(get_system_memory(),
@@ -332,19 +335,12 @@ static void pc_init_isa(ram_addr_t ram_size,
 }
 
 #ifdef CONFIG_XEN
-static void pc_xen_hvm_init(ram_addr_t ram_size,
-                            const char *boot_device,
-                            const char *kernel_filename,
-                            const char *kernel_cmdline,
-                            const char *initrd_filename,
-                            const char *cpu_model)
+static void pc_xen_hvm_init(QEMUMachineInitArgs *args)
 {
     if (xen_hvm_init() != 0) {
         hw_error("xen hardware virtual machine initialisation failed");
     }
-    pc_init_pci_no_kvmclock(ram_size, boot_device,
-                            kernel_filename, kernel_cmdline,
-                            initrd_filename, cpu_model);
+    pc_init_pci_no_kvmclock(args);
     xen_vcpu_init();
 }
 #endif
diff --git a/hw/petalogix_ml605_mmu.c b/hw/petalogix_ml605_mmu.c
index dced648..ace0187 100644
--- a/hw/petalogix_ml605_mmu.c
+++ b/hw/petalogix_ml605_mmu.c
@@ -70,12 +70,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
 }
 
 static void
-petalogix_ml605_init(ram_addr_t ram_size,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+petalogix_ml605_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
     MemoryRegion *address_space_mem = get_system_memory();
     DeviceState *dev, *dma, *eth0;
     MicroBlazeCPU *cpu;
diff --git a/hw/petalogix_s3adsp1800_mmu.c b/hw/petalogix_s3adsp1800_mmu.c
index 2cf6882..71c32ce 100644
--- a/hw/petalogix_s3adsp1800_mmu.c
+++ b/hw/petalogix_s3adsp1800_mmu.c
@@ -57,12 +57,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
 }
 
 static void
-petalogix_s3adsp1800_init(ram_addr_t ram_size,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+petalogix_s3adsp1800_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
     DeviceState *dev;
     MicroBlazeCPU *cpu;
     CPUMBState *env;
diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
index 60a5cb3..4cfb940 100644
--- a/hw/ppc/e500plat.c
+++ b/hw/ppc/e500plat.c
@@ -25,13 +25,14 @@ static void e500plat_fixup_devtree(PPCE500Params *params, void *fdt)
                          sizeof(compatible));
 }
 
-static void e500plat_init(ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void e500plat_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *boot_device = args->boot_device;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     PPCE500Params params = {
         .ram_size = ram_size,
         .boot_device = boot_device,
diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c
index 984d21c..e651661 100644
--- a/hw/ppc/mpc8544ds.c
+++ b/hw/ppc/mpc8544ds.c
@@ -25,13 +25,14 @@ static void mpc8544ds_fixup_devtree(PPCE500Params *params, void *fdt)
                          sizeof(compatible));
 }
 
-static void mpc8544ds_init(ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void mpc8544ds_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *boot_device = args->boot_device;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     PPCE500Params params = {
         .ram_size = ram_size,
         .boot_device = boot_device,
diff --git a/hw/ppc405_boards.c b/hw/ppc405_boards.c
index 476775d..e848cb0 100644
--- a/hw/ppc405_boards.c
+++ b/hw/ppc405_boards.c
@@ -158,7 +158,7 @@ static void ref405ep_fpga_reset (void *opaque)
     fpga->reg1 = 0x0F;
 }
 
-static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
+static void ref405ep_fpga_init(MemoryRegion *sysmem, uint32_t base)
 {
     ref405ep_fpga_t *fpga;
     MemoryRegion *fpga_memory = g_new(MemoryRegion, 1);
@@ -170,13 +170,12 @@ static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
     qemu_register_reset(&ref405ep_fpga_reset, fpga);
 }
 
-static void ref405ep_init (ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void ref405ep_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     ppc4xx_bd_info_t bd;
     CPUPPCState *env;
@@ -484,7 +483,7 @@ static void taihu_cpld_reset (void *opaque)
     cpld->reg1 = 0x80;
 }
 
-static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
+static void taihu_cpld_init(MemoryRegion *sysmem, uint32_t base)
 {
     taihu_cpld_t *cpld;
     MemoryRegion *cpld_memory = g_new(MemoryRegion, 1);
@@ -495,13 +494,11 @@ static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
     qemu_register_reset(&taihu_cpld_reset, cpld);
 }
 
-static void taihu_405ep_init(ram_addr_t ram_size,
-                             const char *boot_device,
-                             const char *kernel_filename,
-                             const char *kernel_cmdline,
-                             const char *initrd_filename,
-                             const char *cpu_model)
+static void taihu_405ep_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *kernel_filename = args->kernel_filename;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     qemu_irq *pic;
     MemoryRegion *sysmem = get_system_memory();
diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c
index c198071..78e7985 100644
--- a/hw/ppc440_bamboo.c
+++ b/hw/ppc440_bamboo.c
@@ -157,13 +157,13 @@ static void main_cpu_reset(void *opaque)
     mmubooke_create_initial_mapping(env, 0, 0);
 }
 
-static void bamboo_init(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename,
-                        const char *cpu_model)
+static void bamboo_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     unsigned int pci_irq_nrs[4] = { 28, 27, 26, 25 };
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram_memories
diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c
index e95cfe8..e7c0747 100644
--- a/hw/ppc_newworld.c
+++ b/hw/ppc_newworld.c
@@ -129,13 +129,14 @@ static void ppc_core99_reset(void *opaque)
 }
 
 /* PowerPC Mac99 hardware initialisation */
-static void ppc_core99_init (ram_addr_t ram_size,
-                             const char *boot_device,
-                             const char *kernel_filename,
-                             const char *kernel_cmdline,
-                             const char *initrd_filename,
-                             const char *cpu_model)
+static void ppc_core99_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
     char *filename;
diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c
index 1dcd8a6..d9f76a8 100644
--- a/hw/ppc_oldworld.c
+++ b/hw/ppc_oldworld.c
@@ -72,13 +72,14 @@ static void ppc_heathrow_reset(void *opaque)
     cpu_reset(CPU(cpu));
 }
 
-static void ppc_heathrow_init (ram_addr_t ram_size,
-                               const char *boot_device,
-                               const char *kernel_filename,
-                               const char *kernel_cmdline,
-                               const char *initrd_filename,
-                               const char *cpu_model)
+static void ppc_heathrow_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     MemoryRegion *sysmem = get_system_memory();
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c
index 592b7b2..f51f78a 100644
--- a/hw/ppc_prep.c
+++ b/hw/ppc_prep.c
@@ -448,13 +448,14 @@ static void ppc_prep_reset(void *opaque)
 }
 
 /* PowerPC PREP hardware initialisation */
-static void ppc_prep_init (ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void ppc_prep_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     MemoryRegion *sysmem = get_system_memory();
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
diff --git a/hw/puv3.c b/hw/puv3.c
index 43f7216..764799c 100644
--- a/hw/puv3.c
+++ b/hw/puv3.c
@@ -91,10 +91,12 @@ static void puv3_load_kernel(const char *kernel_filename)
     graphic_console_init(NULL, NULL, NULL, NULL, NULL);
 }
 
-static void puv3_init(ram_addr_t ram_size, const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void puv3_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *initrd_filename = args->initrd_filename;
     CPUUniCore32State *env;
 
     if (initrd_filename) {
diff --git a/hw/r2d.c b/hw/r2d.c
index 0f16e81..5daa42f 100644
--- a/hw/r2d.c
+++ b/hw/r2d.c
@@ -219,11 +219,12 @@ static struct QEMU_PACKED
     char kernel_cmdline[256];
 } boot_params;
 
-static void r2d_init(ram_addr_t ram_size,
-              const char *boot_device,
-	      const char *kernel_filename, const char *kernel_cmdline,
-	      const char *initrd_filename, const char *cpu_model)
+static void r2d_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     SuperHCPU *cpu;
     CPUSH4State *env;
     ResetData *reset_info;
diff --git a/hw/realview.c b/hw/realview.c
index 19db4d0..8dc4be6 100644
--- a/hw/realview.c
+++ b/hw/realview.c
@@ -330,11 +330,14 @@ static void realview_init(ram_addr_t ram_size,
     arm_load_kernel(arm_env_get_cpu(first_cpu), &realview_binfo);
 }
 
-static void realview_eb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_eb_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "arm926";
     }
@@ -342,11 +345,14 @@ static void realview_eb_init(ram_addr_t ram_size,
                   initrd_filename, cpu_model, BOARD_EB);
 }
 
-static void realview_eb_mpcore_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_eb_mpcore_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "arm11mpcore";
     }
@@ -354,11 +360,14 @@ static void realview_eb_mpcore_init(ram_addr_t ram_size,
                   initrd_filename, cpu_model, BOARD_EB_MPCORE);
 }
 
-static void realview_pb_a8_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_pb_a8_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "cortex-a8";
     }
@@ -366,11 +375,14 @@ static void realview_pb_a8_init(ram_addr_t ram_size,
                   initrd_filename, cpu_model, BOARD_PB_A8);
 }
 
-static void realview_pbx_a9_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_pbx_a9_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "cortex-a9";
     }
diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
index 47eed35..39ff178 100644
--- a/hw/s390-virtio.c
+++ b/hw/s390-virtio.c
@@ -151,13 +151,14 @@ unsigned s390_del_running_cpu(CPUS390XState *env)
 }
 
 /* PC hardware initialisation */
-static void s390_init(ram_addr_t my_ram_size,
-                      const char *boot_device,
-                      const char *kernel_filename,
-                      const char *kernel_cmdline,
-                      const char *initrd_filename,
-                      const char *cpu_model)
+static void s390_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t my_ram_size = args->ram_size;
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     CPUS390XState *env = NULL;
     MemoryRegion *sysmem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/shix.c b/hw/shix.c
index dd9ce17..b56dd54 100644
--- a/hw/shix.c
+++ b/hw/shix.c
@@ -37,11 +37,9 @@
 #define BIOS_FILENAME "shix_bios.bin"
 #define BIOS_ADDRESS 0xA0000000
 
-static void shix_init(ram_addr_t ram_size,
-               const char *boot_device,
-	       const char *kernel_filename, const char *kernel_cmdline,
-	       const char *initrd_filename, const char *cpu_model)
+static void shix_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
     int ret;
     CPUSH4State *env;
     struct SH7750State *s;
diff --git a/hw/spapr.c b/hw/spapr.c
index c34b767..8921c4d 100644
--- a/hw/spapr.c
+++ b/hw/spapr.c
@@ -603,13 +603,14 @@ static int spapr_vga_init(PCIBus *pci_bus)
 }
 
 /* pSeries LPAR / sPAPR hardware init */
-static void ppc_spapr_init(ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void ppc_spapr_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     PowerPCCPU *cpu;
     CPUPPCState *env;
     PCIHostState *phb;
diff --git a/hw/spitz.c b/hw/spitz.c
index 20e7835..df829b3 100644
--- a/hw/spitz.c
+++ b/hw/spitz.c
@@ -936,38 +936,46 @@ static void spitz_common_init(ram_addr_t ram_size,
     sl_bootparam_write(SL_PXA_PARAM_BASE);
 }
 
-static void spitz_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void spitz_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, spitz, 0x2c9);
 }
 
-static void borzoi_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void borzoi_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, borzoi, 0x33f);
 }
 
-static void akita_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void akita_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, akita, 0x2e8);
 }
 
-static void terrier_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void terrier_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, terrier, 0x33f);
 }
diff --git a/hw/stellaris.c b/hw/stellaris.c
index 562fbbf..b79c7fb 100644
--- a/hw/stellaris.c
+++ b/hw/stellaris.c
@@ -1358,19 +1358,17 @@ static void stellaris_init(const char *kernel_filename, const char *cpu_model,
 }
 
 /* FIXME: Figure out how to generate these from stellaris_boards.  */
-static void lm3s811evb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void lm3s811evb_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     stellaris_init(kernel_filename, cpu_model, &stellaris_boards[0]);
 }
 
-static void lm3s6965evb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void lm3s6965evb_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     stellaris_init(kernel_filename, cpu_model, &stellaris_boards[1]);
 }
 
diff --git a/hw/sun4m.c b/hw/sun4m.c
index c98cd5e..22e011f 100644
--- a/hw/sun4m.c
+++ b/hw/sun4m.c
@@ -1303,92 +1303,118 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
 };
 
 /* SPARCstation 5 hardware initialisation */
-static void ss5_init(ram_addr_t RAM_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void ss5_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[0], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation 10 hardware initialisation */
-static void ss10_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void ss10_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[1], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCserver 600MP hardware initialisation */
-static void ss600mp_init(ram_addr_t RAM_size,
-                         const char *boot_device,
-                         const char *kernel_filename,
-                         const char *kernel_cmdline,
-                         const char *initrd_filename, const char *cpu_model)
+static void ss600mp_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[2], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation 20 hardware initialisation */
-static void ss20_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void ss20_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[3], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation Voyager hardware initialisation */
-static void vger_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void vger_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[4], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation LX hardware initialisation */
-static void ss_lx_init(ram_addr_t RAM_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+static void ss_lx_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[5], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation 4 hardware initialisation */
-static void ss4_init(ram_addr_t RAM_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void ss4_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[6], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCClassic hardware initialisation */
-static void scls_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void scls_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[7], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCbook hardware initialisation */
-static void sbook_init(ram_addr_t RAM_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+static void sbook_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[8], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
@@ -1651,21 +1677,27 @@ static void sun4d_hw_init(const struct sun4d_hwdef *hwdef, ram_addr_t RAM_size,
 }
 
 /* SPARCserver 1000 hardware initialisation */
-static void ss1000_init(ram_addr_t RAM_size,
-                        const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void ss1000_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4d_hw_init(&sun4d_hwdefs[0], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCcenter 2000 hardware initialisation */
-static void ss2000_init(ram_addr_t RAM_size,
-                        const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void ss2000_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4d_hw_init(&sun4d_hwdefs[1], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
@@ -1845,11 +1877,14 @@ static void sun4c_hw_init(const struct sun4c_hwdef *hwdef, ram_addr_t RAM_size,
 }
 
 /* SPARCstation 2 hardware initialisation */
-static void ss2_init(ram_addr_t RAM_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void ss2_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4c_hw_init(&sun4c_hwdefs[0], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
diff --git a/hw/sun4u.c b/hw/sun4u.c
index 07cd042..379768c 100644
--- a/hw/sun4u.c
+++ b/hw/sun4u.c
@@ -930,31 +930,40 @@ static const struct hwdef hwdefs[] = {
 };
 
 /* Sun4u hardware initialisation */
-static void sun4u_init(ram_addr_t RAM_size,
-                       const char *boot_devices,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
-{
+static void sun4u_init(QEMUMachineInitArgs *args)
+{
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_devices = args->boot_device;
     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[0]);
 }
 
 /* Sun4v hardware initialisation */
-static void sun4v_init(ram_addr_t RAM_size,
-                       const char *boot_devices,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
-{
+static void sun4v_init(QEMUMachineInitArgs *args)
+{
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_devices = args->boot_device;
     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[1]);
 }
 
 /* Niagara hardware initialisation */
-static void niagara_init(ram_addr_t RAM_size,
-                         const char *boot_devices,
-                         const char *kernel_filename, const char *kernel_cmdline,
-                         const char *initrd_filename, const char *cpu_model)
-{
+static void niagara_init(QEMUMachineInitArgs *args)
+{
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_devices = args->boot_device;
     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[2]);
 }
diff --git a/hw/tosa.c b/hw/tosa.c
index 297a8c2..512278c 100644
--- a/hw/tosa.c
+++ b/hw/tosa.c
@@ -205,11 +205,12 @@ static struct arm_boot_info tosa_binfo = {
     .ram_size = 0x04000000,
 };
 
-static void tosa_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void tosa_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *rom = g_new(MemoryRegion, 1);
     PXA2xxState *mpu;
diff --git a/hw/versatilepb.c b/hw/versatilepb.c
index 7a92034..686dcc7 100644
--- a/hw/versatilepb.c
+++ b/hw/versatilepb.c
@@ -342,22 +342,28 @@ static void versatile_init(ram_addr_t ram_size,
     arm_load_kernel(cpu, &versatile_binfo);
 }
 
-static void vpb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void vpb_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     versatile_init(ram_size,
                    boot_device,
                    kernel_filename, kernel_cmdline,
                    initrd_filename, cpu_model, 0x183);
 }
 
-static void vab_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void vab_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     versatile_init(ram_size,
                    boot_device,
                    kernel_filename, kernel_cmdline,
diff --git a/hw/vexpress.c b/hw/vexpress.c
index 3596d1e..36503d6 100644
--- a/hw/vexpress.c
+++ b/hw/vexpress.c
@@ -467,25 +467,27 @@ static void vexpress_common_init(const VEDBoardInfo *daughterboard,
     arm_load_kernel(arm_env_get_cpu(first_cpu), &vexpress_binfo);
 }
 
-static void vexpress_a9_init(ram_addr_t ram_size,
-                             const char *boot_device,
-                             const char *kernel_filename,
-                             const char *kernel_cmdline,
-                             const char *initrd_filename,
-                             const char *cpu_model)
+static void vexpress_a9_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     vexpress_common_init(&a9_daughterboard,
                          ram_size, boot_device, kernel_filename,
                          kernel_cmdline, initrd_filename, cpu_model);
 }
 
-static void vexpress_a15_init(ram_addr_t ram_size,
-                              const char *boot_device,
-                              const char *kernel_filename,
-                              const char *kernel_cmdline,
-                              const char *initrd_filename,
-                              const char *cpu_model)
+static void vexpress_a15_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     vexpress_common_init(&a15_daughterboard,
                          ram_size, boot_device, kernel_filename,
                          kernel_cmdline, initrd_filename, cpu_model);
diff --git a/hw/virtex_ml507.c b/hw/virtex_ml507.c
index 79bc0d1..a09b27a 100644
--- a/hw/virtex_ml507.c
+++ b/hw/virtex_ml507.c
@@ -183,12 +183,12 @@ static int xilinx_load_device_tree(target_phys_addr_t addr,
     return fdt_size;
 }
 
-static void virtex_init(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void virtex_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
     MemoryRegion *address_space_mem = get_system_memory();
     DeviceState *dev;
     PowerPCCPU *cpu;
diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
index 4b72aa7..50aba34 100644
--- a/hw/xen_machine_pv.c
+++ b/hw/xen_machine_pv.c
@@ -29,12 +29,7 @@
 #include "xen_domainbuild.h"
 #include "blockdev.h"
 
-static void xen_init_pv(ram_addr_t ram_size,
-			const char *boot_device,
-			const char *kernel_filename,
-			const char *kernel_cmdline,
-			const char *initrd_filename,
-			const char *cpu_model)
+static void xen_init_pv(QEMUMachineInitArgs *args)
 {
     X86CPU *cpu;
     CPUX86State *env;
diff --git a/hw/xilinx_zynq.c b/hw/xilinx_zynq.c
index 7e6c273..83f322e 100644
--- a/hw/xilinx_zynq.c
+++ b/hw/xilinx_zynq.c
@@ -46,10 +46,13 @@ static void gem_init(NICInfo *nd, uint32_t base, qemu_irq irq)
     sysbus_connect_irq(s, 0, irq);
 }
 
-static void zynq_init(ram_addr_t ram_size, const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void zynq_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ext_ram = g_new(MemoryRegion, 1);
diff --git a/hw/xtensa_lx60.c b/hw/xtensa_lx60.c
index 3653f65..1fd2c47 100644
--- a/hw/xtensa_lx60.c
+++ b/hw/xtensa_lx60.c
@@ -268,11 +268,14 @@ static void lx_init(const LxBoardDesc *board,
     }
 }
 
-static void xtensa_lx60_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void xtensa_lx60_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     static const LxBoardDesc lx60_board = {
         .flash_size = 0x400000,
         .flash_sector_size = 0x10000,
@@ -283,11 +286,14 @@ static void xtensa_lx60_init(ram_addr_t ram_size,
             initrd_filename, cpu_model);
 }
 
-static void xtensa_lx200_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void xtensa_lx200_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     static const LxBoardDesc lx200_board = {
         .flash_size = 0x1000000,
         .flash_sector_size = 0x20000,
diff --git a/hw/xtensa_sim.c b/hw/xtensa_sim.c
index 831460b..2e846d8 100644
--- a/hw/xtensa_sim.c
+++ b/hw/xtensa_sim.c
@@ -96,11 +96,14 @@ static void sim_init(ram_addr_t ram_size,
     }
 }
 
-static void xtensa_sim_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void xtensa_sim_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = XTENSA_DEFAULT_CPU_MODEL;
     }
diff --git a/hw/z2.c b/hw/z2.c
index 289cee9..0927bad 100644
--- a/hw/z2.c
+++ b/hw/z2.c
@@ -294,11 +294,12 @@ static TypeInfo aer915_info = {
     .class_init    = aer915_class_init,
 };
 
-static void z2_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void z2_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     MemoryRegion *address_space_mem = get_system_memory();
     uint32_t sector_len = 0x10000;
     PXA2xxState *mpu;
diff --git a/vl.c b/vl.c
index 8d305ca..f663e7c 100644
--- a/vl.c
+++ b/vl.c
@@ -3624,8 +3624,13 @@ int main(int argc, char **argv, char **envp)
 
     qdev_machine_init();
 
-    machine->init(ram_size, boot_devices,
-                  kernel_filename, kernel_cmdline, initrd_filename, cpu_model);
+    QEMUMachineInitArgs args = { .ram_size = ram_size,
+                                 .boot_device = boot_devices,
+                                 .kernel_filename = kernel_filename,
+                                 .kernel_cmdline = kernel_cmdline,
+                                 initrd_filename = initrd_filename,
+                                 .cpu_model = cpu_model };
+    machine->init(&args);
 
     cpu_synchronize_all_post_init();
 
-- 
1.7.11.4


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

From xen-devel-bounces@lists.xen.org Fri Oct 05 20:44:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Oct 2012 20:44:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TKEkW-0007ZF-H1; Fri, 05 Oct 2012 20:43:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ehabkost@redhat.com>) id 1TKEkV-0007Z9-4n
	for xen-devel@lists.xensource.com; Fri, 05 Oct 2012 20:43:55 +0000
Received: from [85.158.139.83:46792] by server-6.bemta-5.messagelabs.com id
	14/4A-14717-A864F605; Fri, 05 Oct 2012 20:43:54 +0000
X-Env-Sender: ehabkost@redhat.com
X-Msg-Ref: server-5.tower-182.messagelabs.com!1349469831!28019695!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTcwODY=\n
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6430 invoked from network); 5 Oct 2012 20:43:52 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-5.tower-182.messagelabs.com with SMTP;
	5 Oct 2012 20:43:52 -0000
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
	(int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q95KhTnu005967
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Fri, 5 Oct 2012 16:43:29 -0400
Received: from blackpad.lan.raisama.net (vpn1-7-193.gru2.redhat.com
	[10.97.7.193])
	by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q95KhSte026003; Fri, 5 Oct 2012 16:43:28 -0400
Received: by blackpad.lan.raisama.net (Postfix, from userid 500)
	id 25B96203604; Fri,  5 Oct 2012 17:44:28 -0300 (BRT)
From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org
Date: Fri,  5 Oct 2012 17:44:26 -0300
Message-Id: <1349469866-1542-1-git-send-email-ehabkost@redhat.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Evgeny Voevodin <e.voevodin@samsung.com>,
	Peter Crosthwaite <peter.crosthwaite@petalogix.com>,
	Max Filippov <jcmvbkbc@gmail.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Guan Xuetao <gxt@mprc.pku.edu.cn>, xen-devel@lists.xensource.com,
	Igor Mitsyanko <i.mitsyanko@samsung.com>,
	Magnus Damm <magnus.damm@gmail.com>, Alexander Graf <agraf@suse.de>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Maksim Kozlov <m.kozlov@samsung.com>,
	Andrzej Zaborowski <balrogg@gmail.com>,
	Fabien Chouteau <chouteau@adacore.com>, Jan Kiszka <jan.kiszka@web.de>,
	Paul Brook <paul@codesourcery.com>, Blue Swirl <blauwirbel@gmail.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	Michael Walle <michael@walle.cc>, qemu-ppc@nongnu.org,
	Dmitry Solodkiy <d.solodkiy@samsung.com>,
	Aurelien Jarno <aurelien@aurel32.net>
Subject: [Xen-devel] [QEMU PATCH] create struct for machine initialization
	arguments (v3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This should help us to:
- More easily add or remove machine initialization arguments without
  having to change every single machine init function;
- More easily make mechanical changes involving the machine init
  functions in the future;
- Let machine initialization forward the init arguments to other
  functions more easily.

This change was half-mechanical process: first the struct was added with
the local ram_size, boot_device, kernel_*, initrd_*, and cpu_model local
variable initialization to all functions. Then the compiler helped me
locate the local variables that are unused, so they could be removed.

Changes v2 -> v3:
 - Fix typo (missing dot) on main()
 - Fix another mistake on xen_init_pv() (I had forgotten to add local variables
   to replace the old function arguments)

Changes v1 -> v2:
 - Fix mistake on the conversion of pc_xen_hvm_init() and xen_init_pv()

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 hw/alpha_dp264.c              |  12 ++--
 hw/an5206.c                   |   8 +--
 hw/axis_dev88.c               |   9 +--
 hw/boards.h                   |  16 +++--
 hw/collie.c                   |   9 +--
 hw/dummy_m68k.c               |   8 +--
 hw/exynos4_boards.c           |  16 ++---
 hw/gumstix.c                  |  11 +---
 hw/highbank.c                 |  10 ++--
 hw/integratorcp.c             |  10 ++--
 hw/kzm.c                      |  10 ++--
 hw/leon3.c                    |  10 ++--
 hw/lm32_boards.c              |  18 +++---
 hw/mainstone.c                |  10 ++--
 hw/mcf5208.c                  |   8 +--
 hw/milkymist.c                |  10 ++--
 hw/mips_fulong2e.c            |   9 ++-
 hw/mips_jazz.c                |  14 ++---
 hw/mips_malta.c               |  10 ++--
 hw/mips_mipssim.c             |  10 ++--
 hw/mips_r4k.c                 |  10 ++--
 hw/musicpal.c                 |   9 +--
 hw/nseries.c                  |  22 ++++---
 hw/null-machine.c             |   7 +--
 hw/omap_sx1.c                 |  22 ++++---
 hw/openrisc_sim.c             |  10 ++--
 hw/palm.c                     |   9 +--
 hw/pc_piix.c                  |  50 ++++++++--------
 hw/petalogix_ml605_mmu.c      |   8 +--
 hw/petalogix_s3adsp1800_mmu.c |   8 +--
 hw/ppc/e500plat.c             |  13 +++--
 hw/ppc/mpc8544ds.c            |  13 +++--
 hw/ppc405_boards.c            |  25 ++++----
 hw/ppc440_bamboo.c            |  12 ++--
 hw/ppc_newworld.c             |  13 +++--
 hw/ppc_oldworld.c             |  13 +++--
 hw/ppc_prep.c                 |  13 +++--
 hw/puv3.c                     |   8 ++-
 hw/r2d.c                      |   9 +--
 hw/realview.c                 |  44 +++++++++-----
 hw/s390-virtio.c              |  13 +++--
 hw/shix.c                     |   6 +-
 hw/spapr.c                    |  13 +++--
 hw/spitz.c                    |  40 ++++++++-----
 hw/stellaris.c                |  14 ++---
 hw/sun4m.c                    | 133 ++++++++++++++++++++++++++----------------
 hw/sun4u.c                    |  39 ++++++++-----
 hw/tosa.c                     |   9 +--
 hw/versatilepb.c              |  22 ++++---
 hw/vexpress.c                 |  26 +++++----
 hw/virtex_ml507.c             |  10 ++--
 hw/xen_machine_pv.c           |  11 ++--
 hw/xilinx_zynq.c              |   9 ++-
 hw/xtensa_lx60.c              |  22 ++++---
 hw/xtensa_sim.c               |  11 ++--
 hw/z2.c                       |   9 +--
 vl.c                          |   9 ++-
 57 files changed, 518 insertions(+), 414 deletions(-)

diff --git a/hw/alpha_dp264.c b/hw/alpha_dp264.c
index 9eb939f..2c2e237 100644
--- a/hw/alpha_dp264.c
+++ b/hw/alpha_dp264.c
@@ -42,13 +42,13 @@ static int clipper_pci_map_irq(PCIDevice *d, int irq_num)
     return (slot + 1) * 4 + irq_num;
 }
 
-static void clipper_init(ram_addr_t ram_size,
-                         const char *boot_device,
-                         const char *kernel_filename,
-                         const char *kernel_cmdline,
-                         const char *initrd_filename,
-                         const char *cpu_model)
+static void clipper_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     CPUAlphaState *cpus[4];
     PCIBus *pci_bus;
     ISABus *isa_bus;
diff --git a/hw/an5206.c b/hw/an5206.c
index 25407c0..042c5fc 100644
--- a/hw/an5206.c
+++ b/hw/an5206.c
@@ -19,11 +19,11 @@
 
 /* Board init.  */
 
-static void an5206_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void an5206_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     CPUM68KState *env;
     int kernel_size;
     uint64_t elf_entry;
diff --git a/hw/axis_dev88.c b/hw/axis_dev88.c
index eab6327..2fd7356 100644
--- a/hw/axis_dev88.c
+++ b/hw/axis_dev88.c
@@ -242,11 +242,12 @@ static const MemoryRegionOps gpio_ops = {
 static struct cris_load_info li;
 
 static
-void axisdev88_init (ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+void axisdev88_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
     CRISCPU *cpu;
     CPUCRISState *env;
     DeviceState *dev;
diff --git a/hw/boards.h b/hw/boards.h
index a2e0a54..813d0e5 100644
--- a/hw/boards.h
+++ b/hw/boards.h
@@ -5,12 +5,16 @@
 
 #include "qdev.h"
 
-typedef void QEMUMachineInitFunc(ram_addr_t ram_size,
-                                 const char *boot_device,
-                                 const char *kernel_filename,
-                                 const char *kernel_cmdline,
-                                 const char *initrd_filename,
-                                 const char *cpu_model);
+typedef struct QEMUMachineInitArgs {
+    ram_addr_t ram_size;
+    const char *boot_device;
+    const char *kernel_filename;
+    const char *kernel_cmdline;
+    const char *initrd_filename;
+    const char *cpu_model;
+} QEMUMachineInitArgs;
+
+typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
 
 typedef void QEMUMachineResetFunc(void);
 
diff --git a/hw/collie.c b/hw/collie.c
index 56f89a9..695982a 100644
--- a/hw/collie.c
+++ b/hw/collie.c
@@ -23,11 +23,12 @@ static struct arm_boot_info collie_binfo = {
     .ram_size = 0x20000000,
 };
 
-static void collie_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void collie_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     StrongARMState *s;
     DriveInfo *dinfo;
     MemoryRegion *sysmem = get_system_memory();
diff --git a/hw/dummy_m68k.c b/hw/dummy_m68k.c
index 7cc7a99..f436a0c 100644
--- a/hw/dummy_m68k.c
+++ b/hw/dummy_m68k.c
@@ -16,11 +16,11 @@
 
 /* Board init.  */
 
-static void dummy_m68k_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void dummy_m68k_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     CPUM68KState *env;
     MemoryRegion *address_space_mem =  get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/exynos4_boards.c b/hw/exynos4_boards.c
index 4bb0a60..4951064 100644
--- a/hw/exynos4_boards.c
+++ b/hw/exynos4_boards.c
@@ -130,22 +130,22 @@ static Exynos4210State *exynos4_boards_init_common(
             exynos4_board_ram_size[board_type]);
 }
 
-static void nuri_init(ram_addr_t ram_size,
-        const char *boot_device,
-        const char *kernel_filename, const char *kernel_cmdline,
-        const char *initrd_filename, const char *cpu_model)
+static void nuri_init(QEMUMachineInitArgs *args)
 {
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     exynos4_boards_init_common(kernel_filename, kernel_cmdline,
                 initrd_filename, EXYNOS4_BOARD_NURI);
 
     arm_load_kernel(arm_env_get_cpu(first_cpu), &exynos4_board_binfo);
 }
 
-static void smdkc210_init(ram_addr_t ram_size,
-        const char *boot_device,
-        const char *kernel_filename, const char *kernel_cmdline,
-        const char *initrd_filename, const char *cpu_model)
+static void smdkc210_init(QEMUMachineInitArgs *args)
 {
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     Exynos4210State *s = exynos4_boards_init_common(kernel_filename,
             kernel_cmdline, initrd_filename, EXYNOS4_BOARD_SMDKC210);
 
diff --git a/hw/gumstix.c b/hw/gumstix.c
index 13a36ea..4103a88 100644
--- a/hw/gumstix.c
+++ b/hw/gumstix.c
@@ -45,10 +45,7 @@
 
 static const int sector_len = 128 * 1024;
 
-static void connex_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void connex_init(QEMUMachineInitArgs *args)
 {
     PXA2xxState *cpu;
     DriveInfo *dinfo;
@@ -84,11 +81,9 @@ static void connex_init(ram_addr_t ram_size,
                     qdev_get_gpio_in(cpu->gpio, 36));
 }
 
-static void verdex_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void verdex_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
     PXA2xxState *cpu;
     DriveInfo *dinfo;
     int be;
diff --git a/hw/highbank.c b/hw/highbank.c
index 11aa131..15036b6 100644
--- a/hw/highbank.c
+++ b/hw/highbank.c
@@ -187,11 +187,13 @@ static struct arm_boot_info highbank_binfo;
  * 32-bit host, set the reg value of memory to 0xf7ff00000 in the
  * device tree and pass -m 2047 to QEMU.
  */
-static void highbank_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void highbank_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     DeviceState *dev;
     SysBusDevice *busdev;
     qemu_irq *irqp;
diff --git a/hw/integratorcp.c b/hw/integratorcp.c
index d0e2e90..ac0ea83 100644
--- a/hw/integratorcp.c
+++ b/hw/integratorcp.c
@@ -438,11 +438,13 @@ static struct arm_boot_info integrator_binfo = {
     .board_id = 0x113,
 };
 
-static void integratorcp_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void integratorcp_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/kzm.c b/hw/kzm.c
index 68cd1b4..d1266d9 100644
--- a/hw/kzm.c
+++ b/hw/kzm.c
@@ -70,11 +70,13 @@ static struct arm_boot_info kzm_binfo = {
     .board_id = 1722,
 };
 
-static void kzm_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void kzm_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/leon3.c b/hw/leon3.c
index 878d3aa..6486b7b 100644
--- a/hw/leon3.c
+++ b/hw/leon3.c
@@ -94,13 +94,11 @@ static void leon3_set_pil_in(void *opaque, uint32_t pil_in)
     }
 }
 
-static void leon3_generic_hw_init(ram_addr_t  ram_size,
-                                  const char *boot_device,
-                                  const char *kernel_filename,
-                                  const char *kernel_cmdline,
-                                  const char *initrd_filename,
-                                  const char *cpu_model)
+static void leon3_generic_hw_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     SPARCCPU *cpu;
     CPUSPARCState   *env;
     MemoryRegion *address_space_mem = get_system_memory();
diff --git a/hw/lm32_boards.c b/hw/lm32_boards.c
index b76d800..c5a62c8 100644
--- a/hw/lm32_boards.c
+++ b/hw/lm32_boards.c
@@ -69,12 +69,10 @@ static void main_cpu_reset(void *opaque)
     env->deba = reset_info->flash_base;
 }
 
-static void lm32_evr_init(ram_addr_t ram_size_not_used,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+static void lm32_evr_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     LM32CPU *cpu;
     CPULM32State *env;
     DriveInfo *dinfo;
@@ -159,12 +157,12 @@ static void lm32_evr_init(ram_addr_t ram_size_not_used,
     qemu_register_reset(main_cpu_reset, reset_info);
 }
 
-static void lm32_uclinux_init(ram_addr_t ram_size_not_used,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+static void lm32_uclinux_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     LM32CPU *cpu;
     CPULM32State *env;
     DriveInfo *dinfo;
diff --git a/hw/mainstone.c b/hw/mainstone.c
index 97687b6..c0d6034 100644
--- a/hw/mainstone.c
+++ b/hw/mainstone.c
@@ -171,11 +171,13 @@ static void mainstone_common_init(MemoryRegion *address_space_mem,
     arm_load_kernel(mpu->cpu, &mainstone_binfo);
 }
 
-static void mainstone_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void mainstone_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     mainstone_common_init(get_system_memory(), ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, mainstone, 0x196);
 }
diff --git a/hw/mcf5208.c b/hw/mcf5208.c
index ee25b1b..688bc3c 100644
--- a/hw/mcf5208.c
+++ b/hw/mcf5208.c
@@ -187,11 +187,11 @@ static void mcf5208_sys_init(MemoryRegion *address_space, qemu_irq *pic)
     }
 }
 
-static void mcf5208evb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void mcf5208evb_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     CPUM68KState *env;
     int kernel_size;
     uint64_t elf_entry;
diff --git a/hw/milkymist.c b/hw/milkymist.c
index 2e7235b..ca9ed43 100644
--- a/hw/milkymist.c
+++ b/hw/milkymist.c
@@ -73,12 +73,12 @@ static void main_cpu_reset(void *opaque)
 }
 
 static void
-milkymist_init(ram_addr_t ram_size_not_used,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+milkymist_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     LM32CPU *cpu;
     CPULM32State *env;
     int kernel_size;
diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c
index 38e4b86..af7bb50 100644
--- a/hw/mips_fulong2e.c
+++ b/hw/mips_fulong2e.c
@@ -256,10 +256,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
     }
 }
 
-static void mips_fulong2e_init(ram_addr_t ram_size, const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void mips_fulong2e_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c
index db927f1..14df4d7 100644
--- a/hw/mips_jazz.c
+++ b/hw/mips_jazz.c
@@ -302,21 +302,19 @@ static void mips_jazz_init(MemoryRegion *address_space,
 }
 
 static
-void mips_magnum_init (ram_addr_t ram_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+void mips_magnum_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
         mips_jazz_init(get_system_memory(), get_system_io(),
                        ram_size, cpu_model, JAZZ_MAGNUM);
 }
 
 static
-void mips_pica61_init (ram_addr_t ram_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+void mips_pica61_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
     mips_jazz_init(get_system_memory(), get_system_io(),
                    ram_size, cpu_model, JAZZ_PICA61);
 }
diff --git a/hw/mips_malta.c b/hw/mips_malta.c
index ad23f26..14151f9 100644
--- a/hw/mips_malta.c
+++ b/hw/mips_malta.c
@@ -777,11 +777,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
 }
 
 static
-void mips_malta_init (ram_addr_t ram_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+void mips_malta_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     pflash_t *fl;
     MemoryRegion *system_memory = get_system_memory();
diff --git a/hw/mips_mipssim.c b/hw/mips_mipssim.c
index 830f635..a1d3945 100644
--- a/hw/mips_mipssim.c
+++ b/hw/mips_mipssim.c
@@ -131,11 +131,13 @@ static void mipsnet_init(int base, qemu_irq irq, NICInfo *nd)
 }
 
 static void
-mips_mipssim_init (ram_addr_t ram_size,
-                   const char *boot_device,
-                   const char *kernel_filename, const char *kernel_cmdline,
-                   const char *initrd_filename, const char *cpu_model)
+mips_mipssim_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c
index 967a76e..b73cdc3 100644
--- a/hw/mips_r4k.c
+++ b/hw/mips_r4k.c
@@ -151,11 +151,13 @@ static void main_cpu_reset(void *opaque)
 
 static const int sector_len = 32 * 1024;
 static
-void mips_r4k_init (ram_addr_t ram_size,
-                    const char *boot_device,
-                    const char *kernel_filename, const char *kernel_cmdline,
-                    const char *initrd_filename, const char *cpu_model)
+void mips_r4k_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/musicpal.c b/hw/musicpal.c
index f305e21..f06814c 100644
--- a/hw/musicpal.c
+++ b/hw/musicpal.c
@@ -1508,11 +1508,12 @@ static struct arm_boot_info musicpal_binfo = {
     .board_id = 0x20e,
 };
 
-static void musicpal_init(ram_addr_t ram_size,
-               const char *boot_device,
-               const char *kernel_filename, const char *kernel_cmdline,
-               const char *initrd_filename, const char *cpu_model)
+static void musicpal_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     qemu_irq *cpu_pic;
     qemu_irq pic[32];
diff --git a/hw/nseries.c b/hw/nseries.c
index 6df71eb..7ada90d 100644
--- a/hw/nseries.c
+++ b/hw/nseries.c
@@ -1397,21 +1397,27 @@ static struct arm_boot_info n810_binfo = {
     .atag_board = n810_atag_setup,
 };
 
-static void n800_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void n800_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     return n8x0_init(ram_size, boot_device,
                     kernel_filename, kernel_cmdline, initrd_filename,
                     cpu_model, &n800_binfo, 800);
 }
 
-static void n810_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void n810_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     return n8x0_init(ram_size, boot_device,
                     kernel_filename, kernel_cmdline, initrd_filename,
                     cpu_model, &n810_binfo, 810);
diff --git a/hw/null-machine.c b/hw/null-machine.c
index 69910d3..d813c08 100644
--- a/hw/null-machine.c
+++ b/hw/null-machine.c
@@ -15,12 +15,7 @@
 #include "hw/hw.h"
 #include "hw/boards.h"
 
-static void machine_none_init(ram_addr_t ram_size,
-                              const char *boot_device,
-                              const char *kernel_filename,
-                              const char *kernel_cmdline,
-                              const char *initrd_filename,
-                              const char *cpu_model)
+static void machine_none_init(QEMUMachineInitArgs *args)
 {
 }
 
diff --git a/hw/omap_sx1.c b/hw/omap_sx1.c
index abca341..ad17487 100644
--- a/hw/omap_sx1.c
+++ b/hw/omap_sx1.c
@@ -209,20 +209,26 @@ static void sx1_init(ram_addr_t ram_size,
     //~ qemu_console_resize(ds, 640, 480);
 }
 
-static void sx1_init_v1(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void sx1_init_v1(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sx1_init(ram_size, boot_device, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, 1);
 }
 
-static void sx1_init_v2(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void sx1_init_v2(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sx1_init(ram_size, boot_device, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, 2);
 }
diff --git a/hw/openrisc_sim.c b/hw/openrisc_sim.c
index 55e97f0..e96a944 100644
--- a/hw/openrisc_sim.c
+++ b/hw/openrisc_sim.c
@@ -90,13 +90,11 @@ static void cpu_openrisc_load_kernel(ram_addr_t ram_size,
     cpu->env.pc = entry;
 }
 
-static void openrisc_sim_init(ram_addr_t ram_size,
-                              const char *boot_device,
-                              const char *kernel_filename,
-                              const char *kernel_cmdline,
-                              const char *initrd_filename,
-                              const char *cpu_model)
+static void openrisc_sim_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
    OpenRISCCPU *cpu = NULL;
     MemoryRegion *ram;
     int n;
diff --git a/hw/palm.c b/hw/palm.c
index bacdc90..032b8d6 100644
--- a/hw/palm.c
+++ b/hw/palm.c
@@ -190,11 +190,12 @@ static struct arm_boot_info palmte_binfo = {
     .board_id = 0x331,
 };
 
-static void palmte_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void palmte_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     MemoryRegion *address_space_mem = get_system_memory();
     struct omap_mpu_state_s *mpu;
     int flash_size = 0x00800000;
diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index fd5898f..c9fca05 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -287,13 +287,14 @@ static void pc_init1(MemoryRegion *system_memory,
     }
 }
 
-static void pc_init_pci(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename,
-                        const char *cpu_model)
+static void pc_init_pci(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     pc_init1(get_system_memory(),
              get_system_io(),
              ram_size, boot_device,
@@ -301,13 +302,14 @@ static void pc_init_pci(ram_addr_t ram_size,
              initrd_filename, cpu_model, 1, 1);
 }
 
-static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
-                                    const char *boot_device,
-                                    const char *kernel_filename,
-                                    const char *kernel_cmdline,
-                                    const char *initrd_filename,
-                                    const char *cpu_model)
+static void pc_init_pci_no_kvmclock(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     pc_init1(get_system_memory(),
              get_system_io(),
              ram_size, boot_device,
@@ -315,13 +317,14 @@ static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
              initrd_filename, cpu_model, 1, 0);
 }
 
-static void pc_init_isa(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename,
-                        const char *cpu_model)
+static void pc_init_isa(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (cpu_model == NULL)
         cpu_model = "486";
     pc_init1(get_system_memory(),
@@ -332,19 +335,12 @@ static void pc_init_isa(ram_addr_t ram_size,
 }
 
 #ifdef CONFIG_XEN
-static void pc_xen_hvm_init(ram_addr_t ram_size,
-                            const char *boot_device,
-                            const char *kernel_filename,
-                            const char *kernel_cmdline,
-                            const char *initrd_filename,
-                            const char *cpu_model)
+static void pc_xen_hvm_init(QEMUMachineInitArgs *args)
 {
     if (xen_hvm_init() != 0) {
         hw_error("xen hardware virtual machine initialisation failed");
     }
-    pc_init_pci_no_kvmclock(ram_size, boot_device,
-                            kernel_filename, kernel_cmdline,
-                            initrd_filename, cpu_model);
+    pc_init_pci_no_kvmclock(args);
     xen_vcpu_init();
 }
 #endif
diff --git a/hw/petalogix_ml605_mmu.c b/hw/petalogix_ml605_mmu.c
index dced648..ace0187 100644
--- a/hw/petalogix_ml605_mmu.c
+++ b/hw/petalogix_ml605_mmu.c
@@ -70,12 +70,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
 }
 
 static void
-petalogix_ml605_init(ram_addr_t ram_size,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+petalogix_ml605_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
     MemoryRegion *address_space_mem = get_system_memory();
     DeviceState *dev, *dma, *eth0;
     MicroBlazeCPU *cpu;
diff --git a/hw/petalogix_s3adsp1800_mmu.c b/hw/petalogix_s3adsp1800_mmu.c
index 2cf6882..71c32ce 100644
--- a/hw/petalogix_s3adsp1800_mmu.c
+++ b/hw/petalogix_s3adsp1800_mmu.c
@@ -57,12 +57,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
 }
 
 static void
-petalogix_s3adsp1800_init(ram_addr_t ram_size,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+petalogix_s3adsp1800_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
     DeviceState *dev;
     MicroBlazeCPU *cpu;
     CPUMBState *env;
diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
index 60a5cb3..4cfb940 100644
--- a/hw/ppc/e500plat.c
+++ b/hw/ppc/e500plat.c
@@ -25,13 +25,14 @@ static void e500plat_fixup_devtree(PPCE500Params *params, void *fdt)
                          sizeof(compatible));
 }
 
-static void e500plat_init(ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void e500plat_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *boot_device = args->boot_device;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     PPCE500Params params = {
         .ram_size = ram_size,
         .boot_device = boot_device,
diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c
index 984d21c..e651661 100644
--- a/hw/ppc/mpc8544ds.c
+++ b/hw/ppc/mpc8544ds.c
@@ -25,13 +25,14 @@ static void mpc8544ds_fixup_devtree(PPCE500Params *params, void *fdt)
                          sizeof(compatible));
 }
 
-static void mpc8544ds_init(ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void mpc8544ds_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *boot_device = args->boot_device;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     PPCE500Params params = {
         .ram_size = ram_size,
         .boot_device = boot_device,
diff --git a/hw/ppc405_boards.c b/hw/ppc405_boards.c
index 476775d..e848cb0 100644
--- a/hw/ppc405_boards.c
+++ b/hw/ppc405_boards.c
@@ -158,7 +158,7 @@ static void ref405ep_fpga_reset (void *opaque)
     fpga->reg1 = 0x0F;
 }
 
-static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
+static void ref405ep_fpga_init(MemoryRegion *sysmem, uint32_t base)
 {
     ref405ep_fpga_t *fpga;
     MemoryRegion *fpga_memory = g_new(MemoryRegion, 1);
@@ -170,13 +170,12 @@ static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
     qemu_register_reset(&ref405ep_fpga_reset, fpga);
 }
 
-static void ref405ep_init (ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void ref405ep_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     ppc4xx_bd_info_t bd;
     CPUPPCState *env;
@@ -484,7 +483,7 @@ static void taihu_cpld_reset (void *opaque)
     cpld->reg1 = 0x80;
 }
 
-static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
+static void taihu_cpld_init(MemoryRegion *sysmem, uint32_t base)
 {
     taihu_cpld_t *cpld;
     MemoryRegion *cpld_memory = g_new(MemoryRegion, 1);
@@ -495,13 +494,11 @@ static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
     qemu_register_reset(&taihu_cpld_reset, cpld);
 }
 
-static void taihu_405ep_init(ram_addr_t ram_size,
-                             const char *boot_device,
-                             const char *kernel_filename,
-                             const char *kernel_cmdline,
-                             const char *initrd_filename,
-                             const char *cpu_model)
+static void taihu_405ep_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *kernel_filename = args->kernel_filename;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     qemu_irq *pic;
     MemoryRegion *sysmem = get_system_memory();
diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c
index c198071..78e7985 100644
--- a/hw/ppc440_bamboo.c
+++ b/hw/ppc440_bamboo.c
@@ -157,13 +157,13 @@ static void main_cpu_reset(void *opaque)
     mmubooke_create_initial_mapping(env, 0, 0);
 }
 
-static void bamboo_init(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename,
-                        const char *cpu_model)
+static void bamboo_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     unsigned int pci_irq_nrs[4] = { 28, 27, 26, 25 };
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram_memories
diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c
index e95cfe8..e7c0747 100644
--- a/hw/ppc_newworld.c
+++ b/hw/ppc_newworld.c
@@ -129,13 +129,14 @@ static void ppc_core99_reset(void *opaque)
 }
 
 /* PowerPC Mac99 hardware initialisation */
-static void ppc_core99_init (ram_addr_t ram_size,
-                             const char *boot_device,
-                             const char *kernel_filename,
-                             const char *kernel_cmdline,
-                             const char *initrd_filename,
-                             const char *cpu_model)
+static void ppc_core99_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
     char *filename;
diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c
index 1dcd8a6..d9f76a8 100644
--- a/hw/ppc_oldworld.c
+++ b/hw/ppc_oldworld.c
@@ -72,13 +72,14 @@ static void ppc_heathrow_reset(void *opaque)
     cpu_reset(CPU(cpu));
 }
 
-static void ppc_heathrow_init (ram_addr_t ram_size,
-                               const char *boot_device,
-                               const char *kernel_filename,
-                               const char *kernel_cmdline,
-                               const char *initrd_filename,
-                               const char *cpu_model)
+static void ppc_heathrow_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     MemoryRegion *sysmem = get_system_memory();
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c
index 592b7b2..f51f78a 100644
--- a/hw/ppc_prep.c
+++ b/hw/ppc_prep.c
@@ -448,13 +448,14 @@ static void ppc_prep_reset(void *opaque)
 }
 
 /* PowerPC PREP hardware initialisation */
-static void ppc_prep_init (ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void ppc_prep_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     MemoryRegion *sysmem = get_system_memory();
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
diff --git a/hw/puv3.c b/hw/puv3.c
index 43f7216..764799c 100644
--- a/hw/puv3.c
+++ b/hw/puv3.c
@@ -91,10 +91,12 @@ static void puv3_load_kernel(const char *kernel_filename)
     graphic_console_init(NULL, NULL, NULL, NULL, NULL);
 }
 
-static void puv3_init(ram_addr_t ram_size, const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void puv3_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *initrd_filename = args->initrd_filename;
     CPUUniCore32State *env;
 
     if (initrd_filename) {
diff --git a/hw/r2d.c b/hw/r2d.c
index 0f16e81..5daa42f 100644
--- a/hw/r2d.c
+++ b/hw/r2d.c
@@ -219,11 +219,12 @@ static struct QEMU_PACKED
     char kernel_cmdline[256];
 } boot_params;
 
-static void r2d_init(ram_addr_t ram_size,
-              const char *boot_device,
-	      const char *kernel_filename, const char *kernel_cmdline,
-	      const char *initrd_filename, const char *cpu_model)
+static void r2d_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     SuperHCPU *cpu;
     CPUSH4State *env;
     ResetData *reset_info;
diff --git a/hw/realview.c b/hw/realview.c
index 19db4d0..8dc4be6 100644
--- a/hw/realview.c
+++ b/hw/realview.c
@@ -330,11 +330,14 @@ static void realview_init(ram_addr_t ram_size,
     arm_load_kernel(arm_env_get_cpu(first_cpu), &realview_binfo);
 }
 
-static void realview_eb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_eb_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "arm926";
     }
@@ -342,11 +345,14 @@ static void realview_eb_init(ram_addr_t ram_size,
                   initrd_filename, cpu_model, BOARD_EB);
 }
 
-static void realview_eb_mpcore_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_eb_mpcore_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "arm11mpcore";
     }
@@ -354,11 +360,14 @@ static void realview_eb_mpcore_init(ram_addr_t ram_size,
                   initrd_filename, cpu_model, BOARD_EB_MPCORE);
 }
 
-static void realview_pb_a8_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_pb_a8_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "cortex-a8";
     }
@@ -366,11 +375,14 @@ static void realview_pb_a8_init(ram_addr_t ram_size,
                   initrd_filename, cpu_model, BOARD_PB_A8);
 }
 
-static void realview_pbx_a9_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_pbx_a9_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "cortex-a9";
     }
diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
index 47eed35..39ff178 100644
--- a/hw/s390-virtio.c
+++ b/hw/s390-virtio.c
@@ -151,13 +151,14 @@ unsigned s390_del_running_cpu(CPUS390XState *env)
 }
 
 /* PC hardware initialisation */
-static void s390_init(ram_addr_t my_ram_size,
-                      const char *boot_device,
-                      const char *kernel_filename,
-                      const char *kernel_cmdline,
-                      const char *initrd_filename,
-                      const char *cpu_model)
+static void s390_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t my_ram_size = args->ram_size;
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     CPUS390XState *env = NULL;
     MemoryRegion *sysmem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/shix.c b/hw/shix.c
index dd9ce17..b56dd54 100644
--- a/hw/shix.c
+++ b/hw/shix.c
@@ -37,11 +37,9 @@
 #define BIOS_FILENAME "shix_bios.bin"
 #define BIOS_ADDRESS 0xA0000000
 
-static void shix_init(ram_addr_t ram_size,
-               const char *boot_device,
-	       const char *kernel_filename, const char *kernel_cmdline,
-	       const char *initrd_filename, const char *cpu_model)
+static void shix_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
     int ret;
     CPUSH4State *env;
     struct SH7750State *s;
diff --git a/hw/spapr.c b/hw/spapr.c
index c34b767..8921c4d 100644
--- a/hw/spapr.c
+++ b/hw/spapr.c
@@ -603,13 +603,14 @@ static int spapr_vga_init(PCIBus *pci_bus)
 }
 
 /* pSeries LPAR / sPAPR hardware init */
-static void ppc_spapr_init(ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void ppc_spapr_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     PowerPCCPU *cpu;
     CPUPPCState *env;
     PCIHostState *phb;
diff --git a/hw/spitz.c b/hw/spitz.c
index 20e7835..df829b3 100644
--- a/hw/spitz.c
+++ b/hw/spitz.c
@@ -936,38 +936,46 @@ static void spitz_common_init(ram_addr_t ram_size,
     sl_bootparam_write(SL_PXA_PARAM_BASE);
 }
 
-static void spitz_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void spitz_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, spitz, 0x2c9);
 }
 
-static void borzoi_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void borzoi_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, borzoi, 0x33f);
 }
 
-static void akita_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void akita_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, akita, 0x2e8);
 }
 
-static void terrier_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void terrier_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, terrier, 0x33f);
 }
diff --git a/hw/stellaris.c b/hw/stellaris.c
index 562fbbf..b79c7fb 100644
--- a/hw/stellaris.c
+++ b/hw/stellaris.c
@@ -1358,19 +1358,17 @@ static void stellaris_init(const char *kernel_filename, const char *cpu_model,
 }
 
 /* FIXME: Figure out how to generate these from stellaris_boards.  */
-static void lm3s811evb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void lm3s811evb_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     stellaris_init(kernel_filename, cpu_model, &stellaris_boards[0]);
 }
 
-static void lm3s6965evb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void lm3s6965evb_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     stellaris_init(kernel_filename, cpu_model, &stellaris_boards[1]);
 }
 
diff --git a/hw/sun4m.c b/hw/sun4m.c
index c98cd5e..22e011f 100644
--- a/hw/sun4m.c
+++ b/hw/sun4m.c
@@ -1303,92 +1303,118 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
 };
 
 /* SPARCstation 5 hardware initialisation */
-static void ss5_init(ram_addr_t RAM_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void ss5_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[0], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation 10 hardware initialisation */
-static void ss10_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void ss10_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[1], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCserver 600MP hardware initialisation */
-static void ss600mp_init(ram_addr_t RAM_size,
-                         const char *boot_device,
-                         const char *kernel_filename,
-                         const char *kernel_cmdline,
-                         const char *initrd_filename, const char *cpu_model)
+static void ss600mp_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[2], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation 20 hardware initialisation */
-static void ss20_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void ss20_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[3], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation Voyager hardware initialisation */
-static void vger_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void vger_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[4], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation LX hardware initialisation */
-static void ss_lx_init(ram_addr_t RAM_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+static void ss_lx_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[5], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation 4 hardware initialisation */
-static void ss4_init(ram_addr_t RAM_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void ss4_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[6], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCClassic hardware initialisation */
-static void scls_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void scls_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[7], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCbook hardware initialisation */
-static void sbook_init(ram_addr_t RAM_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+static void sbook_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[8], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
@@ -1651,21 +1677,27 @@ static void sun4d_hw_init(const struct sun4d_hwdef *hwdef, ram_addr_t RAM_size,
 }
 
 /* SPARCserver 1000 hardware initialisation */
-static void ss1000_init(ram_addr_t RAM_size,
-                        const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void ss1000_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4d_hw_init(&sun4d_hwdefs[0], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCcenter 2000 hardware initialisation */
-static void ss2000_init(ram_addr_t RAM_size,
-                        const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void ss2000_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4d_hw_init(&sun4d_hwdefs[1], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
@@ -1845,11 +1877,14 @@ static void sun4c_hw_init(const struct sun4c_hwdef *hwdef, ram_addr_t RAM_size,
 }
 
 /* SPARCstation 2 hardware initialisation */
-static void ss2_init(ram_addr_t RAM_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void ss2_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4c_hw_init(&sun4c_hwdefs[0], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
diff --git a/hw/sun4u.c b/hw/sun4u.c
index 07cd042..379768c 100644
--- a/hw/sun4u.c
+++ b/hw/sun4u.c
@@ -930,31 +930,40 @@ static const struct hwdef hwdefs[] = {
 };
 
 /* Sun4u hardware initialisation */
-static void sun4u_init(ram_addr_t RAM_size,
-                       const char *boot_devices,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
-{
+static void sun4u_init(QEMUMachineInitArgs *args)
+{
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_devices = args->boot_device;
     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[0]);
 }
 
 /* Sun4v hardware initialisation */
-static void sun4v_init(ram_addr_t RAM_size,
-                       const char *boot_devices,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
-{
+static void sun4v_init(QEMUMachineInitArgs *args)
+{
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_devices = args->boot_device;
     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[1]);
 }
 
 /* Niagara hardware initialisation */
-static void niagara_init(ram_addr_t RAM_size,
-                         const char *boot_devices,
-                         const char *kernel_filename, const char *kernel_cmdline,
-                         const char *initrd_filename, const char *cpu_model)
-{
+static void niagara_init(QEMUMachineInitArgs *args)
+{
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_devices = args->boot_device;
     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[2]);
 }
diff --git a/hw/tosa.c b/hw/tosa.c
index 297a8c2..512278c 100644
--- a/hw/tosa.c
+++ b/hw/tosa.c
@@ -205,11 +205,12 @@ static struct arm_boot_info tosa_binfo = {
     .ram_size = 0x04000000,
 };
 
-static void tosa_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void tosa_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *rom = g_new(MemoryRegion, 1);
     PXA2xxState *mpu;
diff --git a/hw/versatilepb.c b/hw/versatilepb.c
index 7a92034..686dcc7 100644
--- a/hw/versatilepb.c
+++ b/hw/versatilepb.c
@@ -342,22 +342,28 @@ static void versatile_init(ram_addr_t ram_size,
     arm_load_kernel(cpu, &versatile_binfo);
 }
 
-static void vpb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void vpb_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     versatile_init(ram_size,
                    boot_device,
                    kernel_filename, kernel_cmdline,
                    initrd_filename, cpu_model, 0x183);
 }
 
-static void vab_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void vab_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     versatile_init(ram_size,
                    boot_device,
                    kernel_filename, kernel_cmdline,
diff --git a/hw/vexpress.c b/hw/vexpress.c
index 3596d1e..36503d6 100644
--- a/hw/vexpress.c
+++ b/hw/vexpress.c
@@ -467,25 +467,27 @@ static void vexpress_common_init(const VEDBoardInfo *daughterboard,
     arm_load_kernel(arm_env_get_cpu(first_cpu), &vexpress_binfo);
 }
 
-static void vexpress_a9_init(ram_addr_t ram_size,
-                             const char *boot_device,
-                             const char *kernel_filename,
-                             const char *kernel_cmdline,
-                             const char *initrd_filename,
-                             const char *cpu_model)
+static void vexpress_a9_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     vexpress_common_init(&a9_daughterboard,
                          ram_size, boot_device, kernel_filename,
                          kernel_cmdline, initrd_filename, cpu_model);
 }
 
-static void vexpress_a15_init(ram_addr_t ram_size,
-                              const char *boot_device,
-                              const char *kernel_filename,
-                              const char *kernel_cmdline,
-                              const char *initrd_filename,
-                              const char *cpu_model)
+static void vexpress_a15_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     vexpress_common_init(&a15_daughterboard,
                          ram_size, boot_device, kernel_filename,
                          kernel_cmdline, initrd_filename, cpu_model);
diff --git a/hw/virtex_ml507.c b/hw/virtex_ml507.c
index 79bc0d1..a09b27a 100644
--- a/hw/virtex_ml507.c
+++ b/hw/virtex_ml507.c
@@ -183,12 +183,12 @@ static int xilinx_load_device_tree(target_phys_addr_t addr,
     return fdt_size;
 }
 
-static void virtex_init(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void virtex_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
     MemoryRegion *address_space_mem = get_system_memory();
     DeviceState *dev;
     PowerPCCPU *cpu;
diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
index 4b72aa7..4264703 100644
--- a/hw/xen_machine_pv.c
+++ b/hw/xen_machine_pv.c
@@ -29,13 +29,12 @@
 #include "xen_domainbuild.h"
 #include "blockdev.h"
 
-static void xen_init_pv(ram_addr_t ram_size,
-			const char *boot_device,
-			const char *kernel_filename,
-			const char *kernel_cmdline,
-			const char *initrd_filename,
-			const char *cpu_model)
+static void xen_init_pv(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     X86CPU *cpu;
     CPUX86State *env;
     DriveInfo *dinfo;
diff --git a/hw/xilinx_zynq.c b/hw/xilinx_zynq.c
index 7e6c273..83f322e 100644
--- a/hw/xilinx_zynq.c
+++ b/hw/xilinx_zynq.c
@@ -46,10 +46,13 @@ static void gem_init(NICInfo *nd, uint32_t base, qemu_irq irq)
     sysbus_connect_irq(s, 0, irq);
 }
 
-static void zynq_init(ram_addr_t ram_size, const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void zynq_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ext_ram = g_new(MemoryRegion, 1);
diff --git a/hw/xtensa_lx60.c b/hw/xtensa_lx60.c
index 3653f65..1fd2c47 100644
--- a/hw/xtensa_lx60.c
+++ b/hw/xtensa_lx60.c
@@ -268,11 +268,14 @@ static void lx_init(const LxBoardDesc *board,
     }
 }
 
-static void xtensa_lx60_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void xtensa_lx60_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     static const LxBoardDesc lx60_board = {
         .flash_size = 0x400000,
         .flash_sector_size = 0x10000,
@@ -283,11 +286,14 @@ static void xtensa_lx60_init(ram_addr_t ram_size,
             initrd_filename, cpu_model);
 }
 
-static void xtensa_lx200_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void xtensa_lx200_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     static const LxBoardDesc lx200_board = {
         .flash_size = 0x1000000,
         .flash_sector_size = 0x20000,
diff --git a/hw/xtensa_sim.c b/hw/xtensa_sim.c
index 831460b..2e846d8 100644
--- a/hw/xtensa_sim.c
+++ b/hw/xtensa_sim.c
@@ -96,11 +96,14 @@ static void sim_init(ram_addr_t ram_size,
     }
 }
 
-static void xtensa_sim_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void xtensa_sim_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = XTENSA_DEFAULT_CPU_MODEL;
     }
diff --git a/hw/z2.c b/hw/z2.c
index 289cee9..0927bad 100644
--- a/hw/z2.c
+++ b/hw/z2.c
@@ -294,11 +294,12 @@ static TypeInfo aer915_info = {
     .class_init    = aer915_class_init,
 };
 
-static void z2_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void z2_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     MemoryRegion *address_space_mem = get_system_memory();
     uint32_t sector_len = 0x10000;
     PXA2xxState *mpu;
diff --git a/vl.c b/vl.c
index 8d305ca..b05e224 100644
--- a/vl.c
+++ b/vl.c
@@ -3624,8 +3624,13 @@ int main(int argc, char **argv, char **envp)
 
     qdev_machine_init();
 
-    machine->init(ram_size, boot_devices,
-                  kernel_filename, kernel_cmdline, initrd_filename, cpu_model);
+    QEMUMachineInitArgs args = { .ram_size = ram_size,
+                                 .boot_device = boot_devices,
+                                 .kernel_filename = kernel_filename,
+                                 .kernel_cmdline = kernel_cmdline,
+                                 .initrd_filename = initrd_filename,
+                                 .cpu_model = cpu_model };
+    machine->init(&args);
 
     cpu_synchronize_all_post_init();
 
-- 
1.7.11.4


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

From xen-users-bounces@lists.xen.org Sun Oct 07 01:19:09 2012
Return-path: <xen-users-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Oct 2012 01:19:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-users-bounces@lists.xen.org>)
	id 1TKfV9-0003k1-2w; Sun, 07 Oct 2012 01:17:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <al@ohosting.org.ua>) id 1TKfV6-0003jt-5o
	for xen-users@lists.xen.org; Sun, 07 Oct 2012 01:17:49 +0000
Received: from [85.158.137.99:32350] by server-11.bemta-3.messagelabs.com id
	61/AC-21460-B38D0705; Sun, 07 Oct 2012 01:17:47 +0000
X-Env-Sender: al@ohosting.org.ua
X-Msg-Ref: server-7.tower-217.messagelabs.com!1349572665!15757497!1
X-Originating-IP: [195.248.169.244]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16427 invoked from network); 7 Oct 2012 01:17:46 -0000
Received: from ohosting.org.ua (HELO ohosting.org.ua) (195.248.169.244)
	by server-7.tower-217.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 7 Oct 2012 01:17:46 -0000
Received: from wixen2 (146.197.151.178.triolan.net [178.151.197.146] (may be
	forged)) (authenticated bits=0)
	by ohosting.org.ua (8.14.5/8.14.5) with ESMTP id q971HXXR019595;
	Sun, 7 Oct 2012 04:17:35 +0300
Message-ID: <B1A8FF66B2014EE1A6DEAF953FCB478E@wixen2>
From: "Likarpenkov Alexander" <al@ohosting.org.ua>
To: "Andrew Bobulsky" <rulerof@gmail.com>,
	"Michael Johansen" <michspra@live.no>
References: <COL120-W577F26F4D6A1939893AE74DC860@phx.gbl>
	<1519967552794143124@unknownmsgid>
In-Reply-To: <1519967552794143124@unknownmsgid>
Date: Sun, 7 Oct 2012 04:13:59 +0300
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_004F_01CDA442.2CFB83D0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Windows Mail 6.0.6002.18005
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7601.17609
Cc: xen-users@lists.xen.org
Subject: Re: [Xen-users] IOMMU
X-BeenThere: xen-users@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen user discussion <xen-users.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-users>,
	<mailto:xen-users-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xen.org>
List-Help: <mailto:xen-users-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-users>,
	<mailto:xen-users-request@lists.xen.org?subject=subscribe>
Sender: xen-users-bounces@lists.xen.org
Errors-To: xen-users-bounces@lists.xen.org

This is a multi-part message in MIME format.

------=_NextPart_000_004F_01CDA442.2CFB83D0
Content-Type: text/plain;
	format=flowed;
	charset="iso-8859-1";
	reply-type=original
Content-Transfer-Encoding: 7bit

#dmidecode | grep -A2 ASUS
        Manufacturer: ASUSTeK COMPUTER INC.
        Product Name: M5A97

#cat /proc/cpuinfo | grep AMD
vendor_id       : AuthenticAMD
model name      : AMD FX(tm)-8150 Eight-Core Processor

XEN 4.2
This message send from WINDOWS HVM on this MB+CPU on XEN
See attachment.
----- Original Message ----- 
From: Andrew Bobulsky
To: Michael Johansen
Cc: xen-users@lists.xen.org
Sent: Sunday, October 07, 2012 1:56 AM
Subject: Re: [Xen-users] IOMMU


On Oct 2, 2012, at 3:01 PM, Michael Johansen <michspra@live.no> wrote:


Hi there,


I need full IOMMU support for virtualization with an AMD FX-8150 cpu. I am 
therefore wondering what "cheap" motherboard has full IOMMU support (with 
the ACPI IVRS table) or that has a beta-BIOS available to enable these 
features.


------=_NextPart_000_004F_01CDA442.2CFB83D0
Content-Type: image/jpeg;
	name="xen_2012_10_07_screen.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="xen_2012_10_07_screen.jpg"

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
xjCJkBsSBDZ9vBV9fpVn/hdfk+ZXTxGu5bcSfL6VZ/4VXZ6OwfvwuDbv3JVVtZ/Th6i/6WW/9Pey
53TH+9Wf3kymOs/pw9Rf9LLf+nvZc7pj/erP7yZ57sSu4YBTDG/ORz1zyjfnI565ClMYxhExjGET
GMYRMYxhExjGETGMYRMYxhExjGETGMYRMYxhExjGETGMYRMYxhExjGETGMYRMYxhExjGETGMYRMY
xhExjGETGMYRMYxhExjGETGMYRMYxhExjGETGMYRMYxhExjGETGMYRMYxhExjGETGMYRMYxhExjG
ETGMYRMYxhExjGETGMYRMYxhExjGETGMYRMYxhExjGETGMYRMYxhExjGETGMYRMYxhExjGETGMYR
Ytn+hsv+BP8AmrkUbv8Ap49Lf49Z/wBBdyV7P9DZf8Cf81cijd/08elv8es/6C7hFMOMYwiYxjCJ
jGMImMYwiYxjCJjGMImMYwiYxjCJjGMImMYwiYxjCJkDxm0XZNvXj1+lWf8Ahdfk8ZW+dft1m1bY
2ZIiras/8Krv+eejsBi3C4NtE2JVW9Z/Th6i/wCllv8A097LndMf71Z/eTKOQNqptd6r9SJFvbwa
pgNpuHTcmyQZEQSxdFSVSVERO4hTn5ckifdTLWdOeuXTeJqw3r/UDVmaRuQMM7Ny6jDGF9R7kaV1
T7UPtRS7eeePXjPPdiSu5uAVmI35yOeucCPXfppG1ypu3uoeqNUtq8UavsTu4wx5jorwTbTin2uE
i+iiKqqLnZQLiBaPTWoU6NMdhPe7SgYdEyju9on43ERfhLtMC7V4XgkX5KmIPr1vHVJHr1uPRZmM
YyFKYxjCJjGMImMZF1l1xaq2ep5uU5mWmTGIDLTchFOzeeiR32gFFFPGROSQaRPi9eF+7wkTjuE+
Q+IUgE4KUcZBe5+1HG0vpvou3ydeccYvrcam0je9ohU6g1IOY4S9io54FiuoqfBygqvKccZvepXX
yP0+6oaBpjNK9dPbO88MiXHeQRrmwYddaIh7VUydVlwQFOOfG4vPw8LJpjrHOJ8s8EgxO6eVR5iI
x6hSvjI16J9Tr3qzr0XZZevVlVrVrEbnU8qBdLOecaPn4JLasNiw6idvINm8KEhj3/CilJWWLS0w
VUEHBMYxlVKYxjCJjGMImMYwiYxjCJjGMImMYwiYxjCJjGMImMYwiYxjCJjGMImMYwiYxjCJjGMI
mMYwiYxjCJjGMImMYwiYxjCJjGMImMYwiYxjCJjGMImMYwiYxjCJjGMImMYwiYxjCJjGMImMYwiY
xjCJjGMImMYwiYxjCJjGMImMYwiYxjCJjGMImMYwiYxjCJjGMImMYwiYxjCJjGMIsWz/AENl/wAC
f81cijd/08elv8es/wCgu5K9n+hsv+BP+auRRu/6ePS3+PWf9BdwimHGMYRMYxhExjGETGMYRMYx
hExjGETGMYRMYxhExjGETGMYRMYxhEyo271r8vdNpJvnhLVr5f5prctzlarS1hQdq2wZJiJLas8c
/wCaq7O/YRNsFxbYYsiqQu6LO2jql1V8bjASXN4kKwTyqgixHtyfNOURV7lVHPuevA88fNLU6H0a
upnUGPsISoCQk26NsHjJw/J7u3TlCIeOzjv8hIqJzx2+vPPw5CeqEhdXeoip8vqtuP6e9l0OmP8A
erP7yZxzddI9VB/tC7Gk3SNQR1EeSi/ffZk6i7JolprNda1jtTbTdkkyIX1QWFU2Jz5RuxH3Citd
8lG23HAOKai0SuKqqfaPFiOnmuWWttXLdjDo4qPzAcjuU7RA5IbSMy35JSkid73cBj3J6dgtJ80X
OpjfnI565VpuiBpHr1hTACLPPvHXjqTzOPr4kyxjGQoTGMYRMYxhEyuMz2f952+dLm2mwRdOdu9p
a2O2HW5ATXI4xIbTEJlg5cRQdVXGGnjJxkeFFBFF47ssdjAoZGP1B8wFM0j1gR8VXGF7NGxw7qFD
n7IG26wxt5bKbt74hmONv1sqNLYVqPGbY4J54XEQRFFRx3u9UTv9Ne9m3ZaaRqU6Zfwrm3ptlGYU
+UjiH9FR4EuHCYT0VTcFJAuHyoopuvqi+qItisYFMN3aI6RTnqUJnHQjrenreJ4xooZ6S9M9noup
mx7fdU+t6g3bQ22pNRqtg/MYsZiOEZT31cjx0F7tVA9AIiRfjcLtBEmbGMZBowH6+tMBSAozJ1/T
11NZKYxjCJjGMImMYwiYxjCJjGMImMYwiYxjCJjGMImMYwiYxjCJjGMImMYwiYxjCJjGMImMYwiY
xjCJjGMImMYwiYxjCL//2Q==

------=_NextPart_000_004F_01CDA442.2CFB83D0
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-users mailing list
Xen-users@lists.xen.org
http://lists.xen.org/xen-users
------=_NextPart_000_004F_01CDA442.2CFB83D0--



From xen-devel-bounces@lists.xen.org Tue Oct 09 09:33:03 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Oct 2012 09:33:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TLWAo-00080V-M1; Tue, 09 Oct 2012 09:32:22 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <zhenzhong.duan@oracle.com>) id 1TLVZq-00074W-B6
	for xen-devel@lists.xen.org; Tue, 09 Oct 2012 08:54:11 +0000
Received: from [85.158.143.99:8758] by server-3.bemta-4.messagelabs.com id
	2A/8B-10986-136E3705; Tue, 09 Oct 2012 08:54:09 +0000
X-Env-Sender: zhenzhong.duan@oracle.com
X-Msg-Ref: server-14.tower-216.messagelabs.com!1349772845!23781541!1
X-Originating-IP: [148.87.113.117]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTQ4Ljg3LjExMy4xMTcgPT4gNzkwNDA2\n
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20941 invoked from network); 9 Oct 2012 08:54:06 -0000
Received: from rcsinet15.oracle.com (HELO rcsinet15.oracle.com)
	(148.87.113.117)
	by server-14.tower-216.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 9 Oct 2012 08:54:06 -0000
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94])
	by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q998rwIQ016710
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 9 Oct 2012 08:53:59 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q998ruEK016558
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 9 Oct 2012 08:53:56 GMT
Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q998rt2W004074; Tue, 9 Oct 2012 03:53:56 -0500
Received: from zhenzhong2.localdomain (/10.182.39.88)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 09 Oct 2012 01:53:52 -0700
Message-ID: <5073E61B.1010305@oracle.com>
Date: Tue, 09 Oct 2012 16:53:47 +0800
From: DuanZhenzhong <zhenzhong.duan@oracle.com>
Organization: Oracle Corporation
User-Agent: Thunderbird 2.0.0.24 (X11/20101209)
MIME-Version: 1.0
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
References: <505C3647.1030003@oracle.com>	<20120921143430.GA3522@phenom.dumpdata.com>	<5062C16A.1020306@oracle.com>	<20120926123534.GF7356@phenom.dumpdata.com>	<5063EAFB.1070307@oracle.com>	<20120927115918.GE8832@phenom.dumpdata.com>	<50657D4B.9040303@oracle.com>	<20120928140109.GA7483@localhost.localdomain>	<20581.45245.846208.289785@mariner.uk.xensource.com>	<5065B82B.8080003@oracle.com>
	<20587.342.66210.677204@mariner.uk.xensource.com>
In-Reply-To: <20587.342.66210.677204@mariner.uk.xensource.com>
Content-Type: multipart/mixed; boundary="------------030802060607050703070201"
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
X-Mailman-Approved-At: Tue, 09 Oct 2012 09:32:21 +0000
Cc: Konrad Rzeszutek Wilk <konrad@kernel.org>,
	Dan Magenheimer <dan.magenheimer@oracle.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Feng Jin <joe.jin@oracle.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] Is: Contention in block script when doing guest
 saving. Was:Re: an issue with 'xm save'
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--------------030802060607050703070201
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Ian Jackson wrote:
> Zhenzhong Duan writes ("Re: [Xen-devel] Is: Contention in block script when doing guest saving. Was:Re: an issue with 'xm save'"):
>   
>> Attachment is part of xen-hotplug.log that will show the spin.
>> Original file is nearly 7G big. I fetch first 1000 lines.
>>     
>
> Thanks.  This is quite mystifying to me.
>
>
> Picking a representative example, and translating it to what I think
> the syscalls would be:
>
>   
>> + eval 'exec 200>>/var/run/xen-hotplug/block'
>> ++ exec
>>     
>
>   fd = open("/var/run/xen-hotplug/block", O_WRONLY|O_APPEND|O_CREAT, 0666);
>   dup2(fd, 200);
>   close(fd);
>
>   
>> + flock -x 200
>>     
>
>   flock(200, LOCK_EX);
>
>   
>> ++ perl -e '
>>             open STDIN, "<&200" or die $!;
>>     
>
>   dup2(200, 0);
>
>   
>>             my $fd_inum = (stat STDIN)[1]; die $! unless defined $fd_inum;
>>     
>
>   fstat(0, &stdin_stat);
>
>   
>>             my $file_inum = (stat $ARGV[0])[1];
>>     
>
>   stat("/var/run/xen-hotplug/block", &file_stat);
>
>   
>>             print "y\n" if $fd_inum eq $file_inum;
>>     
>
>   if (stdin_stat.st_ino == file_stat.st_ino)
>       puts("y");
>
>   
>>                              ' /var/run/xen-hotplug/block
>> + rightfile=
>>     
>
> And here we see that perl didn't print "y" so the two files must be
> different.
>
>
> Let's try something else: can you strace it ?  That is, get it to the
> point where it's spinning, find the pid of the relevant shell process,
> and
>    strace -f -vvs500 -ooutput.strace PID
> where PID is the pid in question ?
>
> Let that run for a fraction of a second and then ^C it.
>
> The output may shed some light.
>
> Thanks,
> Ian.
>   
Hi Ian,
Sorry for late, just back from vocation today.
Your requested strace info attached, any info you need, let me know.

-- 
Regards
zhenzhong
--
Oracle Building, No.24 Building, Zhongguancun Software Park
Haidian District, Beijing 100193, China


--------------030802060607050703070201
Content-Type: text/plain;
 name="output.strace"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
 filename="output.strace"

27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0, NULL) =3D=
 26268
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26269
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26269 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26269 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26269 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26269 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26269 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26269 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26269 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26269 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26269 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26269 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26269 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26269 dup2(4, 1)                        =3D 1
26269 close(4)                          =3D 0
26269 close(3)                          =3D 0
26269 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26269 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26269 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26269 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26269 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26269 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26269 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26269 access("/usr/bin/perl", X_OK)     =3D 0
26269 access("/usr/bin/perl", R_OK)     =3D 0
26269 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26269 access("/usr/bin/perl", X_OK)     =3D 0
26269 access("/usr/bin/perl", R_OK)     =3D 0
26269 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26269 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26269 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26269 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26269 brk(0)                            =3D 0x1a99000
26269 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fdb21f8b000
26269 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fdb21f8a000
26269 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26269 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26269 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fffced48b50) =3D -1 ENOENT (No such file or directory)
26269 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26269 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fffced48b50) =3D -1 ENOENT (No such file or directory)
26269 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26269 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fffced48b50) =3D -1 ENOENT (No such file or directory)
26269 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26269 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
fced48b50) =3D -1 ENOENT (No such file or directory)
26269 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26269 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26269 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7fdb21f70000=

26269 close(3)                          =3D 0
26269 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26269 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26269 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26269 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26269 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26269 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26269 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26269 close(3)                          =3D 0
26269 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26269 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26269 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26269 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fdb21f6f000
26269 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26269 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26269 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26269 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26269 close(3)                          =3D 0
26269 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26269 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26269 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26269 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26269 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26269 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26269 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26269 close(3)                          =3D 0
26269 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26269 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26269 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26269 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26269 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26269 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26269 close(3)                          =3D 0
26269 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26269 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26269 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26269 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fdb21f6e000
26269 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26269 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26269 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26269 close(3)                          =3D 0
26269 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26269 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26269 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26269 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26269 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26269 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26269 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26269 close(3)                          =3D 0
26269 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26269 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26269 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26269 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26269 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26269 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26269 close(3)                          =3D 0
26269 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26269 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26269 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26269 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fdb21f6d000
26269 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26269 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26269 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26269 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26269 close(3)                          =3D 0
26269 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26269 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26269 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26269 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26269 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26269 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26269 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26269 close(3)                          =3D 0
26269 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fdb21f6c000
26269 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fdb21f6b000
26269 arch_prctl(ARCH_SET_FS, 0x7fdb21f6b6e0) =3D 0
26269 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26269 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26269 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26269 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26269 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26269 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26269 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26269 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26269 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26269 munmap(0x7fdb21f70000, 103979)    =3D 0
26269 set_tid_address(0x7fdb21f6b770)   =3D 26269
26269 set_robust_list(0x7fdb21f6b780, 0x18) =3D 0
26269 futex(0x7fffced4967c, FUTEX_WAKE_PRIVATE, 1) =3D 0
26269 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26269 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26269 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26269 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26269 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26269 brk(0)                            =3D 0x1a99000
26269 brk(0x1abb000)                    =3D 0x1abb000
26269 getuid()                          =3D 0
26269 geteuid()                         =3D 0
26269 getgid()                          =3D 0
26269 getegid()                         =3D 0
26269 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7fdb21f4a000
26269 open("/dev/urandom", O_RDONLY)    =3D 3
26269 read(3, "\323\277\205\337", 4)    =3D 4
26269 close(3)                          =3D 0
26269 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fffced49330) =3D -1 ENOENT (No such file or directory)
26269 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fffced49330) =3D -1 ENOEN=
T (No such file or directory)
26269 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fffced49330) =3D -1 ENOENT (No such file or directory)
26269 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fffced49330) =3D -1 ENOEN=
T (No such file or directory)
26269 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fffced49330) =3D -1 ENOENT (No such file or directory)
26269 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fffced49330) =3D -1 ENOEN=
T (No such file or directory)
26269 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fffced49330) =3D -1 ENOENT (No such file or directory)
26269 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fffced49330) =3D -1 ENO=
ENT (No such file or directory)
26269 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fffced49330) =3D -1 ENOENT (No such file or directory)
26269 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fffced49330) =3D -1 ENO=
ENT (No such file or directory)
26269 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fffced49330) =3D -1 ENOENT (No such file or directory)
26269 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fffced49330) =3D -1 ENO=
ENT (No such file or directory)
26269 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffced490f0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26269 lseek(0, 0, SEEK_CUR)             =3D 0
26269 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffced490f0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26269 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26269 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffced49100) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26269 lseek(2, 0, SEEK_CUR)             =3D 593655951
26269 open("/dev/null", O_RDONLY)       =3D 3
26269 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffced49200) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26269 lseek(3, 0, SEEK_CUR)             =3D 0
26269 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26269 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26269 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26269 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26269 brk(0x1adc000)                    =3D 0x1adc000
26269 close(3)                          =3D 0
26269 dup(200)                          =3D 3
26269 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffced490d0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26269 lseek(3, 0, SEEK_CUR)             =3D 0
26269 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26269 dup2(3, 0)                        =3D 0
26269 close(3)                          =3D 0
26269 fcntl(0, F_SETFD, 0)              =3D 0
26269 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26269 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26269 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26269
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26270
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26270 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26270 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26270 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26270 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26270 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26270 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26270 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26270 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26270 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26270 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26270 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26270 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26270 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26270 brk(0)                            =3D 0x1531000
26270 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f585c9c2000
26270 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f585c9c1000
26270 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26270 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26270 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26270 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f585c9a7000=

26270 close(3)                          =3D 0
26270 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26270 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26270 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26270 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26270 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26270 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26270 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26270 close(3)                          =3D 0
26270 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f585c9a6000
26270 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f585c9a5000
26270 arch_prctl(ARCH_SET_FS, 0x7f585c9a56e0) =3D 0
26270 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26270 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26270 munmap(0x7f585c9a7000, 103979)    =3D 0
26270 flock(200, LOCK_EX)               =3D 0
26270 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26270
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26271
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26271 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26271 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26271 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26271 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26271 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26271 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26271 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26271 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26271 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26271 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26271 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26271 dup2(4, 1)                        =3D 1
26271 close(4)                          =3D 0
26271 close(3)                          =3D 0
26271 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26271 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26271 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26271 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26271 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26271 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26271 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26271 access("/usr/bin/perl", X_OK)     =3D 0
26271 access("/usr/bin/perl", R_OK)     =3D 0
26271 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26271 access("/usr/bin/perl", X_OK)     =3D 0
26271 access("/usr/bin/perl", R_OK)     =3D 0
26271 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26271 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26271 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26271 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26271 brk(0)                            =3D 0x217e000
26271 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9f8a879000
26271 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9f8a878000
26271 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26271 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26271 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fff8dbaff30) =3D -1 ENOENT (No such file or directory)
26271 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26271 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fff8dbaff30) =3D -1 ENOENT (No such file or directory)
26271 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26271 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fff8dbaff30) =3D -1 ENOENT (No such file or directory)
26271 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26271 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
f8dbaff30) =3D -1 ENOENT (No such file or directory)
26271 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26271 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26271 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f9f8a85e000=

26271 close(3)                          =3D 0
26271 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26271 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26271 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26271 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26271 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26271 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26271 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26271 close(3)                          =3D 0
26271 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26271 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26271 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26271 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9f8a85d000
26271 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26271 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26271 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26271 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26271 close(3)                          =3D 0
26271 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26271 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26271 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26271 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26271 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26271 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26271 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26271 close(3)                          =3D 0
26271 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26271 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26271 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26271 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26271 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26271 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26271 close(3)                          =3D 0
26271 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26271 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26271 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26271 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9f8a85c000
26271 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26271 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26271 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26271 close(3)                          =3D 0
26271 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26271 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26271 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26271 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26271 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26271 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26271 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26271 close(3)                          =3D 0
26271 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26271 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26271 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26271 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26271 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26271 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26271 close(3)                          =3D 0
26271 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26271 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26271 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26271 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9f8a85b000
26271 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26271 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26271 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26271 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26271 close(3)                          =3D 0
26271 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26271 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26271 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26271 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26271 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26271 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26271 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26271 close(3)                          =3D 0
26271 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9f8a85a000
26271 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9f8a859000
26271 arch_prctl(ARCH_SET_FS, 0x7f9f8a8596e0) =3D 0
26271 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26271 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26271 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26271 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26271 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26271 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26271 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26271 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26271 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26271 munmap(0x7f9f8a85e000, 103979)    =3D 0
26271 set_tid_address(0x7f9f8a859770)   =3D 26271
26271 set_robust_list(0x7f9f8a859780, 0x18) =3D 0
26271 futex(0x7fff8dbb0a5c, FUTEX_WAKE_PRIVATE, 1) =3D 0
26271 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26271 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26271 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26271 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26271 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26271 brk(0)                            =3D 0x217e000
26271 brk(0x21a0000)                    =3D 0x21a0000
26271 getuid()                          =3D 0
26271 geteuid()                         =3D 0
26271 getgid()                          =3D 0
26271 getegid()                         =3D 0
26271 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7f9f8a838000
26271 open("/dev/urandom", O_RDONLY)    =3D 3
26271 read(3, "\25\300\34\374", 4)      =3D 4
26271 close(3)                          =3D 0
26271 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fff8dbb0710) =3D -1 ENOENT (No such file or directory)
26271 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fff8dbb0710) =3D -1 ENOEN=
T (No such file or directory)
26271 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fff8dbb0710) =3D -1 ENOENT (No such file or directory)
26271 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fff8dbb0710) =3D -1 ENOEN=
T (No such file or directory)
26271 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fff8dbb0710) =3D -1 ENOENT (No such file or directory)
26271 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fff8dbb0710) =3D -1 ENOEN=
T (No such file or directory)
26271 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fff8dbb0710) =3D -1 ENOENT (No such file or directory)
26271 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fff8dbb0710) =3D -1 ENO=
ENT (No such file or directory)
26271 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fff8dbb0710) =3D -1 ENOENT (No such file or directory)
26271 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fff8dbb0710) =3D -1 ENO=
ENT (No such file or directory)
26271 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fff8dbb0710) =3D -1 ENOENT (No such file or directory)
26271 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fff8dbb0710) =3D -1 ENO=
ENT (No such file or directory)
26271 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff8dbb04d0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26271 lseek(0, 0, SEEK_CUR)             =3D 0
26271 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff8dbb04d0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26271 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26271 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff8dbb04e0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26271 lseek(2, 0, SEEK_CUR)             =3D 593656345
26271 open("/dev/null", O_RDONLY)       =3D 3
26271 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff8dbb05e0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26271 lseek(3, 0, SEEK_CUR)             =3D 0
26271 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26271 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26271 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26271 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26271 brk(0x21c1000)                    =3D 0x21c1000
26271 close(3)                          =3D 0
26271 dup(200)                          =3D 3
26271 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff8dbb04b0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26271 lseek(3, 0, SEEK_CUR)             =3D 0
26271 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26271 dup2(3, 0)                        =3D 0
26271 close(3)                          =3D 0
26271 fcntl(0, F_SETFD, 0)              =3D 0
26271 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26271 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26271 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26271
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26272
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26272 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26272 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26272 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26272 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26272 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26272 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26272 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26272 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26272 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26272 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26272 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26272 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26272 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26272 brk(0)                            =3D 0x1746000
26272 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fad826e0000
26272 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fad826df000
26272 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26272 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26272 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26272 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7fad826c5000=

26272 close(3)                          =3D 0
26272 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26272 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26272 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26272 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26272 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26272 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26272 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26272 close(3)                          =3D 0
26272 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fad826c4000
26272 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fad826c3000
26272 arch_prctl(ARCH_SET_FS, 0x7fad826c36e0) =3D 0
26272 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26272 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26272 munmap(0x7fad826c5000, 103979)    =3D 0
26272 flock(200, LOCK_EX)               =3D 0
26272 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26272
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26273
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26273 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26273 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26273 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26273 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26273 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26273 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26273 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26273 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26273 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26273 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26273 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26273 dup2(4, 1)                        =3D 1
26273 close(4)                          =3D 0
26273 close(3)                          =3D 0
26273 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26273 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26273 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26273 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26273 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26273 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26273 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26273 access("/usr/bin/perl", X_OK)     =3D 0
26273 access("/usr/bin/perl", R_OK)     =3D 0
26273 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26273 access("/usr/bin/perl", X_OK)     =3D 0
26273 access("/usr/bin/perl", R_OK)     =3D 0
26273 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26273 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26273 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26273 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26273 brk(0)                            =3D 0xd7d000
26273 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f085a389000
26273 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f085a388000
26273 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26273 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26273 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fff7446cc60) =3D -1 ENOENT (No such file or directory)
26273 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26273 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fff7446cc60) =3D -1 ENOENT (No such file or directory)
26273 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26273 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fff7446cc60) =3D -1 ENOENT (No such file or directory)
26273 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26273 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
f7446cc60) =3D -1 ENOENT (No such file or directory)
26273 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26273 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26273 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f085a36e000=

26273 close(3)                          =3D 0
26273 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26273 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26273 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26273 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26273 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26273 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26273 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26273 close(3)                          =3D 0
26273 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26273 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26273 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26273 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f085a36d000
26273 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26273 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26273 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26273 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26273 close(3)                          =3D 0
26273 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26273 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26273 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26273 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26273 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26273 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26273 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26273 close(3)                          =3D 0
26273 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26273 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26273 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26273 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26273 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26273 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26273 close(3)                          =3D 0
26273 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26273 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26273 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26273 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f085a36c000
26273 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26273 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26273 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26273 close(3)                          =3D 0
26273 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26273 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26273 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26273 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26273 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26273 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26273 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26273 close(3)                          =3D 0
26273 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26273 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26273 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26273 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26273 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26273 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26273 close(3)                          =3D 0
26273 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26273 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26273 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26273 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f085a36b000
26273 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26273 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26273 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26273 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26273 close(3)                          =3D 0
26273 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26273 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26273 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26273 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26273 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26273 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26273 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26273 close(3)                          =3D 0
26273 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f085a36a000
26273 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f085a369000
26273 arch_prctl(ARCH_SET_FS, 0x7f085a3696e0) =3D 0
26273 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26273 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26273 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26273 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26273 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26273 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26273 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26273 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26273 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26273 munmap(0x7f085a36e000, 103979)    =3D 0
26273 set_tid_address(0x7f085a369770)   =3D 26273
26273 set_robust_list(0x7f085a369780, 0x18) =3D 0
26273 futex(0x7fff7446d78c, FUTEX_WAKE_PRIVATE, 1) =3D 0
26273 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26273 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26273 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26273 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26273 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26273 brk(0)                            =3D 0xd7d000
26273 brk(0xd9f000)                     =3D 0xd9f000
26273 getuid()                          =3D 0
26273 geteuid()                         =3D 0
26273 getgid()                          =3D 0
26273 getegid()                         =3D 0
26273 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7f085a348000
26273 open("/dev/urandom", O_RDONLY)    =3D 3
26273 read(3, "\245\"\234\327", 4)      =3D 4
26273 close(3)                          =3D 0
26273 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fff7446d440) =3D -1 ENOENT (No such file or directory)
26273 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fff7446d440) =3D -1 ENOEN=
T (No such file or directory)
26273 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fff7446d440) =3D -1 ENOENT (No such file or directory)
26273 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fff7446d440) =3D -1 ENOEN=
T (No such file or directory)
26273 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fff7446d440) =3D -1 ENOENT (No such file or directory)
26273 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fff7446d440) =3D -1 ENOEN=
T (No such file or directory)
26273 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fff7446d440) =3D -1 ENOENT (No such file or directory)
26273 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fff7446d440) =3D -1 ENO=
ENT (No such file or directory)
26273 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fff7446d440) =3D -1 ENOENT (No such file or directory)
26273 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fff7446d440) =3D -1 ENO=
ENT (No such file or directory)
26273 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fff7446d440) =3D -1 ENOENT (No such file or directory)
26273 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fff7446d440) =3D -1 ENO=
ENT (No such file or directory)
26273 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff7446d200) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26273 lseek(0, 0, SEEK_CUR)             =3D 0
26273 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff7446d200) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26273 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26273 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff7446d210) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26273 lseek(2, 0, SEEK_CUR)             =3D 593656739
26273 open("/dev/null", O_RDONLY)       =3D 3
26273 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff7446d310) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26273 lseek(3, 0, SEEK_CUR)             =3D 0
26273 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26273 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26273 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26273 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26273 brk(0xdc0000)                     =3D 0xdc0000
26273 close(3)                          =3D 0
26273 dup(200)                          =3D 3
26273 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff7446d1e0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26273 lseek(3, 0, SEEK_CUR)             =3D 0
26273 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26273 dup2(3, 0)                        =3D 0
26273 close(3)                          =3D 0
26273 fcntl(0, F_SETFD, 0)              =3D 0
26273 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26273 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26273 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26273
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26274
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26274 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26274 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26274 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26274 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26274 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26274 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26274 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26274 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26274 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26274 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26274 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26274 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26274 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26274 brk(0)                            =3D 0x1a9e000
26274 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fda76a0b000
26274 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fda76a0a000
26274 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26274 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26274 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26274 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7fda769f0000=

26274 close(3)                          =3D 0
26274 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26274 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26274 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26274 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26274 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26274 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26274 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26274 close(3)                          =3D 0
26274 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fda769ef000
26274 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fda769ee000
26274 arch_prctl(ARCH_SET_FS, 0x7fda769ee6e0) =3D 0
26274 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26274 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26274 munmap(0x7fda769f0000, 103979)    =3D 0
26274 flock(200, LOCK_EX)               =3D 0
26274 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26274
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26275
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26275 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26275 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26275 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26275 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26275 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26275 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26275 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26275 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26275 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26275 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26275 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26275 dup2(4, 1)                        =3D 1
26275 close(4)                          =3D 0
26275 close(3)                          =3D 0
26275 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26275 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26275 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26275 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26275 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26275 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26275 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26275 access("/usr/bin/perl", X_OK)     =3D 0
26275 access("/usr/bin/perl", R_OK)     =3D 0
26275 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26275 access("/usr/bin/perl", X_OK)     =3D 0
26275 access("/usr/bin/perl", R_OK)     =3D 0
26275 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26275 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26275 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26275 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26275 brk(0)                            =3D 0x1f94000
26275 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f60ea136000
26275 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f60ea135000
26275 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26275 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26275 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fff7127c790) =3D -1 ENOENT (No such file or directory)
26275 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26275 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fff7127c790) =3D -1 ENOENT (No such file or directory)
26275 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26275 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fff7127c790) =3D -1 ENOENT (No such file or directory)
26275 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26275 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
f7127c790) =3D -1 ENOENT (No such file or directory)
26275 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26275 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26275 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f60ea11b000=

26275 close(3)                          =3D 0
26275 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26275 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26275 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26275 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26275 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26275 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26275 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26275 close(3)                          =3D 0
26275 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26275 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26275 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26275 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f60ea11a000
26275 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26275 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26275 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26275 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26275 close(3)                          =3D 0
26275 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26275 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26275 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26275 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26275 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26275 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26275 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26275 close(3)                          =3D 0
26275 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26275 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26275 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26275 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26275 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26275 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26275 close(3)                          =3D 0
26275 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26275 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26275 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26275 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f60ea119000
26275 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26275 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26275 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26275 close(3)                          =3D 0
26275 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26275 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26275 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26275 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26275 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26275 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26275 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26275 close(3)                          =3D 0
26275 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26275 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26275 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26275 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26275 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26275 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26275 close(3)                          =3D 0
26275 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26275 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26275 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26275 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f60ea118000
26275 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26275 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26275 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26275 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26275 close(3)                          =3D 0
26275 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26275 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26275 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26275 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26275 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26275 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26275 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26275 close(3)                          =3D 0
26275 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f60ea117000
26275 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f60ea116000
26275 arch_prctl(ARCH_SET_FS, 0x7f60ea1166e0) =3D 0
26275 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26275 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26275 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26275 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26275 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26275 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26275 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26275 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26275 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26275 munmap(0x7f60ea11b000, 103979)    =3D 0
26275 set_tid_address(0x7f60ea116770)   =3D 26275
26275 set_robust_list(0x7f60ea116780, 0x18) =3D 0
26275 futex(0x7fff7127d2bc, FUTEX_WAKE_PRIVATE, 1) =3D 0
26275 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26275 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26275 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26275 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26275 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26275 brk(0)                            =3D 0x1f94000
26275 brk(0x1fb6000)                    =3D 0x1fb6000
26275 getuid()                          =3D 0
26275 geteuid()                         =3D 0
26275 getgid()                          =3D 0
26275 getegid()                         =3D 0
26275 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7f60ea0f5000
26275 open("/dev/urandom", O_RDONLY)    =3D 3
26275 read(3, "\247\203\340\225", 4)    =3D 4
26275 close(3)                          =3D 0
26275 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fff7127cf70) =3D -1 ENOENT (No such file or directory)
26275 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fff7127cf70) =3D -1 ENOEN=
T (No such file or directory)
26275 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fff7127cf70) =3D -1 ENOENT (No such file or directory)
26275 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fff7127cf70) =3D -1 ENOEN=
T (No such file or directory)
26275 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fff7127cf70) =3D -1 ENOENT (No such file or directory)
26275 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fff7127cf70) =3D -1 ENOEN=
T (No such file or directory)
26275 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fff7127cf70) =3D -1 ENOENT (No such file or directory)
26275 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fff7127cf70) =3D -1 ENO=
ENT (No such file or directory)
26275 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fff7127cf70) =3D -1 ENOENT (No such file or directory)
26275 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fff7127cf70) =3D -1 ENO=
ENT (No such file or directory)
26275 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fff7127cf70) =3D -1 ENOENT (No such file or directory)
26275 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fff7127cf70) =3D -1 ENO=
ENT (No such file or directory)
26275 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff7127cd30) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26275 lseek(0, 0, SEEK_CUR)             =3D 0
26275 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff7127cd30) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26275 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26275 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff7127cd40) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26275 lseek(2, 0, SEEK_CUR)             =3D 593657133
26275 open("/dev/null", O_RDONLY)       =3D 3
26275 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff7127ce40) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26275 lseek(3, 0, SEEK_CUR)             =3D 0
26275 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26275 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26275 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26275 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26275 brk(0x1fd7000)                    =3D 0x1fd7000
26275 close(3)                          =3D 0
26275 dup(200)                          =3D 3
26275 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff7127cd10) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26275 lseek(3, 0, SEEK_CUR)             =3D 0
26275 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26275 dup2(3, 0)                        =3D 0
26275 close(3)                          =3D 0
26275 fcntl(0, F_SETFD, 0)              =3D 0
26275 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26275 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26275 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26275
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26276
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26276 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26276 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26276 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26276 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26276 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26276 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26276 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26276 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26276 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26276 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26276 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26276 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26276 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26276 brk(0)                            =3D 0x1b6a000
26276 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fae88652000
26276 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fae88651000
26276 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26276 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26276 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26276 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7fae88637000=

26276 close(3)                          =3D 0
26276 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26276 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26276 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26276 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26276 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26276 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26276 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26276 close(3)                          =3D 0
26276 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fae88636000
26276 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fae88635000
26276 arch_prctl(ARCH_SET_FS, 0x7fae886356e0) =3D 0
26276 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26276 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26276 munmap(0x7fae88637000, 103979)    =3D 0
26276 flock(200, LOCK_EX)               =3D 0
26276 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26276
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26277
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26277 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26277 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26277 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26277 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26277 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26277 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26277 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26277 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26277 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26277 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26277 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26277 dup2(4, 1)                        =3D 1
26277 close(4)                          =3D 0
26277 close(3)                          =3D 0
26277 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26277 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26277 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26277 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26277 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26277 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26277 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26277 access("/usr/bin/perl", X_OK)     =3D 0
26277 access("/usr/bin/perl", R_OK)     =3D 0
26277 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26277 access("/usr/bin/perl", X_OK)     =3D 0
26277 access("/usr/bin/perl", R_OK)     =3D 0
26277 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26277 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26277 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26277 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26277 brk(0)                            =3D 0x1f39000
26277 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f78e8785000
26277 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f78e8784000
26277 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26277 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26277 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fffe81dbe70) =3D -1 ENOENT (No such file or directory)
26277 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26277 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fffe81dbe70) =3D -1 ENOENT (No such file or directory)
26277 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26277 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fffe81dbe70) =3D -1 ENOENT (No such file or directory)
26277 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26277 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
fe81dbe70) =3D -1 ENOENT (No such file or directory)
26277 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26277 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26277 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f78e876a000=

26277 close(3)                          =3D 0
26277 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26277 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26277 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26277 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26277 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26277 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26277 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26277 close(3)                          =3D 0
26277 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26277 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26277 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26277 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f78e8769000
26277 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26277 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26277 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26277 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26277 close(3)                          =3D 0
26277 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26277 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26277 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26277 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26277 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26277 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26277 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26277 close(3)                          =3D 0
26277 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26277 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26277 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26277 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26277 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26277 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26277 close(3)                          =3D 0
26277 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26277 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26277 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26277 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f78e8768000
26277 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26277 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26277 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26277 close(3)                          =3D 0
26277 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26277 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26277 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26277 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26277 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26277 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26277 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26277 close(3)                          =3D 0
26277 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26277 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26277 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26277 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26277 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26277 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26277 close(3)                          =3D 0
26277 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26277 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26277 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26277 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f78e8767000
26277 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26277 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26277 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26277 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26277 close(3)                          =3D 0
26277 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26277 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26277 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26277 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26277 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26277 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26277 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26277 close(3)                          =3D 0
26277 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f78e8766000
26277 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f78e8765000
26277 arch_prctl(ARCH_SET_FS, 0x7f78e87656e0) =3D 0
26277 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26277 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26277 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26277 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26277 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26277 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26277 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26277 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26277 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26277 munmap(0x7f78e876a000, 103979)    =3D 0
26277 set_tid_address(0x7f78e8765770)   =3D 26277
26277 set_robust_list(0x7f78e8765780, 0x18) =3D 0
26277 futex(0x7fffe81dc99c, FUTEX_WAKE_PRIVATE, 1) =3D 0
26277 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26277 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26277 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26277 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26277 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26277 brk(0)                            =3D 0x1f39000
26277 brk(0x1f5b000)                    =3D 0x1f5b000
26277 getuid()                          =3D 0
26277 geteuid()                         =3D 0
26277 getgid()                          =3D 0
26277 getegid()                         =3D 0
26277 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7f78e8744000
26277 open("/dev/urandom", O_RDONLY)    =3D 3
26277 read(3, "\344\32\254\372", 4)     =3D 4
26277 close(3)                          =3D 0
26277 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fffe81dc650) =3D -1 ENOENT (No such file or directory)
26277 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fffe81dc650) =3D -1 ENOEN=
T (No such file or directory)
26277 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fffe81dc650) =3D -1 ENOENT (No such file or directory)
26277 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fffe81dc650) =3D -1 ENOEN=
T (No such file or directory)
26277 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fffe81dc650) =3D -1 ENOENT (No such file or directory)
26277 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fffe81dc650) =3D -1 ENOEN=
T (No such file or directory)
26277 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fffe81dc650) =3D -1 ENOENT (No such file or directory)
26277 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fffe81dc650) =3D -1 ENO=
ENT (No such file or directory)
26277 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fffe81dc650) =3D -1 ENOENT (No such file or directory)
26277 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fffe81dc650) =3D -1 ENO=
ENT (No such file or directory)
26277 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fffe81dc650) =3D -1 ENOENT (No such file or directory)
26277 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fffe81dc650) =3D -1 ENO=
ENT (No such file or directory)
26277 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffe81dc410) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26277 lseek(0, 0, SEEK_CUR)             =3D 0
26277 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffe81dc410) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26277 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26277 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffe81dc420) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26277 lseek(2, 0, SEEK_CUR)             =3D 593657527
26277 open("/dev/null", O_RDONLY)       =3D 3
26277 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffe81dc520) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26277 lseek(3, 0, SEEK_CUR)             =3D 0
26277 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26277 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26277 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26277 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26277 brk(0x1f7c000)                    =3D 0x1f7c000
26277 close(3)                          =3D 0
26277 dup(200)                          =3D 3
26277 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffe81dc3f0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26277 lseek(3, 0, SEEK_CUR)             =3D 0
26277 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26277 dup2(3, 0)                        =3D 0
26277 close(3)                          =3D 0
26277 fcntl(0, F_SETFD, 0)              =3D 0
26277 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26277 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26277 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26277
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26278
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26278 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26278 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26278 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26278 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26278 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26278 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26278 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26278 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26278 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26278 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26278 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26278 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26278 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26278 brk(0)                            =3D 0x119d000
26278 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f0519d76000
26278 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f0519d75000
26278 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26278 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26278 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26278 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f0519d5b000=

26278 close(3)                          =3D 0
26278 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26278 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26278 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26278 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26278 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26278 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26278 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26278 close(3)                          =3D 0
26278 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f0519d5a000
26278 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f0519d59000
26278 arch_prctl(ARCH_SET_FS, 0x7f0519d596e0) =3D 0
26278 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26278 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26278 munmap(0x7f0519d5b000, 103979)    =3D 0
26278 flock(200, LOCK_EX)               =3D 0
26278 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26278
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26279
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26279 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26279 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26279 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26279 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26279 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26279 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26279 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26279 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26279 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26279 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26279 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26279 dup2(4, 1)                        =3D 1
26279 close(4)                          =3D 0
26279 close(3)                          =3D 0
26279 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26279 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26279 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26279 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26279 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26279 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26279 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26279 access("/usr/bin/perl", X_OK)     =3D 0
26279 access("/usr/bin/perl", R_OK)     =3D 0
26279 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26279 access("/usr/bin/perl", X_OK)     =3D 0
26279 access("/usr/bin/perl", R_OK)     =3D 0
26279 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26279 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26279 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26279 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26279 brk(0)                            =3D 0x1d51000
26279 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5d16cfe000
26279 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5d16cfd000
26279 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26279 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26279 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fffeaa9f0e0) =3D -1 ENOENT (No such file or directory)
26279 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26279 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fffeaa9f0e0) =3D -1 ENOENT (No such file or directory)
26279 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26279 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fffeaa9f0e0) =3D -1 ENOENT (No such file or directory)
26279 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26279 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
feaa9f0e0) =3D -1 ENOENT (No such file or directory)
26279 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26279 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26279 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f5d16ce3000=

26279 close(3)                          =3D 0
26279 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26279 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26279 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26279 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26279 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26279 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26279 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26279 close(3)                          =3D 0
26279 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26279 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26279 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26279 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5d16ce2000
26279 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26279 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26279 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26279 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26279 close(3)                          =3D 0
26279 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26279 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26279 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26279 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26279 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26279 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26279 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26279 close(3)                          =3D 0
26279 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26279 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26279 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26279 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26279 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26279 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26279 close(3)                          =3D 0
26279 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26279 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26279 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26279 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5d16ce1000
26279 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26279 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26279 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26279 close(3)                          =3D 0
26279 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26279 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26279 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26279 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26279 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26279 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26279 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26279 close(3)                          =3D 0
26279 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26279 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26279 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26279 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26279 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26279 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26279 close(3)                          =3D 0
26279 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26279 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26279 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26279 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5d16ce0000
26279 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26279 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26279 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26279 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26279 close(3)                          =3D 0
26279 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26279 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26279 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26279 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26279 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26279 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26279 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26279 close(3)                          =3D 0
26279 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5d16cdf000
26279 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5d16cde000
26279 arch_prctl(ARCH_SET_FS, 0x7f5d16cde6e0) =3D 0
26279 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26279 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26279 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26279 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26279 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26279 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26279 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26279 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26279 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26279 munmap(0x7f5d16ce3000, 103979)    =3D 0
26279 set_tid_address(0x7f5d16cde770)   =3D 26279
26279 set_robust_list(0x7f5d16cde780, 0x18) =3D 0
26279 futex(0x7fffeaa9fc0c, FUTEX_WAKE_PRIVATE, 1) =3D 0
26279 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26279 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26279 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26279 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26279 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26279 brk(0)                            =3D 0x1d51000
26279 brk(0x1d73000)                    =3D 0x1d73000
26279 getuid()                          =3D 0
26279 geteuid()                         =3D 0
26279 getgid()                          =3D 0
26279 getegid()                         =3D 0
26279 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7f5d16cbd000
26279 open("/dev/urandom", O_RDONLY)    =3D 3
26279 read(3, "<\377\35_", 4)           =3D 4
26279 close(3)                          =3D 0
26279 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fffeaa9f8c0) =3D -1 ENOENT (No such file or directory)
26279 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fffeaa9f8c0) =3D -1 ENOEN=
T (No such file or directory)
26279 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fffeaa9f8c0) =3D -1 ENOENT (No such file or directory)
26279 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fffeaa9f8c0) =3D -1 ENOEN=
T (No such file or directory)
26279 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fffeaa9f8c0) =3D -1 ENOENT (No such file or directory)
26279 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fffeaa9f8c0) =3D -1 ENOEN=
T (No such file or directory)
26279 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fffeaa9f8c0) =3D -1 ENOENT (No such file or directory)
26279 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fffeaa9f8c0) =3D -1 ENO=
ENT (No such file or directory)
26279 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fffeaa9f8c0) =3D -1 ENOENT (No such file or directory)
26279 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fffeaa9f8c0) =3D -1 ENO=
ENT (No such file or directory)
26279 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fffeaa9f8c0) =3D -1 ENOENT (No such file or directory)
26279 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fffeaa9f8c0) =3D -1 ENO=
ENT (No such file or directory)
26279 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffeaa9f680) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26279 lseek(0, 0, SEEK_CUR)             =3D 0
26279 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffeaa9f680) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26279 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26279 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffeaa9f690) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26279 lseek(2, 0, SEEK_CUR)             =3D 593657921
26279 open("/dev/null", O_RDONLY)       =3D 3
26279 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffeaa9f790) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26279 lseek(3, 0, SEEK_CUR)             =3D 0
26279 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26279 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26279 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26279 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26279 brk(0x1d94000)                    =3D 0x1d94000
26279 close(3)                          =3D 0
26279 dup(200)                          =3D 3
26279 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffeaa9f660) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26279 lseek(3, 0, SEEK_CUR)             =3D 0
26279 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26279 dup2(3, 0)                        =3D 0
26279 close(3)                          =3D 0
26279 fcntl(0, F_SETFD, 0)              =3D 0
26279 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26279 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26279 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26279
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26280
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26280 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26280 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26280 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26280 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26280 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26280 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26280 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26280 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26280 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26280 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26280 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26280 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26280 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26280 brk(0)                            =3D 0x1b9e000
26280 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f73852d4000
26280 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f73852d3000
26280 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26280 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26280 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26280 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f73852b9000=

26280 close(3)                          =3D 0
26280 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26280 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26280 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26280 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26280 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26280 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26280 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26280 close(3)                          =3D 0
26280 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f73852b8000
26280 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f73852b7000
26280 arch_prctl(ARCH_SET_FS, 0x7f73852b76e0) =3D 0
26280 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26280 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26280 munmap(0x7f73852b9000, 103979)    =3D 0
26280 flock(200, LOCK_EX)               =3D 0
26280 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26280
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26281
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26281 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26281 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26281 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26281 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26281 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26281 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26281 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26281 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26281 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26281 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26281 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26281 dup2(4, 1)                        =3D 1
26281 close(4)                          =3D 0
26281 close(3)                          =3D 0
26281 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26281 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26281 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26281 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26281 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26281 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26281 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26281 access("/usr/bin/perl", X_OK)     =3D 0
26281 access("/usr/bin/perl", R_OK)     =3D 0
26281 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26281 access("/usr/bin/perl", X_OK)     =3D 0
26281 access("/usr/bin/perl", R_OK)     =3D 0
26281 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26281 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26281 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26281 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26281 brk(0)                            =3D 0x2557000
26281 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f7035a3e000
26281 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f7035a3d000
26281 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26281 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26281 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fffb80966e0) =3D -1 ENOENT (No such file or directory)
26281 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26281 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fffb80966e0) =3D -1 ENOENT (No such file or directory)
26281 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26281 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fffb80966e0) =3D -1 ENOENT (No such file or directory)
26281 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26281 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
fb80966e0) =3D -1 ENOENT (No such file or directory)
26281 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26281 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26281 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f7035a23000=

26281 close(3)                          =3D 0
26281 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26281 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26281 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26281 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26281 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26281 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26281 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26281 close(3)                          =3D 0
26281 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26281 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26281 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26281 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f7035a22000
26281 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26281 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26281 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26281 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26281 close(3)                          =3D 0
26281 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26281 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26281 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26281 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26281 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26281 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26281 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26281 close(3)                          =3D 0
26281 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26281 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26281 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26281 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26281 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26281 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26281 close(3)                          =3D 0
26281 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26281 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26281 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26281 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f7035a21000
26281 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26281 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26281 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26281 close(3)                          =3D 0
26281 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26281 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26281 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26281 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26281 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26281 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26281 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26281 close(3)                          =3D 0
26281 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26281 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26281 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26281 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26281 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26281 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26281 close(3)                          =3D 0
26281 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26281 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26281 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26281 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f7035a20000
26281 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26281 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26281 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26281 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26281 close(3)                          =3D 0
26281 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26281 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26281 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26281 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26281 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26281 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26281 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26281 close(3)                          =3D 0
26281 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f7035a1f000
26281 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f7035a1e000
26281 arch_prctl(ARCH_SET_FS, 0x7f7035a1e6e0) =3D 0
26281 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26281 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26281 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26281 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26281 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26281 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26281 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26281 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26281 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26281 munmap(0x7f7035a23000, 103979)    =3D 0
26281 set_tid_address(0x7f7035a1e770)   =3D 26281
26281 set_robust_list(0x7f7035a1e780, 0x18) =3D 0
26281 futex(0x7fffb809720c, FUTEX_WAKE_PRIVATE, 1) =3D 0
26281 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26281 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26281 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26281 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26281 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26281 brk(0)                            =3D 0x2557000
26281 brk(0x2579000)                    =3D 0x2579000
26281 getuid()                          =3D 0
26281 geteuid()                         =3D 0
26281 getgid()                          =3D 0
26281 getegid()                         =3D 0
26281 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7f70359fd000
26281 open("/dev/urandom", O_RDONLY)    =3D 3
26281 read(3, "\226:\377$", 4)          =3D 4
26281 close(3)                          =3D 0
26281 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fffb8096ec0) =3D -1 ENOENT (No such file or directory)
26281 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fffb8096ec0) =3D -1 ENOEN=
T (No such file or directory)
26281 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fffb8096ec0) =3D -1 ENOENT (No such file or directory)
26281 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fffb8096ec0) =3D -1 ENOEN=
T (No such file or directory)
26281 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fffb8096ec0) =3D -1 ENOENT (No such file or directory)
26281 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fffb8096ec0) =3D -1 ENOEN=
T (No such file or directory)
26281 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fffb8096ec0) =3D -1 ENOENT (No such file or directory)
26281 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fffb8096ec0) =3D -1 ENO=
ENT (No such file or directory)
26281 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fffb8096ec0) =3D -1 ENOENT (No such file or directory)
26281 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fffb8096ec0) =3D -1 ENO=
ENT (No such file or directory)
26281 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fffb8096ec0) =3D -1 ENOENT (No such file or directory)
26281 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fffb8096ec0) =3D -1 ENO=
ENT (No such file or directory)
26281 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffb8096c80) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26281 lseek(0, 0, SEEK_CUR)             =3D 0
26281 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffb8096c80) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26281 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26281 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffb8096c90) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26281 lseek(2, 0, SEEK_CUR)             =3D 593658315
26281 open("/dev/null", O_RDONLY)       =3D 3
26281 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffb8096d90) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26281 lseek(3, 0, SEEK_CUR)             =3D 0
26281 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26281 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26281 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26281 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26281 brk(0x259a000)                    =3D 0x259a000
26281 close(3)                          =3D 0
26281 dup(200)                          =3D 3
26281 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffb8096c60) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26281 lseek(3, 0, SEEK_CUR)             =3D 0
26281 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26281 dup2(3, 0)                        =3D 0
26281 close(3)                          =3D 0
26281 fcntl(0, F_SETFD, 0)              =3D 0
26281 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26281 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26281 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26281
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26282
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26282 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26282 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26282 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26282 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26282 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26282 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26282 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26282 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26282 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26282 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26282 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26282 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26282 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26282 brk(0)                            =3D 0x1020000
26282 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f428ce90000
26282 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f428ce8f000
26282 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26282 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26282 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26282 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f428ce75000=

26282 close(3)                          =3D 0
26282 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26282 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26282 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26282 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26282 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26282 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26282 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26282 close(3)                          =3D 0
26282 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f428ce74000
26282 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f428ce73000
26282 arch_prctl(ARCH_SET_FS, 0x7f428ce736e0) =3D 0
26282 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26282 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26282 munmap(0x7f428ce75000, 103979)    =3D 0
26282 flock(200, LOCK_EX)               =3D 0
26282 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26282
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26283
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26283 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26283 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26283 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26283 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26283 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26283 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26283 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26283 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26283 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26283 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26283 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26283 dup2(4, 1)                        =3D 1
26283 close(4)                          =3D 0
26283 close(3)                          =3D 0
26283 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26283 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26283 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26283 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26283 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26283 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26283 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26283 access("/usr/bin/perl", X_OK)     =3D 0
26283 access("/usr/bin/perl", R_OK)     =3D 0
26283 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26283 access("/usr/bin/perl", X_OK)     =3D 0
26283 access("/usr/bin/perl", R_OK)     =3D 0
26283 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26283 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26283 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26283 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26283 brk(0)                            =3D 0x2076000
26283 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f11224aa000
26283 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f11224a9000
26283 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26283 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26283 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fffe22c6ee0) =3D -1 ENOENT (No such file or directory)
26283 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26283 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fffe22c6ee0) =3D -1 ENOENT (No such file or directory)
26283 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26283 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fffe22c6ee0) =3D -1 ENOENT (No such file or directory)
26283 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26283 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
fe22c6ee0) =3D -1 ENOENT (No such file or directory)
26283 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26283 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26283 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f112248f000=

26283 close(3)                          =3D 0
26283 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26283 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26283 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26283 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26283 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26283 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26283 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26283 close(3)                          =3D 0
26283 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26283 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26283 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26283 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f112248e000
26283 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26283 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26283 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26283 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26283 close(3)                          =3D 0
26283 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26283 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26283 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26283 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26283 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26283 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26283 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26283 close(3)                          =3D 0
26283 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26283 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26283 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26283 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26283 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26283 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26283 close(3)                          =3D 0
26283 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26283 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26283 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26283 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f112248d000
26283 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26283 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26283 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26283 close(3)                          =3D 0
26283 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26283 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26283 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26283 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26283 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26283 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26283 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26283 close(3)                          =3D 0
26283 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26283 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26283 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26283 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26283 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26283 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26283 close(3)                          =3D 0
26283 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26283 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26283 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26283 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f112248c000
26283 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26283 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26283 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26283 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26283 close(3)                          =3D 0
26283 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26283 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26283 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26283 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26283 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26283 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26283 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26283 close(3)                          =3D 0
26283 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f112248b000
26283 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f112248a000
26283 arch_prctl(ARCH_SET_FS, 0x7f112248a6e0) =3D 0
26283 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26283 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26283 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26283 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26283 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26283 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26283 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26283 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26283 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26283 munmap(0x7f112248f000, 103979)    =3D 0
26283 set_tid_address(0x7f112248a770)   =3D 26283
26283 set_robust_list(0x7f112248a780, 0x18) =3D 0
26283 futex(0x7fffe22c7a0c, FUTEX_WAKE_PRIVATE, 1) =3D 0
26283 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26283 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26283 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26283 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26283 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26283 brk(0)                            =3D 0x2076000
26283 brk(0x2098000)                    =3D 0x2098000
26283 getuid()                          =3D 0
26283 geteuid()                         =3D 0
26283 getgid()                          =3D 0
26283 getegid()                         =3D 0
26283 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7f1122469000
26283 open("/dev/urandom", O_RDONLY)    =3D 3
26283 read(3, "\3I\211\1", 4)           =3D 4
26283 close(3)                          =3D 0
26283 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fffe22c76c0) =3D -1 ENOENT (No such file or directory)
26283 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fffe22c76c0) =3D -1 ENOEN=
T (No such file or directory)
26283 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fffe22c76c0) =3D -1 ENOENT (No such file or directory)
26283 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fffe22c76c0) =3D -1 ENOEN=
T (No such file or directory)
26283 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fffe22c76c0) =3D -1 ENOENT (No such file or directory)
26283 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fffe22c76c0) =3D -1 ENOEN=
T (No such file or directory)
26283 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fffe22c76c0) =3D -1 ENOENT (No such file or directory)
26283 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fffe22c76c0) =3D -1 ENO=
ENT (No such file or directory)
26283 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fffe22c76c0) =3D -1 ENOENT (No such file or directory)
26283 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fffe22c76c0) =3D -1 ENO=
ENT (No such file or directory)
26283 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fffe22c76c0) =3D -1 ENOENT (No such file or directory)
26283 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fffe22c76c0) =3D -1 ENO=
ENT (No such file or directory)
26283 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffe22c7480) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26283 lseek(0, 0, SEEK_CUR)             =3D 0
26283 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffe22c7480) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26283 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26283 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffe22c7490) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26283 lseek(2, 0, SEEK_CUR)             =3D 593658709
26283 open("/dev/null", O_RDONLY)       =3D 3
26283 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffe22c7590) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26283 lseek(3, 0, SEEK_CUR)             =3D 0
26283 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26283 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26283 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26283 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26283 brk(0x20b9000)                    =3D 0x20b9000
26283 close(3)                          =3D 0
26283 dup(200)                          =3D 3
26283 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffe22c7460) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26283 lseek(3, 0, SEEK_CUR)             =3D 0
26283 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26283 dup2(3, 0)                        =3D 0
26283 close(3)                          =3D 0
26283 fcntl(0, F_SETFD, 0)              =3D 0
26283 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26283 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26283 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26283
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26284
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26284 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26284 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26284 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26284 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26284 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26284 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26284 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26284 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26284 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26284 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26284 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26284 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26284 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26284 brk(0)                            =3D 0x20cf000
26284 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fc09b672000
26284 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fc09b671000
26284 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26284 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26284 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26284 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7fc09b657000=

26284 close(3)                          =3D 0
26284 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26284 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26284 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26284 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26284 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26284 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26284 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26284 close(3)                          =3D 0
26284 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fc09b656000
26284 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fc09b655000
26284 arch_prctl(ARCH_SET_FS, 0x7fc09b6556e0) =3D 0
26284 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26284 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26284 munmap(0x7fc09b657000, 103979)    =3D 0
26284 flock(200, LOCK_EX)               =3D 0
26284 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26284
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26285
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26285 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26285 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26285 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26285 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26285 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26285 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26285 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26285 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26285 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26285 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26285 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26285 dup2(4, 1)                        =3D 1
26285 close(4)                          =3D 0
26285 close(3)                          =3D 0
26285 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26285 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26285 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26285 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26285 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26285 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26285 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26285 access("/usr/bin/perl", X_OK)     =3D 0
26285 access("/usr/bin/perl", R_OK)     =3D 0
26285 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26285 access("/usr/bin/perl", X_OK)     =3D 0
26285 access("/usr/bin/perl", R_OK)     =3D 0
26285 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26285 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26285 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26285 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26285 brk(0)                            =3D 0x2572000
26285 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f07e80ef000
26285 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f07e80ee000
26285 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26285 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26285 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fffd33be470) =3D -1 ENOENT (No such file or directory)
26285 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26285 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fffd33be470) =3D -1 ENOENT (No such file or directory)
26285 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26285 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fffd33be470) =3D -1 ENOENT (No such file or directory)
26285 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26285 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
fd33be470) =3D -1 ENOENT (No such file or directory)
26285 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26285 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26285 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f07e80d4000=

26285 close(3)                          =3D 0
26285 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26285 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26285 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26285 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26285 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26285 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26285 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26285 close(3)                          =3D 0
26285 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26285 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26285 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26285 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f07e80d3000
26285 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26285 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26285 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26285 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26285 close(3)                          =3D 0
26285 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26285 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26285 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26285 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26285 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26285 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26285 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26285 close(3)                          =3D 0
26285 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26285 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26285 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26285 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26285 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26285 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26285 close(3)                          =3D 0
26285 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26285 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26285 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26285 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f07e80d2000
26285 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26285 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26285 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26285 close(3)                          =3D 0
26285 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26285 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26285 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26285 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26285 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26285 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26285 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26285 close(3)                          =3D 0
26285 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26285 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26285 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26285 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26285 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26285 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26285 close(3)                          =3D 0
26285 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26285 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26285 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26285 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f07e80d1000
26285 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26285 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26285 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26285 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26285 close(3)                          =3D 0
26285 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26285 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26285 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26285 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26285 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26285 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26285 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26285 close(3)                          =3D 0
26285 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f07e80d0000
26285 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f07e80cf000
26285 arch_prctl(ARCH_SET_FS, 0x7f07e80cf6e0) =3D 0
26285 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26285 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26285 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26285 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26285 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26285 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26285 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26285 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26285 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26285 munmap(0x7f07e80d4000, 103979)    =3D 0
26285 set_tid_address(0x7f07e80cf770)   =3D 26285
26285 set_robust_list(0x7f07e80cf780, 0x18) =3D 0
26285 futex(0x7fffd33bef9c, FUTEX_WAKE_PRIVATE, 1) =3D 0
26285 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26285 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26285 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26285 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26285 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26285 brk(0)                            =3D 0x2572000
26285 brk(0x2594000)                    =3D 0x2594000
26285 getuid()                          =3D 0
26285 geteuid()                         =3D 0
26285 getgid()                          =3D 0
26285 getegid()                         =3D 0
26285 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7f07e80ae000
26285 open("/dev/urandom", O_RDONLY)    =3D 3
26285 read(3, "\246)iQ", 4)             =3D 4
26285 close(3)                          =3D 0
26285 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fffd33bec50) =3D -1 ENOENT (No such file or directory)
26285 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fffd33bec50) =3D -1 ENOEN=
T (No such file or directory)
26285 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fffd33bec50) =3D -1 ENOENT (No such file or directory)
26285 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fffd33bec50) =3D -1 ENOEN=
T (No such file or directory)
26285 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fffd33bec50) =3D -1 ENOENT (No such file or directory)
26285 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fffd33bec50) =3D -1 ENOEN=
T (No such file or directory)
26285 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fffd33bec50) =3D -1 ENOENT (No such file or directory)
26285 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fffd33bec50) =3D -1 ENO=
ENT (No such file or directory)
26285 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fffd33bec50) =3D -1 ENOENT (No such file or directory)
26285 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fffd33bec50) =3D -1 ENO=
ENT (No such file or directory)
26285 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fffd33bec50) =3D -1 ENOENT (No such file or directory)
26285 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fffd33bec50) =3D -1 ENO=
ENT (No such file or directory)
26285 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffd33bea10) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26285 lseek(0, 0, SEEK_CUR)             =3D 0
26285 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffd33bea10) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26285 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26285 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffd33bea20) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26285 lseek(2, 0, SEEK_CUR)             =3D 593659103
26285 open("/dev/null", O_RDONLY)       =3D 3
26285 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffd33beb20) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26285 lseek(3, 0, SEEK_CUR)             =3D 0
26285 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26285 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26285 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26285 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26285 brk(0x25b5000)                    =3D 0x25b5000
26285 close(3)                          =3D 0
26285 dup(200)                          =3D 3
26285 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffd33be9f0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26285 lseek(3, 0, SEEK_CUR)             =3D 0
26285 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26285 dup2(3, 0)                        =3D 0
26285 close(3)                          =3D 0
26285 fcntl(0, F_SETFD, 0)              =3D 0
26285 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26285 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26285 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26285
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26286
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26286 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26286 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26286 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26286 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26286 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26286 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26286 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26286 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26286 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26286 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26286 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26286 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26286 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26286 brk(0)                            =3D 0x1bb0000
26286 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fafdc01b000
26286 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fafdc01a000
26286 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26286 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26286 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26286 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7fafdc000000=

26286 close(3)                          =3D 0
26286 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26286 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26286 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26286 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26286 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26286 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26286 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26286 close(3)                          =3D 0
26286 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fafdbfff000
26286 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fafdbffe000
26286 arch_prctl(ARCH_SET_FS, 0x7fafdbffe6e0) =3D 0
26286 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26286 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26286 munmap(0x7fafdc000000, 103979)    =3D 0
26286 flock(200, LOCK_EX)               =3D 0
26286 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26286
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26287
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26287 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26287 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26287 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26287 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26287 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26287 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26287 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26287 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26287 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26287 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26287 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26287 dup2(4, 1)                        =3D 1
26287 close(4)                          =3D 0
26287 close(3)                          =3D 0
26287 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26287 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26287 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26287 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26287 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26287 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26287 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26287 access("/usr/bin/perl", X_OK)     =3D 0
26287 access("/usr/bin/perl", R_OK)     =3D 0
26287 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26287 access("/usr/bin/perl", X_OK)     =3D 0
26287 access("/usr/bin/perl", R_OK)     =3D 0
26287 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26287 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26287 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26287 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26287 brk(0)                            =3D 0x16fd000
26287 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2da8f22000
26287 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2da8f21000
26287 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26287 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26287 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fffb5e66d10) =3D -1 ENOENT (No such file or directory)
26287 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26287 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fffb5e66d10) =3D -1 ENOENT (No such file or directory)
26287 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26287 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fffb5e66d10) =3D -1 ENOENT (No such file or directory)
26287 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26287 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
fb5e66d10) =3D -1 ENOENT (No such file or directory)
26287 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26287 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26287 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f2da8f07000=

26287 close(3)                          =3D 0
26287 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26287 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26287 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26287 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26287 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26287 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26287 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26287 close(3)                          =3D 0
26287 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26287 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26287 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26287 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2da8f06000
26287 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26287 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26287 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26287 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26287 close(3)                          =3D 0
26287 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26287 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26287 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26287 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26287 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26287 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26287 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26287 close(3)                          =3D 0
26287 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26287 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26287 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26287 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26287 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26287 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26287 close(3)                          =3D 0
26287 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26287 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26287 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26287 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2da8f05000
26287 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26287 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26287 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26287 close(3)                          =3D 0
26287 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26287 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26287 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26287 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26287 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26287 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26287 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26287 close(3)                          =3D 0
26287 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26287 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26287 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26287 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26287 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26287 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26287 close(3)                          =3D 0
26287 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26287 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26287 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26287 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2da8f04000
26287 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26287 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26287 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26287 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26287 close(3)                          =3D 0
26287 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26287 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26287 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26287 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26287 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26287 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26287 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26287 close(3)                          =3D 0
26287 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2da8f03000
26287 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2da8f02000
26287 arch_prctl(ARCH_SET_FS, 0x7f2da8f026e0) =3D 0
26287 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26287 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26287 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26287 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26287 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26287 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26287 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26287 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26287 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26287 munmap(0x7f2da8f07000, 103979)    =3D 0
26287 set_tid_address(0x7f2da8f02770)   =3D 26287
26287 set_robust_list(0x7f2da8f02780, 0x18) =3D 0
26287 futex(0x7fffb5e6783c, FUTEX_WAKE_PRIVATE, 1) =3D 0
26287 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26287 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26287 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26287 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26287 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26287 brk(0)                            =3D 0x16fd000
26287 brk(0x171f000)                    =3D 0x171f000
26287 getuid()                          =3D 0
26287 geteuid()                         =3D 0
26287 getgid()                          =3D 0
26287 getegid()                         =3D 0
26287 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7f2da8ee1000
26287 open("/dev/urandom", O_RDONLY)    =3D 3
26287 read(3, "\37z\37{", 4)            =3D 4
26287 close(3)                          =3D 0
26287 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fffb5e674f0) =3D -1 ENOENT (No such file or directory)
26287 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fffb5e674f0) =3D -1 ENOEN=
T (No such file or directory)
26287 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fffb5e674f0) =3D -1 ENOENT (No such file or directory)
26287 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fffb5e674f0) =3D -1 ENOEN=
T (No such file or directory)
26287 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fffb5e674f0) =3D -1 ENOENT (No such file or directory)
26287 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fffb5e674f0) =3D -1 ENOEN=
T (No such file or directory)
26287 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fffb5e674f0) =3D -1 ENOENT (No such file or directory)
26287 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fffb5e674f0) =3D -1 ENO=
ENT (No such file or directory)
26287 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fffb5e674f0) =3D -1 ENOENT (No such file or directory)
26287 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fffb5e674f0) =3D -1 ENO=
ENT (No such file or directory)
26287 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fffb5e674f0) =3D -1 ENOENT (No such file or directory)
26287 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fffb5e674f0) =3D -1 ENO=
ENT (No such file or directory)
26287 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffb5e672b0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26287 lseek(0, 0, SEEK_CUR)             =3D 0
26287 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffb5e672b0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26287 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26287 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffb5e672c0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26287 lseek(2, 0, SEEK_CUR)             =3D 593659497
26287 open("/dev/null", O_RDONLY)       =3D 3
26287 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffb5e673c0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26287 lseek(3, 0, SEEK_CUR)             =3D 0
26287 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26287 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26287 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26287 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26287 brk(0x1740000)                    =3D 0x1740000
26287 close(3)                          =3D 0
26287 dup(200)                          =3D 3
26287 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffb5e67290) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26287 lseek(3, 0, SEEK_CUR)             =3D 0
26287 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26287 dup2(3, 0)                        =3D 0
26287 close(3)                          =3D 0
26287 fcntl(0, F_SETFD, 0)              =3D 0
26287 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26287 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26287 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26287
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26288
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26288 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26288 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
26288 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26288 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26288 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
26288 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26288 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26288 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 wait4(-1,  <unfinished ...>
26288 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26288 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26288 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26288 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26288 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26288 brk(0)                            =3D 0x22d3000
26288 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f6874a70000
26288 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f6874a6f000
26288 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26288 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26288 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26288 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f6874a55000=

26288 close(3)                          =3D 0
26288 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26288 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26288 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26288 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26288 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26288 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26288 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26288 close(3)                          =3D 0
26288 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f6874a54000
26288 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f6874a53000
26288 arch_prctl(ARCH_SET_FS, 0x7f6874a536e0) =3D 0
26288 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26288 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26288 munmap(0x7f6874a55000, 103979)    =3D 0
26288 flock(200, LOCK_EX)               =3D 0
26288 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26288
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26289
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26289 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26289 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26289 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26289 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26289 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26289 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26289 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26289 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26289 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26289 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26289 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26289 dup2(4, 1)                        =3D 1
26289 close(4)                          =3D 0
26289 close(3)                          =3D 0
26289 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26289 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26289 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26289 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26289 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26289 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26289 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26289 access("/usr/bin/perl", X_OK)     =3D 0
26289 access("/usr/bin/perl", R_OK)     =3D 0
26289 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26289 access("/usr/bin/perl", X_OK)     =3D 0
26289 access("/usr/bin/perl", R_OK)     =3D 0
26289 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26289 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26289 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26289 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26289 brk(0)                            =3D 0xf52000
26289 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f8e69db2000
26289 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f8e69db1000
26289 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26289 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26289 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fffd8ac45f0) =3D -1 ENOENT (No such file or directory)
26289 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26289 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fffd8ac45f0) =3D -1 ENOENT (No such file or directory)
26289 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26289 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fffd8ac45f0) =3D -1 ENOENT (No such file or directory)
26289 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26289 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
fd8ac45f0) =3D -1 ENOENT (No such file or directory)
26289 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26289 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26289 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f8e69d97000=

26289 close(3)                          =3D 0
26289 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26289 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26289 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26289 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26289 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26289 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26289 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26289 close(3)                          =3D 0
26289 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26289 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26289 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26289 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f8e69d96000
26289 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26289 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26289 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26289 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26289 close(3)                          =3D 0
26289 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26289 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26289 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26289 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26289 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26289 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26289 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26289 close(3)                          =3D 0
26289 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26289 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26289 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26289 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26289 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26289 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26289 close(3)                          =3D 0
26289 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26289 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26289 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26289 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f8e69d95000
26289 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26289 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26289 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26289 close(3)                          =3D 0
26289 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26289 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26289 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26289 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26289 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26289 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26289 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26289 close(3)                          =3D 0
26289 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26289 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26289 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26289 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26289 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26289 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26289 close(3)                          =3D 0
26289 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26289 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26289 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26289 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f8e69d94000
26289 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26289 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26289 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26289 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26289 close(3)                          =3D 0
26289 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26289 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26289 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26289 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26289 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26289 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26289 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26289 close(3)                          =3D 0
26289 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f8e69d93000
26289 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f8e69d92000
26289 arch_prctl(ARCH_SET_FS, 0x7f8e69d926e0) =3D 0
26289 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26289 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26289 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26289 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26289 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26289 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26289 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26289 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26289 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26289 munmap(0x7f8e69d97000, 103979)    =3D 0
26289 set_tid_address(0x7f8e69d92770)   =3D 26289
26289 set_robust_list(0x7f8e69d92780, 0x18) =3D 0
26289 futex(0x7fffd8ac511c, FUTEX_WAKE_PRIVATE, 1) =3D 0
26289 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26289 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26289 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26289 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26289 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26289 brk(0)                            =3D 0xf52000
26289 brk(0xf74000)                     =3D 0xf74000
26289 getuid()                          =3D 0
26289 geteuid()                         =3D 0
26289 getgid()                          =3D 0
26289 getegid()                         =3D 0
26289 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7f8e69d71000
26289 open("/dev/urandom", O_RDONLY)    =3D 3
26289 read(3, "\340\re*", 4)            =3D 4
26289 close(3)                          =3D 0
26289 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fffd8ac4dd0) =3D -1 ENOENT (No such file or directory)
26289 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fffd8ac4dd0) =3D -1 ENOEN=
T (No such file or directory)
26289 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fffd8ac4dd0) =3D -1 ENOENT (No such file or directory)
26289 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fffd8ac4dd0) =3D -1 ENOEN=
T (No such file or directory)
26289 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fffd8ac4dd0) =3D -1 ENOENT (No such file or directory)
26289 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fffd8ac4dd0) =3D -1 ENOEN=
T (No such file or directory)
26289 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fffd8ac4dd0) =3D -1 ENOENT (No such file or directory)
26289 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fffd8ac4dd0) =3D -1 ENO=
ENT (No such file or directory)
26289 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fffd8ac4dd0) =3D -1 ENOENT (No such file or directory)
26289 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fffd8ac4dd0) =3D -1 ENO=
ENT (No such file or directory)
26289 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fffd8ac4dd0) =3D -1 ENOENT (No such file or directory)
26289 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fffd8ac4dd0) =3D -1 ENO=
ENT (No such file or directory)
26289 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffd8ac4b90) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26289 lseek(0, 0, SEEK_CUR)             =3D 0
26289 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffd8ac4b90) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26289 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26289 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffd8ac4ba0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26289 lseek(2, 0, SEEK_CUR)             =3D 593659891
26289 open("/dev/null", O_RDONLY)       =3D 3
26289 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffd8ac4ca0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26289 lseek(3, 0, SEEK_CUR)             =3D 0
26289 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26289 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26289 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26289 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26289 brk(0xf95000)                     =3D 0xf95000
26289 close(3)                          =3D 0
26289 dup(200)                          =3D 3
26289 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffd8ac4b70) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26289 lseek(3, 0, SEEK_CUR)             =3D 0
26289 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26289 dup2(3, 0)                        =3D 0
26289 close(3)                          =3D 0
26289 fcntl(0, F_SETFD, 0)              =3D 0
26289 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26289 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26289 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26289
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26290
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26290 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26290 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26290 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26290 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26290 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26290 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26290 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26290 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26290 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26290 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26290 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26290 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26290 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26290 brk(0)                            =3D 0x1672000
26290 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9f578cc000
26290 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9f578cb000
26290 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26290 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26290 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26290 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f9f578b1000=

26290 close(3)                          =3D 0
26290 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26290 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26290 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26290 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26290 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26290 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26290 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26290 close(3)                          =3D 0
26290 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9f578b0000
26290 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9f578af000
26290 arch_prctl(ARCH_SET_FS, 0x7f9f578af6e0) =3D 0
26290 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26290 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26290 munmap(0x7f9f578b1000, 103979)    =3D 0
26290 flock(200, LOCK_EX)               =3D 0
26290 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26290
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26291
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26291 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26291 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26291 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26291 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26291 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26291 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26291 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26291 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26291 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26291 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26291 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26291 dup2(4, 1)                        =3D 1
26291 close(4)                          =3D 0
26291 close(3)                          =3D 0
26291 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26291 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26291 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26291 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26291 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26291 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26291 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26291 access("/usr/bin/perl", X_OK)     =3D 0
26291 access("/usr/bin/perl", R_OK)     =3D 0
26291 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26291 access("/usr/bin/perl", X_OK)     =3D 0
26291 access("/usr/bin/perl", R_OK)     =3D 0
26291 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26291 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26291 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26291 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26291 brk(0)                            =3D 0x1cbc000
26291 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2692cc7000
26291 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2692cc6000
26291 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26291 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26291 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fffcf663710) =3D -1 ENOENT (No such file or directory)
26291 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26291 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fffcf663710) =3D -1 ENOENT (No such file or directory)
26291 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26291 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fffcf663710) =3D -1 ENOENT (No such file or directory)
26291 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26291 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
fcf663710) =3D -1 ENOENT (No such file or directory)
26291 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26291 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26291 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f2692cac000=

26291 close(3)                          =3D 0
26291 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26291 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26291 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26291 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26291 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26291 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26291 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26291 close(3)                          =3D 0
26291 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26291 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26291 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26291 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2692cab000
26291 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26291 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26291 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26291 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26291 close(3)                          =3D 0
26291 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26291 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26291 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26291 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26291 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26291 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26291 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26291 close(3)                          =3D 0
26291 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26291 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26291 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26291 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26291 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26291 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26291 close(3)                          =3D 0
26291 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26291 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26291 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26291 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2692caa000
26291 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26291 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26291 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26291 close(3)                          =3D 0
26291 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26291 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26291 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26291 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26291 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26291 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26291 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26291 close(3)                          =3D 0
26291 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26291 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26291 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26291 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26291 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26291 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26291 close(3)                          =3D 0
26291 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26291 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26291 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26291 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2692ca9000
26291 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26291 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26291 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26291 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26291 close(3)                          =3D 0
26291 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26291 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26291 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26291 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26291 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26291 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26291 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26291 close(3)                          =3D 0
26291 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2692ca8000
26291 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f2692ca7000
26291 arch_prctl(ARCH_SET_FS, 0x7f2692ca76e0) =3D 0
26291 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26291 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26291 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26291 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26291 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26291 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26291 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26291 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26291 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26291 munmap(0x7f2692cac000, 103979)    =3D 0
26291 set_tid_address(0x7f2692ca7770)   =3D 26291
26291 set_robust_list(0x7f2692ca7780, 0x18) =3D 0
26291 futex(0x7fffcf66423c, FUTEX_WAKE_PRIVATE, 1) =3D 0
26291 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26291 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26291 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26291 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26291 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26291 brk(0)                            =3D 0x1cbc000
26291 brk(0x1cde000)                    =3D 0x1cde000
26291 getuid()                          =3D 0
26291 geteuid()                         =3D 0
26291 getgid()                          =3D 0
26291 getegid()                         =3D 0
26291 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7f2692c86000
26291 open("/dev/urandom", O_RDONLY)    =3D 3
26291 read(3, "\317\226\355\210", 4)    =3D 4
26291 close(3)                          =3D 0
26291 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fffcf663ef0) =3D -1 ENOENT (No such file or directory)
26291 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fffcf663ef0) =3D -1 ENOEN=
T (No such file or directory)
26291 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fffcf663ef0) =3D -1 ENOENT (No such file or directory)
26291 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fffcf663ef0) =3D -1 ENOEN=
T (No such file or directory)
26291 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fffcf663ef0) =3D -1 ENOENT (No such file or directory)
26291 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fffcf663ef0) =3D -1 ENOEN=
T (No such file or directory)
26291 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fffcf663ef0) =3D -1 ENOENT (No such file or directory)
26291 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fffcf663ef0) =3D -1 ENO=
ENT (No such file or directory)
26291 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fffcf663ef0) =3D -1 ENOENT (No such file or directory)
26291 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fffcf663ef0) =3D -1 ENO=
ENT (No such file or directory)
26291 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fffcf663ef0) =3D -1 ENOENT (No such file or directory)
26291 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fffcf663ef0) =3D -1 ENO=
ENT (No such file or directory)
26291 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffcf663cb0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26291 lseek(0, 0, SEEK_CUR)             =3D 0
26291 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffcf663cb0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26291 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26291 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffcf663cc0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26291 lseek(2, 0, SEEK_CUR)             =3D 593660285
26291 open("/dev/null", O_RDONLY)       =3D 3
26291 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffcf663dc0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26291 lseek(3, 0, SEEK_CUR)             =3D 0
26291 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26291 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26291 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26291 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26291 brk(0x1cff000)                    =3D 0x1cff000
26291 close(3)                          =3D 0
26291 dup(200)                          =3D 3
26291 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffcf663c90) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26291 lseek(3, 0, SEEK_CUR)             =3D 0
26291 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26291 dup2(3, 0)                        =3D 0
26291 close(3)                          =3D 0
26291 fcntl(0, F_SETFD, 0)              =3D 0
26291 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26291 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26291 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26291
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26292
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26292 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26292 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26292 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26292 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26292 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26292 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26292 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26292 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26292 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26292 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26292 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26292 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26292 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26292 brk(0)                            =3D 0xba0000
26292 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f1f1f9ee000
26292 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f1f1f9ed000
26292 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26292 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26292 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26292 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f1f1f9d3000=

26292 close(3)                          =3D 0
26292 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26292 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26292 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26292 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26292 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26292 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26292 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26292 close(3)                          =3D 0
26292 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f1f1f9d2000
26292 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f1f1f9d1000
26292 arch_prctl(ARCH_SET_FS, 0x7f1f1f9d16e0) =3D 0
26292 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26292 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26292 munmap(0x7f1f1f9d3000, 103979)    =3D 0
26292 flock(200, LOCK_EX)               =3D 0
26292 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26292
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26293
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26293 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26293 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26293 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26293 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26293 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26293 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26293 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26293 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26293 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26293 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26293 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26293 dup2(4, 1)                        =3D 1
26293 close(4)                          =3D 0
26293 close(3)                          =3D 0
26293 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26293 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26293 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26293 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26293 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26293 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26293 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26293 access("/usr/bin/perl", X_OK)     =3D 0
26293 access("/usr/bin/perl", R_OK)     =3D 0
26293 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26293 access("/usr/bin/perl", X_OK)     =3D 0
26293 access("/usr/bin/perl", R_OK)     =3D 0
26293 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26293 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26293 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26293 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26293 brk(0)                            =3D 0xef5000
26293 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f61c9c69000
26293 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f61c9c68000
26293 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26293 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26293 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fff9164f390) =3D -1 ENOENT (No such file or directory)
26293 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26293 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fff9164f390) =3D -1 ENOENT (No such file or directory)
26293 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26293 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fff9164f390) =3D -1 ENOENT (No such file or directory)
26293 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26293 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
f9164f390) =3D -1 ENOENT (No such file or directory)
26293 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26293 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26293 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f61c9c4e000=

26293 close(3)                          =3D 0
26293 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26293 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26293 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26293 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26293 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26293 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26293 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26293 close(3)                          =3D 0
26293 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26293 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26293 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26293 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f61c9c4d000
26293 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26293 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26293 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26293 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26293 close(3)                          =3D 0
26293 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26293 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26293 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26293 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26293 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26293 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26293 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26293 close(3)                          =3D 0
26293 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26293 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26293 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26293 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26293 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26293 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26293 close(3)                          =3D 0
26293 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26293 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26293 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26293 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f61c9c4c000
26293 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26293 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26293 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26293 close(3)                          =3D 0
26293 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26293 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26293 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26293 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26293 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26293 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26293 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26293 close(3)                          =3D 0
26293 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26293 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26293 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26293 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26293 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26293 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26293 close(3)                          =3D 0
26293 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26293 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26293 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26293 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f61c9c4b000
26293 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26293 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26293 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26293 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26293 close(3)                          =3D 0
26293 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26293 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26293 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26293 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26293 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26293 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26293 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26293 close(3)                          =3D 0
26293 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f61c9c4a000
26293 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f61c9c49000
26293 arch_prctl(ARCH_SET_FS, 0x7f61c9c496e0) =3D 0
26293 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26293 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26293 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26293 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26293 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26293 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26293 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26293 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26293 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26293 munmap(0x7f61c9c4e000, 103979)    =3D 0
26293 set_tid_address(0x7f61c9c49770)   =3D 26293
26293 set_robust_list(0x7f61c9c49780, 0x18) =3D 0
26293 futex(0x7fff9164febc, FUTEX_WAKE_PRIVATE, 1) =3D 0
26293 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26293 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26293 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26293 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26293 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26293 brk(0)                            =3D 0xef5000
26293 brk(0xf17000)                     =3D 0xf17000
26293 getuid()                          =3D 0
26293 geteuid()                         =3D 0
26293 getgid()                          =3D 0
26293 getegid()                         =3D 0
26293 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7f61c9c28000
26293 open("/dev/urandom", O_RDONLY)    =3D 3
26293 read(3, "\2753\222B", 4)          =3D 4
26293 close(3)                          =3D 0
26293 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fff9164fb70) =3D -1 ENOENT (No such file or directory)
26293 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fff9164fb70) =3D -1 ENOEN=
T (No such file or directory)
26293 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fff9164fb70) =3D -1 ENOENT (No such file or directory)
26293 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fff9164fb70) =3D -1 ENOEN=
T (No such file or directory)
26293 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fff9164fb70) =3D -1 ENOENT (No such file or directory)
26293 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fff9164fb70) =3D -1 ENOEN=
T (No such file or directory)
26293 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fff9164fb70) =3D -1 ENOENT (No such file or directory)
26293 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fff9164fb70) =3D -1 ENO=
ENT (No such file or directory)
26293 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fff9164fb70) =3D -1 ENOENT (No such file or directory)
26293 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fff9164fb70) =3D -1 ENO=
ENT (No such file or directory)
26293 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fff9164fb70) =3D -1 ENOENT (No such file or directory)
26293 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fff9164fb70) =3D -1 ENO=
ENT (No such file or directory)
26293 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff9164f930) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26293 lseek(0, 0, SEEK_CUR)             =3D 0
26293 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff9164f930) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26293 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26293 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff9164f940) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26293 lseek(2, 0, SEEK_CUR)             =3D 593660679
26293 open("/dev/null", O_RDONLY)       =3D 3
26293 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff9164fa40) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26293 lseek(3, 0, SEEK_CUR)             =3D 0
26293 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26293 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26293 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26293 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26293 brk(0xf38000)                     =3D 0xf38000
26293 close(3)                          =3D 0
26293 dup(200)                          =3D 3
26293 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff9164f910) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26293 lseek(3, 0, SEEK_CUR)             =3D 0
26293 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26293 dup2(3, 0)                        =3D 0
26293 close(3)                          =3D 0
26293 fcntl(0, F_SETFD, 0)              =3D 0
26293 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26293 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26293 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26293
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26294
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26294 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26294 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26294 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26294 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26294 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26294 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26294 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26294 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26294 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26294 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26294 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26294 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26294 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26294 brk(0)                            =3D 0x1445000
26294 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9db81e1000
26294 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9db81e0000
26294 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26294 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26294 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26294 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f9db81c6000=

26294 close(3)                          =3D 0
26294 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26294 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26294 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26294 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26294 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26294 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26294 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26294 close(3)                          =3D 0
26294 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9db81c5000
26294 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f9db81c4000
26294 arch_prctl(ARCH_SET_FS, 0x7f9db81c46e0) =3D 0
26294 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26294 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26294 munmap(0x7f9db81c6000, 103979)    =3D 0
26294 flock(200, LOCK_EX)               =3D 0
26294 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26294
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26295
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26295 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26295 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26295 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26295 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26295 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26295 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26295 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26295 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26295 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26295 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26295 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26295 dup2(4, 1)                        =3D 1
26295 close(4)                          =3D 0
26295 close(3)                          =3D 0
26295 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26295 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26295 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26295 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26295 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26295 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26295 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26295 access("/usr/bin/perl", X_OK)     =3D 0
26295 access("/usr/bin/perl", R_OK)     =3D 0
26295 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26295 access("/usr/bin/perl", X_OK)     =3D 0
26295 access("/usr/bin/perl", R_OK)     =3D 0
26295 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26295 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26295 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26295 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26295 brk(0)                            =3D 0x2269000
26295 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f364e6f9000
26295 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f364e6f8000
26295 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26295 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26295 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fff40215ad0) =3D -1 ENOENT (No such file or directory)
26295 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26295 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fff40215ad0) =3D -1 ENOENT (No such file or directory)
26295 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26295 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fff40215ad0) =3D -1 ENOENT (No such file or directory)
26295 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26295 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
f40215ad0) =3D -1 ENOENT (No such file or directory)
26295 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26295 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26295 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f364e6de000=

26295 close(3)                          =3D 0
26295 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26295 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26295 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26295 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26295 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26295 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26295 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26295 close(3)                          =3D 0
26295 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26295 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26295 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26295 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f364e6dd000
26295 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26295 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26295 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26295 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26295 close(3)                          =3D 0
26295 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26295 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26295 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26295 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26295 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26295 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26295 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26295 close(3)                          =3D 0
26295 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26295 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26295 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26295 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26295 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26295 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26295 close(3)                          =3D 0
26295 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26295 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26295 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26295 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f364e6dc000
26295 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26295 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26295 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26295 close(3)                          =3D 0
26295 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26295 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26295 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26295 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26295 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26295 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26295 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26295 close(3)                          =3D 0
26295 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26295 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26295 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26295 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26295 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26295 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26295 close(3)                          =3D 0
26295 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26295 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26295 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26295 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f364e6db000
26295 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26295 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26295 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26295 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26295 close(3)                          =3D 0
26295 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26295 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26295 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26295 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26295 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26295 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26295 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26295 close(3)                          =3D 0
26295 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f364e6da000
26295 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f364e6d9000
26295 arch_prctl(ARCH_SET_FS, 0x7f364e6d96e0) =3D 0
26295 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26295 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26295 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26295 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26295 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26295 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26295 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26295 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26295 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26295 munmap(0x7f364e6de000, 103979)    =3D 0
26295 set_tid_address(0x7f364e6d9770)   =3D 26295
26295 set_robust_list(0x7f364e6d9780, 0x18) =3D 0
26295 futex(0x7fff402165fc, FUTEX_WAKE_PRIVATE, 1) =3D 0
26295 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26295 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26295 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26295 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26295 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26295 brk(0)                            =3D 0x2269000
26295 brk(0x228b000)                    =3D 0x228b000
26295 getuid()                          =3D 0
26295 geteuid()                         =3D 0
26295 getgid()                          =3D 0
26295 getegid()                         =3D 0
26295 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7f364e6b8000
26295 open("/dev/urandom", O_RDONLY)    =3D 3
26295 read(3, "\361\r9\204", 4)         =3D 4
26295 close(3)                          =3D 0
26295 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fff402162b0) =3D -1 ENOENT (No such file or directory)
26295 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fff402162b0) =3D -1 ENOEN=
T (No such file or directory)
26295 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fff402162b0) =3D -1 ENOENT (No such file or directory)
26295 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fff402162b0) =3D -1 ENOEN=
T (No such file or directory)
26295 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fff402162b0) =3D -1 ENOENT (No such file or directory)
26295 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fff402162b0) =3D -1 ENOEN=
T (No such file or directory)
26295 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fff402162b0) =3D -1 ENOENT (No such file or directory)
26295 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fff402162b0) =3D -1 ENO=
ENT (No such file or directory)
26295 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fff402162b0) =3D -1 ENOENT (No such file or directory)
26295 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fff402162b0) =3D -1 ENO=
ENT (No such file or directory)
26295 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fff402162b0) =3D -1 ENOENT (No such file or directory)
26295 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fff402162b0) =3D -1 ENO=
ENT (No such file or directory)
26295 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff40216070) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26295 lseek(0, 0, SEEK_CUR)             =3D 0
26295 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff40216070) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26295 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26295 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff40216080) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26295 lseek(2, 0, SEEK_CUR)             =3D 593661073
26295 open("/dev/null", O_RDONLY)       =3D 3
26295 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff40216180) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26295 lseek(3, 0, SEEK_CUR)             =3D 0
26295 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26295 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26295 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26295 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26295 brk(0x22ac000)                    =3D 0x22ac000
26295 close(3)                          =3D 0
26295 dup(200)                          =3D 3
26295 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff40216050) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26295 lseek(3, 0, SEEK_CUR)             =3D 0
26295 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26295 dup2(3, 0)                        =3D 0
26295 close(3)                          =3D 0
26295 fcntl(0, F_SETFD, 0)              =3D 0
26295 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26295 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26295 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26295
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26296
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26296 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26296 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26296 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26296 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26296 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26296 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26296 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26296 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26296 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26296 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26296 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26296 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26296 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26296 brk(0)                            =3D 0x7fd000
26296 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fab26b69000
26296 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fab26b68000
26296 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26296 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26296 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26296 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7fab26b4e000=

26296 close(3)                          =3D 0
26296 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26296 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26296 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26296 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26296 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26296 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26296 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26296 close(3)                          =3D 0
26296 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fab26b4d000
26296 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fab26b4c000
26296 arch_prctl(ARCH_SET_FS, 0x7fab26b4c6e0) =3D 0
26296 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26296 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26296 munmap(0x7fab26b4e000, 103979)    =3D 0
26296 flock(200, LOCK_EX)               =3D 0
26296 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26296
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26297
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26297 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26297 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26297 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26297 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26297 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26297 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26297 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26297 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26297 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26297 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26297 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26297 dup2(4, 1)                        =3D 1
26297 close(4)                          =3D 0
26297 close(3)                          =3D 0
26297 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26297 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26297 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26297 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26297 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26297 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26297 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26297 access("/usr/bin/perl", X_OK)     =3D 0
26297 access("/usr/bin/perl", R_OK)     =3D 0
26297 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26297 access("/usr/bin/perl", X_OK)     =3D 0
26297 access("/usr/bin/perl", R_OK)     =3D 0
26297 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26297 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26297 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26297 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26297 brk(0)                            =3D 0x23d6000
26297 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fad691c1000
26297 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fad691c0000
26297 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26297 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26297 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fff8c5a4d10) =3D -1 ENOENT (No such file or directory)
26297 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26297 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fff8c5a4d10) =3D -1 ENOENT (No such file or directory)
26297 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26297 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fff8c5a4d10) =3D -1 ENOENT (No such file or directory)
26297 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26297 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
f8c5a4d10) =3D -1 ENOENT (No such file or directory)
26297 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26297 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26297 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7fad691a6000=

26297 close(3)                          =3D 0
26297 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26297 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26297 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26297 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26297 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26297 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26297 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26297 close(3)                          =3D 0
26297 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26297 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26297 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26297 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fad691a5000
26297 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26297 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26297 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26297 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26297 close(3)                          =3D 0
26297 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26297 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26297 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26297 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26297 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26297 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26297 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26297 close(3)                          =3D 0
26297 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26297 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26297 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26297 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26297 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26297 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26297 close(3)                          =3D 0
26297 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26297 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26297 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26297 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fad691a4000
26297 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26297 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26297 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26297 close(3)                          =3D 0
26297 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26297 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26297 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26297 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26297 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26297 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26297 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26297 close(3)                          =3D 0
26297 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26297 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26297 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26297 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26297 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26297 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26297 close(3)                          =3D 0
26297 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26297 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26297 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26297 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fad691a3000
26297 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26297 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26297 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26297 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26297 close(3)                          =3D 0
26297 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26297 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26297 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26297 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26297 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26297 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26297 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26297 close(3)                          =3D 0
26297 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fad691a2000
26297 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fad691a1000
26297 arch_prctl(ARCH_SET_FS, 0x7fad691a16e0) =3D 0
26297 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26297 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26297 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26297 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26297 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26297 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26297 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26297 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26297 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26297 munmap(0x7fad691a6000, 103979)    =3D 0
26297 set_tid_address(0x7fad691a1770)   =3D 26297
26297 set_robust_list(0x7fad691a1780, 0x18) =3D 0
26297 futex(0x7fff8c5a583c, FUTEX_WAKE_PRIVATE, 1) =3D 0
26297 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26297 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26297 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26297 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26297 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26297 brk(0)                            =3D 0x23d6000
26297 brk(0x23f8000)                    =3D 0x23f8000
26297 getuid()                          =3D 0
26297 geteuid()                         =3D 0
26297 getgid()                          =3D 0
26297 getegid()                         =3D 0
26297 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7fad69180000
26297 open("/dev/urandom", O_RDONLY)    =3D 3
26297 read(3, "*\214J\323", 4)          =3D 4
26297 close(3)                          =3D 0
26297 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fff8c5a54f0) =3D -1 ENOENT (No such file or directory)
26297 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fff8c5a54f0) =3D -1 ENOEN=
T (No such file or directory)
26297 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fff8c5a54f0) =3D -1 ENOENT (No such file or directory)
26297 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fff8c5a54f0) =3D -1 ENOEN=
T (No such file or directory)
26297 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fff8c5a54f0) =3D -1 ENOENT (No such file or directory)
26297 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fff8c5a54f0) =3D -1 ENOEN=
T (No such file or directory)
26297 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fff8c5a54f0) =3D -1 ENOENT (No such file or directory)
26297 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fff8c5a54f0) =3D -1 ENO=
ENT (No such file or directory)
26297 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fff8c5a54f0) =3D -1 ENOENT (No such file or directory)
26297 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fff8c5a54f0) =3D -1 ENO=
ENT (No such file or directory)
26297 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fff8c5a54f0) =3D -1 ENOENT (No such file or directory)
26297 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fff8c5a54f0) =3D -1 ENO=
ENT (No such file or directory)
26297 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff8c5a52b0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26297 lseek(0, 0, SEEK_CUR)             =3D 0
26297 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff8c5a52b0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26297 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26297 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff8c5a52c0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26297 lseek(2, 0, SEEK_CUR)             =3D 593661467
26297 open("/dev/null", O_RDONLY)       =3D 3
26297 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff8c5a53c0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26297 lseek(3, 0, SEEK_CUR)             =3D 0
26297 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26297 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26297 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26297 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26297 brk(0x2419000)                    =3D 0x2419000
26297 close(3)                          =3D 0
26297 dup(200)                          =3D 3
26297 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff8c5a5290) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26297 lseek(3, 0, SEEK_CUR)             =3D 0
26297 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26297 dup2(3, 0)                        =3D 0
26297 close(3)                          =3D 0
26297 fcntl(0, F_SETFD, 0)              =3D 0
26297 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26297 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26297 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26297
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26298
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26298 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26298 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26298 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
26298 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
26298 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26298 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26298 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 wait4(-1,  <unfinished ...>
26298 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
26298 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26298 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26298 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26298 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26298 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26298 brk(0)                            =3D 0x631000
26298 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5c60887000
26298 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5c60886000
26298 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26298 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26298 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26298 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f5c6086c000=

26298 close(3)                          =3D 0
26298 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26298 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26298 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26298 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26298 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26298 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26298 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26298 close(3)                          =3D 0
26298 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5c6086b000
26298 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5c6086a000
26298 arch_prctl(ARCH_SET_FS, 0x7f5c6086a6e0) =3D 0
26298 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26298 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26298 munmap(0x7f5c6086c000, 103979)    =3D 0
26298 flock(200, LOCK_EX)               =3D 0
26298 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26298
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26299
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26299 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26299 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26299 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26299 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26299 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26299 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26299 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26299 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26299 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26299 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26299 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26299 dup2(4, 1)                        =3D 1
26299 close(4)                          =3D 0
26299 close(3)                          =3D 0
26299 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26299 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26299 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26299 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26299 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26299 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26299 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26299 access("/usr/bin/perl", X_OK)     =3D 0
26299 access("/usr/bin/perl", R_OK)     =3D 0
26299 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26299 access("/usr/bin/perl", X_OK)     =3D 0
26299 access("/usr/bin/perl", R_OK)     =3D 0
26299 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26299 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26299 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26299 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26299 brk(0)                            =3D 0x1993000
26299 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fed82c4e000
26299 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fed82c4d000
26299 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26299 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26299 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fff439ada50) =3D -1 ENOENT (No such file or directory)
26299 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26299 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fff439ada50) =3D -1 ENOENT (No such file or directory)
26299 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26299 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fff439ada50) =3D -1 ENOENT (No such file or directory)
26299 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26299 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
f439ada50) =3D -1 ENOENT (No such file or directory)
26299 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26299 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26299 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7fed82c33000=

26299 close(3)                          =3D 0
26299 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26299 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26299 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26299 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26299 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26299 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26299 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26299 close(3)                          =3D 0
26299 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26299 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26299 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26299 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fed82c32000
26299 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26299 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26299 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26299 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26299 close(3)                          =3D 0
26299 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26299 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26299 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26299 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26299 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26299 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26299 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26299 close(3)                          =3D 0
26299 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26299 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26299 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26299 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26299 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26299 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26299 close(3)                          =3D 0
26299 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26299 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26299 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26299 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fed82c31000
26299 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26299 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26299 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26299 close(3)                          =3D 0
26299 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26299 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26299 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26299 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26299 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26299 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26299 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26299 close(3)                          =3D 0
26299 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26299 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832
26299 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147063, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D40, st_size=3D18152, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2010=
/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:49}) =3D 0
26299 mmap(0x3428000000, 2105616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3428000000
26299 mprotect(0x3428002000, 2093056, PROT_NONE) =3D 0
26299 mmap(0x3428201000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x1000) =3D 0x3428201000
26299 close(3)                          =3D 0
26299 open("/lib64/libpthread.so.0", O_RDONLY) =3D 3
26299 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W\240\35=
00\0\0\0@\0\0\0\0\0\0\0\340/\2\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0'\0&\0\6\0=
\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3500\0\0\0@\0\240\3500\0\0\0\370\1\0\0=
\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\240\t\1\0\0\0=
\0\0\240\t\241\3500\0\0\0\240\t\241\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\=
0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3500\0\0=
\0\0\0\240\3500\0\0\0pZ\1\0\0\0\0\0pZ\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\=
6\0\0\0\270[\1\0\0\0\0\0\270[\301\3500\0\0\0\270[\301\3500\0\0\0\230\6\0\=
0\0\0\0\0\270G\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250]\1\0\0\0\0\=
0\250]\301\3500\0\0\0\250]\301\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0=
\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\240\3500\0\0\=
0008\2\240\3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345t=
d\4\0\0\0\274\t\1\0\0\0\0\0\274\t\241\3500\0\0\0\274\t\241\3500\0\0\0\344=
\t\0\0\0\0\0\0\344\t\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =
=3D 832
26299 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147328, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D296, st_size=3D145824, st_atime=3D2012/10/09-11:16:43, st_mtime=3D20=
10/07/28-03:52:41, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26299 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fed82c30000
26299 mmap(0x30e8a00000, 2204528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8a00000
26299 mprotect(0x30e8a16000, 2093056, PROT_NONE) =3D 0
26299 mmap(0x30e8c15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x15000) =3D 0x30e8c15000
26299 mmap(0x30e8c17000, 13168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8c17000
26299 close(3)                          =3D 0
26299 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26299 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26299 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26299 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26299 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26299 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26299 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26299 close(3)                          =3D 0
26299 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fed82c2f000
26299 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7fed82c2e000
26299 arch_prctl(ARCH_SET_FS, 0x7fed82c2e6e0) =3D 0
26299 mprotect(0x3427211000, 4096, PROT_READ) =3D 0
26299 mprotect(0x30ea014000, 4096, PROT_READ) =3D 0
26299 mprotect(0x30e8802000, 4096, PROT_READ) =3D 0
26299 mprotect(0x30e9c81000, 4096, PROT_READ) =3D 0
26299 mprotect(0x3425e08000, 4096, PROT_READ) =3D 0
26299 mprotect(0x3428201000, 4096, PROT_READ) =3D 0
26299 mprotect(0x30e8c15000, 4096, PROT_READ) =3D 0
26299 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26299 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26299 munmap(0x7fed82c33000, 103979)    =3D 0
26299 set_tid_address(0x7fed82c2e770)   =3D 26299
26299 set_robust_list(0x7fed82c2e780, 0x18) =3D 0
26299 futex(0x7fff439ae57c, FUTEX_WAKE_PRIVATE, 1) =3D 0
26299 rt_sigaction(SIGRTMIN, {0x30e8a05380, [], SA_RESTORER|SA_SIGINFO, 0=
x30e8a0eb10}, NULL, 8) =3D 0
26299 rt_sigaction(SIGRT_1, {0x30e8a052b0, [], SA_RESTORER|SA_RESTART|SA_=
SIGINFO, 0x30e8a0eb10}, NULL, 8) =3D 0
26299 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) =3D 0
26299 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3DRLIM_INFI=
NITY}) =3D 0
26299 rt_sigaction(SIGFPE, {0x1, [FPE], SA_RESTORER|SA_RESTART, 0x30e8230=
2d0}, {SIG_DFL, [], 0}, 8) =3D 0
26299 brk(0)                            =3D 0x1993000
26299 brk(0x19b5000)                    =3D 0x19b5000
26299 getuid()                          =3D 0
26299 geteuid()                         =3D 0
26299 getgid()                          =3D 0
26299 getegid()                         =3D 0
26299 mmap(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,=
 -1, 0) =3D 0x7fed82c0d000
26299 open("/dev/urandom", O_RDONLY)    =3D 3
26299 read(3, "\371\n\f&", 4)           =3D 4
26299 close(3)                          =3D 0
26299 stat("/usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi", =
0x7fff439ae230) =3D -1 ENOENT (No such file or directory)
26299 stat("/usr/lib/perl5/site_perl/5.8.7", 0x7fff439ae230) =3D -1 ENOEN=
T (No such file or directory)
26299 stat("/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi", =
0x7fff439ae230) =3D -1 ENOENT (No such file or directory)
26299 stat("/usr/lib/perl5/site_perl/5.8.6", 0x7fff439ae230) =3D -1 ENOEN=
T (No such file or directory)
26299 stat("/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi", =
0x7fff439ae230) =3D -1 ENOENT (No such file or directory)
26299 stat("/usr/lib/perl5/site_perl/5.8.5", 0x7fff439ae230) =3D -1 ENOEN=
T (No such file or directory)
26299 stat("/usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi"=
, 0x7fff439ae230) =3D -1 ENOENT (No such file or directory)
26299 stat("/usr/lib/perl5/vendor_perl/5.8.7", 0x7fff439ae230) =3D -1 ENO=
ENT (No such file or directory)
26299 stat("/usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi"=
, 0x7fff439ae230) =3D -1 ENOENT (No such file or directory)
26299 stat("/usr/lib/perl5/vendor_perl/5.8.6", 0x7fff439ae230) =3D -1 ENO=
ENT (No such file or directory)
26299 stat("/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi"=
, 0x7fff439ae230) =3D -1 ENOENT (No such file or directory)
26299 stat("/usr/lib/perl5/vendor_perl/5.8.5", 0x7fff439ae230) =3D -1 ENO=
ENT (No such file or directory)
26299 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff439adff0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26299 lseek(0, 0, SEEK_CUR)             =3D 0
26299 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff439adff0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26299 lseek(1, 0, SEEK_CUR)             =3D -1 ESPIPE (Illegal seek)
26299 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff439ae000) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26299 lseek(2, 0, SEEK_CUR)             =3D 593661861
26299 open("/dev/null", O_RDONLY)       =3D 3
26299 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff439ae100) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26299 lseek(3, 0, SEEK_CUR)             =3D 0
26299 fcntl(3, F_SETFD, FD_CLOEXEC)     =3D 0
26299 fstat(3, {st_dev=3Dmakedev(0, 16), st_ino=3D584, st_mode=3DS_IFCHR|=
0666, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
0, st_rdev=3Dmakedev(1, 3), st_atime=3D2012/10/08-11:13:26, st_mtime=3D20=
12/10/08-11:13:26, st_ctime=3D2012/10/08-11:13:27}) =3D 0
26299 rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) =3D 0
26299 readlink("/proc/self/exe", "/usr/bin/perl"..., 4095) =3D 13
26299 brk(0x19d6000)                    =3D 0x19d6000
26299 close(3)                          =3D 0
26299 dup(200)                          =3D 3
26299 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff439adfd0) =3D -1 ENOT=
TY (Inappropriate ioctl for device)
26299 lseek(3, 0, SEEK_CUR)             =3D 0
26299 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26299 dup2(3, 0)                        =3D 0
26299 close(3)                          =3D 0
26299 fcntl(0, F_SETFD, 0)              =3D 0
26299 fstat(0, {st_dev=3Dmakedev(8, 2), st_ino=3D2801701, st_mode=3DS_IFR=
EG|0644, st_nlink=3D0, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:24, st_mtime=3D2012/10/0=
9-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D 0
26299 stat("/var/run/xen-hotplug/block", {st_dev=3Dmakedev(8, 2), st_ino=3D=
2801738, st_mode=3DS_IFREG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st=
_blksize=3D4096, st_blocks=3D0, st_size=3D0, st_atime=3D2012/10/09-16:25:=
24, st_mtime=3D2012/10/09-16:25:24, st_ctime=3D2012/10/09-16:25:24}) =3D =
0
26299 exit_group(0)                     =3D ?
27813 <... read resumed> "", 128)       =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], WNOHANG, NUL=
L) =3D 26299
27813 wait4(-1, 0x7fffb0100a64, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0)                   =3D 0
27813 close(3)                          =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 write(2, "+ rightfile=3D\n", 13)    =3D 13
27813 write(2, "+ '[' x =3D xy ']'\n", 17) =3D 17
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ true\n", 7)           =3D 7
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 write(2, "+ eval 'exec 200>>/var/run/xen-hotplug/block'\n", 46) =3D=
 46
27813 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
27813 write(2, "++ exec\n", 8)          =3D 8
27813 open("/var/run/xen-hotplug/block", O_WRONLY|O_CREAT|O_APPEND, 0666)=
 =3D 3
27813 fcntl(200, F_GETFD)               =3D 0
27813 fcntl(200, F_DUPFD, 10)           =3D 10
27813 fcntl(200, F_GETFD)               =3D 0
27813 dup2(3, 200)                      =3D 200
27813 close(3)                          =3D 0
27813 dup2(10, 200)                     =3D 200
27813 fcntl(10, F_GETFD)                =3D 0
27813 close(10)                         =3D 0
27813 write(2, "+ flock -x 200\n", 15)  =3D 15
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [INT CHLD], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26300
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26300 close(255 <unfinished ...>
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26300 <... close resumed> )             =3D 0
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
26300 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
27813 rt_sigprocmask(SIG_SETMASK, [],  <unfinished ...>
26300 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 <... rt_sigprocmask resumed> NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD],  <unfinished ...>
26300 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 <... rt_sigprocmask resumed> [], 8) =3D 0
26300 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 rt_sigaction(SIGINT, {0x436c60, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
26300 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0},  <u=
nfinished ...>
27813 <... rt_sigaction resumed> {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}=
, 8) =3D 0
26300 <... rt_sigaction resumed> {SIG_DFL, [], 0}, 8) =3D 0
27813 wait4(-1,  <unfinished ...>
26300 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26300 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26300 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26300 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26300 execve("/usr/bin/flock", ["flock", "-x", "200"], ["SUBSYSTEM=3Dxen-=
backend", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D=
/usr/bin:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:=
/usr/sbin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dx=
en-backend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3D=
backend/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "S=
HLVL=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/flock"]) =3D 0=

26300 brk(0)                            =3D 0x1e53000
26300 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5293893000
26300 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5293892000
26300 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26300 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26300 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26300 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f5293878000=

26300 close(3)                          =3D 0
26300 open("/lib64/libc.so.6", O_RDONLY) =3D 3
26300 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\35=
00\0\0\0@\0\0\0\0\0\0\0\350\"\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@\0M\0L\0\6=
\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0 \3500\0\0\0@\0 \3500\0\0\0000\2\0\0\0\0\=
0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0`9\22\0\0\0\0\0`92\3=
500\0\0\0`92\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\=
0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \3500\0\0\0\0\0 \3500\0\0\0h\320\24=
\0\0\0\0\0h\320\24\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0h\327\24\0\0\0=
\0\0h\327T\3500\0\0\0h\327T\3500\0\0\0000F\0\0\0\0\0\0\360\211\0\0\0\0\0\=
0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0`\v\25\0\0\0\0\0`\vU\3500\0\0\0`\vU\3500\=
0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\=
0p\2\0\0\0\0\0\0p\2 \3500\0\0\0p\2 \3500\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0h\327\24\0\0\0\0\0h\327T\3500\0\0\0h\3=
27T\3500\0\0\0\20\0\0\0\0\0\0\0`\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\=
0\0\0|9\22\0\0\0\0\0|92\3500\0\0\0|92\3500\0\0\0D_\0\0\0\0\0\0D_\0\0"...,=
 832) =3D 832
26300 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147321, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D3368, st_size=3D1717800, st_atime=3D2012/10/09-11:13:54, st_mtime=3D=
2010/07/28-03:52:39, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26300 mmap(0x30e8200000, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8200000
26300 mprotect(0x30e834e000, 2093056, PROT_NONE) =3D 0
26300 mmap(0x30e854d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x14d000) =3D 0x30e854d000
26300 mmap(0x30e8552000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_ANONYMOUS, -1, 0) =3D 0x30e8552000
26300 close(3)                          =3D 0
26300 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5293877000
26300 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f5293876000
26300 arch_prctl(ARCH_SET_FS, 0x7f52938766e0) =3D 0
26300 mprotect(0x30e854d000, 16384, PROT_READ) =3D 0
26300 mprotect(0x30e7c1b000, 4096, PROT_READ) =3D 0
26300 munmap(0x7f5293878000, 103979)    =3D 0
26300 flock(200, LOCK_EX)               =3D 0
26300 exit_group(0)                     =3D ?
27813 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0,=
 NULL) =3D 26300
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 --- SIGCHLD (Child exited) @ 0 (0) ---
27813 wait4(-1, 0x7fffb0100a24, WNOHANG, NULL) =3D -1 ECHILD (No child pr=
ocesses)
27813 rt_sigreturn(0xffffffffffffffff)  =3D 0
27813 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
36c60, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
27813 pipe([3, 4])                      =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) =3D 0
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) =3D 0
27813 clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SET=
TID|SIGCHLD, child_tidptr=3D0x7f88becfb770) =3D 26301
27813 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
27813 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {0=
x436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26301 close(255 <unfinished ...>
27813 close(4 <unfinished ...>
26301 <... close resumed> )             =3D 0
27813 <... close resumed> )             =3D 0
27813 read(3,  <unfinished ...>
26301 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0
26301 rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26301 rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26301 rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], 0}, 8) =3D 0
26301 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SIG=
_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26301 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
1, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26301 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26301 rt_sigaction(SIGCHLD, {0x436080, [], SA_RESTORER, 0x30e82302d0}, {S=
IG_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26301 rt_sigaction(SIGINT, {0x4481f0, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26301 dup2(4, 1)                        =3D 1
26301 close(4)                          =3D 0
26301 close(3)                          =3D 0
26301 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26301 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26301 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) =3D 0
26301 write(2, "++ perl -e '\n            open STDIN, \"<&200\" or die $!=
;\n            my $fd_inum =3D (stat STDIN)[1]; die $! unless defined $fd=
_inum;\n            my $file_inum =3D (stat $ARGV[0])[1];\n            pr=
int \"y\\n\" if $fd_inum eq $file_inum;\n", 230) =3D 230
26301 write(2, "                             ' /var/run/xen-hotplug/block=
\n", 58) =3D 58
26301 stat(".", {st_dev=3Dmakedev(8, 2), st_ino=3D2, st_mode=3DS_IFDIR|07=
55, st_nlink=3D24, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_blocks=3D=
8, st_size=3D4096, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2012/10/08-=
11:13:38, st_ctime=3D2012/10/08-11:13:38}) =3D 0
26301 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26301 access("/usr/bin/perl", X_OK)     =3D 0
26301 access("/usr/bin/perl", R_OK)     =3D 0
26301 stat("/usr/bin/perl", {st_dev=3Dmakedev(8, 2), st_ino=3D2841664, st=
_mode=3DS_IFREG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D=
4096, st_blocks=3D40, st_size=3D19208, st_atime=3D2012/10/09-16:16:51, st=
_mtime=3D2012/09/11-12:33:19, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26301 access("/usr/bin/perl", X_OK)     =3D 0
26301 access("/usr/bin/perl", R_OK)     =3D 0
26301 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x4=
481f0, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26301 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {SI=
G_DFL, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26301 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER, 0x30e82302d0}, {0x=
436080, [], SA_RESTORER, 0x30e82302d0}, 8) =3D 0
26301 execve("/usr/bin/perl", ["perl", "-e", "\n            open STDIN, \=
"<&200\" or die $!;\n            my $fd_inum =3D (stat STDIN)[1]; die $! =
unless defined $fd_inum;\n            my $file_inum =3D (stat $ARGV[0])[1=
];\n            print \"y\\n\" if $fd_inum eq $file_inum;\n              =
               ", "/var/run/xen-hotplug/block"], ["SUBSYSTEM=3Dxen-backen=
d", "XENBUS_TYPE=3Dvbd", "DEVPATH=3D/devices/vbd-2-51712", "PATH=3D/usr/b=
in:/usr/sbin:/usr/lib/xen/bin:/usr/lib/xen/bin:/sbin:/bin:/usr/bin:/usr/s=
bin:/usr/local/bin:/bin:/usr/bin", "ACTION=3Dremove", "MODALIAS=3Dxen-bac=
kend:vbd", "PWD=3D/", "UDEV_LOG=3D3", "LANG=3DPOSIX", "XENBUS_PATH=3Dback=
end/vbd/2/51712", "UDEVD_EVENT=3D1", "XENBUS_BASE_PATH=3Dbackend", "SHLVL=
=3D1", "UDEV_CALL=3D1", "SEQNUM=3D1423", "_=3D/usr/bin/perl"]) =3D 0
26301 brk(0)                            =3D 0x1c9b000
26301 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f022f061000
26301 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f022f060000
26301 access("/etc/ld.so.preload", R_OK) =3D -1 ENOENT (No such file or d=
irectory)
26301 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64/libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26301 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/x86=
_64", 0x7fffca5d8230) =3D -1 ENOENT (No such file or directory)
26301 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls/lib=
perl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26301 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/tls", 0=
x7fffca5d8230) =3D -1 ENOENT (No such file or directory)
26301 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64/=
libperl.so", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26301 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/x86_64"=
, 0x7fffca5d8230) =3D -1 ENOENT (No such file or directory)
26301 open("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl=
=2Eso", O_RDONLY) =3D -1 ENOENT (No such file or directory)
26301 stat("/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE", 0x7ff=
fca5d8230) =3D -1 ENOENT (No such file or directory)
26301 open("/etc/ld.so.cache", O_RDONLY) =3D 3
26301 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D3975107, st_mode=3DS_IFR=
EG|0644, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D216, st_size=3D103979, st_atime=3D2012/10/09-11:13:54, st_mtime=3D20=
12/09/11-12:48:34, st_ctime=3D2012/09/11-12:48:34}) =3D 0
26301 mmap(NULL, 103979, PROT_READ, MAP_PRIVATE, 3, 0) =3D 0x7f022f046000=

26301 close(3)                          =3D 0
26301 open("/usr/lib64/libperl.so", O_RDONLY) =3D 3
26301 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\34\203%=
4\0\0\0@\0\0\0\0\0\0\0\360;\23\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\35\0\34\0=
\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\200%4\0\0\0\0\0\200%4\0\0\0T\260\22\=
0\0\0\0\0T\260\22\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0X\260\22\0\0\0\=
0\0X\260\262%4\0\0\0X\260\262%4\0\0\0\250\201\0\0\0\0\0\0\350\242\0\0\0\0=
\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\265\22\0\0\0\0\0\370\265\262%4\0\=
0\0\370\265\262%4\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\=
0\0P\345td\4\0\0\0\250u\21\0\0\0\0\0\250u\221%4\0\0\0\250u\221%4\0\0\0D@\=
0\0\0\0\0\0D@\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\7\4\0\0\360\0\0\0\0\1\0\0\16\0\0\0\0\0\0@\0\200\203\200\225\1\22\=
264\3\31\200l\0\32\0 \5\201\0\240\3\2B\0\200\21R \0\22\0\0\16P\20#\10\216=
\334\30\211\"\0\10 \200\3B\220@\0\1\206\20\30\2\3\21\203$!\312A0\224Y\200=
\27\0\242\26\10\24R@\10\200\220\20A\10\0\220\1\200\206\2\10\304\30i\0\220=
\1\1\202\200\22\20\0\n\1H\0\n\2001J \6\31@L\207\20\10\0000\10(\200\2\0\4\=
251t\"\262\310!\212\240\320\"\0\t"..., 832) =3D 832
26301 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D2839671, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D2480, st_size=3D1262384, st_atime=3D2012/10/09-12:04:35, st_mtime=3D=
2012/09/11-12:45:05, st_ctime=3D2012/09/11-14:54:00}) =3D 0
26301 mmap(0x3425800000, 3363648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425800000
26301 mprotect(0x342592c000, 2093056, PROT_NONE) =3D 0
26301 mmap(0x3425b2b000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIX=
ED|MAP_DENYWRITE, 3, 0x12b000) =3D 0x3425b2b000
26301 mmap(0x3425b34000, 4928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3425b34000
26301 close(3)                          =3D 0
26301 open("/lib64/libresolv.so.2", O_RDONLY) =3D 3
26301 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402\0'4\0\=
0\0@\0\0\0\0\0\0\0@a\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\5\0=
\0\0@\0\0\0\0\0\0\0@\0\0'4\0\0\0@\0\0'4\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0=
\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \361\0\0\0\0\0\0 \361\0'4\0\0\0=
 \361\0'4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\=
0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0'4\0\0\0\0\0\0'4\0\0\0$\10\1\0\0\0\0\0$\10=
\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\24\1\0\0\0\0\0\340\24!'4\=
0\0\0\340\24!'4\0\0\0\340\r\0\0\0\0\0\0\0106\0\0\0\0\0\0\0\0 \0\0\0\0\0\2=
\0\0\0\6\0\0\0\350\35\1\0\0\0\0\0\350\35!'4\0\0\0\350\35!'4\0\0\0\300\1\0=
\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\=
0\0\0008\2\0'4\0\0\0008\2\0'4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0=
\0\0\0\0P\345td\4\0\0\0<\361\0\0\0\0\0\0<\361\0'4\0\0\0<\361\0'4\0\0\0,\3=
\0\0\0\0\0\0,\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\=
0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 8=
32
26301 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148119, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D192, st_size=3D92736, st_atime=3D2012/10/09-11:16:43, st_mtime=3D201=
0/07/28-03:52:41, st_ctime=3D2012/09/11-14:53:42}) =3D 0
26301 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f022f045000
26301 mmap(0x3427000000, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3427000000
26301 mprotect(0x3427011000, 2097152, PROT_NONE) =3D 0
26301 mmap(0x3427211000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x11000) =3D 0x3427211000
26301 mmap(0x3427213000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x3427213000
26301 close(3)                          =3D 0
26301 open("/lib64/libnsl.so.1", O_RDONLY) =3D 3
26301 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240@\340\35=
10\0\0\0@\0\0\0\0\0\0\0\360\265\1\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0=
\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\340\3510\0\0\0@\0\340\3510\0\0\0\370\1=
\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0 \33\1\0\0=
\0\0\0 \33\341\3510\0\0\0 \33\341\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\=
0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\340\3510\0\0\0=
\0\0\340\3510\0\0\0\310@\1\0\0\0\0\0\310@\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\=
0\0\6\0\0\0xM\1\0\0\0\0\0xM\1\3520\0\0\0xM\1\3520\0\0\0\310\5\0\0\0\0\0\0=
008-\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250M\1\0\0\0\0\0\250M\1\3=
520\0\0\0\250M\1\3520\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\=
0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\340\3510\0\0\0008\2\340\351=
0\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0<\33\=
1\0\0\0\0\0<\33\341\3510\0\0\0<\33\341\3510\0\0\0\\\5\0\0\0\0\0\0\\\5\0\0=
\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26301 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147206, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D232, st_size=3D114352, st_atime=3D2012/10/09-12:01:01, st_mtime=3D20=
10/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:44}) =3D 0
26301 mmap(0x30e9e00000, 2194096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9e00000
26301 mprotect(0x30e9e15000, 2093056, PROT_NONE) =3D 0
26301 mmap(0x30ea014000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x14000) =3D 0x30ea014000
26301 mmap(0x30ea016000, 6832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_ANONYMOUS, -1, 0) =3D 0x30ea016000
26301 close(3)                          =3D 0
26301 open("/lib64/libdl.so.2", O_RDONLY) =3D 3
26301 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\16`\3500=
\0\0\0@\0\0\0\0\0\0\0@R\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0$\0#\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0`\3500\0\0\0@\0`\3500\0\0\0\370\1\0\0\0\0\0\0\37=
0\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\300\32\0\0\0\0\0\0\300\3=
2`\3500\0\0\0\300\32`\3500\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\3500\0\0\0\0\0`\3500\0\0\=
0\224\37\0\0\0\0\0\0\224\37\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0`-\=
0\0\0\0\0\0`-\200\3500\0\0\0`-\200\3500\0\0\0 \3\0\0\0\0\0\0\240\3\0\0\0\=
0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\240-\0\0\0\0\0\0\240-\200\3500\0\0\0=
\240-\200\3500\0\0\0\360\1\0\0\0\0\0\0\360\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0=
\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2`\3500\0\0\0008\2`\3500\0\0\0 \0\0\=
0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\334\32\0\0\0\0\0\=
0\334\32`\3500\0\0\0\334\32`\3500\0\0\0\264\0\0\0\0\0\0\0\264\0\0\0\0\0\0=
\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26301 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147322, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D48, st_size=3D23360, st_atime=3D2012/10/09-11:13:54, st_mtime=3D2010=
/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26301 mmap(0x30e8600000, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e8600000
26301 mprotect(0x30e8602000, 2097152, PROT_NONE) =3D 0
26301 mmap(0x30e8802000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x2000) =3D 0x30e8802000
26301 close(3)                          =3D 0
26301 open("/lib64/libm.so.6", O_RDONLY) =3D 3
26301 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`>\240\3510\=
0\0\0@\0\0\0\0\0\0\0\240X\t\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0)\0(\0\6\0\0\=
0\5\0\0\0@\0\0\0\0\0\0\0@\0\240\3510\0\0\0@\0\240\3510\0\0\0\370\1\0\0\0\=
0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\360\303\7\0\0\0\=
0\0\360\303\247\3510\0\0\0\360\303\247\3510\0\0\0\34\0\0\0\0\0\0\0\34\0\0=
\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\3510\=
0\0\0\0\0\240\3510\0\0\0000\22\10\0\0\0\0\0000\22\10\0\0\0\0\0\0\0 \0\0\0=
\0\0\1\0\0\0\6\0\0\0\270\35\10\0\0\0\0\0\270\35\310\3510\0\0\0\270\35\310=
\3510\0\0\0\320\2\0\0\0\0\0\0 \3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0=
\0\350\35\10\0\0\0\0\0\350\35\310\3510\0\0\0\350\35\310\3510\0\0\0\300\1\=
0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0=
\0\0\0008\2\240\3510\0\0\0008\2\240\3510\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\=
0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\f\304\7\0\0\0\0\0\f\304\247\3510\0\0\0=
\f\304\247\3510\0\0\0\374\r\0\0\0\0\0\0\374\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0=
Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0"..., 832) =3D 832
26301 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5147337, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D1216, st_size=3D615136, st_atime=3D2012/10/09-11:16:43, st_mtime=3D2=
010/07/28-03:52:40, st_ctime=3D2012/07/03-12:30:43}) =3D 0
26301 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -=
1, 0) =3D 0x7f022f044000
26301 mmap(0x30e9a00000, 2629848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x30e9a00000
26301 mprotect(0x30e9a82000, 2093056, PROT_NONE) =3D 0
26301 mmap(0x30e9c81000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x81000) =3D 0x30e9c81000
26301 close(3)                          =3D 0
26301 open("/lib64/libcrypt.so.1", O_RDONLY) =3D 3
26301 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\t\300%4=
\0\0\0@\0\0\0\0\0\0\0\30\265\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\=
0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\300%4\0\0\0@\0\300%4\0\0\0\370\1\0\0\0\0\=
0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340}\0\0\0\0\0\0\3=
40}\300%4\0\0\0\340}\300%4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0=
\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\300%4\0\0\0\0\0\300%4\0\0\=
0\4\205\0\0\0\0\0\0\4\205\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\=
215\0\0\0\0\0\0\310\215\340%4\0\0\0\310\215\340%4\0\0\0\250\2\0\0\0\0\0\0=
\370\343\2\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\215\0\0\0\0\0\0\3=
70\215\340%4\0\0\0\370\215\340%4\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\=
0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\300%4\0\0\0008\2=
\300%4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0=
\374}\0\0\0\0\0\0\374}\300%4\0\0\0\374}\300%4\0\0\0\34\1\0\0\0\0\0\0\34\1=
\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 832) =3D 832
26301 fstat(3, {st_dev=3Dmakedev(8, 2), st_ino=3D5148123, st_mode=3DS_IFR=
EG|0755, st_nlink=3D1, st_uid=3D0, st_gid=3D0, st_blksize=3D4096, st_bloc=
ks=3D96, st_size=3D48600, st_atime=3D2012/10/09-12:01:01, st_mtime=3D2010=
/07/28-03:52:39, st_ctime=3D2012/09/11-14:53:52}) =3D 0
26301 mmap(0x3425c00000, 2322880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DE=
NYWRITE, 3, 0) =3D 0x3425c00000
26301 mprotect(0x3425c09000, 2093056, PROT_NONE) =3D 0
26301 mmap(0x3425e08000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXE=
D|MAP_DENYWRITE, 3, 0x8000) =3D 0x3425e08000
26301 mmap(0x3425e0a000, 184768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FI=
XED|MAP_ANONYMOUS, -1, 0) =3D 0x3425e0a000
26301 close(3)                          =3D 0
26301 open("/lib64/libutil.so.1", O_RDONLY) =3D 3
26301 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\16\0(4\=
0\0\0@\0\0\0\0\0\0\0(>\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0#\0\"\0\6\0\0\0\=
5\0\0\0@\0\0\0\0\0\0\0@\0\0(4\0\0\0@\0\0(4\0\0\0\370\1\0\0\0\0\0\0\370\1\=
0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\340\26\0\0\0\0\0\0\340\26\0(=
4\0\0\0\340\26\0(4\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0=
\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0(4\0\0\0\0\0\0(4\0\0\0P\32\0\0\0\=
0\0\0P\32\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340\35\0\0\0\0\0\0\3=
40\35 (4\0\0\0\340\35 (4\0\0\0 \3\0\0\0\0\0\0000\3\0\0\0\0\0\0\0\0 \0\0\0=
\0\0\2\0\0\0\6\0\0\0\20\36\0\0\0\0\0\0\20\36 (4\0\0\0\20\36 (4\0\0\0\300\=
1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0=
\0\0\0\0008\2\0(4\0\0\0008\2\0(4\0\0\0 \0\0\0\0\0\0\0 \0\0\0\0\0\0\0\4\0\=
0\0\0\0\0\0P\345td\4\0\0\0\374\26\0\0\0\0\0\0\374\26\0(4\0\0\0\374\26\0(4=
\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0=
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8=
32) =3D 832

--------------030802060607050703070201
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--------------030802060607050703070201--


From xen-devel-bounces@lists.xen.org Wed Oct 10 16:03:20 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Oct 2012 16:03:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TLykR-00033l-Pl; Wed, 10 Oct 2012 16:03:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <linux@eikelenboom.it>) id 1TLykP-00033X-FE
	for xen-devel@lists.xen.org; Wed, 10 Oct 2012 16:03:02 +0000
Received: from [85.158.138.51:48397] by server-15.bemta-3.messagelabs.com id
	55/F4-10261-43C95705; Wed, 10 Oct 2012 16:03:00 +0000
X-Env-Sender: linux@eikelenboom.it
X-Msg-Ref: server-10.tower-174.messagelabs.com!1349884976!26258743!1
X-Originating-IP: [188.40.164.121]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31003 invoked from network); 10 Oct 2012 16:02:56 -0000
Received: from static.121.164.40.188.clients.your-server.de (HELO
	smtp.eikelenboom.it) (188.40.164.121)
	by server-10.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	10 Oct 2012 16:02:56 -0000
Received: from 50-66-ftth.onsneteindhoven.nl ([88.159.66.50]:59411
	helo=[172.16.1.20])
	by smtp.eikelenboom.it with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <linux@eikelenboom.it>)
	id 1TLyli-0008Bb-6g; Wed, 10 Oct 2012 18:04:22 +0200
Date: Wed, 10 Oct 2012 18:02:53 +0200
From: Sander Eikelenboom <linux@eikelenboom.it>
Organization: Eikelenboom IT services
X-Priority: 3 (Normal)
Message-ID: <1786005637.20121010180253@eikelenboom.it>
To: xen-devel <xen-devel@lists.xen.org>
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="----------08613C0C31EE607B1"
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Subject: [Xen-devel] xen-unstable: HVM start memory_map:add
	memory_map:remove cycle
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

------------08613C0C31EE607B1
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi Ian,

When i start a HVM guest i get this cycle of adding removing adding removing and finally adding ... for some memory ranges during the start of the guest.
I don't know if it's intentionally, but it seems kind of strange .. :

(XEN) [2012-10-10 15:17:54] memory_map:add: dom16 gfn=f3028 mfn=f9fff nr=1
(XEN) [2012-10-10 15:17:54] memory_map:remove: dom16 gfn=f3028 mfn=f9fff nr=1
(XEN) [2012-10-10 15:17:54] memory_map:add: dom16 gfn=f3028 mfn=f9fff nr=1
(XEN) [2012-10-10 15:17:54] memory_map:remove: dom16 gfn=f3028 mfn=f9fff nr=1
(XEN) [2012-10-10 15:17:54] memory_map:add: dom16 gfn=f3028 mfn=f9fff nr=1
(XEN) [2012-10-10 15:17:54] memory_map:remove: dom16 gfn=f3028 mfn=f9fff nr=1
(XEN) [2012-10-10 15:17:54] memory_map:add: dom16 gfn=f3028 mfn=f9fff nr=1
(XEN) [2012-10-10 15:17:54] memory_map:remove: dom16 gfn=f3028 mfn=f9fff nr=1
(XEN) [2012-10-10 15:17:54] memory_map:add: dom16 gfn=f3028 mfn=f9fff nr=1
(XEN) [2012-10-10 15:17:54] memory_map:remove: dom16 gfn=f3028 mfn=f9fff nr=1
(XEN) [2012-10-10 15:17:54] memory_map:add: dom16 gfn=f3028 mfn=f9fff nr=1
(XEN) [2012-10-10 15:17:54] memory_map:remove: dom16 gfn=f3028 mfn=f9fff nr=1
(XEN) [2012-10-10 15:17:54] memory_map:add: dom16 gfn=f3028 mfn=f9fff nr=1


xl dmesg attached

--

Sander
------------08613C0C31EE607B1
Content-Type: text/plain;
 name="xl-dmesg.txt"
Content-transfer-encoding: base64
Content-Disposition: attachment;
 filename="xl-dmesg.txt"

IF9fICBfXyAgICAgICAgICAgIF8gIF8gICAgX19fX18gICAgICAgICAgICAgICAgICAgIF8g
ICAgICAgIF8gICAgIF8gICAgICANCiBcIFwvIC9fX18gXyBfXyAgIHwgfHwgfCAgfF9fXyAv
ICAgIF8gICBfIF8gX18gIF9fX3wgfF8gX18gX3wgfF9fIHwgfCBfX18gDQogIFwgIC8vIF8g
XCAnXyBcICB8IHx8IHxfICAgfF8gXCBfX3wgfCB8IHwgJ18gXC8gX198IF9fLyBfYCB8ICdf
IFx8IHwvIF8gXA0KICAvICBcICBfXy8gfCB8IHwgfF9fICAgX3wgX19fKSB8X198IHxffCB8
IHwgfCBcX18gXCB8fCAoX3wgfCB8XykgfCB8ICBfXy8NCiAvXy9cX1xfX198X3wgfF98ICAg
IHxffChfKV9fX18vICAgIFxfXyxffF98IHxffF9fXy9cX19cX18sX3xfLl9fL3xffFxfX198
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIA0KKFhFTikgWGVuIHZlcnNpb24gNC4zLXVuc3RhYmxl
IChyb290QGR5bmRucy5vcmcpIChnY2MgKERlYmlhbiA0LjQuNS04KSA0LjQuNSkgV2VkIE9j
dCAgMyAxMTo0NTo0NyBDRVNUIDIwMTINCihYRU4pIExhdGVzdCBDaGFuZ2VTZXQ6IFR1ZSBP
Y3QgMDIgMTI6MTQ6MDAgMjAxMiArMDIwMCAyNTk3NTo4N2JmOTlmYWQ3YTkNCihYRU4pIEJv
b3Rsb2FkZXI6IEdSVUIgMS45OCsyMDEwMDgwNC0xNCtzcXVlZXplMQ0KKFhFTikgQ29tbWFu
ZCBsaW5lOiBkb20wX21lbT0xMDI0TSxtYXg6MTAyNE0gbG9nbHZsPWFsbCBsb2dsdmxfZ3Vl
c3Q9YWxsIGNvbnNvbGVfdGltZXN0YW1wcyB2Z2E9Z2Z4LTEyODB4MTAyNHgzMiBjcHVpZGxl
IGNwdWZyZXE9eGVuIHhzYXZlPW9mZiBub3JlYm9vdCBkZWJ1ZyBsYXBpYz1kZWJ1ZyBhcGlj
X3ZlcmJvc2l0eT1kZWJ1ZyBhcGljPWRlYnVnIGlvbW11PW9uLHZlcmJvc2UsZGVidWcsYW1k
LWlvbW11LWRlYnVnIGNvbTE9Mzg0MDAsOG4xIGNvbnNvbGU9dmdhLGNvbTENCihYRU4pIFZp
ZGVvIGluZm9ybWF0aW9uOg0KKFhFTikgIFZHQSBpcyBncmFwaGljcyBtb2RlIDEyODB4MTAy
NCwgMzIgYnBwDQooWEVOKSAgVkJFL0REQyBtZXRob2RzOiBWMjsgRURJRCB0cmFuc2ZlciB0
aW1lOiAxIHNlY29uZHMNCihYRU4pIERpc2MgaW5mb3JtYXRpb246DQooWEVOKSAgRm91bmQg
MiBNQlIgc2lnbmF0dXJlcw0KKFhFTikgIEZvdW5kIDIgRUREIGluZm9ybWF0aW9uIHN0cnVj
dHVyZXMNCihYRU4pIFhlbi1lODIwIFJBTSBtYXA6DQooWEVOKSAgMDAwMDAwMDAwMDAwMDAw
MCAtIDAwMDAwMDAwMDAwOWYwMDAgKHVzYWJsZSkNCihYRU4pICAwMDAwMDAwMDAwMDlmMDAw
IC0gMDAwMDAwMDAwMDBhMDAwMCAocmVzZXJ2ZWQpDQooWEVOKSAgMDAwMDAwMDAwMDBlNDAw
MCAtIDAwMDAwMDAwMDAxMDAwMDAgKHJlc2VydmVkKQ0KKFhFTikgIDAwMDAwMDAwMDAxMDAw
MDAgLSAwMDAwMDAwMGFmZjkwMDAwICh1c2FibGUpDQooWEVOKSAgMDAwMDAwMDBhZmY5MDAw
MCAtIDAwMDAwMDAwYWZmOWUwMDAgKEFDUEkgZGF0YSkNCihYRU4pICAwMDAwMDAwMGFmZjll
MDAwIC0gMDAwMDAwMDBhZmZlMDAwMCAoQUNQSSBOVlMpDQooWEVOKSAgMDAwMDAwMDBhZmZl
MDAwMCAtIDAwMDAwMDAwYjAwMDAwMDAgKHJlc2VydmVkKQ0KKFhFTikgIDAwMDAwMDAwZmZl
MDAwMDAgLSAwMDAwMDAwMTAwMDAwMDAwIChyZXNlcnZlZCkNCihYRU4pICAwMDAwMDAwMTAw
MDAwMDAwIC0gMDAwMDAwMDI1MDAwMDAwMCAodXNhYmxlKQ0KKFhFTikgQUNQSTogUlNEUCAw
MDBGQjEwMCwgMDAxNCAocjAgQUNQSUFNKQ0KKFhFTikgQUNQSTogUlNEVCBBRkY5MDAwMCwg
MDA0OCAocjEgTVNJICAgIE9FTVNMSUMgIDIwMTAwOTEzIE1TRlQgICAgICAgOTcpDQooWEVO
KSBBQ1BJOiBGQUNQIEFGRjkwMjAwLCAwMDg0IChyMSA3NjQwTVMgQTc2NDAxMDAgMjAxMDA5
MTMgTVNGVCAgICAgICA5NykNCihYRU4pIEFDUEk6IERTRFQgQUZGOTA1RTAsIDk0MjcgKHIx
ICBBNzY0MCBBNzY0MDEwMCAgICAgIDEwMCBJTlRMIDIwMDUxMTE3KQ0KKFhFTikgQUNQSTog
RkFDUyBBRkY5RTAwMCwgMDA0MA0KKFhFTikgQUNQSTogQVBJQyBBRkY5MDM5MCwgMDA4OCAo
cjEgNzY0ME1TIEE3NjQwMTAwIDIwMTAwOTEzIE1TRlQgICAgICAgOTcpDQooWEVOKSBBQ1BJ
OiBNQ0ZHIEFGRjkwNDIwLCAwMDNDIChyMSA3NjQwTVMgT0VNTUNGRyAgMjAxMDA5MTMgTVNG
VCAgICAgICA5NykNCihYRU4pIEFDUEk6IFNMSUMgQUZGOTA0NjAsIDAxNzYgKHIxIE1TSSAg
ICBPRU1TTElDICAyMDEwMDkxMyBNU0ZUICAgICAgIDk3KQ0KKFhFTikgQUNQSTogT0VNQiBB
RkY5RTA0MCwgMDA3MiAocjEgNzY0ME1TIEE3NjQwMTAwIDIwMTAwOTEzIE1TRlQgICAgICAg
OTcpDQooWEVOKSBBQ1BJOiBTUkFUIEFGRjlBNUUwLCAwMTA4IChyMyBBTUQgICAgRkFNX0Zf
MTAgICAgICAgIDIgQU1EICAgICAgICAgMSkNCihYRU4pIEFDUEk6IEhQRVQgQUZGOUE2RjAs
IDAwMzggKHIxIDc2NDBNUyBPRU1IUEVUICAyMDEwMDkxMyBNU0ZUICAgICAgIDk3KQ0KKFhF
TikgQUNQSTogSVZSUyBBRkY5QTczMCwgMDBGOCAocjEgIEFNRCAgICAgUkQ4OTBTICAgMjAy
MDMxIEFNRCAgICAgICAgIDApDQooWEVOKSBBQ1BJOiBTU0RUIEFGRjlBODMwLCAwREE0IChy
MSBBIE0gSSAgUE9XRVJOT1cgICAgICAgIDEgQU1EICAgICAgICAgMSkNCihYRU4pIFN5c3Rl
bSBSQU06IDgxOTFNQiAoODM4Nzc3MmtCKQ0KKFhFTikgU1JBVDogUFhNIDAgLT4gQVBJQyAw
IC0+IE5vZGUgMA0KKFhFTikgU1JBVDogUFhNIDAgLT4gQVBJQyAxIC0+IE5vZGUgMA0KKFhF
TikgU1JBVDogUFhNIDAgLT4gQVBJQyAyIC0+IE5vZGUgMA0KKFhFTikgU1JBVDogUFhNIDAg
LT4gQVBJQyAzIC0+IE5vZGUgMA0KKFhFTikgU1JBVDogUFhNIDAgLT4gQVBJQyA0IC0+IE5v
ZGUgMA0KKFhFTikgU1JBVDogUFhNIDAgLT4gQVBJQyA1IC0+IE5vZGUgMA0KKFhFTikgU1JB
VDogTm9kZSAwIFBYTSAwIDAtYTAwMDANCihYRU4pIFNSQVQ6IE5vZGUgMCBQWE0gMCAxMDAw
MDAtYjAwMDAwMDANCihYRU4pIFNSQVQ6IE5vZGUgMCBQWE0gMCAxMDAwMDAwMDAtMjUwMDAw
MDAwDQooWEVOKSBOVU1BOiBBbGxvY2F0ZWQgbWVtbm9kZW1hcCBmcm9tIDI0ZGMyYTAwMCAt
IDI0ZGMyZDAwMA0KKFhFTikgTlVNQTogVXNpbmcgOCBmb3IgdGhlIGhhc2ggc2hpZnQuDQoo
WEVOKSBEb21haW4gaGVhcCBpbml0aWFsaXNlZA0KKFhFTikgdmVzYWZiOiBmcmFtZWJ1ZmZl
ciBhdCAweGZiMDAwMDAwLCBtYXBwZWQgdG8gMHhmZmZmODJjMDAwMDAwMDAwLCB1c2luZyA2
MTQ0aywgdG90YWwgMTQzMzZrDQooWEVOKSB2ZXNhZmI6IG1vZGUgaXMgMTI4MHgxMDI0eDMy
LCBsaW5lbGVuZ3RoPTUxMjAsIGZvbnQgOHgxNg0KKFhFTikgdmVzYWZiOiBUcnVlY29sb3I6
IHNpemU9ODo4Ojg6OCwgc2hpZnQ9MjQ6MTY6ODowDQooWEVOKSBmb3VuZCBTTVAgTVAtdGFi
bGUgYXQgMDAwZmY3ODANCihYRU4pIERNSSBwcmVzZW50Lg0KKFhFTikgQVBJQyBib290IHN0
YXRlIGlzICd4YXBpYycNCihYRU4pIFVzaW5nIEFQSUMgZHJpdmVyIGRlZmF1bHQNCihYRU4p
IEFDUEk6IFBNLVRpbWVyIElPIFBvcnQ6IDB4ODA4DQooWEVOKSBBQ1BJOiBBQ1BJIFNMRUVQ
IElORk86IHBtMXhfY250WzgwNCwwXSwgcG0xeF9ldnRbODAwLDBdDQooWEVOKSBBQ1BJOiAg
ICAgICAgICAgICAgICAgIHdha2V1cF92ZWNbYWZmOWUwMGNdLCB2ZWNfc2l6ZVsyMF0NCihY
RU4pIEFDUEk6IExvY2FsIEFQSUMgYWRkcmVzcyAweGZlZTAwMDAwDQooWEVOKSBBQ1BJOiBM
QVBJQyAoYWNwaV9pZFsweDAxXSBsYXBpY19pZFsweDAwXSBlbmFibGVkKQ0KKFhFTikgUHJv
Y2Vzc29yICMwIDA6MTAgQVBJQyB2ZXJzaW9uIDE2DQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNw
aV9pZFsweDAyXSBsYXBpY19pZFsweDAxXSBlbmFibGVkKQ0KKFhFTikgUHJvY2Vzc29yICMx
IDA6MTAgQVBJQyB2ZXJzaW9uIDE2DQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDAz
XSBsYXBpY19pZFsweDAyXSBlbmFibGVkKQ0KKFhFTikgUHJvY2Vzc29yICMyIDA6MTAgQVBJ
QyB2ZXJzaW9uIDE2DQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA0XSBsYXBpY19p
ZFsweDAzXSBlbmFibGVkKQ0KKFhFTikgUHJvY2Vzc29yICMzIDA6MTAgQVBJQyB2ZXJzaW9u
IDE2DQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA1XSBsYXBpY19pZFsweDA0XSBl
bmFibGVkKQ0KKFhFTikgUHJvY2Vzc29yICM0IDA6MTAgQVBJQyB2ZXJzaW9uIDE2DQooWEVO
KSBBQ1BJOiBMQVBJQyAoYWNwaV9pZFsweDA2XSBsYXBpY19pZFsweDA1XSBlbmFibGVkKQ0K
KFhFTikgUHJvY2Vzc29yICM1IDA6MTAgQVBJQyB2ZXJzaW9uIDE2DQooWEVOKSBBQ1BJOiBJ
T0FQSUMgKGlkWzB4MDZdIGFkZHJlc3NbMHhmZWMwMDAwMF0gZ3NpX2Jhc2VbMF0pDQooWEVO
KSBJT0FQSUNbMF06IGFwaWNfaWQgNiwgdmVyc2lvbiAzMywgYWRkcmVzcyAweGZlYzAwMDAw
LCBHU0kgMC0yMw0KKFhFTikgQUNQSTogSU9BUElDIChpZFsweDA3XSBhZGRyZXNzWzB4ZmVj
MjAwMDBdIGdzaV9iYXNlWzI0XSkNCihYRU4pIElPQVBJQ1sxXTogYXBpY19pZCA3LCB2ZXJz
aW9uIDMzLCBhZGRyZXNzIDB4ZmVjMjAwMDAsIEdTSSAyNC01NQ0KKFhFTikgQUNQSTogSU5U
X1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEgMCBnbG9iYWxfaXJxIDIgZGZsIGRmbCkNCihYRU4p
IEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGxvdyBs
ZXZlbCkNCihYRU4pIEFDUEk6IElSUTAgdXNlZCBieSBvdmVycmlkZS4NCihYRU4pIEFDUEk6
IElSUTIgdXNlZCBieSBvdmVycmlkZS4NCihYRU4pIEFDUEk6IElSUTkgdXNlZCBieSBvdmVy
cmlkZS4NCihYRU4pIEVuYWJsaW5nIEFQSUMgbW9kZTogIEZsYXQuICBVc2luZyAyIEkvTyBB
UElDcw0KKFhFTikgQUNQSTogSFBFVCBpZDogMHg4MzAwIGJhc2U6IDB4ZmVkMDAwMDANCihY
RU4pIFRhYmxlIGlzIG5vdCBmb3VuZCENCihYRU4pIFVzaW5nIEFDUEkgKE1BRFQpIGZvciBT
TVAgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbg0KKFhFTikgU01QOiBBbGxvd2luZyA2IENQ
VXMgKDAgaG90cGx1ZyBDUFVzKQ0KKFhFTikgbWFwcGVkIEFQSUMgdG8gZmZmZjgyYzNmZmRm
YjAwMCAoZmVlMDAwMDApDQooWEVOKSBtYXBwZWQgSU9BUElDIHRvIGZmZmY4MmMzZmZkZmEw
MDAgKGZlYzAwMDAwKQ0KKFhFTikgbWFwcGVkIElPQVBJQyB0byBmZmZmODJjM2ZmZGY5MDAw
IChmZWMyMDAwMCkNCihYRU4pIElSUSBsaW1pdHM6IDU2IEdTSSwgMTExMiBNU0kvTVNJLVgN
CihYRU4pIFVzaW5nIHNjaGVkdWxlcjogU01QIENyZWRpdCBTY2hlZHVsZXIgKGNyZWRpdCkN
CihYRU4pIERldGVjdGVkIDMyMDAuMTgwIE1IeiBwcm9jZXNzb3IuDQooWEVOKSBJbml0aW5n
IG1lbW9yeSBzaGFyaW5nLg0KKFhFTikgQU1EIEZhbTEwaCBtYWNoaW5lIGNoZWNrIHJlcG9y
dGluZyBlbmFibGVkDQooWEVOKSBQQ0k6IE1DRkcgY29uZmlndXJhdGlvbiAwOiBiYXNlIGUw
MDAwMDAwIHNlZ21lbnQgMDAwMCBidXNlcyAwMCAtIGZmDQooWEVOKSBQQ0k6IE5vdCB1c2lu
ZyBNQ0ZHIGZvciBzZWdtZW50IDAwMDAgYnVzIDAwLWZmDQooWEVOKSBBTUQtVmk6IEZvdW5k
IE1TSSBjYXBhYmlsaXR5IGJsb2NrIGF0IDB4NTQNCihYRU4pIEFNRC1WaTogQUNQSSBUYWJs
ZToNCihYRU4pIEFNRC1WaTogIFNpZ25hdHVyZSBJVlJTDQooWEVOKSBBTUQtVmk6ICBMZW5n
dGggMHhmOA0KKFhFTikgQU1ELVZpOiAgUmV2aXNpb24gMHgxDQooWEVOKSBBTUQtVmk6ICBD
aGVja1N1bSAweDk4DQooWEVOKSBBTUQtVmk6ICBPRU1fSWQgQU1EICANCihYRU4pIEFNRC1W
aTogIE9FTV9UYWJsZV9JZCBSRDg5MFMNCihYRU4pIEFNRC1WaTogIE9FTV9SZXZpc2lvbiAw
eDIwMjAzMQ0KKFhFTikgQU1ELVZpOiAgQ3JlYXRvcl9JZCBBTUQgDQooWEVOKSBBTUQtVmk6
ICBDcmVhdG9yX1JldmlzaW9uIDANCihYRU4pIEFNRC1WaTogSVZSUyBCbG9jazoNCihYRU4p
IEFNRC1WaTogIFR5cGUgMHgxMA0KKFhFTikgQU1ELVZpOiAgRmxhZ3MgMHgzZQ0KKFhFTikg
QU1ELVZpOiAgTGVuZ3RoIDB4YzgNCihYRU4pIEFNRC1WaTogIERldl9JZCAweDINCihYRU4p
IEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6ICBUeXBlIDB4Mw0K
KFhFTikgQU1ELVZpOiAgRGV2X0lkIDANCihYRU4pIEFNRC1WaTogIEZsYWdzIDANCihYRU4p
IEFNRC1WaTogIERldl9JZCBSYW5nZTogMCAtPiAweDINCihYRU4pIEFNRC1WaTogSVZIRCBE
ZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6ICBUeXBlIDB4Mg0KKFhFTikgQU1ELVZpOiAg
RGV2X0lkIDB4MTANCihYRU4pIEFNRC1WaTogIEZsYWdzIDANCihYRU4pIEFNRC1WaTogSVZI
RCBEZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6ICBUeXBlIDB4Mg0KKFhFTikgQU1ELVZp
OiAgRGV2X0lkIDB4YTAwDQooWEVOKSBBTUQtVmk6ICBGbGFncyAwDQooWEVOKSBBTUQtVmk6
IElWSEQgRGV2aWNlIEVudHJ5Og0KKFhFTikgQU1ELVZpOiAgVHlwZSAweDINCihYRU4pIEFN
RC1WaTogIERldl9JZCAweDE4DQooWEVOKSBBTUQtVmk6ICBGbGFncyAwDQooWEVOKSBBTUQt
Vmk6IElWSEQgRGV2aWNlIEVudHJ5Og0KKFhFTikgQU1ELVZpOiAgVHlwZSAweDMNCihYRU4p
IEFNRC1WaTogIERldl9JZCAweDkwMA0KKFhFTikgQU1ELVZpOiAgRmxhZ3MgMA0KKFhFTikg
QU1ELVZpOiAgRGV2X0lkIFJhbmdlOiAweDkwMCAtPiAweDkwNw0KKFhFTikgQU1ELVZpOiBJ
VkhEIERldmljZSBFbnRyeToNCihYRU4pIEFNRC1WaTogIFR5cGUgMHgyDQooWEVOKSBBTUQt
Vmk6ICBEZXZfSWQgMHgyOA0KKFhFTikgQU1ELVZpOiAgRmxhZ3MgMA0KKFhFTikgQU1ELVZp
OiBJVkhEIERldmljZSBFbnRyeToNCihYRU4pIEFNRC1WaTogIFR5cGUgMHgyDQooWEVOKSBB
TUQtVmk6ICBEZXZfSWQgMHg4MDANCihYRU4pIEFNRC1WaTogIEZsYWdzIDANCihYRU4pIEFN
RC1WaTogSVZIRCBEZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6ICBUeXBlIDB4Mg0KKFhF
TikgQU1ELVZpOiAgRGV2X0lkIDB4MzANCihYRU4pIEFNRC1WaTogIEZsYWdzIDANCihYRU4p
IEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6ICBUeXBlIDB4Mg0K
KFhFTikgQU1ELVZpOiAgRGV2X0lkIDB4NzAwDQooWEVOKSBBTUQtVmk6ICBGbGFncyAwDQoo
WEVOKSBBTUQtVmk6IElWSEQgRGV2aWNlIEVudHJ5Og0KKFhFTikgQU1ELVZpOiAgVHlwZSAw
eDINCihYRU4pIEFNRC1WaTogIERldl9JZCAweDUwDQooWEVOKSBBTUQtVmk6ICBGbGFncyAw
DQooWEVOKSBBTUQtVmk6IElWSEQgRGV2aWNlIEVudHJ5Og0KKFhFTikgQU1ELVZpOiAgVHlw
ZSAweDINCihYRU4pIEFNRC1WaTogIERldl9JZCAweDYwMA0KKFhFTikgQU1ELVZpOiAgRmxh
Z3MgMA0KKFhFTikgQU1ELVZpOiBJVkhEIERldmljZSBFbnRyeToNCihYRU4pIEFNRC1WaTog
IFR5cGUgMHgyDQooWEVOKSBBTUQtVmk6ICBEZXZfSWQgMHg1OA0KKFhFTikgQU1ELVZpOiAg
RmxhZ3MgMA0KKFhFTikgQU1ELVZpOiBJVkhEIERldmljZSBFbnRyeToNCihYRU4pIEFNRC1W
aTogIFR5cGUgMHgzDQooWEVOKSBBTUQtVmk6ICBEZXZfSWQgMHg1MDANCihYRU4pIEFNRC1W
aTogIEZsYWdzIDANCihYRU4pIEFNRC1WaTogIERldl9JZCBSYW5nZTogMHg1MDAgLT4gMHg1
MDENCihYRU4pIEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6ICBU
eXBlIDB4Mg0KKFhFTikgQU1ELVZpOiAgRGV2X0lkIDB4NjgNCihYRU4pIEFNRC1WaTogIEZs
YWdzIDANCihYRU4pIEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6
ICBUeXBlIDB4Mw0KKFhFTikgQU1ELVZpOiAgRGV2X0lkIDB4NDAwDQooWEVOKSBBTUQtVmk6
ICBGbGFncyAwDQooWEVOKSBBTUQtVmk6ICBEZXZfSWQgUmFuZ2U6IDB4NDAwIC0+IDB4NDA3
DQooWEVOKSBBTUQtVmk6IElWSEQgRGV2aWNlIEVudHJ5Og0KKFhFTikgQU1ELVZpOiAgVHlw
ZSAweDINCihYRU4pIEFNRC1WaTogIERldl9JZCAweDg4DQooWEVOKSBBTUQtVmk6ICBGbGFn
cyAwDQooWEVOKSBBTUQtVmk6IElWSEQgRGV2aWNlIEVudHJ5Og0KKFhFTikgQU1ELVZpOiAg
VHlwZSAweDMNCihYRU4pIEFNRC1WaTogIERldl9JZCAweDkwDQooWEVOKSBBTUQtVmk6ICBG
bGFncyAwDQooWEVOKSBBTUQtVmk6ICBEZXZfSWQgUmFuZ2U6IDB4OTAgLT4gMHg5Mg0KKFhF
TikgQU1ELVZpOiBJVkhEIERldmljZSBFbnRyeToNCihYRU4pIEFNRC1WaTogIFR5cGUgMHgz
DQooWEVOKSBBTUQtVmk6ICBEZXZfSWQgMHg5OA0KKFhFTikgQU1ELVZpOiAgRmxhZ3MgMA0K
KFhFTikgQU1ELVZpOiAgRGV2X0lkIFJhbmdlOiAweDk4IC0+IDB4OWENCihYRU4pIEFNRC1W
aTogSVZIRCBEZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6ICBUeXBlIDB4Mg0KKFhFTikg
QU1ELVZpOiAgRGV2X0lkIDB4YTANCihYRU4pIEFNRC1WaTogIEZsYWdzIDB4ZDcNCihYRU4p
IEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6ICBUeXBlIDB4Mg0K
KFhFTikgQU1ELVZpOiAgRGV2X0lkIDB4YTENCihYRU4pIEFNRC1WaTogIEZsYWdzIDANCihY
RU4pIEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6ICBUeXBlIDB4
Mg0KKFhFTikgQU1ELVZpOiAgRGV2X0lkIDB4YTINCihYRU4pIEFNRC1WaTogIEZsYWdzIDAN
CihYRU4pIEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6ICBUeXBl
IDB4Mg0KKFhFTikgQU1ELVZpOiAgRGV2X0lkIDB4YTMNCihYRU4pIEFNRC1WaTogIEZsYWdz
IDANCihYRU4pIEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6ICBU
eXBlIDB4Mg0KKFhFTikgQU1ELVZpOiAgRGV2X0lkIDB4YTQNCihYRU4pIEFNRC1WaTogIEZs
YWdzIDANCihYRU4pIEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6
ICBUeXBlIDANCihYRU4pIEFNRC1WaTogIERldl9JZCAwDQooWEVOKSBBTUQtVmk6ICBGbGFn
cyAwDQooWEVOKSBBTUQtVmk6IElWSEQgRGV2aWNlIEVudHJ5Og0KKFhFTikgc3B1cmlvdXMg
ODI1OUEgaW50ZXJydXB0OiBJUlE3Lg0KKFhFTikgQU1ELVZpOiAgVHlwZSAweDQzDQooWEVO
KSBBTUQtVmk6ICBEZXZfSWQgMHgzMDANCihYRU4pIEFNRC1WaTogIEZsYWdzIDANCihYRU4p
IEFNRC1WaTogIERldl9JZCBSYW5nZTogMHgzMDAgLT4gMHgzZmYNCihYRU4pIEFNRC1WaTog
IERldl9JZCBBbGlhczogMHhhNA0KKFhFTikgQU1ELVZpOiBJVkhEIERldmljZSBFbnRyeToN
CihYRU4pIEFNRC1WaTogIFR5cGUgMHgyDQooWEVOKSBBTUQtVmk6ICBEZXZfSWQgMHhhNQ0K
KFhFTikgQU1ELVZpOiAgRmxhZ3MgMA0KKFhFTikgQU1ELVZpOiBJVkhEIERldmljZSBFbnRy
eToNCihYRU4pIEFNRC1WaTogIFR5cGUgMHgyDQooWEVOKSBBTUQtVmk6ICBEZXZfSWQgMHhh
OA0KKFhFTikgQU1ELVZpOiAgRmxhZ3MgMA0KKFhFTikgQU1ELVZpOiBJVkhEIERldmljZSBF
bnRyeToNCihYRU4pIEFNRC1WaTogIFR5cGUgMHgyDQooWEVOKSBBTUQtVmk6ICBEZXZfSWQg
MHhhOQ0KKFhFTikgQU1ELVZpOiAgRmxhZ3MgMA0KKFhFTikgQU1ELVZpOiBJVkhEIERldmlj
ZSBFbnRyeToNCihYRU4pIEFNRC1WaTogIFR5cGUgMHgyDQooWEVOKSBBTUQtVmk6ICBEZXZf
SWQgMHgxMDANCihYRU4pIEFNRC1WaTogIEZsYWdzIDANCihYRU4pIEFNRC1WaTogSVZIRCBE
ZXZpY2UgRW50cnk6DQooWEVOKSBBTUQtVmk6ICBUeXBlIDB4Mw0KKFhFTikgQU1ELVZpOiAg
RGV2X0lkIDB4YjANCihYRU4pIEFNRC1WaTogIEZsYWdzIDANCihYRU4pIEFNRC1WaTogIERl
dl9JZCBSYW5nZTogMHhiMCAtPiAweGIyDQooWEVOKSBBTUQtVmk6IElWSEQgRGV2aWNlIEVu
dHJ5Og0KKFhFTikgQU1ELVZpOiAgVHlwZSAwDQooWEVOKSBBTUQtVmk6ICBEZXZfSWQgMA0K
KFhFTikgQU1ELVZpOiAgRmxhZ3MgMA0KKFhFTikgQU1ELVZpOiBJVkhEIERldmljZSBFbnRy
eToNCihYRU4pIEFNRC1WaTogIFR5cGUgMHg0OA0KKFhFTikgQU1ELVZpOiAgRGV2X0lkIDAN
CihYRU4pIEFNRC1WaTogIEZsYWdzIDB4ZDcNCihYRU4pIEFNRC1WaTogSVZIRCBEZXZpY2Ug
RW50cnk6DQooWEVOKSBBTUQtVmk6ICBUeXBlIDB4NDgNCihYRU4pIEFNRC1WaTogIERldl9J
ZCAwDQooWEVOKSBBTUQtVmk6ICBGbGFncyAwDQooWEVOKSBBTUQtVmk6IElPTU1VIDAgRW5h
YmxlZC4NCihYRU4pIEFNRC1WaTogRW5hYmxpbmcgZ2xvYmFsIHZlY3RvciBtYXANCihYRU4p
IEkvTyB2aXJ0dWFsaXNhdGlvbiBlbmFibGVkDQooWEVOKSAgLSBEb20wIG1vZGU6IFJlbGF4
ZWQNCihYRU4pIEdldHRpbmcgVkVSU0lPTjogODAwNTAwMTANCihYRU4pIEdldHRpbmcgVkVS
U0lPTjogODAwNTAwMTANCihYRU4pIEdldHRpbmcgSUQ6IDANCihYRU4pIEdldHRpbmcgTFZU
MDogNzAwDQooWEVOKSBHZXR0aW5nIExWVDE6IDQwMA0KKFhFTikgZW5hYmxlZCBFeHRJTlQg
b24gQ1BVIzANCihYRU4pIEVTUiB2YWx1ZSBiZWZvcmUgZW5hYmxpbmcgdmVjdG9yOiAweDQg
IGFmdGVyOiAwDQooWEVOKSBFTkFCTElORyBJTy1BUElDIElSUXMNCihYRU4pICAtPiBVc2lu
ZyBuZXcgQUNLIG1ldGhvZA0KKFhFTikgaW5pdCBJT19BUElDIElSUXMNCihYRU4pICBJTy1B
UElDIChhcGljaWQtcGluKSA2LTAsIDYtMTYsIDYtMTcsIDYtMTgsIDYtMTksIDYtMjAsIDYt
MjEsIDYtMjIsIDYtMjMsIDctMCwgNy0xLCA3LTIsIDctMywgNy00LCA3LTUsIDctNiwgNy03
LCA3LTgsIDctOSwgNy0xMCwgNy0xMSwgNy0xMiwgNy0xMywgNy0xNCwgNy0xNSwgNy0xNiwg
Ny0xNywgNy0xOCwgNy0xOSwgNy0yMCwgNy0yMSwgNy0yMiwgNy0yMywgNy0yNCwgNy0yNSwg
Ny0yNiwgNy0yNywgNy0yOCwgNy0yOSwgNy0zMCwgNy0zMSBub3QgY29ubmVjdGVkLg0KKFhF
TikgLi5USU1FUjogdmVjdG9yPTB4RjAgYXBpYzE9MCBwaW4xPTIgYXBpYzI9LTEgcGluMj0t
MQ0KKFhFTikgbnVtYmVyIG9mIE1QIElSUSBzb3VyY2VzOiAxNS4NCihYRU4pIG51bWJlciBv
ZiBJTy1BUElDICM2IHJlZ2lzdGVyczogMjQuDQooWEVOKSBudW1iZXIgb2YgSU8tQVBJQyAj
NyByZWdpc3RlcnM6IDMyLg0KKFhFTikgdGVzdGluZyB0aGUgSU8gQVBJQy4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uDQooWEVOKSBJTyBBUElDICM2Li4uLi4uDQooWEVOKSAuLi4uIHJlZ2lz
dGVyICMwMDogMDYwMDAwMDANCihYRU4pIC4uLi4uLi4gICAgOiBwaHlzaWNhbCBBUElDIGlk
OiAwNg0KKFhFTikgLi4uLi4uLiAgICA6IERlbGl2ZXJ5IFR5cGU6IDANCihYRU4pIC4uLi4u
Li4gICAgOiBMVFMgICAgICAgICAgOiAwDQooWEVOKSAuLi4uIHJlZ2lzdGVyICMwMTogMDAx
NzgwMjENCihYRU4pIC4uLi4uLi4gICAgIDogbWF4IHJlZGlyZWN0aW9uIGVudHJpZXM6IDAw
MTcNCihYRU4pIC4uLi4uLi4gICAgIDogUFJRIGltcGxlbWVudGVkOiAxDQooWEVOKSAuLi4u
Li4uICAgICA6IElPIEFQSUMgdmVyc2lvbjogMDAyMQ0KKFhFTikgLi4uLiByZWdpc3RlciAj
MDI6IDA2MDAwMDAwDQooWEVOKSAuLi4uLi4uICAgICA6IGFyYml0cmF0aW9uOiAwNg0KKFhF
TikgLi4uLiByZWdpc3RlciAjMDM6IDA3MDAwMDAwDQooWEVOKSAuLi4uLi4uICAgICA6IEJv
b3QgRFQgICAgOiAwDQooWEVOKSAuLi4uIElSUSByZWRpcmVjdGlvbiB0YWJsZToNCihYRU4p
ICBOUiBMb2cgUGh5IE1hc2sgVHJpZyBJUlIgUG9sIFN0YXQgRGVzdCBEZWxpIFZlY3Q6ICAg
DQooWEVOKSAgMDAgMDAwIDAwICAxICAgIDAgICAgMCAgIDAgICAwICAgIDAgICAgMCAgICAw
MA0KKFhFTikgIDAxIDAwMSAwMSAgMCAgICAwICAgIDAgICAwICAgMCAgICAxICAgIDEgICAg
MzANCihYRU4pICAwMiAwMDEgMDEgIDAgICAgMCAgICAwICAgMCAgIDAgICAgMSAgICAxICAg
IEYwDQooWEVOKSAgMDMgMDAxIDAxICAwICAgIDAgICAgMCAgIDAgICAwICAgIDEgICAgMSAg
ICAzOA0KKFhFTikgIDA0IDAwMSAwMSAgMCAgICAwICAgIDAgICAwICAgMCAgICAxICAgIDEg
ICAgRjENCihYRU4pICAwNSAwMDEgMDEgIDAgICAgMCAgICAwICAgMCAgIDAgICAgMSAgICAx
ICAgIDQwDQooWEVOKSAgMDYgMDAxIDAxICAwICAgIDAgICAgMCAgIDAgICAwICAgIDEgICAg
MSAgICA0OA0KKFhFTikgIDA3IDAwMSAwMSAgMCAgICAwICAgIDAgICAwICAgMCAgICAxICAg
IDEgICAgNTANCihYRU4pICAwOCAwMDEgMDEgIDAgICAgMCAgICAwICAgMCAgIDAgICAgMSAg
ICAxICAgIDU4DQooWEVOKSAgMDkgMDAxIDAxICAxICAgIDEgICAgMCAgIDEgICAwICAgIDEg
ICAgMSAgICA2MA0KKFhFTikgIDBhIDAwMSAwMSAgMCAgICAwICAgIDAgICAwICAgMCAgICAx
ICAgIDEgICAgNjgNCihYRU4pICAwYiAwMDEgMDEgIDAgICAgMCAgICAwICAgMCAgIDAgICAg
MSAgICAxICAgIDcwDQooWEVOKSAgMGMgMDAxIDAxICAwICAgIDAgICAgMCAgIDAgICAwICAg
IDEgICAgMSAgICA3OA0KKFhFTikgIDBkIDAwMSAwMSAgMCAgICAwICAgIDAgICAwICAgMCAg
ICAxICAgIDEgICAgODgNCihYRU4pICAwZSAwMDEgMDEgIDAgICAgMCAgICAwICAgMCAgIDAg
ICAgMSAgICAxICAgIDkwDQooWEVOKSAgMGYgMDAxIDAxICAwICAgIDAgICAgMCAgIDAgICAw
ICAgIDEgICAgMSAgICA5OA0KKFhFTikgIDEwIDAwMCAwMCAgMSAgICAwICAgIDAgICAwICAg
MCAgICAwICAgIDAgICAgMDANCihYRU4pICAxMSAwMDAgMDAgIDEgICAgMCAgICAwICAgMCAg
IDAgICAgMCAgICAwICAgIDAwDQooWEVOKSAgMTIgMDAwIDAwICAxICAgIDAgICAgMCAgIDAg
ICAwICAgIDAgICAgMCAgICAwMA0KKFhFTikgIDEzIDAwMCAwMCAgMSAgICAwICAgIDAgICAw
ICAgMCAgICAwICAgIDAgICAgMDANCihYRU4pICAxNCAwMDAgMDAgIDEgICAgMCAgICAwICAg
MCAgIDAgICAgMCAgICAwICAgIDAwDQooWEVOKSAgMTUgMDAwIDAwICAxICAgIDAgICAgMCAg
IDAgICAwICAgIDAgICAgMCAgICAwMA0KKFhFTikgIDE2IDAwMCAwMCAgMSAgICAwICAgIDAg
ICAwICAgMCAgICAwICAgIDAgICAgMDANCihYRU4pICAxNyAwMDAgMDAgIDEgICAgMCAgICAw
ICAgMCAgIDAgICAgMCAgICAwICAgIDAwDQooWEVOKSBJTyBBUElDICM3Li4uLi4uDQooWEVO
KSAuLi4uIHJlZ2lzdGVyICMwMDogMDcwMDAwMDANCihYRU4pIC4uLi4uLi4gICAgOiBwaHlz
aWNhbCBBUElDIGlkOiAwNw0KKFhFTikgLi4uLi4uLiAgICA6IERlbGl2ZXJ5IFR5cGU6IDAN
CihYRU4pIC4uLi4uLi4gICAgOiBMVFMgICAgICAgICAgOiAwDQooWEVOKSAuLi4uIHJlZ2lz
dGVyICMwMTogMDAxRjgwMjENCihYRU4pIC4uLi4uLi4gICAgIDogbWF4IHJlZGlyZWN0aW9u
IGVudHJpZXM6IDAwMUYNCihYRU4pIC4uLi4uLi4gICAgIDogUFJRIGltcGxlbWVudGVkOiAx
DQooWEVOKSAuLi4uLi4uICAgICA6IElPIEFQSUMgdmVyc2lvbjogMDAyMQ0KKFhFTikgLi4u
LiByZWdpc3RlciAjMDI6IDAwMDAwMDAwDQooWEVOKSAuLi4uLi4uICAgICA6IGFyYml0cmF0
aW9uOiAwMA0KKFhFTikgLi4uLiBJUlEgcmVkaXJlY3Rpb24gdGFibGU6DQooWEVOKSAgTlIg
TG9nIFBoeSBNYXNrIFRyaWcgSVJSIFBvbCBTdGF0IERlc3QgRGVsaSBWZWN0OiAgIA0KKFhF
TikgIDAwIDAwMCAwMCAgMSAgICAwICAgIDAgICAwICAgMCAgICAwICAgIDAgICAgMDANCihY
RU4pICAwMSAwMDAgMDAgIDEgICAgMCAgICAwICAgMCAgIDAgICAgMCAgICAwICAgIDAwDQoo
WEVOKSAgMDIgMDAwIDAwICAxICAgIDAgICAgMCAgIDAgICAwICAgIDAgICAgMCAgICAwMA0K
KFhFTikgIDAzIDAwMCAwMCAgMSAgICAwICAgIDAgICAwICAgMCAgICAwICAgIDAgICAgMDAN
CihYRU4pICAwNCAwMDAgMDAgIDEgICAgMCAgICAwICAgMCAgIDAgICAgMCAgICAwICAgIDAw
DQooWEVOKSAgMDUgMDAwIDAwICAxICAgIDAgICAgMCAgIDAgICAwICAgIDAgICAgMCAgICAw
MA0KKFhFTikgIDA2IDAwMCAwMCAgMSAgICAwICAgIDAgICAwICAgMCAgICAwICAgIDAgICAg
MDANCihYRU4pICAwNyAwMDAgMDAgIDEgICAgMCAgICAwICAgMCAgIDAgICAgMCAgICAwICAg
IDAwDQooWEVOKSAgMDggMDAwIDAwICAxICAgIDAgICAgMCAgIDAgICAwICAgIDAgICAgMCAg
ICAwMA0KKFhFTikgIDA5IDAwMCAwMCAgMSAgICAwICAgIDAgICAwICAgMCAgICAwICAgIDAg
ICAgMDANCihYRU4pICAwYSAwMDAgMDAgIDEgICAgMCAgICAwICAgMCAgIDAgICAgMCAgICAw
ICAgIDAwDQooWEVOKSAgMGIgMDAwIDAwICAxICAgIDAgICAgMCAgIDAgICAwICAgIDAgICAg
MCAgICAwMA0KKFhFTikgIDBjIDAwMCAwMCAgMSAgICAwICAgIDAgICAwICAgMCAgICAwICAg
IDAgICAgMDANCihYRU4pICAwZCAwMDAgMDAgIDEgICAgMCAgICAwICAgMCAgIDAgICAgMCAg
ICAwICAgIDAwDQooWEVOKSAgMGUgMDAwIDAwICAxICAgIDAgICAgMCAgIDAgICAwICAgIDAg
ICAgMCAgICAwMA0KKFhFTikgIDBmIDAwMCAwMCAgMSAgICAwICAgIDAgICAwICAgMCAgICAw
ICAgIDAgICAgMDANCihYRU4pICAxMCAwMDAgMDAgIDEgICAgMCAgICAwICAgMCAgIDAgICAg
MCAgICAwICAgIDAwDQooWEVOKSAgMTEgMDAwIDAwICAxICAgIDAgICAgMCAgIDAgICAwICAg
IDAgICAgMCAgICAwMA0KKFhFTikgIDEyIDAwMCAwMCAgMSAgICAwICAgIDAgICAwICAgMCAg
ICAwICAgIDAgICAgMDANCihYRU4pICAxMyAwMDAgMDAgIDEgICAgMCAgICAwICAgMCAgIDAg
ICAgMCAgICAwICAgIDAwDQooWEVOKSAgMTQgMDAwIDAwICAxICAgIDAgICAgMCAgIDAgICAw
ICAgIDAgICAgMCAgICAwMA0KKFhFTikgIDE1IDAwMCAwMCAgMSAgICAwICAgIDAgICAwICAg
MCAgICAwICAgIDAgICAgMDANCihYRU4pICAxNiAwMDAgMDAgIDEgICAgMCAgICAwICAgMCAg
IDAgICAgMCAgICAwICAgIDAwDQooWEVOKSAgMTcgMDAwIDAwICAxICAgIDAgICAgMCAgIDAg
ICAwICAgIDAgICAgMCAgICAwMA0KKFhFTikgIDE4IDAwMCAwMCAgMSAgICAwICAgIDAgICAw
ICAgMCAgICAwICAgIDAgICAgMDANCihYRU4pICAxOSAwMDAgMDAgIDEgICAgMCAgICAwICAg
MCAgIDAgICAgMCAgICAwICAgIDAwDQooWEVOKSAgMWEgMDAwIDAwICAxICAgIDAgICAgMCAg
IDAgICAwICAgIDAgICAgMCAgICAwMA0KKFhFTikgIDFiIDAwMCAwMCAgMSAgICAwICAgIDAg
ICAwICAgMCAgICAwICAgIDAgICAgMDANCihYRU4pICAxYyAwMDAgMDAgIDEgICAgMCAgICAw
ICAgMCAgIDAgICAgMCAgICAwICAgIDAwDQooWEVOKSAgMWQgMDAwIDAwICAxICAgIDAgICAg
MCAgIDAgICAwICAgIDAgICAgMCAgICAwMA0KKFhFTikgIDFlIDAwMCAwMCAgMSAgICAwICAg
IDAgICAwICAgMCAgICAwICAgIDAgICAgMDANCihYRU4pICAxZiAwMDAgMDAgIDEgICAgMCAg
ICAwICAgMCAgIDAgICAgMCAgICAwICAgIDAwDQooWEVOKSBVc2luZyB2ZWN0b3ItYmFzZWQg
aW5kZXhpbmcNCihYRU4pIElSUSB0byBwaW4gbWFwcGluZ3M6DQooWEVOKSBJUlEyNDAgLT4g
MDoyDQooWEVOKSBJUlE0OCAtPiAwOjENCihYRU4pIElSUTU2IC0+IDA6Mw0KKFhFTikgSVJR
MjQxIC0+IDA6NA0KKFhFTikgSVJRNjQgLT4gMDo1DQooWEVOKSBJUlE3MiAtPiAwOjYNCihY
RU4pIElSUTgwIC0+IDA6Nw0KKFhFTikgSVJRODggLT4gMDo4DQooWEVOKSBJUlE5NiAtPiAw
OjkNCihYRU4pIElSUTEwNCAtPiAwOjEwDQooWEVOKSBJUlExMTIgLT4gMDoxMQ0KKFhFTikg
SVJRMTIwIC0+IDA6MTINCihYRU4pIElSUTEzNiAtPiAwOjEzDQooWEVOKSBJUlExNDQgLT4g
MDoxNA0KKFhFTikgSVJRMTUyIC0+IDA6MTUNCihYRU4pIC4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLiBkb25lLg0KKFhFTikgVXNpbmcgbG9jYWwgQVBJQyB0aW1lciBp
bnRlcnJ1cHRzLg0KKFhFTikgY2FsaWJyYXRpbmcgQVBJQyB0aW1lciAuLi4NCihYRU4pIC4u
Li4uIENQVSBjbG9jayBzcGVlZCBpcyAzMjAwLjEyOTUgTUh6Lg0KKFhFTikgLi4uLi4gaG9z
dCBidXMgY2xvY2sgc3BlZWQgaXMgMjAwLjAwODAgTUh6Lg0KKFhFTikgLi4uLi4gYnVzX3Nj
YWxlID0gMHhjY2Q3DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxM10gUGxhdGZvcm0gdGlt
ZXIgaXMgMTQuMzE4TUh6IEhQRVQNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjEzXSBBbGxv
Y2F0ZWQgY29uc29sZSByaW5nIG9mIDY0IEtpQi4NCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEz
OjEzXSBIVk06IEFTSURzIGVuYWJsZWQuDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxM10g
U1ZNOiBTdXBwb3J0ZWQgYWR2YW5jZWQgZmVhdHVyZXM6DQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxMzoxM10gIC0gTmVzdGVkIFBhZ2UgVGFibGVzIChOUFQpDQooWEVOKSBbMjAxMi0xMC0x
MCAxNToxMzoxM10gIC0gTGFzdCBCcmFuY2ggUmVjb3JkIChMQlIpIFZpcnR1YWxpc2F0aW9u
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxM10gIC0gTmV4dC1SSVAgU2F2ZWQgb24gI1ZN
RVhJVA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTNdICAtIFBhdXNlLUludGVyY2VwdCBG
aWx0ZXINCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjEzXSBIVk06IFNWTSBlbmFibGVkDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxM10gSFZNOiBIYXJkd2FyZSBBc3Npc3RlZCBQYWdp
bmcgKEhBUCkgZGV0ZWN0ZWQNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjEzXSBIVk06IEhB
UCBwYWdlIHNpemVzOiA0a0IsIDJNQiwgMUdCDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzox
Ml0gbWFza2VkIEV4dElOVCBvbiBDUFUjMQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTNd
IG1pY3JvY29kZTogY29sbGVjdF9jcHVfaW5mbzogcGF0Y2hfaWQ9MHgxMDAwMGJmDQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxMzoxMl0gbWFza2VkIEV4dElOVCBvbiBDUFUjMg0KKFhFTikg
WzIwMTItMTAtMTAgMTU6MTM6MTNdIG1pY3JvY29kZTogY29sbGVjdF9jcHVfaW5mbzogcGF0
Y2hfaWQ9MHgxMDAwMGJmDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxMl0gbWFza2VkIEV4
dElOVCBvbiBDUFUjMw0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTNdIG1pY3JvY29kZTog
Y29sbGVjdF9jcHVfaW5mbzogcGF0Y2hfaWQ9MHgxMDAwMGJmDQooWEVOKSBbMjAxMi0xMC0x
MCAxNToxMzoxMl0gbWFza2VkIEV4dElOVCBvbiBDUFUjNA0KKFhFTikgWzIwMTItMTAtMTAg
MTU6MTM6MTNdIG1pY3JvY29kZTogY29sbGVjdF9jcHVfaW5mbzogcGF0Y2hfaWQ9MHgxMDAw
MGJmDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxMl0gbWFza2VkIEV4dElOVCBvbiBDUFUj
NQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTNdIEJyb3VnaHQgdXAgNiBDUFVzDQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxMzoxM10gbWljcm9jb2RlOiBjb2xsZWN0X2NwdV9pbmZvOiBw
YXRjaF9pZD0weDEwMDAwYmYNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjEzXSBIUEVUJ3Mg
TVNJIG1vZGUgaGFzbid0IGJlZW4gc3VwcG9ydGVkIHdoZW4gSW50ZXJydXB0IFJlbWFwcGlu
ZyBpcyBlbmFibGVkLg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTNdIEFDUEkgc2xlZXAg
bW9kZXM6IFMzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxM10gTUNBOiBVc2UgaHcgdGhy
ZXNob2xkaW5nIHRvIGFkanVzdCBwb2xsaW5nIGZyZXF1ZW5jeQ0KKFhFTikgWzIwMTItMTAt
MTAgMTU6MTM6MTNdIG1jaGVja19wb2xsOiBNYWNoaW5lIGNoZWNrIHBvbGxpbmcgdGltZXIg
c3RhcnRlZC4NCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjEzXSBYZW5vcHJvZmlsZTogRmFp
bGVkIHRvIHNldHVwIElCUyBMVlQgb2Zmc2V0LCBJQlNDVEwgPSAweGZmZmZmZmZmDQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxMzoxM10gKioqIExPQURJTkcgRE9NQUlOIDAgKioqDQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxMzoxM10gZWxmX3BhcnNlX2JpbmFyeTogcGhkcjogcGFkZHI9
MHgxMDAwMDAwIG1lbXN6PTB4YWYyMDAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxM10g
ZWxmX3BhcnNlX2JpbmFyeTogcGhkcjogcGFkZHI9MHgxYzAwMDAwIG1lbXN6PTB4Y2EwZTgN
CihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjEzXSBlbGZfcGFyc2VfYmluYXJ5OiBwaGRyOiBw
YWRkcj0weDFjY2IwMDAgbWVtc3o9MHgxM2NjMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6
MTNdIGVsZl9wYXJzZV9iaW5hcnk6IHBoZHI6IHBhZGRyPTB4MWNkZjAwMCBtZW1zej0weGRl
NjAwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTNdIGVsZl9wYXJzZV9iaW5hcnk6IG1l
bW9yeTogMHgxMDAwMDAwIC0+IDB4MmFjNTAwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6
MTNdIGVsZl94ZW5fcGFyc2Vfbm90ZTogR1VFU1RfT1MgPSAibGludXgiDQooWEVOKSBbMjAx
Mi0xMC0xMCAxNToxMzoxM10gZWxmX3hlbl9wYXJzZV9ub3RlOiBHVUVTVF9WRVJTSU9OID0g
IjIuNiINCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjEzXSBlbGZfeGVuX3BhcnNlX25vdGU6
IFhFTl9WRVJTSU9OID0gInhlbi0zLjAiDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxM10g
ZWxmX3hlbl9wYXJzZV9ub3RlOiBWSVJUX0JBU0UgPSAweGZmZmZmZmZmODAwMDAwMDANCihY
RU4pIFsyMDEyLTEwLTEwIDE1OjEzOjEzXSBlbGZfeGVuX3BhcnNlX25vdGU6IEVOVFJZID0g
MHhmZmZmZmZmZjgxY2RmMjEwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxM10gZWxmX3hl
bl9wYXJzZV9ub3RlOiBIWVBFUkNBTExfUEFHRSA9IDB4ZmZmZmZmZmY4MTAwMTAwMA0KKFhF
TikgWzIwMTItMTAtMTAgMTU6MTM6MTNdIGVsZl94ZW5fcGFyc2Vfbm90ZTogRkVBVFVSRVMg
PSAiIXdyaXRhYmxlX3BhZ2VfdGFibGVzfHBhZV9wZ2Rpcl9hYm92ZV80Z2IiDQooWEVOKSBb
MjAxMi0xMC0xMCAxNToxMzoxM10gZWxmX3hlbl9wYXJzZV9ub3RlOiBQQUVfTU9ERSA9ICJ5
ZXMiDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxM10gZWxmX3hlbl9wYXJzZV9ub3RlOiBM
T0FERVIgPSAiZ2VuZXJpYyINCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjEzXSBlbGZfeGVu
X3BhcnNlX25vdGU6IHVua25vd24geGVuIGVsZiBub3RlICgweGQpDQooWEVOKSBbMjAxMi0x
MC0xMCAxNToxMzoxM10gZWxmX3hlbl9wYXJzZV9ub3RlOiBTVVNQRU5EX0NBTkNFTCA9IDB4
MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTNdIGVsZl94ZW5fcGFyc2Vfbm90ZTogSFZf
U1RBUlRfTE9XID0gMHhmZmZmODAwMDAwMDAwMDAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
MzoxM10gZWxmX3hlbl9wYXJzZV9ub3RlOiBQQUREUl9PRkZTRVQgPSAweDANCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjEzOjEzXSBlbGZfeGVuX2FkZHJfY2FsY19jaGVjazogYWRkcmVzc2Vz
Og0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTNdICAgICB2aXJ0X2Jhc2UgICAgICAgID0g
MHhmZmZmZmZmZjgwMDAwMDAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxM10gICAgIGVs
Zl9wYWRkcl9vZmZzZXQgPSAweDANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjEzXSAgICAg
dmlydF9vZmZzZXQgICAgICA9IDB4ZmZmZmZmZmY4MDAwMDAwMA0KKFhFTikgWzIwMTItMTAt
MTAgMTU6MTM6MTNdICAgICB2aXJ0X2tzdGFydCAgICAgID0gMHhmZmZmZmZmZjgxMDAwMDAw
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gICAgIHZpcnRfa2VuZCAgICAgICAgPSAw
eGZmZmZmZmZmODJhYzUwMDANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE0XSAgICAgdmly
dF9lbnRyeSAgICAgICA9IDB4ZmZmZmZmZmY4MWNkZjIxMA0KKFhFTikgWzIwMTItMTAtMTAg
MTU6MTM6MTRdICAgICBwMm1fYmFzZSAgICAgICAgID0gMHhmZmZmZmZmZmZmZmZmZmZmDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gIFhlbiAga2VybmVsOiA2NC1iaXQsIGxzYiwg
Y29tcGF0MzINCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE0XSAgRG9tMCBrZXJuZWw6IDY0
LWJpdCwgUEFFLCBsc2IsIHBhZGRyIDB4MTAwMDAwMCAtPiAweDJhYzUwMDANCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjEzOjE0XSBQSFlTSUNBTCBNRU1PUlkgQVJSQU5HRU1FTlQ6DQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gIERvbTAgYWxsb2MuOiAgIDAwMDAwMDAyNDAwMDAw
MDAtPjAwMDAwMDAyNDQwMDAwMDAgKDI0MjQyOCBwYWdlcyB0byBiZSBhbGxvY2F0ZWQpDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gIEluaXQuIHJhbWRpc2s6IDAwMDAwMDAyNGYy
ZmMwMDAtPjAwMDAwMDAyNGZmZmY4MDANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE0XSBW
SVJUVUFMIE1FTU9SWSBBUlJBTkdFTUVOVDoNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE0
XSAgTG9hZGVkIGtlcm5lbDogZmZmZmZmZmY4MTAwMDAwMC0+ZmZmZmZmZmY4MmFjNTAwMA0K
KFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTRdICBJbml0LiByYW1kaXNrOiBmZmZmZmZmZjgy
YWM1MDAwLT5mZmZmZmZmZjgzN2M4ODAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0g
IFBoeXMtTWFjaCBtYXA6IGZmZmZmZmZmODM3YzkwMDAtPmZmZmZmZmZmODM5YzkwMDANCihY
RU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE0XSAgU3RhcnQgaW5mbzogICAgZmZmZmZmZmY4Mzlj
OTAwMC0+ZmZmZmZmZmY4MzljOTRiNA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTRdICBQ
YWdlIHRhYmxlczogICBmZmZmZmZmZjgzOWNhMDAwLT5mZmZmZmZmZjgzOWViMDAwDQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gIEJvb3Qgc3RhY2s6ICAgIGZmZmZmZmZmODM5ZWIw
MDAtPmZmZmZmZmZmODM5ZWMwMDANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE0XSAgVE9U
QUw6ICAgICAgICAgZmZmZmZmZmY4MDAwMDAwMC0+ZmZmZmZmZmY4M2MwMDAwMA0KKFhFTikg
WzIwMTItMTAtMTAgMTU6MTM6MTRdICBFTlRSWSBBRERSRVNTOiBmZmZmZmZmZjgxY2RmMjEw
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gRG9tMCBoYXMgbWF4aW11bSA2IFZDUFVz
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gZWxmX2xvYWRfYmluYXJ5OiBwaGRyIDAg
YXQgMHhmZmZmZmZmZjgxMDAwMDAwIC0+IDB4ZmZmZmZmZmY4MWFmMjAwMA0KKFhFTikgWzIw
MTItMTAtMTAgMTU6MTM6MTRdIGVsZl9sb2FkX2JpbmFyeTogcGhkciAxIGF0IDB4ZmZmZmZm
ZmY4MWMwMDAwMCAtPiAweGZmZmZmZmZmODFjY2EwZTgNCihYRU4pIFsyMDEyLTEwLTEwIDE1
OjEzOjE0XSBlbGZfbG9hZF9iaW5hcnk6IHBoZHIgMiBhdCAweGZmZmZmZmZmODFjY2IwMDAg
LT4gMHhmZmZmZmZmZjgxY2RlY2MwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gZWxm
X2xvYWRfYmluYXJ5OiBwaGRyIDMgYXQgMHhmZmZmZmZmZjgxY2RmMDAwIC0+IDB4ZmZmZmZm
ZmY4MWQ3ZjAwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTRdIEFNRC1WaTogU2V0dXAg
SS9PIHBhZ2UgdGFibGU6IGRldmljZSBpZCA9IDAsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAw
MCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
MzoxNF0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHgyLCBy
b290IHRhYmxlID0gMHgyNDdlZDQwMDAsIGRvbWFpbiA9IDAsIHBhZ2luZyBtb2RlID0gMw0K
KFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTRdIEFNRC1WaTogU2V0dXAgSS9PIHBhZ2UgdGFi
bGU6IGRldmljZSBpZCA9IDB4MTAsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWlu
ID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gQU1E
LVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHgxOCwgcm9vdCB0YWJs
ZSA9IDB4MjQ3ZWQ0MDAwLCBkb21haW4gPSAwLCBwYWdpbmcgbW9kZSA9IDMNCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjEzOjE0XSBBTUQtVmk6IFNldHVwIEkvTyBwYWdlIHRhYmxlOiBkZXZp
Y2UgaWQgPSAweDI4LCByb290IHRhYmxlID0gMHgyNDdlZDQwMDAsIGRvbWFpbiA9IDAsIHBh
Z2luZyBtb2RlID0gMw0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTRdIEFNRC1WaTogU2V0
dXAgSS9PIHBhZ2UgdGFibGU6IGRldmljZSBpZCA9IDB4MzAsIHJvb3QgdGFibGUgPSAweDI0
N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0x
MCAxNToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0g
MHg1MCwgcm9vdCB0YWJsZSA9IDB4MjQ3ZWQ0MDAwLCBkb21haW4gPSAwLCBwYWdpbmcgbW9k
ZSA9IDMNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE0XSBBTUQtVmk6IFNldHVwIEkvTyBw
YWdlIHRhYmxlOiBkZXZpY2UgaWQgPSAweDU4LCByb290IHRhYmxlID0gMHgyNDdlZDQwMDAs
IGRvbWFpbiA9IDAsIHBhZ2luZyBtb2RlID0gMw0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6
MTRdIEFNRC1WaTogU2V0dXAgSS9PIHBhZ2UgdGFibGU6IGRldmljZSBpZCA9IDB4NjgsIHJv
b3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJs
ZTogZGV2aWNlIGlkID0gMHg4OCwgcm9vdCB0YWJsZSA9IDB4MjQ3ZWQ0MDAwLCBkb21haW4g
PSAwLCBwYWdpbmcgbW9kZSA9IDMNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE0XSBBTUQt
Vmk6IFNldHVwIEkvTyBwYWdlIHRhYmxlOiBkZXZpY2UgaWQgPSAweDkwLCByb290IHRhYmxl
ID0gMHgyNDdlZDQwMDAsIGRvbWFpbiA9IDAsIHBhZ2luZyBtb2RlID0gMw0KKFhFTikgWzIw
MTItMTAtMTAgMTU6MTM6MTRdIEFNRC1WaTogU2V0dXAgSS9PIHBhZ2UgdGFibGU6IGRldmlj
ZSBpZCA9IDB4OTIsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFn
aW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gQU1ELVZpOiBTZXR1
cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg5OCwgcm9vdCB0YWJsZSA9IDB4MjQ3
ZWQ0MDAwLCBkb21haW4gPSAwLCBwYWdpbmcgbW9kZSA9IDMNCihYRU4pIFsyMDEyLTEwLTEw
IDE1OjEzOjE0XSBBTUQtVmk6IFNldHVwIEkvTyBwYWdlIHRhYmxlOiBkZXZpY2UgaWQgPSAw
eDlhLCByb290IHRhYmxlID0gMHgyNDdlZDQwMDAsIGRvbWFpbiA9IDAsIHBhZ2luZyBtb2Rl
ID0gMw0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTRdIEFNRC1WaTogU2V0dXAgSS9PIHBh
Z2UgdGFibGU6IGRldmljZSBpZCA9IDB4YTAsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwg
ZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzox
NF0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHhhMSwgcm9v
dCB0YWJsZSA9IDB4MjQ3ZWQ0MDAwLCBkb21haW4gPSAwLCBwYWdpbmcgbW9kZSA9IDMNCihY
RU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE0XSBBTUQtVmk6IFNldHVwIEkvTyBwYWdlIHRhYmxl
OiBkZXZpY2UgaWQgPSAweGEyLCByb290IHRhYmxlID0gMHgyNDdlZDQwMDAsIGRvbWFpbiA9
IDAsIHBhZ2luZyBtb2RlID0gMw0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTRdIEFNRC1W
aTogU2V0dXAgSS9PIHBhZ2UgdGFibGU6IGRldmljZSBpZCA9IDB4YTMsIHJvb3QgdGFibGUg
PSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAx
Mi0xMC0xMCAxNToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNl
IGlkID0gMHhhNCwgcm9vdCB0YWJsZSA9IDB4MjQ3ZWQ0MDAwLCBkb21haW4gPSAwLCBwYWdp
bmcgbW9kZSA9IDMNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE0XSBBTUQtVmk6IFNldHVw
IEkvTyBwYWdlIHRhYmxlOiBkZXZpY2UgaWQgPSAweGE1LCByb290IHRhYmxlID0gMHgyNDdl
ZDQwMDAsIGRvbWFpbiA9IDAsIHBhZ2luZyBtb2RlID0gMw0KKFhFTikgWzIwMTItMTAtMTAg
MTU6MTM6MTRdIEFNRC1WaTogU2V0dXAgSS9PIHBhZ2UgdGFibGU6IGRldmljZSBpZCA9IDB4
YTgsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUg
PSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJL08gcGFn
ZSB0YWJsZTogZGV2aWNlIGlkID0gMHhiMCwgcm9vdCB0YWJsZSA9IDB4MjQ3ZWQ0MDAwLCBk
b21haW4gPSAwLCBwYWdpbmcgbW9kZSA9IDMNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE0
XSBBTUQtVmk6IFNldHVwIEkvTyBwYWdlIHRhYmxlOiBkZXZpY2UgaWQgPSAweGIyLCByb290
IHRhYmxlID0gMHgyNDdlZDQwMDAsIGRvbWFpbiA9IDAsIHBhZ2luZyBtb2RlID0gMw0KKFhF
TikgWzIwMTItMTAtMTAgMTU6MTM6MTRdIEFNRC1WaTogTm8gaW9tbXUgZm9yIGRldmljZSAw
MDAwOjAwOjE4LjANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE0XSBBTUQtVmk6IE5vIGlv
bW11IGZvciBkZXZpY2UgMDAwMDowMDoxOC4xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzox
NF0gQU1ELVZpOiBObyBpb21tdSBmb3IgZGV2aWNlIDAwMDA6MDA6MTguMg0KKFhFTikgWzIw
MTItMTAtMTAgMTU6MTM6MTRdIEFNRC1WaTogTm8gaW9tbXUgZm9yIGRldmljZSAwMDAwOjAw
OjE4LjMNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE0XSBBTUQtVmk6IE5vIGlvbW11IGZv
ciBkZXZpY2UgMDAwMDowMDoxOC40DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gQU1E
LVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg0MDAsIHJvb3QgdGFi
bGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBb
MjAxMi0xMC0xMCAxNToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2
aWNlIGlkID0gMHg0MDEsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwg
cGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gQU1ELVZpOiBT
ZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg0MDIsIHJvb3QgdGFibGUgPSAw
eDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0x
MC0xMCAxNToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlk
ID0gMHg0MDMsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5n
IG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJ
L08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg0MDQsIHJvb3QgdGFibGUgPSAweDI0N2Vk
NDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg0
MDUsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUg
PSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJL08gcGFn
ZSB0YWJsZTogZGV2aWNlIGlkID0gMHg0MDYsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwg
ZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzox
NF0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg0MDcsIHJv
b3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJs
ZTogZGV2aWNlIGlkID0gMHg1MDAsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWlu
ID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gQU1E
LVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg1MDEsIHJvb3QgdGFi
bGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBb
MjAxMi0xMC0xMCAxNToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2
aWNlIGlkID0gMHg2MDAsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwg
cGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gQU1ELVZpOiBT
ZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg3MDAsIHJvb3QgdGFibGUgPSAw
eDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0x
MC0xMCAxNToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlk
ID0gMHg4MDAsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5n
IG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJ
L08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg5MDAsIHJvb3QgdGFibGUgPSAweDI0N2Vk
NDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxMzoxNF0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg5
MDEsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUg
PSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNV0gQU1ELVZpOiBTZXR1cCBJL08gcGFn
ZSB0YWJsZTogZGV2aWNlIGlkID0gMHg5MDIsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwg
ZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzox
NV0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg5MDMsIHJv
b3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNV0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJs
ZTogZGV2aWNlIGlkID0gMHg5MDQsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWlu
ID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNV0gQU1E
LVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg5MDUsIHJvb3QgdGFi
bGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBb
MjAxMi0xMC0xMCAxNToxMzoxNV0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2
aWNlIGlkID0gMHg5MDYsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwg
cGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNV0gQU1ELVZpOiBT
ZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg5MDcsIHJvb3QgdGFibGUgPSAw
eDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0x
MC0xMCAxNToxMzoxNV0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlk
ID0gMHhhMDAsIHJvb3QgdGFibGUgPSAweDI0N2VkNDAwMCwgZG9tYWluID0gMCwgcGFnaW5n
IG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNV0gU2NydWJiaW5nIEZyZWUg
UkFNOiAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLmRvbmUuDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzox
Nl0gSW5pdGlhbCBsb3cgbWVtb3J5IHZpcnEgdGhyZXNob2xkIHNldCBhdCAweDQwMDAgcGFn
ZXMuDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNl0gU3RkLiBMb2dsZXZlbDogQWxsDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxNl0gR3Vlc3QgTG9nbGV2ZWw6IEFsbA0KKFhFTikg
WzIwMTItMTAtMTAgMTU6MTM6MTZdIFhlbiBpcyByZWxpbnF1aXNoaW5nIFZHQSBjb25zb2xl
Lg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTddICoqKiBTZXJpYWwgaW5wdXQgLT4gRE9N
MCAodHlwZSAnQ1RSTC1hJyB0aHJlZSB0aW1lcyB0byBzd2l0Y2ggaW5wdXQgdG8gWGVuKQ0K
KFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTddIEZyZWVkIDI2MGtCIGluaXQgbWVtb3J5Lg0K
KFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MTddIElPQVBJQ1swXTogU2V0IFBDSSByb3V0aW5n
IGVudHJ5ICg2LTkgLT4gMHg2MCAtPiBJUlEgOSBNb2RlOjEgQWN0aXZlOjEpDQooWEVOKSBb
MjAxMi0xMC0xMCAxNToxMzoxN10gdHJhcHMuYzoyNTEyOmQwIERvbWFpbiBhdHRlbXB0ZWQg
V1JNU1IgMDAwMDAwMDBjMDAxMDAwNCBmcm9tIDB4MDAwMGVmZjJiZmRiMWE5ZSB0byAweDAw
MDAwMDAwMDAwMGFiY2QuDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBk
ZXZpY2UgMDAwMDowMDowMC4wDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFk
ZCBkZXZpY2UgMDAwMDowMDowMC4yDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJ
IGFkZCBkZXZpY2UgMDAwMDowMDowMi4wDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10g
UENJIGFkZCBkZXZpY2UgMDAwMDowMDowMy4wDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzox
N10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDowNS4wDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
MzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDowNi4wDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDowYS4wDQooWEVOKSBbMjAxMi0xMC0x
MCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDowYi4wDQooWEVOKSBbMjAxMi0x
MC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDowZC4wDQooWEVOKSBbMjAx
Mi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMS4wDQooWEVOKSBb
MjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMi4wDQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMi4yDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxMy4w
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDox
My4yDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDow
MDoxNC4wDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAw
MDowMDoxNC4xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2Ug
MDAwMDowMDoxNC4yDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZp
Y2UgMDAwMDowMDoxNC4zDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBk
ZXZpY2UgMDAwMDowMDoxNC40DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFk
ZCBkZXZpY2UgMDAwMDowMDoxNC41DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJ
IGFkZCBkZXZpY2UgMDAwMDowMDoxNS4wDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10g
UENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNi4wDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzox
N10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNi4yDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
MzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4wDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4xDQooWEVOKSBbMjAxMi0xMC0x
MCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4yDQooWEVOKSBbMjAxMi0x
MC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC4zDQooWEVOKSBbMjAx
Mi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxOC40DQooWEVOKSBb
MjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowYTowMC4wDQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowOTowMC4wDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowOTowMC4x
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowOTow
MC4yDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDow
OTowMC4zDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAw
MDowOTowMC40DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2Ug
MDAwMDowOTowMC41DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZp
Y2UgMDAwMDowOTowMC42DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBk
ZXZpY2UgMDAwMDowOTowMC43DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFk
ZCBkZXZpY2UgMDAwMDowODowMC4wDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJ
IGFkZCBkZXZpY2UgMDAwMDowNzowMC4wDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10g
UENJIGFkZCBkZXZpY2UgMDAwMDowNjowMC4wDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzox
N10gUENJIGFkZCBkZXZpY2UgMDAwMDowNTowMC4wDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
MzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowNTowMC4xDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowNDowMC4wDQooWEVOKSBbMjAxMi0xMC0x
MCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowNDowMC4xDQooWEVOKSBbMjAxMi0x
MC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowNDowMC4yDQooWEVOKSBbMjAx
Mi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowNDowMC4zDQooWEVOKSBb
MjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowNDowMC40DQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowNDowMC41DQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowNDowMC42
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDowNDow
MC43DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gUENJIGFkZCBkZXZpY2UgMDAwMDow
MzowNi4wDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gSU9BUElDWzBdOiBTZXQgUENJ
IHJvdXRpbmcgZW50cnkgKDYtOCAtPiAweDU4IC0+IElSUSA4IE1vZGU6MCBBY3RpdmU6MCkN
CihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE3XSBJT0FQSUNbMF06IFNldCBQQ0kgcm91dGlu
ZyBlbnRyeSAoNi0xMyAtPiAweDg4IC0+IElSUSAxMyBNb2RlOjAgQWN0aXZlOjApDQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxMzoxN10gSU9BUElDWzFdOiBTZXQgUENJIHJvdXRpbmcgZW50
cnkgKDctMjggLT4gMHhhMCAtPiBJUlEgNTIgTW9kZToxIEFjdGl2ZToxKQ0KKFhFTikgWzIw
MTItMTAtMTAgMTU6MTM6MTddIElPQVBJQ1sxXTogU2V0IFBDSSByb3V0aW5nIGVudHJ5ICg3
LTI5IC0+IDB4YTggLT4gSVJRIDUzIE1vZGU6MSBBY3RpdmU6MSkNCihYRU4pIFsyMDEyLTEw
LTEwIDE1OjEzOjE3XSBJT0FQSUNbMV06IFNldCBQQ0kgcm91dGluZyBlbnRyeSAoNy0zMCAt
PiAweGIwIC0+IElSUSA1NCBNb2RlOjEgQWN0aXZlOjEpDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxMzoxN10gSU9BUElDWzBdOiBTZXQgUENJIHJvdXRpbmcgZW50cnkgKDYtMTYgLT4gMHhi
OCAtPiBJUlEgMTYgTW9kZToxIEFjdGl2ZToxKQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6
MTddIElPQVBJQ1swXTogU2V0IFBDSSByb3V0aW5nIGVudHJ5ICg2LTE4IC0+IDB4YzAgLT4g
SVJRIDE4IE1vZGU6MSBBY3RpdmU6MSkNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE3XSBJ
T0FQSUNbMF06IFNldCBQQ0kgcm91dGluZyBlbnRyeSAoNi0xNyAtPiAweGM4IC0+IElSUSAx
NyBNb2RlOjEgQWN0aXZlOjEpDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gSU9BUElD
WzFdOiBTZXQgUENJIHJvdXRpbmcgZW50cnkgKDctNCAtPiAweGQwIC0+IElSUSAyOCBNb2Rl
OjEgQWN0aXZlOjEpDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gSU9BUElDWzFdOiBT
ZXQgUENJIHJvdXRpbmcgZW50cnkgKDctNSAtPiAweGQ4IC0+IElSUSAyOSBNb2RlOjEgQWN0
aXZlOjEpDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gSU9BUElDWzFdOiBTZXQgUENJ
IHJvdXRpbmcgZW50cnkgKDctNiAtPiAweDIxIC0+IElSUSAzMCBNb2RlOjEgQWN0aXZlOjEp
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxN10gSU9BUElDWzFdOiBTZXQgUENJIHJvdXRp
bmcgZW50cnkgKDctNyAtPiAweDI5IC0+IElSUSAzMSBNb2RlOjEgQWN0aXZlOjEpDQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxMzoxN10gSU9BUElDWzFdOiBTZXQgUENJIHJvdXRpbmcgZW50
cnkgKDctMTYgLT4gMHgzMSAtPiBJUlEgNDAgTW9kZToxIEFjdGl2ZToxKQ0KKFhFTikgWzIw
MTItMTAtMTAgMTU6MTM6MThdIElPQVBJQ1sxXTogU2V0IFBDSSByb3V0aW5nIGVudHJ5ICg3
LTE3IC0+IDB4MzkgLT4gSVJRIDQxIE1vZGU6MSBBY3RpdmU6MSkNCihYRU4pIFsyMDEyLTEw
LTEwIDE1OjEzOjE4XSBJT0FQSUNbMV06IFNldCBQQ0kgcm91dGluZyBlbnRyeSAoNy0xOCAt
PiAweDQxIC0+IElSUSA0MiBNb2RlOjEgQWN0aXZlOjEpDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxMzoxOF0gSU9BUElDWzFdOiBTZXQgUENJIHJvdXRpbmcgZW50cnkgKDctMTkgLT4gMHg0
OSAtPiBJUlEgNDMgTW9kZToxIEFjdGl2ZToxKQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6
MThdIElPQVBJQ1swXTogU2V0IFBDSSByb3V0aW5nIGVudHJ5ICg2LTIyIC0+IDB4OTEgLT4g
SVJRIDIyIE1vZGU6MSBBY3RpdmU6MSkNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE4XSBJ
T0FQSUNbMV06IFNldCBQQ0kgcm91dGluZyBlbnRyeSAoNy0yMyAtPiAweDk5IC0+IElSUSA0
NyBNb2RlOjEgQWN0aXZlOjEpDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoxOF0gSU9BUElD
WzBdOiBTZXQgUENJIHJvdXRpbmcgZW50cnkgKDYtMTkgLT4gMHhhMSAtPiBJUlEgMTkgTW9k
ZToxIEFjdGl2ZToxKQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTM6MThdIElPQVBJQ1sxXTog
U2V0IFBDSSByb3V0aW5nIGVudHJ5ICg3LTIyIC0+IDB4YjEgLT4gSVJRIDQ2IE1vZGU6MSBB
Y3RpdmU6MSkNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjEzOjE4XSBJT0FQSUNbMV06IFNldCBQ
Q0kgcm91dGluZyBlbnRyeSAoNy0yNyAtPiAweGMxIC0+IElSUSA1MSBNb2RlOjEgQWN0aXZl
OjEpDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxMzoyMF0gSU9BUElDWzFdOiBTZXQgUENJIHJv
dXRpbmcgZW50cnkgKDctOSAtPiAweGQxIC0+IElSUSAzMyBNb2RlOjEgQWN0aXZlOjEpDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxNTozMl0gdHJhcHMuYzoyNTEyOmQxIERvbWFpbiBhdHRl
bXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAxMDAwNCBmcm9tIDB4MDAwMGVkYjQxOWRlNzk1YSB0
byAweDAwMDAwMDAwMDAwMGFiY2QuDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNTozOF0gdHJh
cHMuYzoyNTEyOmQyIERvbWFpbiBhdHRlbXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAxMDAwNCBm
cm9tIDB4MDAwMDA0NmE4MDJiNDE2NSB0byAweDAwMDAwMDAwMDAwMGFiY2QuDQooWEVOKSBb
MjAxMi0xMC0xMCAxNToxNTo0NF0gdHJhcHMuYzoyNTEyOmQzIERvbWFpbiBhdHRlbXB0ZWQg
V1JNU1IgMDAwMDAwMDBjMDAxMDAwNCBmcm9tIDB4MDAwMGVkYjQxOWRlNzk1YSB0byAweDAw
MDAwMDAwMDAwMGFiY2QuDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNTo1MV0gdHJhcHMuYzoy
NTEyOmQ0IERvbWFpbiBhdHRlbXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAxMDAwNCBmcm9tIDB4
MDAwMDIxODdjNTNmNjM4ZiB0byAweDAwMDAwMDAwMDAwMGFiY2QuDQooWEVOKSBbMjAxMi0x
MC0xMCAxNToxNTo1N10gdHJhcHMuYzoyNTEyOmQ1IERvbWFpbiBhdHRlbXB0ZWQgV1JNU1Ig
MDAwMDAwMDBjMDAxMDAwNCBmcm9tIDB4MDAwMGVkYjQxOWRlNzk1YSB0byAweDAwMDAwMDAw
MDAwMGFiY2QuDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNjowOV0gdHJhcHMuYzoyNTEyOmQ2
IERvbWFpbiBhdHRlbXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAxMDAwNCBmcm9tIDB4MDAwMDIx
ODdjNTNmNjM4ZiB0byAweDAwMDAwMDAwMDAwMGFiY2QuDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxNjoxNV0gdHJhcHMuYzoyNTEyOmQ3IERvbWFpbiBhdHRlbXB0ZWQgV1JNU1IgMDAwMDAw
MDBjMDAxMDAwNCBmcm9tIDB4MDAwMDA0NmE4MDJiNDE2NSB0byAweDAwMDAwMDAwMDAwMGFi
Y2QuDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNjoyMl0gdHJhcHMuYzoyNTEyOmQ4IERvbWFp
biBhdHRlbXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAxMDAwNCBmcm9tIDB4MDAwMDA0NmE4MDJi
NDE2NSB0byAweDAwMDAwMDAwMDAwMGFiY2QuDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNjoy
OF0gdHJhcHMuYzoyNTEyOmQ5IERvbWFpbiBhdHRlbXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAx
MDAwNCBmcm9tIDB4MDAwMGVkYjQxOWRlNzk1YSB0byAweDAwMDAwMDAwMDAwMGFiY2QuDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxNjozNV0gdHJhcHMuYzoyNTEyOmQxMCBEb21haW4gYXR0
ZW1wdGVkIFdSTVNSIDAwMDAwMDAwYzAwMTAwMDQgZnJvbSAweDAwMDBlZGI0MTlkZTc5NWEg
dG8gMHgwMDAwMDAwMDAwMDBhYmNkLg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTY6NDJdIEFN
RC1WaTogRGlzYWJsZTogZGV2aWNlIGlkID0gMHhhNCwgZG9tYWluID0gMCwgcGFnaW5nIG1v
ZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNjo0Ml0gQU1ELVZpOiBTZXR1cCBJL08g
cGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHhhNCwgcm9vdCB0YWJsZSA9IDB4MThlMGE1MDAw
LCBkb21haW4gPSAxMSwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
Njo0Ml0gQU1ELVZpOiBSZS1hc3NpZ24gMDAwMDowMzowNi4wIGZyb20gZG9tMCB0byBkb20x
MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTY6NDNdIHRyYXBzLmM6MjUxMjpkMTEgRG9tYWlu
IGF0dGVtcHRlZCBXUk1TUiAwMDAwMDAwMGMwMDEwMDA0IGZyb20gMHgwMDAwNDZiNGY2MDFh
MTQ1IHRvIDB4MDAwMDAwMDAwMDAwYWJjZC4NCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE2OjUz
XSB0cmFwcy5jOjI1MTI6ZDEyIERvbWFpbiBhdHRlbXB0ZWQgV1JNU1IgMDAwMDAwMDBjMDAx
MDAwNCBmcm9tIDB4MDAwMDIxODdjNTNmNjM4ZiB0byAweDAwMDAwMDAwMDAwMGFiY2QuDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxNjo1OV0gdHJhcHMuYzoyNTEyOmQxMyBEb21haW4gYXR0
ZW1wdGVkIFdSTVNSIDAwMDAwMDAwYzAwMTAwMDQgZnJvbSAweDAwMDAwNDZhODAyYjQxNjUg
dG8gMHgwMDAwMDAwMDAwMDBhYmNkLg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MDVdIHRy
YXBzLmM6MjUxMjpkMTQgRG9tYWluIGF0dGVtcHRlZCBXUk1TUiAwMDAwMDAwMGMwMDEwMDA0
IGZyb20gMHgwMDAwMDQ2YTgwMmI0MTY1IHRvIDB4MDAwMDAwMDAwMDAwYWJjZC4NCihYRU4p
IFsyMDEyLTEwLTEwIDE1OjE3OjExXSBBTUQtVmk6IFNoYXJlIHAybSB0YWJsZSB3aXRoIGlv
bW11OiBwMm0gdGFibGUgPSAweDFjMWY5NQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjRd
IFtWVC1EXWlvLmM6MjgyOiBkMTU6IGJpbmQ6IG1fZ3NpPTE2IGdfZ3NpPTM2IGRldmljZT01
IGludHg9MA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjRdIEFNRC1WaTogRGlzYWJsZTog
ZGV2aWNlIGlkID0gMHg2MDAsIGRvbWFpbiA9IDAsIHBhZ2luZyBtb2RlID0gMw0KKFhFTikg
WzIwMTItMTAtMTAgMTU6MTc6MjRdIEFNRC1WaTogU2V0dXAgSS9PIHBhZ2UgdGFibGU6IGRl
dmljZSBpZCA9IDB4NjAwLCByb290IHRhYmxlID0gMHgxYzFmOTUwMDAsIGRvbWFpbiA9IDE1
LCBwYWdpbmcgbW9kZSA9IDQNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI0XSBBTUQtVmk6
IFJlLWFzc2lnbiAwMDAwOjA2OjAwLjAgZnJvbSBkb20wIHRvIGRvbTE1DQooWEVOKSBbMjAx
Mi0xMC0xMCAxNToxNzoyNl0gSFZNMTU6IEhWTSBMb2FkZXINCihYRU4pIFsyMDEyLTEwLTEw
IDE1OjE3OjI2XSBIVk0xNTogRGV0ZWN0ZWQgWGVuIHY0LjMtdW5zdGFibGUNCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogWGVuYnVzIHJpbmdzIEAweGZlZmZjMDAwLCBl
dmVudCBjaGFubmVsIDUNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogU3lz
dGVtIHJlcXVlc3RlZCBST01CSU9TDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0gSFZN
MTU6IENQVSBzcGVlZCBpcyAzMjAwIE1Ieg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZd
IGlycS5jOjI3MDogRG9tMTUgUENJIGxpbmsgMCBjaGFuZ2VkIDAgLT4gNQ0KKFhFTikgWzIw
MTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1OiBQQ0ktSVNBIGxpbmsgMCByb3V0ZWQgdG8gSVJR
NQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIGlycS5jOjI3MDogRG9tMTUgUENJIGxp
bmsgMSBjaGFuZ2VkIDAgLT4gMTANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0x
NTogUENJLUlTQSBsaW5rIDEgcm91dGVkIHRvIElSUTEwDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxNzoyNl0gaXJxLmM6MjcwOiBEb20xNSBQQ0kgbGluayAyIGNoYW5nZWQgMCAtPiAxMQ0K
KFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1OiBQQ0ktSVNBIGxpbmsgMiByb3V0
ZWQgdG8gSVJRMTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBpcnEuYzoyNzA6IERv
bTE1IFBDSSBsaW5rIDMgY2hhbmdlZCAwIC0+IDUNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3
OjI2XSBIVk0xNTogUENJLUlTQSBsaW5rIDMgcm91dGVkIHRvIElSUTUNCihYRU4pIFsyMDEy
LTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogcGNpIGRldiAwMToyIElOVEQtPklSUTUNCihYRU4p
IFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogcGNpIGRldiAwMTozIElOVEEtPklSUTEw
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0gSFZNMTU6IHBjaSBkZXYgMDM6MCBJTlRB
LT5JUlE1DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0gSFZNMTU6IHBjaSBkZXYgMDQ6
MCBJTlRBLT5JUlE1DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0gSFZNMTU6IHBjaSBk
ZXYgMDU6MCBJTlRBLT5JUlExMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1
OiBwY2kgZGV2IDAyOjAgYmFyIDEwIHNpemUgbHg6IDAyMDAwMDAwDQooWEVOKSBbMjAxMi0x
MC0xMCAxNToxNzoyNl0gSFZNMTU6IHBjaSBkZXYgMDM6MCBiYXIgMTQgc2l6ZSBseDogMDEw
MDAwMDANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogcGNpIGRldiAwNTow
IGJhciAxMCBzaXplIGx4OiAwMDIwMDAwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZd
IG1lbW9yeV9tYXA6YWRkOiBkb20xNSBnZm49ZjMwMDAgbWZuPWY5YTAwIG5yPTIwMA0KKFhF
TikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1OiBwY2kgZGV2IDA0OjAgYmFyIDEwIHNp
emUgbHg6IDAwMDIwMDAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0gSFZNMTU6IHBj
aSBkZXYgMDI6MCBiYXIgMTQgc2l6ZSBseDogMDAwMDEwMDANCihYRU4pIFsyMDEyLTEwLTEw
IDE1OjE3OjI2XSBIVk0xNTogcGNpIGRldiAwMzowIGJhciAxMCBzaXplIGx4OiAwMDAwMDEw
MA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1OiBwY2kgZGV2IDA0OjAgYmFy
IDE0IHNpemUgbHg6IDAwMDAwMDQwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0gSFZN
MTU6IHBjaSBkZXYgMDE6MiBiYXIgMjAgc2l6ZSBseDogMDAwMDAwMjANCihYRU4pIFsyMDEy
LTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogcGNpIGRldiAwMToxIGJhciAyMCBzaXplIGx4OiAw
MDAwMDAxMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1OiBNdWx0aXByb2Nl
c3NvciBpbml0aWFsaXNhdGlvbjoNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0x
NTogIC0gQ1BVMCAuLi4gNDgtYml0IHBoeXMgLi4uIGZpeGVkIE1UUlJzIC4uLiB2YXIgTVRS
UnMgWzIvOF0gLi4uIGRvbmUuDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0gSFZNMTU6
ICAtIENQVTEgLi4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJz
IFsyLzhdIC4uLiBkb25lLg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1OiAg
LSBDUFUyIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBb
Mi84XSAuLi4gZG9uZS4NCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogVGVz
dGluZyBIVk0gZW52aXJvbm1lbnQ6DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0gSFZN
MTU6ICAtIFJFUCBJTlNCIGFjcm9zcyBwYWdlIGJvdW5kYXJpZXMgLi4uIHBhc3NlZA0KKFhF
TikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1OiAgLSBHUyBiYXNlIE1TUnMgYW5kIFNX
QVBHUyAuLi4gcGFzc2VkDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0gSFZNMTU6IFBh
c3NlZCAyIG9mIDIgdGVzdHMNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0xNTog
V3JpdGluZyBTTUJJT1MgdGFibGVzIC4uLg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZd
IEhWTTE1OiBMb2FkaW5nIFJPTUJJT1MgLi4uDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoy
Nl0gSFZNMTU6IDk2NjAgYnl0ZXMgb2YgUk9NQklPUyBoaWdoLW1lbW9yeSBleHRlbnNpb25z
Og0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1OiAgIFJlbG9jYXRpbmcgdG8g
MHhmYzAwMTAwMC0weGZjMDAzNWJjIC4uLiBkb25lDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
NzoyNl0gSFZNMTU6IENyZWF0aW5nIE1QIHRhYmxlcyAuLi4NCihYRU4pIFsyMDEyLTEwLTEw
IDE1OjE3OjI2XSBIVk0xNTogTG9hZGluZyBDaXJydXMgVkdBQklPUyAuLi4NCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogTG9hZGluZyBQQ0kgT3B0aW9uIFJPTSAuLi4N
CihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogIC0gTWFudWZhY3R1cmVyOiBo
dHRwOi8vaXB4ZS5vcmcNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogIC0g
UHJvZHVjdCBuYW1lOiBpUFhFDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0gSFZNMTU6
IE9wdGlvbiBST01zOg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1OiAgYzAw
MDAtYzhmZmY6IFZHQSBCSU9TDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0gSFZNMTU6
ICBjOTAwMC1kOWZmZjogRXRoZXJib290IFJPTQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6
MjZdIEhWTTE1OiBMb2FkaW5nIEFDUEkgLi4uDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoy
Nl0gSFZNMTU6IHZtODYgVFNTIGF0IGZjMDBmNjgwDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
NzoyNl0gSFZNMTU6IEJJT1MgbWFwOg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhW
TTE1OiAgZjAwMDAtZmZmZmY6IE1haW4gQklPUw0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6
MjZdIEhWTTE1OiBFODIwIHRhYmxlOg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhW
TTE1OiAgWzAwXTogMDAwMDAwMDA6MDAwMDAwMDAgLSAwMDAwMDAwMDowMDA5ZTAwMDogUkFN
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0gSFZNMTU6ICBbMDFdOiAwMDAwMDAwMDow
MDA5ZTAwMCAtIDAwMDAwMDAwOjAwMGEwMDAwOiBSRVNFUlZFRA0KKFhFTikgWzIwMTItMTAt
MTAgMTU6MTc6MjZdIEhWTTE1OiAgSE9MRTogMDAwMDAwMDA6MDAwYTAwMDAgLSAwMDAwMDAw
MDowMDBlMDAwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1OiAgWzAyXTog
MDAwMDAwMDA6MDAwZTAwMDAgLSAwMDAwMDAwMDowMDEwMDAwMDogUkVTRVJWRUQNCihYRU4p
IFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogIFswM106IDAwMDAwMDAwOjAwMTAwMDAw
IC0gMDAwMDAwMDA6MmY4MDAwMDA6IFJBTQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZd
IEhWTTE1OiAgSE9MRTogMDAwMDAwMDA6MmY4MDAwMDAgLSAwMDAwMDAwMDpmYzAwMDAwMA0K
KFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1OiAgWzA0XTogMDAwMDAwMDA6ZmMw
MDAwMDAgLSAwMDAwMDAwMTowMDAwMDAwMDogUkVTRVJWRUQNCihYRU4pIFsyMDEyLTEwLTEw
IDE1OjE3OjI2XSBIVk0xNTogSW52b2tpbmcgUk9NQklPUyAuLi4NCihYRU4pIFsyMDEyLTEw
LTEwIDE1OjE3OjI2XSBIVk0xNTogJFJldmlzaW9uOiAxLjIyMSAkICREYXRlOiAyMDA4LzEy
LzA3IDE3OjMyOjI5ICQNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBzdGR2Z2EuYzox
NDc6ZDE1IGVudGVyaW5nIHN0ZHZnYSBhbmQgY2FjaGluZyBtb2Rlcw0KKFhFTikgWzIwMTIt
MTAtMTAgMTU6MTc6MjZdIEhWTTE1OiBWR0FCaW9zICRJZDogdmdhYmlvcy5jLHYgMS42NyAy
MDA4LzAxLzI3IDA5OjQ0OjEyIHZydXBwZXJ0IEV4cCAkDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxNzoyNl0gSFZNMTU6IEJvY2hzIEJJT1MgLSBidWlsZDogMDYvMjMvOTkNCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogJFJldmlzaW9uOiAxLjIyMSAkICREYXRlOiAy
MDA4LzEyLzA3IDE3OjMyOjI5ICQNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0x
NTogT3B0aW9uczogYXBtYmlvcyBwY2liaW9zIGVsdG9yaXRvIFBNTSANCihYRU4pIFsyMDEy
LTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0g
SFZNMTU6IGF0YTAtMDogUENIUz0xNjM4My8xNi82MyB0cmFuc2xhdGlvbj1sYmEgTENIUz0x
MDI0LzI1NS82Mw0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1OiBhdGEwIG1h
c3RlcjogUUVNVSBIQVJERElTSyBBVEEtNyBIYXJkLURpc2sgKDEwMjQwIE1CeXRlcykNCihY
RU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogYXRhMC0xOiBQQ0hTPTE2MzgzLzE2
LzYzIHRyYW5zbGF0aW9uPWxiYSBMQ0hTPTEwMjQvMjU1LzYzDQooWEVOKSBbMjAxMi0xMC0x
MCAxNToxNzoyNl0gSFZNMTU6IGF0YTAgIHNsYXZlOiBRRU1VIEhBUkRESVNLIEFUQS03IEhh
cmQtRGlzayAoIDMwMCBHQnl0ZXMpDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0gSFZN
MTU6IA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhWTTE1OiANCihYRU4pIFsyMDEy
LTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoyNl0g
SFZNMTU6IFByZXNzIEYxMiBmb3IgYm9vdCBtZW51Lg0KKFhFTikgWzIwMTItMTAtMTAgMTU6
MTc6MjZdIEhWTTE1OiANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjI2XSBIVk0xNTogQm9v
dGluZyBmcm9tIEhhcmQgRGlzay4uLg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MjZdIEhW
TTE1OiBCb290aW5nIGZyb20gMDAwMDo3YzAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoz
MF0gc3RkdmdhLmM6MTUxOmQxNSBsZWF2aW5nIHN0ZHZnYQ0KKFhFTikgWzIwMTItMTAtMTAg
MTU6MTc6MzFdIEFNRC1WaTogU2hhcmUgcDJtIHRhYmxlIHdpdGggaW9tbXU6IHAybSB0YWJs
ZSA9IDB4ODE3MDcNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBbVlQtRF1pby5jOjI4
MjogZDE2OiBiaW5kOiBtX2dzaT0xNiBnX2dzaT0zNiBkZXZpY2U9NSBpbnR4PTANCihYRU4p
IFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBBTUQtVmk6IERpc2FibGU6IGRldmljZSBpZCA9IDB4
OTAwLCBkb21haW4gPSAwLCBwYWdpbmcgbW9kZSA9IDMNCihYRU4pIFsyMDEyLTEwLTEwIDE1
OjE3OjMyXSBBTUQtVmk6IFNldHVwIEkvTyBwYWdlIHRhYmxlOiBkZXZpY2UgaWQgPSAweDkw
MCwgcm9vdCB0YWJsZSA9IDB4ODE3MDcwMDAsIGRvbWFpbiA9IDE2LCBwYWdpbmcgbW9kZSA9
IDQNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBBTUQtVmk6IFJlLWFzc2lnbiAwMDAw
OjA5OjAwLjAgZnJvbSBkb20wIHRvIGRvbTE2DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoz
Ml0gcGh5c2Rldi5jOjE3NzogZG9tMTY6IDI4Oi0xIGFscmVhZHkgbWFwcGVkIHRvIDE2DQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gW1ZULURdaW8uYzoyODI6IGQxNjogYmluZDog
bV9nc2k9MTYgZ19nc2k9NDAgZGV2aWNlPTYgaW50eD0wDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxNzozMl0gQU1ELVZpOiBEaXNhYmxlOiBkZXZpY2UgaWQgPSAweDkwMSwgZG9tYWluID0g
MCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gQU1ELVZp
OiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg5MDEsIHJvb3QgdGFibGUg
PSAweDgxNzA3MDAwLCBkb21haW4gPSAxNiwgcGFnaW5nIG1vZGUgPSA0DQooWEVOKSBbMjAx
Mi0xMC0xMCAxNToxNzozMl0gQU1ELVZpOiBSZS1hc3NpZ24gMDAwMDowOTowMC4xIGZyb20g
ZG9tMCB0byBkb20xNg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIFtWVC1EXWlvLmM6
MjgyOiBkMTY6IGJpbmQ6IG1fZ3NpPTE3IGdfZ3NpPTQ1IGRldmljZT03IGludHg9MQ0KKFhF
TikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEFNRC1WaTogRGlzYWJsZTogZGV2aWNlIGlkID0g
MHg5MDIsIGRvbWFpbiA9IDAsIHBhZ2luZyBtb2RlID0gMw0KKFhFTikgWzIwMTItMTAtMTAg
MTU6MTc6MzJdIEFNRC1WaTogU2V0dXAgSS9PIHBhZ2UgdGFibGU6IGRldmljZSBpZCA9IDB4
OTAyLCByb290IHRhYmxlID0gMHg4MTcwNzAwMCwgZG9tYWluID0gMTYsIHBhZ2luZyBtb2Rl
ID0gNA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEFNRC1WaTogUmUtYXNzaWduIDAw
MDA6MDk6MDAuMiBmcm9tIGRvbTAgdG8gZG9tMTYNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3
OjMyXSBwaHlzZGV2LmM6MTc3OiBkb20xNjogMjk6LTEgYWxyZWFkeSBtYXBwZWQgdG8gMTcN
CihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBbVlQtRF1pby5jOjI4MjogZDE2OiBiaW5k
OiBtX2dzaT0xNyBnX2dzaT0xOCBkZXZpY2U9OCBpbnR4PTENCihYRU4pIFsyMDEyLTEwLTEw
IDE1OjE3OjMyXSBBTUQtVmk6IERpc2FibGU6IGRldmljZSBpZCA9IDB4OTAzLCBkb21haW4g
PSAwLCBwYWdpbmcgbW9kZSA9IDMNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBBTUQt
Vmk6IFNldHVwIEkvTyBwYWdlIHRhYmxlOiBkZXZpY2UgaWQgPSAweDkwMywgcm9vdCB0YWJs
ZSA9IDB4ODE3MDcwMDAsIGRvbWFpbiA9IDE2LCBwYWdpbmcgbW9kZSA9IDQNCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjMyXSBBTUQtVmk6IFJlLWFzc2lnbiAwMDAwOjA5OjAwLjMgZnJv
bSBkb20wIHRvIGRvbTE2DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gW1ZULURdaW8u
YzoyODI6IGQxNjogYmluZDogbV9nc2k9MTggZ19nc2k9MjMgZGV2aWNlPTkgaW50eD0yDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gQU1ELVZpOiBEaXNhYmxlOiBkZXZpY2UgaWQg
PSAweDkwNCwgZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0x
MCAxNToxNzozMl0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0g
MHg5MDQsIHJvb3QgdGFibGUgPSAweDgxNzA3MDAwLCBkb21haW4gPSAxNiwgcGFnaW5nIG1v
ZGUgPSA0DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gQU1ELVZpOiBSZS1hc3NpZ24g
MDAwMDowOTowMC40IGZyb20gZG9tMCB0byBkb20xNg0KKFhFTikgWzIwMTItMTAtMTAgMTU6
MTc6MzJdIHBoeXNkZXYuYzoxNzc6IGRvbTE2OiAzMDotMSBhbHJlYWR5IG1hcHBlZCB0byAx
OA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIFtWVC1EXWlvLmM6MjgyOiBkMTY6IGJp
bmQ6IG1fZ3NpPTE4IGdfZ3NpPTI3IGRldmljZT0xMCBpbnR4PTINCihYRU4pIFsyMDEyLTEw
LTEwIDE1OjE3OjMyXSBBTUQtVmk6IERpc2FibGU6IGRldmljZSBpZCA9IDB4OTA1LCBkb21h
aW4gPSAwLCBwYWdpbmcgbW9kZSA9IDMNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBB
TUQtVmk6IFNldHVwIEkvTyBwYWdlIHRhYmxlOiBkZXZpY2UgaWQgPSAweDkwNSwgcm9vdCB0
YWJsZSA9IDB4ODE3MDcwMDAsIGRvbWFpbiA9IDE2LCBwYWdpbmcgbW9kZSA9IDQNCihYRU4p
IFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBBTUQtVmk6IFJlLWFzc2lnbiAwMDAwOjA5OjAwLjUg
ZnJvbSBkb20wIHRvIGRvbTE2DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gW1ZULURd
aW8uYzoyODI6IGQxNjogYmluZDogbV9nc2k9MTkgZ19nc2k9MzIgZGV2aWNlPTExIGludHg9
Mw0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEFNRC1WaTogRGlzYWJsZTogZGV2aWNl
IGlkID0gMHg5MDYsIGRvbWFpbiA9IDAsIHBhZ2luZyBtb2RlID0gMw0KKFhFTikgWzIwMTIt
MTAtMTAgMTU6MTc6MzJdIEFNRC1WaTogU2V0dXAgSS9PIHBhZ2UgdGFibGU6IGRldmljZSBp
ZCA9IDB4OTA2LCByb290IHRhYmxlID0gMHg4MTcwNzAwMCwgZG9tYWluID0gMTYsIHBhZ2lu
ZyBtb2RlID0gNA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEFNRC1WaTogUmUtYXNz
aWduIDAwMDA6MDk6MDAuNiBmcm9tIGRvbTAgdG8gZG9tMTYNCihYRU4pIFsyMDEyLTEwLTEw
IDE1OjE3OjMyXSBwaHlzZGV2LmM6MTc3OiBkb20xNjogMzE6LTEgYWxyZWFkeSBtYXBwZWQg
dG8gMTkNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBbVlQtRF1pby5jOjI4MjogZDE2
OiBiaW5kOiBtX2dzaT0xOSBnX2dzaT0zNiBkZXZpY2U9MTIgaW50eD0zDQooWEVOKSBbMjAx
Mi0xMC0xMCAxNToxNzozMl0gQU1ELVZpOiBEaXNhYmxlOiBkZXZpY2UgaWQgPSAweDkwNywg
ZG9tYWluID0gMCwgcGFnaW5nIG1vZGUgPSAzDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoz
Ml0gQU1ELVZpOiBTZXR1cCBJL08gcGFnZSB0YWJsZTogZGV2aWNlIGlkID0gMHg5MDcsIHJv
b3QgdGFibGUgPSAweDgxNzA3MDAwLCBkb21haW4gPSAxNiwgcGFnaW5nIG1vZGUgPSA0DQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gQU1ELVZpOiBSZS1hc3NpZ24gMDAwMDowOTow
MC43IGZyb20gZG9tMCB0byBkb20xNg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEhW
TTE2OiBIVk0gTG9hZGVyDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6IERl
dGVjdGVkIFhlbiB2NC4zLXVuc3RhYmxlDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0g
SFZNMTY6IFhlbmJ1cyByaW5ncyBAMHhmZWZmYzAwMCwgZXZlbnQgY2hhbm5lbCA1DQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6IFN5c3RlbSByZXF1ZXN0ZWQgUk9NQklP
Uw0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2OiBDUFUgc3BlZWQgaXMgMzIw
MCBNSHoNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBpcnEuYzoyNzA6IERvbTE2IFBD
SSBsaW5rIDAgY2hhbmdlZCAwIC0+IDUNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBI
Vk0xNjogUENJLUlTQSBsaW5rIDAgcm91dGVkIHRvIElSUTUNCihYRU4pIFsyMDEyLTEwLTEw
IDE1OjE3OjMyXSBpcnEuYzoyNzA6IERvbTE2IFBDSSBsaW5rIDEgY2hhbmdlZCAwIC0+IDEw
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6IFBDSS1JU0EgbGluayAxIHJv
dXRlZCB0byBJUlExMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIGlycS5jOjI3MDog
RG9tMTYgUENJIGxpbmsgMiBjaGFuZ2VkIDAgLT4gMTENCihYRU4pIFsyMDEyLTEwLTEwIDE1
OjE3OjMyXSBIVk0xNjogUENJLUlTQSBsaW5rIDIgcm91dGVkIHRvIElSUTExDQooWEVOKSBb
MjAxMi0xMC0xMCAxNToxNzozMl0gaXJxLmM6MjcwOiBEb20xNiBQQ0kgbGluayAzIGNoYW5n
ZWQgMCAtPiA1DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6IFBDSS1JU0Eg
bGluayAzIHJvdXRlZCB0byBJUlE1DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZN
MTY6IHBjaSBkZXYgMDE6MiBJTlRELT5JUlE1DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzoz
Ml0gSFZNMTY6IHBjaSBkZXYgMDE6MyBJTlRBLT5JUlExMA0KKFhFTikgWzIwMTItMTAtMTAg
MTU6MTc6MzJdIEhWTTE2OiBwY2kgZGV2IDAzOjAgSU5UQS0+SVJRNQ0KKFhFTikgWzIwMTIt
MTAtMTAgMTU6MTc6MzJdIEhWTTE2OiBwY2kgZGV2IDA0OjAgSU5UQS0+SVJRNQ0KKFhFTikg
WzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2OiBwY2kgZGV2IDA1OjAgSU5UQS0+SVJRMTAN
CihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBIVk0xNjogcGNpIGRldiAwNjowIElOVEEt
PklSUTExDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6IHBjaSBkZXYgMDc6
MCBJTlRCLT5JUlE1DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6IHBjaSBk
ZXYgMDg6MCBJTlRCLT5JUlExMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2
OiBwY2kgZGV2IDA5OjAgSU5UQy0+SVJRNQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJd
IEhWTTE2OiBwY2kgZGV2IDBhOjAgSU5UQy0+SVJRNQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6
MTc6MzJdIEhWTTE2OiBwY2kgZGV2IDBiOjAgSU5URC0+SVJRMTENCihYRU4pIFsyMDEyLTEw
LTEwIDE1OjE3OjMyXSBIVk0xNjogcGNpIGRldiAwYzowIElOVEQtPklSUTUNCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjMyXSBIVk0xNjogcGNpIGRldiAwMjowIGJhciAxMCBzaXplIGx4
OiAwMjAwMDAwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2OiBwY2kgZGV2
IDAzOjAgYmFyIDE0IHNpemUgbHg6IDAxMDAwMDAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
NzozMl0gSFZNMTY6IHBjaSBkZXYgMDQ6MCBiYXIgMTAgc2l6ZSBseDogMDAwMjAwMDANCihY
RU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBIVk0xNjogcGNpIGRldiAwMjowIGJhciAxNCBz
aXplIGx4OiAwMDAwMTAwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2OiBw
Y2kgZGV2IDA1OjAgYmFyIDEwIHNpemUgbHg6IDAwMDAxMDAwDQooWEVOKSBbMjAxMi0xMC0x
MCAxNToxNzozMl0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyMSBtZm49ZjlmZjgg
bnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2OiBwY2kgZGV2IDA2OjAg
YmFyIDEwIHNpemUgbHg6IDAwMDAxMDAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0g
bWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyMiBtZm49ZjlmZjkgbnI9MQ0KKFhFTikg
WzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2OiBwY2kgZGV2IDA3OjAgYmFyIDEwIHNpemUg
bHg6IDAwMDAxMDAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gbWVtb3J5X21hcDph
ZGQ6IGRvbTE2IGdmbj1mMzAyMyBtZm49ZjlmZmEgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAg
MTU6MTc6MzJdIEhWTTE2OiBwY2kgZGV2IDA4OjAgYmFyIDEwIHNpemUgbHg6IDAwMDAxMDAw
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdm
bj1mMzAyNCBtZm49ZjlmZmIgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEhW
TTE2OiBwY2kgZGV2IDA5OjAgYmFyIDEwIHNpemUgbHg6IDAwMDAxMDAwDQooWEVOKSBbMjAx
Mi0xMC0xMCAxNToxNzozMl0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyNSBtZm49
ZjlmZmMgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2OiBwY2kgZGV2
IDBhOjAgYmFyIDEwIHNpemUgbHg6IDAwMDAxMDAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
NzozMl0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyNiBtZm49ZjlmZmQgbnI9MQ0K
KFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2OiBwY2kgZGV2IDBiOjAgYmFyIDEw
IHNpemUgbHg6IDAwMDAxMDAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gbWVtb3J5
X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyNyBtZm49ZjlmZmUgbnI9MQ0KKFhFTikgWzIwMTIt
MTAtMTAgMTU6MTc6MzJdIEhWTTE2OiBwY2kgZGV2IDBjOjAgYmFyIDEwIHNpemUgbHg6IDAw
MDAxMDAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gbWVtb3J5X21hcDphZGQ6IGRv
bTE2IGdmbj1mMzAyOCBtZm49ZjlmZmYgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6
MzJdIEhWTTE2OiBwY2kgZGV2IDAzOjAgYmFyIDEwIHNpemUgbHg6IDAwMDAwMTAwDQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6IHBjaSBkZXYgMDQ6MCBiYXIgMTQgc2l6
ZSBseDogMDAwMDAwNDANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBIVk0xNjogcGNp
IGRldiAwMToyIGJhciAyMCBzaXplIGx4OiAwMDAwMDAyMA0KKFhFTikgWzIwMTItMTAtMTAg
MTU6MTc6MzJdIEhWTTE2OiBwY2kgZGV2IDAxOjEgYmFyIDIwIHNpemUgbHg6IDAwMDAwMDEw
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6IE11bHRpcHJvY2Vzc29yIGlu
aXRpYWxpc2F0aW9uOg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2OiAgLSBD
UFUwIC4uLiA0OC1iaXQgcGh5cyAuLi4gZml4ZWQgTVRSUnMgLi4uIHZhciBNVFJScyBbMi84
XSAuLi4gZG9uZS4NCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBIVk0xNjogIC0gQ1BV
MSAuLi4gNDgtYml0IHBoeXMgLi4uIGZpeGVkIE1UUlJzIC4uLiB2YXIgTVRSUnMgWzIvOF0g
Li4uIGRvbmUuDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6ICAtIENQVTIg
Li4uIDQ4LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1UUlJzIFsyLzhdIC4u
LiBkb25lLg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2OiBUZXN0aW5nIEhW
TSBlbnZpcm9ubWVudDoNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBIVk0xNjogIC0g
UkVQIElOU0IgYWNyb3NzIHBhZ2UgYm91bmRhcmllcyAuLi4gcGFzc2VkDQooWEVOKSBbMjAx
Mi0xMC0xMCAxNToxNzozMl0gSFZNMTY6ICAtIEdTIGJhc2UgTVNScyBhbmQgU1dBUEdTIC4u
LiBwYXNzZWQNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBIVk0xNjogUGFzc2VkIDIg
b2YgMiB0ZXN0cw0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2OiBXcml0aW5n
IFNNQklPUyB0YWJsZXMgLi4uDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6
IExvYWRpbmcgUk9NQklPUyAuLi4NCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBIVk0x
NjogOTY2MCBieXRlcyBvZiBST01CSU9TIGhpZ2gtbWVtb3J5IGV4dGVuc2lvbnM6DQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6ICAgUmVsb2NhdGluZyB0byAweGZjMDAx
MDAwLTB4ZmMwMDM1YmMgLi4uIGRvbmUNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBI
Vk0xNjogQ3JlYXRpbmcgTVAgdGFibGVzIC4uLg0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6
MzJdIEhWTTE2OiBMb2FkaW5nIENpcnJ1cyBWR0FCSU9TIC4uLg0KKFhFTikgWzIwMTItMTAt
MTAgMTU6MTc6MzJdIEhWTTE2OiBMb2FkaW5nIFBDSSBPcHRpb24gUk9NIC4uLg0KKFhFTikg
WzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2OiAgLSBNYW51ZmFjdHVyZXI6IGh0dHA6Ly9p
cHhlLm9yZw0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzJdIEhWTTE2OiAgLSBQcm9kdWN0
IG5hbWU6IGlQWEUNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBIVk0xNjogT3B0aW9u
IFJPTXM6DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6ICBjMDAwMC1jOGZm
ZjogVkdBIEJJT1MNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBIVk0xNjogIGM5MDAw
LWQ5ZmZmOiBFdGhlcmJvb3QgUk9NDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZN
MTY6IExvYWRpbmcgQUNQSSAuLi4NCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBIVk0x
Njogdm04NiBUU1MgYXQgZmMwMGY2ODANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBI
Vk0xNjogQklPUyBtYXA6DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6ICBm
MDAwMC1mZmZmZjogTWFpbiBCSU9TDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZN
MTY6IEU4MjAgdGFibGU6DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6ICBb
MDBdOiAwMDAwMDAwMDowMDAwMDAwMCAtIDAwMDAwMDAwOjAwMDllMDAwOiBSQU0NCihYRU4p
IFsyMDEyLTEwLTEwIDE1OjE3OjMyXSBIVk0xNjogIFswMV06IDAwMDAwMDAwOjAwMDllMDAw
IC0gMDAwMDAwMDA6MDAwYTAwMDA6IFJFU0VSVkVEDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
NzozMl0gSFZNMTY6ICBIT0xFOiAwMDAwMDAwMDowMDBhMDAwMCAtIDAwMDAwMDAwOjAwMGUw
MDAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6ICBbMDJdOiAwMDAwMDAw
MDowMDBlMDAwMCAtIDAwMDAwMDAwOjAwMTAwMDAwOiBSRVNFUlZFRA0KKFhFTikgWzIwMTIt
MTAtMTAgMTU6MTc6MzJdIEhWTTE2OiAgWzAzXTogMDAwMDAwMDA6MDAxMDAwMDAgLSAwMDAw
MDAwMDoxZjgwMDAwMDogUkFNDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6
ICBIT0xFOiAwMDAwMDAwMDoxZjgwMDAwMCAtIDAwMDAwMDAwOmZjMDAwMDAwDQooWEVOKSBb
MjAxMi0xMC0xMCAxNToxNzozMl0gSFZNMTY6ICBbMDRdOiAwMDAwMDAwMDpmYzAwMDAwMCAt
IDAwMDAwMDAxOjAwMDAwMDAwOiBSRVNFUlZFRA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6
MzJdIEhWTTE2OiBJbnZva2luZyBST01CSU9TIC4uLg0KKFhFTikgWzIwMTItMTAtMTAgMTU6
MTc6MzJdIEhWTTE2OiAkUmV2aXNpb246IDEuMjIxICQgJERhdGU6IDIwMDgvMTIvMDcgMTc6
MzI6MjkgJA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzNdIHN0ZHZnYS5jOjE0NzpkMTYg
ZW50ZXJpbmcgc3RkdmdhIGFuZCBjYWNoaW5nIG1vZGVzDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxNzozM10gSFZNMTY6IFZHQUJpb3MgJElkOiB2Z2FiaW9zLmMsdiAxLjY3IDIwMDgvMDEv
MjcgMDk6NDQ6MTIgdnJ1cHBlcnQgRXhwICQNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMz
XSBIVk0xNjogQm9jaHMgQklPUyAtIGJ1aWxkOiAwNi8yMy85OQ0KKFhFTikgWzIwMTItMTAt
MTAgMTU6MTc6MzNdIEhWTTE2OiAkUmV2aXNpb246IDEuMjIxICQgJERhdGU6IDIwMDgvMTIv
MDcgMTc6MzI6MjkgJA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzNdIEhWTTE2OiBPcHRp
b25zOiBhcG1iaW9zIHBjaWJpb3MgZWx0b3JpdG8gUE1NIA0KKFhFTikgWzIwMTItMTAtMTAg
MTU6MTc6MzNdIEhWTTE2OiANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMzXSBIVk0xNjog
YXRhMC0wOiBQQ0hTPTEwNDAyLzE2LzYzIHRyYW5zbGF0aW9uPWxiYSBMQ0hTPTY1Mi8yNTUv
NjMNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjMzXSBIVk0xNjogYXRhMCBtYXN0ZXI6IFFF
TVUgSEFSRERJU0sgQVRBLTcgSGFyZC1EaXNrICg1MTIwIE1CeXRlcykNCihYRU4pIFsyMDEy
LTEwLTEwIDE1OjE3OjM0XSBIVk0xNjogSURFIHRpbWUgb3V0DQooWEVOKSBbMjAxMi0xMC0x
MCAxNToxNzozNF0gSFZNMTY6IA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6MzddIEhWTTE2
OiANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjM3XSBIVk0xNjogDQooWEVOKSBbMjAxMi0x
MC0xMCAxNToxNzozN10gSFZNMTY6IFByZXNzIEYxMiBmb3IgYm9vdCBtZW51Lg0KKFhFTikg
WzIwMTItMTAtMTAgMTU6MTc6MzddIEhWTTE2OiANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3
OjM3XSBIVk0xNjogQm9vdGluZyBmcm9tIEhhcmQgRGlzay4uLg0KKFhFTikgWzIwMTItMTAt
MTAgMTU6MTc6MzddIEhWTTE2OiBCb290aW5nIGZyb20gMDAwMDo3YzAwDQooWEVOKSBbMjAx
Mi0xMC0xMCAxNToxNzo0MF0gc3RkdmdhLmM6MTQ3OmQxNSBlbnRlcmluZyBzdGR2Z2EgYW5k
IGNhY2hpbmcgbW9kZXMNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjQxXSBpcnEuYzozNzU6
IERvbTE1IGNhbGxiYWNrIHZpYSBjaGFuZ2VkIHRvIERpcmVjdCBWZWN0b3IgMHhmMw0KKFhF
TikgWzIwMTItMTAtMTAgMTU6MTc6NDFdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNSBnZm49
ZjMwMDAgbWZuPWY5YTAwIG5yPTIwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NDFdIG1l
bW9yeV9tYXA6YWRkOiBkb20xNSBnZm49ZjMwMDAgbWZuPWY5YTAwIG5yPTIwMA0KKFhFTikg
WzIwMTItMTAtMTAgMTU6MTc6NDFdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNSBnZm49ZjMw
MDAgbWZuPWY5YTAwIG5yPTIwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NDFdIG1lbW9y
eV9tYXA6YWRkOiBkb20xNSBnZm49ZjMwMDAgbWZuPWY5YTAwIG5yPTIwMA0KKFhFTikgWzIw
MTItMTAtMTAgMTU6MTc6NDFdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNSBnZm49ZjMwMDAg
bWZuPWY5YTAwIG5yPTIwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NDFdIG1lbW9yeV9t
YXA6YWRkOiBkb20xNSBnZm49ZjMwMDAgbWZuPWY5YTAwIG5yPTIwMA0KKFhFTikgWzIwMTIt
MTAtMTAgMTU6MTc6NDFdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNSBnZm49ZjMwMDAgbWZu
PWY5YTAwIG5yPTIwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NDFdIG1lbW9yeV9tYXA6
YWRkOiBkb20xNSBnZm49ZjMwMDAgbWZuPWY5YTAwIG5yPTIwMA0KKFhFTikgWzIwMTItMTAt
MTAgMTU6MTc6NDFdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNSBnZm49ZjMwMDAgbWZuPWY5
YTAwIG5yPTIwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NDFdIG1lbW9yeV9tYXA6YWRk
OiBkb20xNSBnZm49ZjMwMDAgbWZuPWY5YTAwIG5yPTIwMA0KKFhFTikgWzIwMTItMTAtMTAg
MTU6MTc6NDFdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNSBnZm49ZjMwMDAgbWZuPWY5YTAw
IG5yPTIwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NDFdIG1lbW9yeV9tYXA6YWRkOiBk
b20xNSBnZm49ZjMwMDAgbWZuPWY5YTAwIG5yPTIwMA0KKFhFTikgWzIwMTItMTAtMTAgMTU6
MTc6NDFdIGlycS5jOjI3MDogRG9tMTUgUENJIGxpbmsgMCBjaGFuZ2VkIDUgLT4gMA0KKFhF
TikgWzIwMTItMTAtMTAgMTU6MTc6NDFdIGlycS5jOjI3MDogRG9tMTUgUENJIGxpbmsgMSBj
aGFuZ2VkIDEwIC0+IDANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjQxXSBpcnEuYzoyNzA6
IERvbTE1IFBDSSBsaW5rIDIgY2hhbmdlZCAxMSAtPiAwDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxNzo0MV0gaXJxLmM6MjcwOiBEb20xNSBQQ0kgbGluayAzIGNoYW5nZWQgNSAtPiAwDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxNzo0Ml0gc3RkdmdhLmM6MTUxOmQxNiBsZWF2aW5nIHN0
ZHZnYQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTNdIHN0ZHZnYS5jOjE0NzpkMTYgZW50
ZXJpbmcgc3RkdmdhIGFuZCBjYWNoaW5nIG1vZGVzDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
Nzo1NF0gaXJxLmM6Mzc1OiBEb20xNiBjYWxsYmFjayB2aWEgY2hhbmdlZCB0byBEaXJlY3Qg
VmVjdG9yIDB4ZjMNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOnJl
bW92ZTogZG9tMTYgZ2ZuPWYzMDIxIG1mbj1mOWZmOCBucj0xDQooWEVOKSBbMjAxMi0xMC0x
MCAxNToxNzo1NF0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyMSBtZm49ZjlmZjgg
bnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6cmVtb3ZlOiBk
b20xNiBnZm49ZjMwMjEgbWZuPWY5ZmY4IG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3
OjU0XSBtZW1vcnlfbWFwOmFkZDogZG9tMTYgZ2ZuPWYzMDIxIG1mbj1mOWZmOCBucj0xDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDpyZW1vdmU6IGRvbTE2IGdm
bj1mMzAyMSBtZm49ZjlmZjggbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1l
bW9yeV9tYXA6YWRkOiBkb20xNiBnZm49ZjMwMjEgbWZuPWY5ZmY4IG5yPTENCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMTYgZ2ZuPWYzMDIx
IG1mbj1mOWZmOCBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21h
cDphZGQ6IGRvbTE2IGdmbj1mMzAyMSBtZm49ZjlmZjggbnI9MQ0KKFhFTikgWzIwMTItMTAt
MTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNiBnZm49ZjMwMjEgbWZuPWY5
ZmY4IG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOmFkZDog
ZG9tMTYgZ2ZuPWYzMDIxIG1mbj1mOWZmOCBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
Nzo1NF0gbWVtb3J5X21hcDpyZW1vdmU6IGRvbTE2IGdmbj1mMzAyMSBtZm49ZjlmZjggbnI9
MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6YWRkOiBkb20xNiBn
Zm49ZjMwMjEgbWZuPWY5ZmY4IG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBt
ZW1vcnlfbWFwOnJlbW92ZTogZG9tMTYgZ2ZuPWYzMDIxIG1mbj1mOWZmOCBucj0xDQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAy
MSBtZm49ZjlmZjggbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9t
YXA6cmVtb3ZlOiBkb20xNiBnZm49ZjMwMjIgbWZuPWY5ZmY5IG5yPTENCihYRU4pIFsyMDEy
LTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOmFkZDogZG9tMTYgZ2ZuPWYzMDIyIG1mbj1m
OWZmOSBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDpyZW1v
dmU6IGRvbTE2IGdmbj1mMzAyMiBtZm49ZjlmZjkgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAg
MTU6MTc6NTRdIG1lbW9yeV9tYXA6YWRkOiBkb20xNiBnZm49ZjMwMjIgbWZuPWY5ZmY5IG5y
PTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOnJlbW92ZTogZG9t
MTYgZ2ZuPWYzMDIyIG1mbj1mOWZmOSBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1
NF0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyMiBtZm49ZjlmZjkgbnI9MQ0KKFhF
TikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNiBnZm49
ZjMwMjIgbWZuPWY5ZmY5IG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1v
cnlfbWFwOmFkZDogZG9tMTYgZ2ZuPWYzMDIyIG1mbj1mOWZmOSBucj0xDQooWEVOKSBbMjAx
Mi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDpyZW1vdmU6IGRvbTE2IGdmbj1mMzAyMiBt
Zm49ZjlmZjkgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6
YWRkOiBkb20xNiBnZm49ZjMwMjIgbWZuPWY5ZmY5IG5yPTENCihYRU4pIFsyMDEyLTEwLTEw
IDE1OjE3OjU0XSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMTYgZ2ZuPWYzMDIyIG1mbj1mOWZm
OSBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDphZGQ6IGRv
bTE2IGdmbj1mMzAyMiBtZm49ZjlmZjkgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6
NTRdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNiBnZm49ZjMwMjIgbWZuPWY5ZmY5IG5yPTEN
CihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOmFkZDogZG9tMTYgZ2Zu
PWYzMDIyIG1mbj1mOWZmOSBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVt
b3J5X21hcDpyZW1vdmU6IGRvbTE2IGdmbj1mMzAyMyBtZm49ZjlmZmEgbnI9MQ0KKFhFTikg
WzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6YWRkOiBkb20xNiBnZm49ZjMwMjMg
bWZuPWY5ZmZhIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFw
OnJlbW92ZTogZG9tMTYgZ2ZuPWYzMDIzIG1mbj1mOWZmYSBucj0xDQooWEVOKSBbMjAxMi0x
MC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyMyBtZm49Zjlm
ZmEgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6cmVtb3Zl
OiBkb20xNiBnZm49ZjMwMjMgbWZuPWY5ZmZhIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1
OjE3OjU0XSBtZW1vcnlfbWFwOmFkZDogZG9tMTYgZ2ZuPWYzMDIzIG1mbj1mOWZmYSBucj0x
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDpyZW1vdmU6IGRvbTE2
IGdmbj1mMzAyMyBtZm49ZjlmZmEgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRd
IG1lbW9yeV9tYXA6YWRkOiBkb20xNiBnZm49ZjMwMjMgbWZuPWY5ZmZhIG5yPTENCihYRU4p
IFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMTYgZ2ZuPWYz
MDIzIG1mbj1mOWZmYSBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5
X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyMyBtZm49ZjlmZmEgbnI9MQ0KKFhFTikgWzIwMTIt
MTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNiBnZm49ZjMwMjMgbWZu
PWY5ZmZhIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOmFk
ZDogZG9tMTYgZ2ZuPWYzMDIzIG1mbj1mOWZmYSBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxNzo1NF0gbWVtb3J5X21hcDpyZW1vdmU6IGRvbTE2IGdmbj1mMzAyMyBtZm49ZjlmZmEg
bnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6YWRkOiBkb20x
NiBnZm49ZjMwMjMgbWZuPWY5ZmZhIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0
XSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMTYgZ2ZuPWYzMDI0IG1mbj1mOWZmYiBucj0xDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1m
MzAyNCBtZm49ZjlmZmIgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9y
eV9tYXA6cmVtb3ZlOiBkb20xNiBnZm49ZjMwMjQgbWZuPWY5ZmZiIG5yPTENCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOmFkZDogZG9tMTYgZ2ZuPWYzMDI0IG1m
bj1mOWZmYiBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDpy
ZW1vdmU6IGRvbTE2IGdmbj1mMzAyNCBtZm49ZjlmZmIgbnI9MQ0KKFhFTikgWzIwMTItMTAt
MTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6YWRkOiBkb20xNiBnZm49ZjMwMjQgbWZuPWY5ZmZi
IG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOnJlbW92ZTog
ZG9tMTYgZ2ZuPWYzMDI0IG1mbj1mOWZmYiBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNTox
Nzo1NF0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyNCBtZm49ZjlmZmIgbnI9MQ0K
KFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNiBn
Zm49ZjMwMjQgbWZuPWY5ZmZiIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBt
ZW1vcnlfbWFwOmFkZDogZG9tMTYgZ2ZuPWYzMDI0IG1mbj1mOWZmYiBucj0xDQooWEVOKSBb
MjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDpyZW1vdmU6IGRvbTE2IGdmbj1mMzAy
NCBtZm49ZjlmZmIgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9t
YXA6YWRkOiBkb20xNiBnZm49ZjMwMjQgbWZuPWY5ZmZiIG5yPTENCihYRU4pIFsyMDEyLTEw
LTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMTYgZ2ZuPWYzMDI0IG1mbj1m
OWZmYiBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDphZGQ6
IGRvbTE2IGdmbj1mMzAyNCBtZm49ZjlmZmIgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6
MTc6NTRdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNiBnZm49ZjMwMjUgbWZuPWY5ZmZjIG5y
PTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOmFkZDogZG9tMTYg
Z2ZuPWYzMDI1IG1mbj1mOWZmYyBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0g
bWVtb3J5X21hcDpyZW1vdmU6IGRvbTE2IGdmbj1mMzAyNSBtZm49ZjlmZmMgbnI9MQ0KKFhF
TikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6YWRkOiBkb20xNiBnZm49ZjMw
MjUgbWZuPWY5ZmZjIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlf
bWFwOnJlbW92ZTogZG9tMTYgZ2ZuPWYzMDI1IG1mbj1mOWZmYyBucj0xDQooWEVOKSBbMjAx
Mi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyNSBtZm49
ZjlmZmMgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6cmVt
b3ZlOiBkb20xNiBnZm49ZjMwMjUgbWZuPWY5ZmZjIG5yPTENCihYRU4pIFsyMDEyLTEwLTEw
IDE1OjE3OjU0XSBtZW1vcnlfbWFwOmFkZDogZG9tMTYgZ2ZuPWYzMDI1IG1mbj1mOWZmYyBu
cj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDpyZW1vdmU6IGRv
bTE2IGdmbj1mMzAyNSBtZm49ZjlmZmMgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6
NTRdIG1lbW9yeV9tYXA6YWRkOiBkb20xNiBnZm49ZjMwMjUgbWZuPWY5ZmZjIG5yPTENCihY
RU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMTYgZ2Zu
PWYzMDI1IG1mbj1mOWZmYyBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVt
b3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyNSBtZm49ZjlmZmMgbnI9MQ0KKFhFTikgWzIw
MTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNiBnZm49ZjMwMjUg
bWZuPWY5ZmZjIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFw
OmFkZDogZG9tMTYgZ2ZuPWYzMDI1IG1mbj1mOWZmYyBucj0xDQooWEVOKSBbMjAxMi0xMC0x
MCAxNToxNzo1NF0gbWVtb3J5X21hcDpyZW1vdmU6IGRvbTE2IGdmbj1mMzAyNiBtZm49Zjlm
ZmQgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6YWRkOiBk
b20xNiBnZm49ZjMwMjYgbWZuPWY5ZmZkIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3
OjU0XSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMTYgZ2ZuPWYzMDI2IG1mbj1mOWZmZCBucj0x
DQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdm
bj1mMzAyNiBtZm49ZjlmZmQgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1l
bW9yeV9tYXA6cmVtb3ZlOiBkb20xNiBnZm49ZjMwMjYgbWZuPWY5ZmZkIG5yPTENCihYRU4p
IFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOmFkZDogZG9tMTYgZ2ZuPWYzMDI2
IG1mbj1mOWZmZCBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21h
cDpyZW1vdmU6IGRvbTE2IGdmbj1mMzAyNiBtZm49ZjlmZmQgbnI9MQ0KKFhFTikgWzIwMTIt
MTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6YWRkOiBkb20xNiBnZm49ZjMwMjYgbWZuPWY5
ZmZkIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOnJlbW92
ZTogZG9tMTYgZ2ZuPWYzMDI2IG1mbj1mOWZmZCBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAx
NToxNzo1NF0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyNiBtZm49ZjlmZmQgbnI9
MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20x
NiBnZm49ZjMwMjYgbWZuPWY5ZmZkIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0
XSBtZW1vcnlfbWFwOmFkZDogZG9tMTYgZ2ZuPWYzMDI2IG1mbj1mOWZmZCBucj0xDQooWEVO
KSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDpyZW1vdmU6IGRvbTE2IGdmbj1m
MzAyNiBtZm49ZjlmZmQgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9y
eV9tYXA6YWRkOiBkb20xNiBnZm49ZjMwMjYgbWZuPWY5ZmZkIG5yPTENCihYRU4pIFsyMDEy
LTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMTYgZ2ZuPWYzMDI3IG1m
bj1mOWZmZSBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDph
ZGQ6IGRvbTE2IGdmbj1mMzAyNyBtZm49ZjlmZmUgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAg
MTU6MTc6NTRdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNiBnZm49ZjMwMjcgbWZuPWY5ZmZl
IG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOmFkZDogZG9t
MTYgZ2ZuPWYzMDI3IG1mbj1mOWZmZSBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1
NF0gbWVtb3J5X21hcDpyZW1vdmU6IGRvbTE2IGdmbj1mMzAyNyBtZm49ZjlmZmUgbnI9MQ0K
KFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6YWRkOiBkb20xNiBnZm49
ZjMwMjcgbWZuPWY5ZmZlIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1v
cnlfbWFwOnJlbW92ZTogZG9tMTYgZ2ZuPWYzMDI3IG1mbj1mOWZmZSBucj0xDQooWEVOKSBb
MjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyNyBt
Zm49ZjlmZmUgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6
cmVtb3ZlOiBkb20xNiBnZm49ZjMwMjcgbWZuPWY5ZmZlIG5yPTENCihYRU4pIFsyMDEyLTEw
LTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOmFkZDogZG9tMTYgZ2ZuPWYzMDI3IG1mbj1mOWZm
ZSBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDpyZW1vdmU6
IGRvbTE2IGdmbj1mMzAyNyBtZm49ZjlmZmUgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6
MTc6NTRdIG1lbW9yeV9tYXA6YWRkOiBkb20xNiBnZm49ZjMwMjcgbWZuPWY5ZmZlIG5yPTEN
CihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMTYg
Z2ZuPWYzMDI3IG1mbj1mOWZmZSBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0g
bWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyNyBtZm49ZjlmZmUgbnI9MQ0KKFhFTikg
WzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNiBnZm49ZjMw
MjggbWZuPWY5ZmZmIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlf
bWFwOmFkZDogZG9tMTYgZ2ZuPWYzMDI4IG1mbj1mOWZmZiBucj0xDQooWEVOKSBbMjAxMi0x
MC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDpyZW1vdmU6IGRvbTE2IGdmbj1mMzAyOCBtZm49
ZjlmZmYgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6YWRk
OiBkb20xNiBnZm49ZjMwMjggbWZuPWY5ZmZmIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1
OjE3OjU0XSBtZW1vcnlfbWFwOnJlbW92ZTogZG9tMTYgZ2ZuPWYzMDI4IG1mbj1mOWZmZiBu
cj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5X21hcDphZGQ6IGRvbTE2
IGdmbj1mMzAyOCBtZm49ZjlmZmYgbnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRd
IG1lbW9yeV9tYXA6cmVtb3ZlOiBkb20xNiBnZm49ZjMwMjggbWZuPWY5ZmZmIG5yPTENCihY
RU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOmFkZDogZG9tMTYgZ2ZuPWYz
MDI4IG1mbj1mOWZmZiBucj0xDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NF0gbWVtb3J5
X21hcDpyZW1vdmU6IGRvbTE2IGdmbj1mMzAyOCBtZm49ZjlmZmYgbnI9MQ0KKFhFTikgWzIw
MTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6YWRkOiBkb20xNiBnZm49ZjMwMjggbWZu
PWY5ZmZmIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU0XSBtZW1vcnlfbWFwOnJl
bW92ZTogZG9tMTYgZ2ZuPWYzMDI4IG1mbj1mOWZmZiBucj0xDQooWEVOKSBbMjAxMi0xMC0x
MCAxNToxNzo1NF0gbWVtb3J5X21hcDphZGQ6IGRvbTE2IGdmbj1mMzAyOCBtZm49ZjlmZmYg
bnI9MQ0KKFhFTikgWzIwMTItMTAtMTAgMTU6MTc6NTRdIG1lbW9yeV9tYXA6cmVtb3ZlOiBk
b20xNiBnZm49ZjMwMjggbWZuPWY5ZmZmIG5yPTENCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3
OjU0XSBtZW1vcnlfbWFwOmFkZDogZG9tMTYgZ2ZuPWYzMDI4IG1mbj1mOWZmZiBucj0xDQoo
WEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NV0gaXJxLmM6MjcwOiBEb20xNiBQQ0kgbGluayAw
IGNoYW5nZWQgNSAtPiAwDQooWEVOKSBbMjAxMi0xMC0xMCAxNToxNzo1NV0gaXJxLmM6Mjcw
OiBEb20xNiBQQ0kgbGluayAxIGNoYW5nZWQgMTAgLT4gMA0KKFhFTikgWzIwMTItMTAtMTAg
MTU6MTc6NTVdIGlycS5jOjI3MDogRG9tMTYgUENJIGxpbmsgMiBjaGFuZ2VkIDExIC0+IDAN
CihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU1XSBpcnEuYzoyNzA6IERvbTE2IFBDSSBsaW5r
IDMgY2hhbmdlZCA1IC0+IDANCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU2XSBldmVudF9j
aGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBmYWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjU2XSBldmVudF9jaGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBm
YWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU2XSBldmVudF9j
aGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBmYWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjU2XSBldmVudF9jaGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBm
YWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU2XSBldmVudF9j
aGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBmYWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjU2XSBldmVudF9jaGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBm
YWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU2XSBldmVudF9j
aGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBmYWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjU2XSBldmVudF9jaGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBm
YWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU2XSBldmVudF9j
aGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBmYWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjU2XSBldmVudF9jaGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBm
YWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU2XSBldmVudF9j
aGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBmYWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjU2XSBldmVudF9jaGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBm
YWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU3XSBldmVudF9j
aGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBmYWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsy
MDEyLTEwLTEwIDE1OjE3OjU3XSBldmVudF9jaGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBm
YWlsdXJlOiBlcnJvciAtMTcNCihYRU4pIFsyMDEyLTEwLTEwIDE1OjE3OjU3XSBldmVudF9j
aGFubmVsLmM6Mzc3OmQxNiBFVlRDSE5PUCBmYWlsdXJlOiBlcnJvciAtMTcNCg==
------------08613C0C31EE607B1
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

------------08613C0C31EE607B1--



From xen-devel-bounces@lists.xen.org Thu Oct 11 04:20:12 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Oct 2012 04:20:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TMAFM-00015V-2X; Thu, 11 Oct 2012 04:19:44 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avs.009@gmail.com>) id 1TMAFJ-00015Q-VV
	for xen-devel@lists.xen.org; Thu, 11 Oct 2012 04:19:42 +0000
Received: from [85.158.139.83:62168] by server-5.bemta-5.messagelabs.com id
	B5/C6-19238-DD846705; Thu, 11 Oct 2012 04:19:41 +0000
X-Env-Sender: avs.009@gmail.com
X-Msg-Ref: server-14.tower-182.messagelabs.com!1349929175!30050410!1
X-Originating-IP: [209.85.210.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10593 invoked from network); 11 Oct 2012 04:19:36 -0000
Received: from mail-ia0-f173.google.com (HELO mail-ia0-f173.google.com)
	(209.85.210.173)
	by server-14.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	11 Oct 2012 04:19:36 -0000
Received: by mail-ia0-f173.google.com with SMTP id m10so1176521iam.32
	for <xen-devel@lists.xen.org>; Wed, 10 Oct 2012 21:19:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=QqCdBhK52TgtA/rvX38GV/iddN6YvC5JsRQmV1ZjhjA=;
	b=hFGYFOQZu/pvXrtFAcF9ynyhGl9zfQgoc/dQg2Rv9vtj9HUWEImMmNl5USC3UaMYlL
	7FycrmNMeu0kRZZSfBYh4WUnT4K+ba5nxXILGbVpsBs1D6dckF4rGNDuW/b8BDeb3W+u
	xXZTEPOrE693EUOgR3Q7s52uxEsakLcWIdgaC2Nt1cDdYvEbxJiTo9/wFyJ+UoIdZo/V
	8rM25OK2SXg44Pj2pGeXSNvgIJFGUMTjyXsi44cyvgvfX+p6FkVfDJcnQt9JfM9VAd3o
	M83XbUzbTiUcPm5wHRp0FYmuEf4gpdzbBUKmOwdyhESTXclmYrr7Rv5oDUYutz7SL25F
	/ojA==
MIME-Version: 1.0
Received: by 10.50.185.194 with SMTP id fe2mr7561274igc.60.1349929174748; Wed,
	10 Oct 2012 21:19:34 -0700 (PDT)
Received: by 10.64.22.71 with HTTP; Wed, 10 Oct 2012 21:19:34 -0700 (PDT)
Date: Thu, 11 Oct 2012 01:19:34 -0300
Message-ID: <CANchcZzw-buy94VcjOvkH=ihsyuoo+L-BbXF9AunPWFzie19Gw@mail.gmail.com>
From: Allan Scheid <avs.009@gmail.com>
To: xen-devel@lists.xen.org
Subject: [Xen-devel] Xen 4.2 with EFI on IBM Server ACPI Bug
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4323735893482094400=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============4323735893482094400==
Content-Type: multipart/alternative; boundary=14dae934109feecd8704cbc0e07e

--14dae934109feecd8704cbc0e07e
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hellow all, i need help with this bug:

ACPI BIOS Bug: Error: A valid RSDP was not found (20120711/tbxfroot-219)

Because of this first errors i get this second error, and it causes don't
work USB ports and some PCI cards on the system:

can't find IRQ for PCI INT A; please try using pci=3Dbiosirq

This occours only when i try boot with xen multiboot (with hypervisor), if
i boot only kernel with xen extensions no has errors in dmesg.

Kernel: 3.6.1-xen self compiled (work perfect without xen multiboot)
Xen Version: 4.2
Grub2 EFI: 1.99-23
Debian Unstable distro
Server: IBM System x3650 M3 7945AC1

dmesg output:

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.6.1-xen (root@lca-fw) (gcc version 4.7.1
(Debian 4.7.1-7) ) #1 SMP Wed Oct 10 22:46:05 BRT 2012
[    0.000000] Command line: placeholder root=3D/dev/mapper/xen-fw_root ro
[    0.000000] Freeing 6c-6d pfn range: 1 pages freed
[    0.000000] 1-1 mapping on 6c->6d
[    0.000000] Freeing 9f-100 pfn range: 97 pages freed
[    0.000000] 1-1 mapping on 9f->100
[    0.000000] Freeing 7acb7-7ccb8 pfn range: 8193 pages freed
[    0.000000] 1-1 mapping on 7acb7->7ccb8
[    0.000000] Freeing 7d4f0-7d51b pfn range: 43 pages freed
[    0.000000] 1-1 mapping on 7d4f0->7d51b
[    0.000000] Freeing 7d53f-7d56a pfn range: 43 pages freed
[    0.000000] 1-1 mapping on 7d53f->7d56a
[    0.000000] Freeing 7d704-7d7b4 pfn range: 176 pages freed
[    0.000000] 1-1 mapping on 7d704->7d7b4
[    0.000000] Freeing 7f5ef-7f7ff pfn range: 528 pages freed
[    0.000000] 1-1 mapping on 7f5ef->7f7ff
[    0.000000] Freeing 7f800-f258d pfn range: 470413 pages freed
[    0.000000] 1-1 mapping on 7f800->100000
[    0.000000] Released 479494 pages of unused memory
[    0.000000] Set 535417 page(s) to 1-1 mapping
[    0.000000] Populating 100000-175106 pfn range: 479494 pages added
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] Xen: [mem 0x0000000000000000-0x000000000006bfff] usable
[    0.000000] Xen: [mem 0x000000000006c000-0x000000000006cfff] ACPI NVS
[    0.000000] Xen: [mem 0x000000000006d000-0x000000000009efff] usable
[    0.000000] Xen: [mem 0x000000000009f000-0x000000000009ffff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000000a0000-0x00000000000fffff] reserved
[    0.000000] Xen: [mem 0x0000000000100000-0x000000007acb6fff] usable
[    0.000000] Xen: [mem 0x000000007acb7000-0x000000007ccb7fff] reserved
[    0.000000] Xen: [mem 0x000000007ccb8000-0x000000007d4effff] usable
[    0.000000] Xen: [mem 0x000000007d4f0000-0x000000007d51afff] reserved
[    0.000000] Xen: [mem 0x000000007d51b000-0x000000007d53efff] usable
[    0.000000] Xen: [mem 0x000000007d53f000-0x000000007d569fff] reserved
[    0.000000] Xen: [mem 0x000000007d56a000-0x000000007d703fff] usable
[    0.000000] Xen: [mem 0x000000007d704000-0x000000007d7b3fff] reserved
[    0.000000] Xen: [mem 0x000000007d7b4000-0x000000007f5eefff] usable
[    0.000000] Xen: [mem 0x000000007f5ef000-0x000000007f6defff] reserved
[    0.000000] Xen: [mem 0x000000007f6df000-0x000000007f7defff] ACPI NVS
[    0.000000] Xen: [mem 0x000000007f7df000-0x000000007f7fefff] ACPI data
[    0.000000] Xen: [mem 0x000000007f7ff000-0x000000007f7fffff] usable
[    0.000000] Xen: [mem 0x0000000080000000-0x000000008fffffff] reserved
[    0.000000] Xen: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] Xen: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] Xen: [mem 0x00000000ff800000-0x00000000ffffffff] reserved
[    0.000000] Xen: [mem 0x0000000100000000-0x000000017fffffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI 2.5 present.
[    0.000000] DMI: IBM System x3650 M3 -[7945AC1]-/00D4062, BIOS
-[D6E157AUS-1.15]- 06/13/2012
[    0.000000] e820: update [mem 0x00000000-0x0000ffff] usable =3D=3D> rese=
rved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] No AGP bridge found
[    0.000000] e820: last_pfn =3D 0x180000 max_arch_pfn =3D 0x400000000
[    0.000000] e820: last_pfn =3D 0x7f800 max_arch_pfn =3D 0x400000000
[    0.000000] initial memory mapped: [mem 0x00000000-0x02334fff]
[    0.000000] Base memory trampoline at [ffff880000099000] 99000 size 2457=
6
[    0.000000] init_memory_mapping: [mem 0x00000000-0x7f7fffff]
[    0.000000]  [mem 0x00000000-0x7f7fffff] page 4k
[    0.000000] kernel direct mapping tables up to 0x7f7fffff @ [mem
0x01831000-0x01c2ffff]
[    0.000000] xen: setting RW the range 1c14000 - 1c30000
[    0.000000] init_memory_mapping: [mem 0x100000000-0x17fffffff]
[    0.000000]  [mem 0x100000000-0x17fffffff] page 4k
[    0.000000] kernel direct mapping tables up to 0x17fffffff @ [mem
0x7e9e8000-0x7f5eefff]
[    0.000000] xen: setting RW the range 7edea000 - 7f5ef000
[    0.000000] RAMDISK: [mem 0x01c30000-0x02334fff]
[    0.000000] ACPI BIOS Bug: Error: A valid RSDP was not found
(20120711/tbxfroot-219)
[    0.000000] NUMA turned off
[    0.000000] Faking a node at [mem 0x0000000000000000-0x000000017fffffff]
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x17fffffff]
[    0.000000]   NODE_DATA [mem 0x175102000-0x175105fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x00010000-0x00ffffff]
[    0.000000]   DMA32    [mem 0x01000000-0xffffffff]
[    0.000000]   Normal   [mem 0x100000000-0x17fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00010000-0x0006bfff]
[    0.000000]   node   0: [mem 0x0006d000-0x0009efff]
[    0.000000]   node   0: [mem 0x00100000-0x7acb6fff]
[    0.000000]   node   0: [mem 0x7ccb8000-0x7d4effff]
[    0.000000]   node   0: [mem 0x7d51b000-0x7d53efff]
[    0.000000]   node   0: [mem 0x7d56a000-0x7d703fff]
[    0.000000]   node   0: [mem 0x7d7b4000-0x7f5eefff]
[    0.000000]   node   0: [mem 0x7f7ff000-0x7f7fffff]
[    0.000000]   node   0: [mem 0x100000000-0x17fffffff]
[    0.000000] On node 0 totalpages: 1037431
[    0.000000]   DMA zone: 56 pages used for memmap
[    0.000000]   DMA zone: 6 pages reserved
[    0.000000]   DMA zone: 3920 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 14280 pages used for memmap
[    0.000000]   DMA32 zone: 494881 pages, LIFO batch:31
[    0.000000]   Normal zone: 7168 pages used for memmap
[    0.000000]   Normal zone: 517120 pages, LIFO batch:31
[    0.000000] SFI: Simple Firmware Interface v0.81
http://simplefirmware.org
[    0.000000] smpboot: Allowing 1 CPUs, 0 hotplug CPUs
[    0.000000] nr_irqs_gsi: 16
[    0.000000] PM: Registered nosave memory: 000000000006c000 -
000000000006d000
[    0.000000] PM: Registered nosave memory: 000000000009f000 -
00000000000a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 -
0000000000100000
[    0.000000] PM: Registered nosave memory: 000000007acb7000 -
000000007ccb8000
[    0.000000] PM: Registered nosave memory: 000000007d4f0000 -
000000007d51b000
[    0.000000] PM: Registered nosave memory: 000000007d53f000 -
000000007d56a000
[    0.000000] PM: Registered nosave memory: 000000007d704000 -
000000007d7b4000
[    0.000000] PM: Registered nosave memory: 000000007f5ef000 -
000000007f6df000
[    0.000000] PM: Registered nosave memory: 000000007f6df000 -
000000007f7df000
[    0.000000] PM: Registered nosave memory: 000000007f7df000 -
000000007f7ff000
[    0.000000] PM: Registered nosave memory: 000000007f800000 -
0000000080000000
[    0.000000] PM: Registered nosave memory: 0000000080000000 -
0000000090000000
[    0.000000] PM: Registered nosave memory: 0000000090000000 -
00000000fed1c000
[    0.000000] PM: Registered nosave memory: 00000000fed1c000 -
00000000fed20000
[    0.000000] PM: Registered nosave memory: 00000000fed20000 -
00000000fee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 -
00000000fee01000
[    0.000000] PM: Registered nosave memory: 00000000fee01000 -
00000000ff800000
[    0.000000] PM: Registered nosave memory: 00000000ff800000 -
0000000100000000
[    0.000000] e820: [mem 0x90000000-0xfed1bfff] available for PCI devices
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.2.0 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:1
nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff880174e00000 s83840 r8192
d22656 u2097152
[    0.000000] pcpu-alloc: s83840 r8192 d22656 u2097152 alloc=3D1*2097152
[    0.000000] pcpu-alloc: [0] 0
[    1.096975] Built 1 zonelists in Zone order, mobility grouping on.
 Total pages: 1015921
[    1.096977] Policy zone: Normal
[    1.096979] Kernel command line: placeholder
root=3D/dev/mapper/xen-fw_root ro
[    1.097016] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    1.097021] __ex_table already sorted, skipping sort
[    1.121932] software IO TLB [mem 0x16c800000-0x1707fffff] (64MB) mapped
at [ffff88016c800000-ffff8801707fffff]
[    1.138656] Memory: 3815116k/6291456k available (3573k kernel code,
2141732k absent, 334608k reserved, 3147k data, 592k init)
[    1.138717] Hierarchical RCU implementation.
[    1.138718] RCU dyntick-idle grace-period acceleration is enabled.
[    1.138719] RCU restricting CPUs from NR_CPUS=3D512 to nr_cpu_ids=3D1.
[    1.138728] NR_IRQS:33024 nr_irqs:256 16
[    1.147171] Console: colour VGA+ 80x25
[    1.154296] console [tty0] enabled
[    1.159002] allocated 16777216 bytes of page_cgroup
[    1.159079] please try 'cgroup_disable=3Dmemory' option if you don't wan=
t
memory cgroups
[    1.159208] Xen: using vcpuop timer interface
[    1.159214] installing Xen timer for CPU 0
[    1.159303] tsc: Detected 2400.126 MHz processor
[    1.159375] Calibrating delay loop (skipped), value calculated using
timer frequency.. 4800.25 BogoMIPS (lpj=3D9600504)
[    1.159517] pid_max: default: 32768 minimum: 301
[    1.159607] Security Framework initialized
[    1.159680] AppArmor: AppArmor disabled by boot time parameter
[    1.160298] Dentry cache hash table entries: 524288 (order: 10, 4194304
bytes)
[    1.161752] Inode-cache hash table entries: 262144 (order: 9, 2097152
bytes)
[    1.162415] Mount-cache hash table entries: 256
[    1.162658] Initializing cgroup subsys cpuacct
[    1.162729] Initializing cgroup subsys memory
[    1.162806] Initializing cgroup subsys devices
[    1.162876] Initializing cgroup subsys freezer
[    1.162945] Initializing cgroup subsys net_cls
[    1.163014] Initializing cgroup subsys blkio
[    1.163082] Initializing cgroup subsys perf_event
[    1.163204] CPU: Physical Processor ID: 0
[    1.163277] CPU: Processor Core ID: 0
[    1.163346] mce: CPU supports 2 MCE banks
[    1.163452] Last level iTLB entries: 4KB 512, 2MB 7, 4MB 7
[    1.163452] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32
[    1.163452] tlb_flushall_shift is 0x6
[    1.163602] SMP alternatives: switching to UP code
[    1.171342] Freeing SMP alternatives: 8k freed
[    1.171471] Performance Events: unsupported p6 CPU model 44 no PMU
driver, software events only.
[    1.171785] NMI watchdog: disabled (cpu0): hardware events not enabled
[    1.171876] Brought up 1 CPUs
[    1.172058] devtmpfs: initialized
[    1.174970] PM: Registering ACPI NVS region [mem 0x0006c000-0x0006cfff]
(4096 bytes)
[    1.175062] PM: Registering ACPI NVS region [mem 0x0009f000-0x0009ffff]
(4096 bytes)
[    1.175153] PM: Registering ACPI NVS region [mem 0x7f6df000-0x7f7defff]
(1048576 bytes)
[    1.175314] Grant tables using version 2 layout.
[    1.175394] Grant table initialized
[    1.175514] dummy:
[    1.175625] NET: Registered protocol family 16
[    1.175969] PCI: Using configuration type 1 for base access
[    1.176599] bio: create slab <bio-0> at 0
[    1.176719] ACPI: Interpreter disabled.
[    1.176796] xen/balloon: Initialising balloon driver.
[    1.177620] xen-balloon: Initialising balloon driver.
[    1.177761] vgaarb: loaded
[    1.177860] PCI: Probing PCI hardware
[    1.177929] PCI: root bus 00: using default resources
[    1.177930] PCI: Probing PCI hardware (bus 00)
[    1.177954] PCI host bridge to bus 0000:00
[    1.178025] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    1.178098] pci_bus 0000:00: root bus resource [mem
0x00000000-0xffffffffff]
[    1.178173] pci_bus 0000:00: No busn resource found for root bus, will
use [bus 00-ff]
[    1.178266] pci_bus 0000:00: busn_res: [bus 00-ff] is inserted under
domain [bus 00-ff]
[    1.178287] pci 0000:00:00.0: [8086:3406] type 00 class 0x060000
[    1.178389] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[    1.178425] pci 0000:00:01.0: [8086:3408] type 01 class 0x060400
[    1.178532] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[    1.178571] pci 0000:00:02.0: [8086:3409] type 01 class 0x060400
[    1.178678] pci 0000:00:02.0: PME# supported from D0 D3hot D3cold
[    1.178716] pci 0000:00:03.0: [8086:340a] type 01 class 0x060400
[    1.178824] pci 0000:00:03.0: PME# supported from D0 D3hot D3cold
[    1.178865] pci 0000:00:05.0: [8086:340c] type 01 class 0x060400
[    1.178973] pci 0000:00:05.0: PME# supported from D0 D3hot D3cold
[    1.179013] pci 0000:00:07.0: [8086:340e] type 01 class 0x060400
[    1.179121] pci 0000:00:07.0: PME# supported from D0 D3hot D3cold
[    1.179161] pci 0000:00:09.0: [8086:3410] type 01 class 0x060400
[    1.179269] pci 0000:00:09.0: PME# supported from D0 D3hot D3cold
[    1.179309] pci 0000:00:10.0: [8086:3425] type 00 class 0x080000
[    1.179434] pci 0000:00:10.1: [8086:3426] type 00 class 0x080000
[    1.179543] pci 0000:00:11.0: [8086:3427] type 00 class 0x080000
[    1.179668] pci 0000:00:11.1: [8086:3428] type 00 class 0x080000
[    1.179795] pci 0000:00:14.0: [8086:342e] type 00 class 0x080000
[    1.179919] pci 0000:00:14.1: [8086:3422] type 00 class 0x080000
[    1.180053] pci 0000:00:14.2: [8086:3423] type 00 class 0x080000
[    1.180172] pci 0000:00:14.3: [8086:3438] type 00 class 0x080000
[    1.180273] pci 0000:00:15.0: [8086:342f] type 00 class 0x080020
[    1.180387] pci 0000:00:16.0: [8086:3430] type 00 class 0x088000
[    1.180408] pci 0000:00:16.0: reg 10: [mem 0x97a00000-0x97a03fff 64bit]
[    1.180540] pci 0000:00:16.1: [8086:3431] type 00 class 0x088000
[    1.180561] pci 0000:00:16.1: reg 10: [mem 0x97a04000-0x97a07fff 64bit]
[    1.180693] pci 0000:00:16.2: [8086:3432] type 00 class 0x088000
[    1.180713] pci 0000:00:16.2: reg 10: [mem 0x97a08000-0x97a0bfff 64bit]
[    1.180845] pci 0000:00:16.3: [8086:3433] type 00 class 0x088000
[    1.180866] pci 0000:00:16.3: reg 10: [mem 0x97a0c000-0x97a0ffff 64bit]
[    1.180997] pci 0000:00:16.4: [8086:3429] type 00 class 0x088000
[    1.181018] pci 0000:00:16.4: reg 10: [mem 0x97a10000-0x97a13fff 64bit]
[    1.181150] pci 0000:00:16.5: [8086:342a] type 00 class 0x088000
[    1.181170] pci 0000:00:16.5: reg 10: [mem 0x97a14000-0x97a17fff 64bit]
[    1.181302] pci 0000:00:16.6: [8086:342b] type 00 class 0x088000
[    1.181323] pci 0000:00:16.6: reg 10: [mem 0x97a18000-0x97a1bfff 64bit]
[    1.181455] pci 0000:00:16.7: [8086:342c] type 00 class 0x088000
[    1.181475] pci 0000:00:16.7: reg 10: [mem 0x97a1c000-0x97a1ffff 64bit]
[    1.181610] pci 0000:00:1a.0: [8086:3a37] type 00 class 0x0c0300
[    1.181681] pci 0000:00:1a.0: reg 20: [io  0x20a0-0x20bf]
[    1.181766] pci 0000:00:1a.1: [8086:3a38] type 00 class 0x0c0300
[    1.181837] pci 0000:00:1a.1: reg 20: [io  0x2080-0x209f]
[    1.181937] pci 0000:00:1a.7: [8086:3a3c] type 00 class 0x0c0320
[    1.181970] pci 0000:00:1a.7: reg 10: [mem 0x97a21000-0x97a213ff]
[    1.182116] pci 0000:00:1a.7: PME# supported from D0 D3hot D3cold
[    1.182153] pci 0000:00:1c.0: [8086:3a40] type 01 class 0x060400
[    1.182274] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    1.182316] pci 0000:00:1c.4: [8086:3a48] type 01 class 0x060400
[    1.182435] pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold
[    1.182478] pci 0000:00:1d.0: [8086:3a34] type 00 class 0x0c0300
[    1.182549] pci 0000:00:1d.0: reg 20: [io  0x2060-0x207f]
[    1.182634] pci 0000:00:1d.1: [8086:3a35] type 00 class 0x0c0300
[    1.182705] pci 0000:00:1d.1: reg 20: [io  0x2040-0x205f]
[    1.182790] pci 0000:00:1d.2: [8086:3a36] type 00 class 0x0c0300
[    1.182860] pci 0000:00:1d.2: reg 20: [io  0x2020-0x203f]
[    1.182960] pci 0000:00:1d.7: [8086:3a3a] type 00 class 0x0c0320
[    1.182993] pci 0000:00:1d.7: reg 10: [mem 0x97a20000-0x97a203ff]
[    1.183138] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[    1.183173] pci 0000:00:1e.0: [8086:244e] type 01 class 0x060401
[    1.183279] pci 0000:00:1f.0: [8086:3a18] type 00 class 0x060100
[    1.183458] pci 0000:00:1f.2: [8086:3a20] type 00 class 0x01018f
[    1.183484] pci 0000:00:1f.2: reg 10: [io  0x2118-0x211f]
[    1.183497] pci 0000:00:1f.2: reg 14: [io  0x212c-0x212f]
[    1.183510] pci 0000:00:1f.2: reg 18: [io  0x2110-0x2117]
[    1.183522] pci 0000:00:1f.2: reg 1c: [io  0x2128-0x212b]
[    1.183535] pci 0000:00:1f.2: reg 20: [io  0x20f0-0x20ff]
[    1.183548] pci 0000:00:1f.2: reg 24: [io  0x20e0-0x20ef]
[    1.183629] pci 0000:00:1f.3: [8086:3a30] type 00 class 0x0c0500
[    1.183653] pci 0000:00:1f.3: reg 10: [mem 0x97a22000-0x97a220ff 64bit]
[    1.183689] pci 0000:00:1f.3: reg 20: [io  0x2000-0x201f]
[    1.183746] pci 0000:00:1f.5: [8086:3a26] type 00 class 0x010185
[    1.183772] pci 0000:00:1f.5: reg 10: [io  0x2108-0x210f]
[    1.183784] pci 0000:00:1f.5: reg 14: [io  0x2124-0x2127]
[    1.183797] pci 0000:00:1f.5: reg 18: [io  0x2100-0x2107]
[    1.183816] pci 0000:00:1f.5: reg 1c: [io  0x2120-0x2123]
[    1.183829] pci 0000:00:1f.5: reg 20: [io  0x20d0-0x20df]
[    1.183841] pci 0000:00:1f.5: reg 24: [io  0x20c0-0x20cf]
[    1.183985] pci_bus 0000:0b: busn_res: [bus 0b-0f] is inserted under
[bus 00-ff]
[    1.184016] pci 0000:0b:00.0: [14e4:1639] type 00 class 0x020000
[    1.184040] pci 0000:0b:00.0: reg 10: [mem 0x92000000-0x93ffffff 64bit]
[    1.184181] pci 0000:0b:00.0: PME# supported from D0 D3hot D3cold
[    1.184224] pci 0000:0b:00.1: [14e4:1639] type 00 class 0x020000
[    1.184248] pci 0000:0b:00.1: reg 10: [mem 0x94000000-0x95ffffff 64bit]
[    1.184390] pci 0000:0b:00.1: PME# supported from D0 D3hot D3cold
[    1.191939] pci 0000:00:01.0: PCI bridge to [bus 0b-0f]
[    1.192017] pci 0000:00:01.0:   bridge window [mem 0x92000000-0x95ffffff=
]
[    1.192089] pci_bus 0000:10: busn_res: [bus 10-14] is inserted under
[bus 00-ff]
[    1.192093] pci 0000:00:02.0: PCI bridge to [bus 10-14]
[    1.192240] pci_bus 0000:15: busn_res: [bus 15-19] is inserted under
[bus 00-ff]
[    1.192244] pci 0000:00:03.0: PCI bridge to [bus 15-19]
[    1.192389] pci_bus 0000:1a: busn_res: [bus 1a-1e] is inserted under
[bus 00-ff]
[    1.192392] pci 0000:00:05.0: PCI bridge to [bus 1a-1e]
[    1.192539] pci_bus 0000:1f: busn_res: [bus 1f-23] is inserted under
[bus 00-ff]
[    1.192542] pci 0000:00:07.0: PCI bridge to [bus 1f-23]
[    1.192688] pci_bus 0000:24: busn_res: [bus 24-28] is inserted under
[bus 00-ff]
[    1.192691] pci 0000:00:09.0: PCI bridge to [bus 24-28]
[    1.192838] pci_bus 0000:01: busn_res: [bus 01-05] is inserted under
[bus 00-ff]
[    1.192863] pci 0000:01:00.0: [1000:0073] type 00 class 0x010400
[    1.192884] pci 0000:01:00.0: reg 10: [io  0x1000-0x10ff]
[    1.192908] pci 0000:01:00.0: reg 14: [mem 0x97940000-0x97943fff 64bit]
[    1.192932] pci 0000:01:00.0: reg 1c: [mem 0x97900000-0x9793ffff 64bit]
[    1.192962] pci 0000:01:00.0: reg 30: [mem 0xfffe0000-0xffffffff pref]
[    1.193060] pci 0000:01:00.0: supports D1 D2
[    1.200042] pci 0000:00:1c.0: PCI bridge to [bus 01-05]
[    1.200117] pci 0000:00:1c.0:   bridge window [io  0x1000-0x1fff]
[    1.200123] pci 0000:00:1c.0:   bridge window [mem 0x97900000-0x979fffff=
]
[    1.200196] pci_bus 0000:06: busn_res: [bus 06-0a] is inserted under
[bus 00-ff]
[    1.200228] pci 0000:06:00.0: [101b:0452] type 01 class 0x060400
[    1.200394] pci 0000:06:00.0: PME# supported from D0 D3hot D3cold
[    1.208144] pci 0000:00:1c.4: PCI bridge to [bus 06-0a]
[    1.208223] pci 0000:00:1c.4:   bridge window [mem 0x97000000-0x978fffff=
]
[    1.208231] pci 0000:00:1c.4:   bridge window [mem 0x96000000-0x96ffffff
64bit pref]
[    1.208330] pci_bus 0000:07: busn_res: [bus 07] is inserted under [bus
06-0a]
[    1.208353] pci 0000:07:00.0: [102b:0530] type 00 class 0x030000
[    1.208388] pci 0000:07:00.0: reg 10: [mem 0x96000000-0x96ffffff pref]
[    1.208407] pci 0000:07:00.0: reg 14: [mem 0x97800000-0x97803fff]
[    1.208427] pci 0000:07:00.0: reg 18: [mem 0x97000000-0x977fffff]
[    1.208633] pci 0000:06:00.0: PCI bridge to [bus 07]
[    1.208713] pci 0000:06:00.0:   bridge window [mem 0x97000000-0x978fffff=
]
[    1.208720] pci 0000:06:00.0:   bridge window [mem 0x96000000-0x96ffffff
pref]
[    1.208768] pci_bus 0000:29: busn_res: [bus 29-2d] is inserted under
[bus 00-ff]
[    1.208829] pci 0000:00:1e.0: PCI bridge to [bus 29-2d] (subtractive
decode)
[    1.208917] pci 0000:00:1e.0:   bridge window [io  0x0000-0xffff]
(subtractive decode)
[    1.208919] pci 0000:00:1e.0:   bridge window [mem
0x00000000-0xffffffffff] (subtractive decode)
[    1.208978] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 2d
[    1.210287] vgaarb: device added:
PCI:0000:07:00.0,decodes=3Dio+mem,owns=3Dio+mem,locks=3Dnone
[    1.210898] PCI: pci_cache_line_size set to 64 bytes
[    1.211078] e820: reserve RAM buffer [mem 0x0006c000-0x0006ffff]
[    1.211080] e820: reserve RAM buffer [mem 0x0009f000-0x0009ffff]
[    1.211081] e820: reserve RAM buffer [mem 0x7acb7000-0x7bffffff]
[    1.211082] e820: reserve RAM buffer [mem 0x7d4f0000-0x7fffffff]
[    1.211086] e820: reserve RAM buffer [mem 0x7d53f000-0x7fffffff]
[    1.211088] e820: reserve RAM buffer [mem 0x7d704000-0x7fffffff]
[    1.211091] e820: reserve RAM buffer [mem 0x7f5ef000-0x7fffffff]
[    1.211093] e820: reserve RAM buffer [mem 0x7f800000-0x7fffffff]
[    1.211210] Switching to clocksource xen
[    1.212720] pnp: PnP ACPI: disabled
[    1.214391] pci 0000:01:00.0: no compatible bridge window for [mem
0xfffe0000-0xffffffff pref]
[    1.214569] pci 0000:00:1c.0: bridge window [mem 0x00100000-0x001fffff
pref] to [bus 01-05] add_size 200000
[    1.214613] pci 0000:00:1c.0: res[15]=3D[mem 0x00100000-0x001fffff pref]
get_res_add_size add_size 200000
[    1.214617] pci 0000:00:1c.0: BAR 15: assigned [mem
0x90000000-0x902fffff pref]
[    1.214708] pci 0000:00:01.0: PCI bridge to [bus 0b-0f]
[    1.214783] pci 0000:00:01.0:   bridge window [mem 0x92000000-0x95ffffff=
]
[    1.214865] pci 0000:00:02.0: PCI bridge to [bus 10-14]
[    1.214948] pci 0000:00:03.0: PCI bridge to [bus 15-19]
[    1.215032] pci 0000:00:05.0: PCI bridge to [bus 1a-1e]
[    1.215114] pci 0000:00:07.0: PCI bridge to [bus 1f-23]
[    1.215198] pci 0000:00:09.0: PCI bridge to [bus 24-28]
[    1.215282] pci 0000:01:00.0: BAR 6: assigned [mem 0x90000000-0x9001ffff
pref]
[    1.215383] pci 0000:00:1c.0: PCI bridge to [bus 01-05]
[    1.215456] pci 0000:00:1c.0:   bridge window [io  0x1000-0x1fff]
[    1.215532] pci 0000:00:1c.0:   bridge window [mem 0x97900000-0x979fffff=
]
[    1.215609] pci 0000:00:1c.0:   bridge window [mem 0x90000000-0x902fffff
pref]
[    1.215705] pci 0000:06:00.0: PCI bridge to [bus 07]
[    1.215782] pci 0000:06:00.0:   bridge window [mem 0x97000000-0x978fffff=
]
[    1.215860] pci 0000:06:00.0:   bridge window [mem 0x96000000-0x96ffffff
pref]
[    1.223235] pci 0000:00:1c.4: PCI bridge to [bus 06-0a]
[    1.223310] pci 0000:00:1c.4:   bridge window [mem 0x97000000-0x978fffff=
]
[    1.223391] pci 0000:00:1c.4:   bridge window [mem 0x96000000-0x96ffffff
64bit pref]
[    1.223489] pci 0000:00:1e.0: PCI bridge to [bus 29-2d]
[    1.223580] pci 0000:00:01.0: can't find IRQ for PCI INT A; please try
using pci=3Dbiosirq
[    1.223680] pci 0000:00:02.0: can't find IRQ for PCI INT A; please try
using pci=3Dbiosirq
[    1.223780] pci 0000:00:03.0: can't find IRQ for PCI INT A; please try
using pci=3Dbiosirq
[    1.223880] pci 0000:00:05.0: can't find IRQ for PCI INT A; please try
using pci=3Dbiosirq
[    1.223981] pci 0000:00:07.0: can't find IRQ for PCI INT A; please try
using pci=3Dbiosirq
[    1.224081] pci 0000:00:09.0: can't find IRQ for PCI INT A; please try
using pci=3Dbiosirq
[    1.224183] pci 0000:00:1c.0: can't find IRQ for PCI INT A; please try
using pci=3Dbiosirq
[    1.224283] pci 0000:00:1c.4: can't find IRQ for PCI INT A; please try
using pci=3Dbiosirq
[    1.224385] pci 0000:06:00.0: can't find IRQ for PCI INT A; please try
using pci=3Dbiosirq
[    1.224487] pci 0000:00:1e.0: setting latency timer to 64
[    1.224492] pci_bus 0000:00: resource 4 [io  0x0000-0xffff]
[    1.224494] pci_bus 0000:00: resource 5 [mem 0x00000000-0xffffffffff]
[    1.224496] pci_bus 0000:0b: resource 1 [mem 0x92000000-0x95ffffff]
[    1.224498] pci_bus 0000:01: resource 0 [io  0x1000-0x1fff]
[    1.224500] pci_bus 0000:01: resource 1 [mem 0x97900000-0x979fffff]
[    1.224502] pci_bus 0000:01: resource 2 [mem 0x90000000-0x902fffff pref]
[    1.224504] pci_bus 0000:06: resource 1 [mem 0x97000000-0x978fffff]
[    1.224507] pci_bus 0000:06: resource 2 [mem 0x96000000-0x96ffffff 64bit
pref]
[    1.224510] pci_bus 0000:07: resource 1 [mem 0x97000000-0x978fffff]
[    1.224512] pci_bus 0000:07: resource 2 [mem 0x96000000-0x96ffffff pref]
[    1.224514] pci_bus 0000:29: resource 4 [io  0x0000-0xffff]
[    1.224516] pci_bus 0000:29: resource 5 [mem 0x00000000-0xffffffffff]
[    1.224538] NET: Registered protocol family 2
[    1.225637] TCP established hash table entries: 524288 (order: 11,
8388608 bytes)
[    1.228185] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    1.228521] TCP: Hash tables configured (established 524288 bind 65536)
[    1.228613] TCP: reno registered
[    1.228689] UDP hash table entries: 2048 (order: 4, 65536 bytes)
[    1.228785] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
[    1.228922] NET: Registered protocol family 1
[    1.229073] pci 0000:00:1a.0: can't find IRQ for PCI INT A; please try
using pci=3Dbiosirq
[    1.229201] pci 0000:00:1a.1: can't find IRQ for PCI INT B; please try
using pci=3Dbiosirq
[    1.229325] pci 0000:00:1a.7: can't find IRQ for PCI INT C; please try
using pci=3Dbiosirq
[    1.229466] pci 0000:00:1d.0: can't find IRQ for PCI INT A; please try
using pci=3Dbiosirq
[    1.229588] pci 0000:00:1d.1: can't find IRQ for PCI INT B; please try
using pci=3Dbiosirq
[    1.229708] pci 0000:00:1d.2: can't find IRQ for PCI INT C; please try
using pci=3Dbiosirq
[    1.229836] pci 0000:00:1d.7: can't find IRQ for PCI INT A; please try
using pci=3Dbiosirq
[    1.229986] pci 0000:07:00.0: Boot video device
[    1.229991] PCI: CLS 64 bytes, default 64
[    1.230040] Unpacking initramfs...
[    1.236939] Freeing initrd memory: 7188k freed
[    1.238401] platform rtc_cmos: registered platform RTC device (no PNP
device found)
[    1.238695] audit: initializing netlink socket (disabled)
[    1.238779] type=3D2000 audit(1349925915.231:1): initialized
[    1.253042] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.253247] VFS: Disk quotas dquot_6.5.2
[    1.253330] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.253465] msgmni has been set to 7465
[    1.253646] alg: No test for stdrng (krng)
[    1.253730] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 252)
[    1.253820] io scheduler noop registered
[    1.253888] io scheduler deadline registered
[    1.253960] io scheduler cfq registered (default)
[    1.254124] pcieport 0000:00:01.0: device [8086:3408] has invalid IRQ;
check vendor BIOS
[    1.254277] pcieport 0000:00:02.0: device [8086:3409] has invalid IRQ;
check vendor BIOS
[    1.254425] pcieport 0000:00:03.0: device [8086:340a] has invalid IRQ;
check vendor BIOS
[    1.254573] pcieport 0000:00:05.0: device [8086:340c] has invalid IRQ;
check vendor BIOS
[    1.254723] pcieport 0000:00:07.0: device [8086:340e] has invalid IRQ;
check vendor BIOS
[    1.254870] pcieport 0000:00:09.0: device [8086:3410] has invalid IRQ;
check vendor BIOS
[    1.255019] pcieport 0000:00:1c.0: device [8086:3a40] has invalid IRQ;
check vendor BIOS
[    1.255170] pcieport 0000:00:1c.4: device [8086:3a48] has invalid IRQ;
check vendor BIOS
[    1.255389] ioapic: probe of 0000:00:15.0 failed with error -22
[    1.255467] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    1.255554] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[    1.255627] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    1.255752] intel_idle: does not run on family 6 model 44
[    1.255833] Event-channel device installed.
[    1.255989] xen-pciback: backend is vpci
[    1.256298] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.277599] serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A
[    1.298917] serial8250: ttyS1 at I/O 0x2f8 (irq =3D 3) is a 16550A
[    1.299221] Linux agpgart interface v0.103
[    1.299387] i8042: PNP: No PS/2 controller found. Probing ports directly=
.
[    1.551430] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.551580] mousedev: PS/2 mouse device common for all mice
[    1.551800] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
[    1.551897] rtc0: alarms up to one day, 114 bytes nvram
[    1.551972] EFI Variables Facility v0.08 2004-May-17
[    1.552053] drop_monitor: Initializing network drop monitor service
[    1.552197] TCP: cubic registered
[    1.552276] NET: Registered protocol family 10
[    1.552496] mip6: Mobile IPv6
[    1.552564] NET: Registered protocol family 17
[    1.552641] Key type dns_resolver registered
[    1.552859] PM: Hibernation image not present or could not be loaded.
[    1.552868] registered taskstats version 1
[    1.553635] rtc_cmos rtc_cmos: setting system clock to 2012-10-11
03:25:15 UTC (1349925915)
[    1.553954] Freeing unused kernel memory: 592k freed
[    1.554130] Write protecting the kernel read-only data: 6144k
[    1.555798] Freeing unused kernel memory: 512k freed
[    1.556107] Freeing unused kernel memory: 620k freed
[    1.583588] udevd[50]: starting version 175
[    1.657119] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    1.663281] SCSI subsystem initialized
[    1.681024] megasas: 00.00.06.15-rc1 Mon. Mar. 19 17:00:00 PDT 2012
[    1.681111] megasas: 0x1000:0x0073:0x1014:0x03b1: bus 1:slot 0:func 0
[    1.681241] megaraid_sas 0000:01:00.0: can't find IRQ for PCI INT A;
please try using pci=3Dbiosirq
[    1.687892] megasas: FW now in Ready state
[    1.735350] megasas_init_mfi: fw_support_ieee=3D67108864
[    1.735407] megasas: INIT adapter done
[    1.807365] scsi0 : LSI SAS based MegaRAID driver
[    1.808799] scsi 0:0:8:0: Direct-Access     IBM-ESXS ST9146803SS
 B53C PQ: 0 ANSI: 5
[    1.811249] scsi 0:0:9:0: Direct-Access     ATA      ST9500620NS
 BE24 PQ: 0 ANSI: 5
[    1.812739] scsi 0:0:10:0: Direct-Access     ATA      ST9500620NS
 BE24 PQ: 0 ANSI: 5
[    1.824208] scsi 0:2:0:0: Direct-Access     IBM      ServeRAID M1015
 2.12 PQ: 0 ANSI: 5
[    1.839755] sd 0:2:0:0: [sdb] 1949216768 512-byte logical blocks: (997
GB/929 GiB)
[    1.840060] sd 0:2:0:0: [sdb] Write Protect is off
[    1.840141] sd 0:2:0:0: [sdb] Mode Sense: 1f 00 10 08
[    1.840153] sd 0:0:8:0: [sda] 286748000 512-byte logical blocks: (146
GB/136 GiB)
[    1.840302] sd 0:2:0:0: [sdb] Write cache: disabled, read cache:
disabled, supports DPO and FUA
[    1.842564] sd 0:0:8:0: [sda] Write Protect is off
[    1.842637] sd 0:0:8:0: [sda] Mode Sense: c3 00 10 08
[    1.843418]  sdb: sdb1
[    1.843898] sd 0:0:8:0: [sda] Write cache: disabled, read cache:
enabled, supports DPO and FUA
[    1.844117] sd 0:2:0:0: [sdb] Attached SCSI disk
[    1.866028]  sda: sda1 sda2 sda3 sda4
[    1.870498] sd 0:0:8:0: [sda] Attached SCSI disk
[    2.053157] device-mapper: uevent: version 1.0.3
[    2.053610] device-mapper: ioctl: 4.23.0-ioctl (2012-07-25) initialised:
dm-devel@redhat.com
[    2.214131] EXT4-fs (dm-0): mounted filesystem with ordered data mode.
Opts: (null)
[    3.162111] udevd[298]: starting version 175
[    3.419449] bnx2: Broadcom NetXtreme II Gigabit Ethernet Driver bnx2
v2.2.3 (June 27, 2012)
[    3.419565] bnx2 0000:0b:00.0: can't find IRQ for PCI INT A; please try
using pci=3Dbiosirq
[    3.420241] bnx2 0000:0b:00.0: eth0: Broadcom NetXtreme II BCM5709
1000Base-T (C0) PCI Express found at mem 92000000, IRQ 0, node addr
34:40:b5:ab:e5:b4
[    3.421062] bnx2 0000:0b:00.1: can't find IRQ for PCI INT B; please try
using pci=3Dbiosirq
[    3.421705] bnx2 0000:0b:00.1: eth1: Broadcom NetXtreme II BCM5709
1000Base-T (C0) PCI Express found at mem 94000000, IRQ 0, node addr
34:40:b5:ab:e5:b6
[    3.428805] dca service started, version 1.12.1
[    3.467169] EDAC MC: Ver: 3.0.0
[    3.473824] ioatdma: Intel(R) QuickData Technology Driver 4.00
[    3.473918] ioatdma 0000:00:16.0: enabling device (0000 -> 0002)
[    3.473996] ioatdma 0000:00:16.0: can't find IRQ for PCI INT A; please
try using pci=3Dbiosirq
[    3.474116] ioatdma 0000:00:16.0: channel error register unreachable
[    3.474191] ioatdma 0000:00:16.0: channel enumeration error
[    3.505302] microcode: CPU0 sig=3D0x206c2, pf=3D0x1, revision=3D0x15
[    3.505995] ioatdma 0000:00:16.0: Intel(R) I/OAT DMA Engine init failed
[    3.506096] ioatdma 0000:00:16.1: enabling device (0000 -> 0002)
[    3.506173] ioatdma 0000:00:16.1: can't find IRQ for PCI INT B; please
try using pci=3Dbiosirq
[    3.506296] ioatdma 0000:00:16.1: channel error register unreachable
[    3.506369] ioatdma 0000:00:16.1: channel enumeration error
[    3.506441] ioatdma 0000:00:16.1: Intel(R) I/OAT DMA Engine init failed
[    3.506532] ioatdma 0000:00:16.2: enabling device (0000 -> 0002)
[    3.506608] ioatdma 0000:00:16.2: can't find IRQ for PCI INT C; please
try using pci=3Dbiosirq
[    3.506722] ioatdma 0000:00:16.2: channel error register unreachable
[    3.506795] ioatdma 0000:00:16.2: channel enumeration error
[    3.506867] ioatdma 0000:00:16.2: Intel(R) I/OAT DMA Engine init failed
[    3.506957] ioatdma 0000:00:16.3: enabling device (0000 -> 0002)
[    3.507034] ioatdma 0000:00:16.3: can't find IRQ for PCI INT D; please
try using pci=3Dbiosirq
[    3.507147] ioatdma 0000:00:16.3: channel error register unreachable
[    3.507222] ioatdma 0000:00:16.3: channel enumeration error
[    3.507294] ioatdma 0000:00:16.3: Intel(R) I/OAT DMA Engine init failed
[    3.507398] ioatdma 0000:00:16.4: enabling device (0000 -> 0002)
[    3.507476] ioatdma 0000:00:16.4: can't find IRQ for PCI INT A; please
try using pci=3Dbiosirq
[    3.507590] ioatdma 0000:00:16.4: channel error register unreachable
[    3.507663] ioatdma 0000:00:16.4: channel enumeration error
[    3.507735] ioatdma 0000:00:16.4: Intel(R) I/OAT DMA Engine init failed
[    3.507826] ioatdma 0000:00:16.5: enabling device (0000 -> 0002)
[    3.507903] ioatdma 0000:00:16.5: can't find IRQ for PCI INT B; please
try using pci=3Dbiosirq
[    3.508016] ioatdma 0000:00:16.5: channel error register unreachable
[    3.508090] ioatdma 0000:00:16.5: channel enumeration error
[    3.508162] ioatdma 0000:00:16.5: Intel(R) I/OAT DMA Engine init failed
[    3.508255] ioatdma 0000:00:16.6: enabling device (0000 -> 0002)
[    3.508337] ioatdma 0000:00:16.6: can't find IRQ for PCI INT C; please
try using pci=3Dbiosirq
[    3.508454] ioatdma 0000:00:16.6: channel error register unreachable
[    3.508529] ioatdma 0000:00:16.6: channel enumeration error
[    3.508601] ioatdma 0000:00:16.6: Intel(R) I/OAT DMA Engine init failed
[    3.508692] ioatdma 0000:00:16.7: enabling device (0000 -> 0002)
[    3.508769] ioatdma 0000:00:16.7: can't find IRQ for PCI INT D; please
try using pci=3Dbiosirq
[    3.508885] ioatdma 0000:00:16.7: channel error register unreachable
[    3.508958] ioatdma 0000:00:16.7: channel enumeration error
[    3.509030] ioatdma 0000:00:16.7: Intel(R) I/OAT DMA Engine init failed
[    3.571248] usbcore: registered new interface driver usbfs
[    3.571330] usbcore: registered new interface driver hub
[    3.585483] ACPI Exception: AE_BAD_PARAMETER, Thread 1786484928 could
not acquire Mutex [0x1] (20120711/utmutex-276)
[    3.585675] ACPI Exception: AE_BAD_PARAMETER, Thread 1786484928 could
not acquire Mutex [0x1] (20120711/utmutex-276)
[    3.590919] usbcore: registered new device driver usb
[    3.603433] input: PC Speaker as /devices/platform/pcspkr/input/input0
[    3.604762] libata version 3.00 loaded.
[    3.607430] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.607535] ehci_hcd 0000:00:1a.7: can't find IRQ for PCI INT C; please
try using pci=3Dbiosirq
[    3.607629] ehci_hcd 0000:00:1a.7: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1a.7 setup!
[    3.607723] ehci_hcd 0000:00:1a.7: init 0000:00:1a.7 fail, -19
[    3.607808] ehci_hcd 0000:00:1d.7: can't find IRQ for PCI INT A; please
try using pci=3Dbiosirq
[    3.607900] ehci_hcd 0000:00:1d.7: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1d.7 setup!
[    3.607994] ehci_hcd 0000:00:1d.7: init 0000:00:1d.7 fail, -19
[    3.623701] i801_smbus 0000:00:1f.3: enabling device (0140 -> 0143)
[    3.623781] i801_smbus 0000:00:1f.3: can't find IRQ for PCI INT B;
please try using pci=3Dbiosirq
[    3.623874] ACPI Exception: AE_BAD_PARAMETER, Thread 1775910976 could
not acquire Mutex [0x1] (20120711/utmutex-276)
[    3.624093] i801_smbus 0000:00:1f.3: SMBus using PCI Interrupt
[    3.676083] ata_piix 0000:00:1f.2: version 2.13
[    3.676095] ata_piix 0000:00:1f.2: can't find IRQ for PCI INT A; please
try using pci=3Dbiosirq
[    3.676193] ata_piix 0000:00:1f.2: MAP [
[    3.676260]  P0 P2 P1 P3 ]
[    3.676539] ata_piix 0000:00:1f.2: setting latency timer to 64
[    3.677344] scsi1 : ata_piix
[    3.677732] scsi2 : ata_piix
[    3.677862] ata1: SATA max UDMA/133 cmd 0x2118 ctl 0x212c bmdma 0x20f0
[    3.677954] ata2: SATA max UDMA/133 cmd 0x2110 ctl 0x2128 bmdma 0x20f8
[    3.678154] gpio_ich: GPIO from 195 to 255 on gpio_ich
[    3.678606] ata_piix 0000:00:1f.5: can't find IRQ for PCI INT C; please
try using pci=3Dbiosirq
[    3.678703] ata_piix 0000:00:1f.5: MAP [
[    3.678771]  P0 -- P1 -- ]
[    3.679046] ata_piix 0000:00:1f.5: setting latency timer to 64
[    3.679562] scsi3 : ata_piix
[    3.680057] uhci_hcd: USB Universal Host Controller Interface driver
[    3.682601] scsi4 : ata_piix
[    3.682814] ata3: SATA max UDMA/133 cmd 0x2108 ctl 0x2124 bmdma 0x20d0
[    3.682893] ata4: SATA max UDMA/133 cmd 0x2100 ctl 0x2120 bmdma 0x20d8
[    3.683028] uhci_hcd 0000:00:1a.0: can't find IRQ for PCI INT A; please
try using pci=3Dbiosirq
[    3.683123] uhci_hcd 0000:00:1a.0: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1a.0 setup!
[    3.683217] uhci_hcd 0000:00:1a.0: init 0000:00:1a.0 fail, -19
[    3.683300] uhci_hcd 0000:00:1a.1: can't find IRQ for PCI INT B; please
try using pci=3Dbiosirq
[    3.683408] uhci_hcd 0000:00:1a.1: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1a.1 setup!
[    3.683504] uhci_hcd 0000:00:1a.1: init 0000:00:1a.1 fail, -19
[    3.683588] uhci_hcd 0000:00:1d.0: can't find IRQ for PCI INT A; please
try using pci=3Dbiosirq
[    3.683682] uhci_hcd 0000:00:1d.0: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1d.0 setup!
[    3.683802] uhci_hcd 0000:00:1d.0: init 0000:00:1d.0 fail, -19
[    3.683933] uhci_hcd 0000:00:1d.1: can't find IRQ for PCI INT B; please
try using pci=3Dbiosirq
[    3.684026] uhci_hcd 0000:00:1d.1: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1d.1 setup!
[    3.684121] uhci_hcd 0000:00:1d.1: init 0000:00:1d.1 fail, -19
[    3.684201] uhci_hcd 0000:00:1d.2: can't find IRQ for PCI INT C; please
try using pci=3Dbiosirq
[    3.684293] uhci_hcd 0000:00:1d.2: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1d.2 setup!
[    3.684387] uhci_hcd 0000:00:1d.2: init 0000:00:1d.2 fail, -19
[    3.751594] microcode: Microcode Update Driver: v2.00 <
tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    3.771183] iTCO_vendor_support: vendor-support=3D0
[    4.010635] ata3: SATA link down (SStatus 0 SControl 300)
[    4.022013] ata4: SATA link down (SStatus 0 SControl 300)
[    4.342660] ata2.00: SATA link down (SStatus 0 SControl 300)
[    4.342751] ata2.01: SATA link down (SStatus 0 SControl 300)
[    4.487426] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    4.487519] ata1.01: SATA link down (SStatus 0 SControl 300)
[    4.487603] ata1.01: link offline, clearing class 3 to NONE
[    4.495491] ata1.00: ATAPI: IBM SATA DEVICE 81Y3657, IB01, max UDMA/33
[    4.511489] ata1.00: configured for UDMA/33
[    9.511364] ata1.00: qc timeout (cmd 0xa0)
[    9.511434] ata1.00: TEST_UNIT_READY failed (err_mask=3D0x5)
[   10.307422] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[   10.307515] ata1.01: SATA link down (SStatus 0 SControl 300)
[   10.307600] ata1.01: link offline, clearing class 3 to NONE
[   10.331487] ata1.00: configured for UDMA/33
[   15.331361] ata1.00: qc timeout (cmd 0xa0)
[   15.331431] ata1.00: TEST_UNIT_READY failed (err_mask=3D0x5)
[   15.331504] ata1.00: limiting SATA link speed to 1.5 Gbps
[   15.331574] ata1.00: limiting speed to UDMA/33:PIO3
[   16.127423] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   16.127515] ata1.01: SATA link down (SStatus 0 SControl 300)
[   16.127601] ata1.01: link offline, clearing class 3 to NONE
[   16.151487] ata1.00: configured for UDMA/33
[   21.151378] ata1.00: qc timeout (cmd 0xa0)
[   21.151448] ata1.00: TEST_UNIT_READY failed (err_mask=3D0x5)
[   21.151518] ata1.00: disabled
[   21.151603] ata1.00: hard resetting link
[   21.471351] ata1.01: hard resetting link
[   21.947430] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   21.947523] ata1.01: SATA link down (SStatus 0 SControl 300)
[   21.947608] ata1.01: link offline, clearing class 3 to NONE
[   21.947611] ata1: EH complete
[   21.963868] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.10
[   21.963965] iTCO_wdt: Found a ICH10 TCO device (Version=3D2,
TCOBASE=3D0x05e0)
[   21.964124] iTCO_wdt: initialized. heartbeat=3D30 sec (nowayout=3D0)
[   21.997872] Error: Driver 'pcspkr' is already registered, aborting...
[   22.010315] alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
[   22.995255] EXT4-fs (dm-0): re-mounted. Opts: (null)
[   23.177611] EXT4-fs (dm-0): re-mounted. Opts: errors=3Dremount-ro
[   23.281974] loop: module loaded
[   23.346661] lp: driver loaded but no devices found
[   24.043404] Adding 4194300k swap on /dev/mapper/xen-fw_swap.
 Priority:-1 extents:1 across:4194300k
[   24.347072] EXT4-fs (sda3): mounted filesystem with ordered data mode.
Opts: (null)
[   24.386139] FAT-fs (sda2): utf8 is not a recommended IO charset for FAT
filesystems, filesystem will be case sensitive!
[   25.140294] bnx2 0000:0b:00.0: eth0: using MSIX
[   25.140439] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   25.181911] Bridge firewalling registered
[   25.186131] device eth1 entered promiscuous mode
[   25.288312] bnx2 0000:0b:00.1: eth1: using MSIX
[   25.288410] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   25.290413] IPv6: ADDRCONF(NETDEV_UP): xenbr0: link is not ready
[   26.898999] bnx2 0000:0b:00.0: eth0: NIC Copper Link is Up, 100 Mbps
full duplex
[   26.899091]
[   26.899222] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   28.981380] bnx2 0000:0b:00.1: eth1: NIC Copper Link is Up, 1000 Mbps
full duplex
[   28.981477]
[   28.981613] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   28.981698] xenbr0: port 1(eth1) entered forwarding state
[   28.981771] xenbr0: port 1(eth1) entered forwarding state
[   28.981850] IPv6: ADDRCONF(NETDEV_CHANGE): xenbr0: link becomes ready
[   33.512189] RPC: Registered named UNIX socket transport module.
[   33.512281] RPC: Registered udp transport module.
[   33.512351] RPC: Registered tcp transport module.
[   33.512420] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   33.533692] FS-Cache: Loaded
[   33.547314] FS-Cache: Netfs 'nfs' registered for caching
[   33.579870] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[   34.845026] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[   34.854870] ip_tables: (C) 2000-2006 Netfilter Core Team
[   35.475210] ppdev: user-space parallel port driver
[   39.140866] colord-sane[2701]: segfault at 0 ip 00007fc826bc4884 sp
00007fff6a44fea0 error 4 in libc-2.13.so[7fc826b1f000+17d000]
[   44.011341] xenbr0: port 1(eth1) entered forwarding state


Thanks for all,
Allan Scheid




--=20
*Att,*
*Allan Vicente Scheid*
*Acad=EAmico de Ci=EAncia da Computa=E7=E3o - Unioeste Foz*

--14dae934109feecd8704cbc0e07e
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hellow all, i need help with this bug:<div><div class=3D"gmail_quote"><div>=
<br></div><div>ACPI BIOS Bug: Error: A valid RSDP was not found (20120711/t=
bxfroot-219)</div><div><br></div><div>Because of this first errors i get th=
is second error, and it causes don&#39;t work USB ports and some PCI cards =
on the system:</div>

<div><br></div><div>can&#39;t find IRQ for PCI INT A; please try using pci=
=3Dbiosirq</div><div><br></div><div>This occours only when i try boot with =
xen multiboot (with hypervisor), if i boot only kernel with xen extensions =
no has errors in dmesg.</div>
<div><br></div><div>Kernel:=A03.6.1-xen self compiled (work perfect without=
 xen multiboot)</div><div>Xen Version: 4.2</div><div>Grub2 EFI: 1.99-23</di=
v>
<div>Debian Unstable distro</div><div>Server: IBM System x3650 M3 7945AC1</=
div><div><br></div><div>dmesg output:</div><div><br></div><div><div>[ =A0 =
=A00.000000] Initializing cgroup subsys cpuset</div><div>[ =A0 =A00.000000]=
 Initializing cgroup subsys cpu</div>
<div>[ =A0 =A00.000000] Linux version 3.6.1-xen (root@lca-fw) (gcc version =
4.7.1 (Debian 4.7.1-7) ) #1 SMP Wed Oct 10 22:46:05 BRT 2012</div>
<div>[ =A0 =A00.000000] Command line: placeholder root=3D/dev/mapper/xen-fw=
_root ro</div><div>[ =A0 =A00.000000] Freeing 6c-6d pfn range: 1 pages free=
d</div><div>[ =A0 =A00.000000] 1-1 mapping on 6c-&gt;6d</div><div>[ =A0 =A0=
0.000000] Freeing 9f-100 pfn range: 97 pages freed</div>

<div>[ =A0 =A00.000000] 1-1 mapping on 9f-&gt;100</div><div>[ =A0 =A00.0000=
00] Freeing 7acb7-7ccb8 pfn range: 8193 pages freed</div><div>[ =A0 =A00.00=
0000] 1-1 mapping on 7acb7-&gt;7ccb8</div><div>[ =A0 =A00.000000] Freeing 7=
d4f0-7d51b pfn range: 43 pages freed</div>

<div>[ =A0 =A00.000000] 1-1 mapping on 7d4f0-&gt;7d51b</div><div>[ =A0 =A00=
.000000] Freeing 7d53f-7d56a pfn range: 43 pages freed</div><div>[ =A0 =A00=
.000000] 1-1 mapping on 7d53f-&gt;7d56a</div><div>[ =A0 =A00.000000] Freein=
g 7d704-7d7b4 pfn range: 176 pages freed</div>

<div>[ =A0 =A00.000000] 1-1 mapping on 7d704-&gt;7d7b4</div><div>[ =A0 =A00=
.000000] Freeing 7f5ef-7f7ff pfn range: 528 pages freed</div><div>[ =A0 =A0=
0.000000] 1-1 mapping on 7f5ef-&gt;7f7ff</div><div>[ =A0 =A00.000000] Freei=
ng 7f800-f258d pfn range: 470413 pages freed</div>

<div>[ =A0 =A00.000000] 1-1 mapping on 7f800-&gt;100000</div><div>[ =A0 =A0=
0.000000] Released 479494 pages of unused memory</div><div>[ =A0 =A00.00000=
0] Set 535417 page(s) to 1-1 mapping</div><div>[ =A0 =A00.000000] Populatin=
g 100000-175106 pfn range: 479494 pages added</div>

<div>[ =A0 =A00.000000] e820: BIOS-provided physical RAM map:</div><div>[ =
=A0 =A00.000000] Xen: [mem 0x0000000000000000-0x000000000006bfff] usable</d=
iv><div>[ =A0 =A00.000000] Xen: [mem 0x000000000006c000-0x000000000006cfff]=
 ACPI NVS</div>

<div>[ =A0 =A00.000000] Xen: [mem 0x000000000006d000-0x000000000009efff] us=
able</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000000009f000-0x0000000000=
09ffff] ACPI NVS</div><div>[ =A0 =A00.000000] Xen: [mem 0x00000000000a0000-=
0x00000000000fffff] reserved</div>

<div>[ =A0 =A00.000000] Xen: [mem 0x0000000000100000-0x000000007acb6fff] us=
able</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007acb7000-0x000000007c=
cb7fff] reserved</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007ccb8000-=
0x000000007d4effff] usable</div>

<div>[ =A0 =A00.000000] Xen: [mem 0x000000007d4f0000-0x000000007d51afff] re=
served</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007d51b000-0x00000000=
7d53efff] usable</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007d53f000-=
0x000000007d569fff] reserved</div>

<div>[ =A0 =A00.000000] Xen: [mem 0x000000007d56a000-0x000000007d703fff] us=
able</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007d704000-0x000000007d=
7b3fff] reserved</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007d7b4000-=
0x000000007f5eefff] usable</div>

<div>[ =A0 =A00.000000] Xen: [mem 0x000000007f5ef000-0x000000007f6defff] re=
served</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007f6df000-0x00000000=
7f7defff] ACPI NVS</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007f7df00=
0-0x000000007f7fefff] ACPI data</div>

<div>[ =A0 =A00.000000] Xen: [mem 0x000000007f7ff000-0x000000007f7fffff] us=
able</div><div>[ =A0 =A00.000000] Xen: [mem 0x0000000080000000-0x000000008f=
ffffff] reserved</div><div>[ =A0 =A00.000000] Xen: [mem 0x00000000fed1c000-=
0x00000000fed1ffff] reserved</div>

<div>[ =A0 =A00.000000] Xen: [mem 0x00000000fee00000-0x00000000fee00fff] re=
served</div><div>[ =A0 =A00.000000] Xen: [mem 0x00000000ff800000-0x00000000=
ffffffff] reserved</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000010000000=
0-0x000000017fffffff] usable</div>

<div>[ =A0 =A00.000000] NX (Execute Disable) protection: active</div><div>[=
 =A0 =A00.000000] DMI 2.5 present.</div><div>[ =A0 =A00.000000] DMI: IBM Sy=
stem x3650 M3 -[7945AC1]-/00D4062, BIOS -[D6E157AUS-1.15]- 06/13/2012</div>=
<div>[ =A0 =A00.000000] e820: update [mem 0x00000000-0x0000ffff] usable =3D=
=3D&gt; reserved</div>

<div>[ =A0 =A00.000000] e820: remove [mem 0x000a0000-0x000fffff] usable</di=
v><div>[ =A0 =A00.000000] No AGP bridge found</div><div>[ =A0 =A00.000000] =
e820: last_pfn =3D 0x180000 max_arch_pfn =3D 0x400000000</div><div>[ =A0 =
=A00.000000] e820: last_pfn =3D 0x7f800 max_arch_pfn =3D 0x400000000</div>

<div>[ =A0 =A00.000000] initial memory mapped: [mem 0x00000000-0x02334fff]<=
/div><div>[ =A0 =A00.000000] Base memory trampoline at [ffff880000099000] 9=
9000 size 24576</div><div>[ =A0 =A00.000000] init_memory_mapping: [mem 0x00=
000000-0x7f7fffff]</div>

<div>[ =A0 =A00.000000] =A0[mem 0x00000000-0x7f7fffff] page 4k</div><div>[ =
=A0 =A00.000000] kernel direct mapping tables up to 0x7f7fffff @ [mem 0x018=
31000-0x01c2ffff]</div><div>[ =A0 =A00.000000] xen: setting RW the range 1c=
14000 - 1c30000</div>

<div>[ =A0 =A00.000000] init_memory_mapping: [mem 0x100000000-0x17fffffff]<=
/div><div>[ =A0 =A00.000000] =A0[mem 0x100000000-0x17fffffff] page 4k</div>=
<div>[ =A0 =A00.000000] kernel direct mapping tables up to 0x17fffffff @ [m=
em 0x7e9e8000-0x7f5eefff]</div>

<div>[ =A0 =A00.000000] xen: setting RW the range 7edea000 - 7f5ef000</div>=
<div>[ =A0 =A00.000000] RAMDISK: [mem 0x01c30000-0x02334fff]</div><div>[ =
=A0 =A00.000000] ACPI BIOS Bug: Error: A valid RSDP was not found (20120711=
/tbxfroot-219)</div>

<div>[ =A0 =A00.000000] NUMA turned off</div><div>[ =A0 =A00.000000] Faking=
 a node at [mem 0x0000000000000000-0x000000017fffffff]</div><div>[ =A0 =A00=
.000000] Initmem setup node 0 [mem 0x00000000-0x17fffffff]</div><div>[ =A0 =
=A00.000000] =A0 NODE_DATA [mem 0x175102000-0x175105fff]</div>

<div>[ =A0 =A00.000000] Zone ranges:</div><div>[ =A0 =A00.000000] =A0 DMA =
=A0 =A0 =A0[mem 0x00010000-0x00ffffff]</div><div>[ =A0 =A00.000000] =A0 DMA=
32 =A0 =A0[mem 0x01000000-0xffffffff]</div><div>[ =A0 =A00.000000] =A0 Norm=
al =A0 [mem 0x100000000-0x17fffffff]</div>

<div>[ =A0 =A00.000000] Movable zone start for each node</div><div>[ =A0 =
=A00.000000] Early memory node ranges</div><div>[ =A0 =A00.000000] =A0 node=
 =A0 0: [mem 0x00010000-0x0006bfff]</div><div>[ =A0 =A00.000000] =A0 node =
=A0 0: [mem 0x0006d000-0x0009efff]</div>

<div>[ =A0 =A00.000000] =A0 node =A0 0: [mem 0x00100000-0x7acb6fff]</div><d=
iv>[ =A0 =A00.000000] =A0 node =A0 0: [mem 0x7ccb8000-0x7d4effff]</div><div=
>[ =A0 =A00.000000] =A0 node =A0 0: [mem 0x7d51b000-0x7d53efff]</div><div>[=
 =A0 =A00.000000] =A0 node =A0 0: [mem 0x7d56a000-0x7d703fff]</div>

<div>[ =A0 =A00.000000] =A0 node =A0 0: [mem 0x7d7b4000-0x7f5eefff]</div><d=
iv>[ =A0 =A00.000000] =A0 node =A0 0: [mem 0x7f7ff000-0x7f7fffff]</div><div=
>[ =A0 =A00.000000] =A0 node =A0 0: [mem 0x100000000-0x17fffffff]</div><div=
>[ =A0 =A00.000000] On node 0 totalpages: 1037431</div>

<div>[ =A0 =A00.000000] =A0 DMA zone: 56 pages used for memmap</div><div>[ =
=A0 =A00.000000] =A0 DMA zone: 6 pages reserved</div><div>[ =A0 =A00.000000=
] =A0 DMA zone: 3920 pages, LIFO batch:0</div><div>[ =A0 =A00.000000] =A0 D=
MA32 zone: 14280 pages used for memmap</div>

<div>[ =A0 =A00.000000] =A0 DMA32 zone: 494881 pages, LIFO batch:31</div><d=
iv>[ =A0 =A00.000000] =A0 Normal zone: 7168 pages used for memmap</div><div=
>[ =A0 =A00.000000] =A0 Normal zone: 517120 pages, LIFO batch:31</div><div>=
[ =A0 =A00.000000] SFI: Simple Firmware Interface v0.81 <a href=3D"http://s=
implefirmware.org" target=3D"_blank">http://simplefirmware.org</a></div>

<div>[ =A0 =A00.000000] smpboot: Allowing 1 CPUs, 0 hotplug CPUs</div><div>=
[ =A0 =A00.000000] nr_irqs_gsi: 16</div><div>[ =A0 =A00.000000] PM: Registe=
red nosave memory: 000000000006c000 - 000000000006d000</div><div>[ =A0 =A00=
.000000] PM: Registered nosave memory: 000000000009f000 - 00000000000a0000<=
/div>

<div>[ =A0 =A00.000000] PM: Registered nosave memory: 00000000000a0000 - 00=
00000000100000</div><div>[ =A0 =A00.000000] PM: Registered nosave memory: 0=
00000007acb7000 - 000000007ccb8000</div><div>[ =A0 =A00.000000] PM: Registe=
red nosave memory: 000000007d4f0000 - 000000007d51b000</div>

<div>[ =A0 =A00.000000] PM: Registered nosave memory: 000000007d53f000 - 00=
0000007d56a000</div><div>[ =A0 =A00.000000] PM: Registered nosave memory: 0=
00000007d704000 - 000000007d7b4000</div><div>[ =A0 =A00.000000] PM: Registe=
red nosave memory: 000000007f5ef000 - 000000007f6df000</div>

<div>[ =A0 =A00.000000] PM: Registered nosave memory: 000000007f6df000 - 00=
0000007f7df000</div><div>[ =A0 =A00.000000] PM: Registered nosave memory: 0=
00000007f7df000 - 000000007f7ff000</div><div>[ =A0 =A00.000000] PM: Registe=
red nosave memory: 000000007f800000 - 0000000080000000</div>

<div>[ =A0 =A00.000000] PM: Registered nosave memory: 0000000080000000 - 00=
00000090000000</div><div>[ =A0 =A00.000000] PM: Registered nosave memory: 0=
000000090000000 - 00000000fed1c000</div><div>[ =A0 =A00.000000] PM: Registe=
red nosave memory: 00000000fed1c000 - 00000000fed20000</div>

<div>[ =A0 =A00.000000] PM: Registered nosave memory: 00000000fed20000 - 00=
000000fee00000</div><div>[ =A0 =A00.000000] PM: Registered nosave memory: 0=
0000000fee00000 - 00000000fee01000</div><div>[ =A0 =A00.000000] PM: Registe=
red nosave memory: 00000000fee01000 - 00000000ff800000</div>

<div>[ =A0 =A00.000000] PM: Registered nosave memory: 00000000ff800000 - 00=
00000100000000</div><div>[ =A0 =A00.000000] e820: [mem 0x90000000-0xfed1bff=
f] available for PCI devices</div><div>[ =A0 =A00.000000] Booting paravirtu=
alized kernel on Xen</div>

<div>[ =A0 =A00.000000] Xen version: 4.2.0 (preserve-AD)</div><div>[ =A0 =
=A00.000000] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:1 nr_=
node_ids:1</div><div>[ =A0 =A00.000000] PERCPU: Embedded 28 pages/cpu @ffff=
880174e00000 s83840 r8192 d22656 u2097152</div>

<div>[ =A0 =A00.000000] pcpu-alloc: s83840 r8192 d22656 u2097152 alloc=3D1*=
2097152</div><div>[ =A0 =A00.000000] pcpu-alloc: [0] 0=A0</div><div>[ =A0 =
=A01.096975] Built 1 zonelists in Zone order, mobility grouping on. =A0Tota=
l pages: 1015921</div>

<div>[ =A0 =A01.096977] Policy zone: Normal</div><div>[ =A0 =A01.096979] Ke=
rnel command line: placeholder root=3D/dev/mapper/xen-fw_root ro</div><div>=
[ =A0 =A01.097016] PID hash table entries: 4096 (order: 3, 32768 bytes)</di=
v><div>[ =A0 =A01.097021] __ex_table already sorted, skipping sort</div>

<div>[ =A0 =A01.121932] software IO TLB [mem 0x16c800000-0x1707fffff] (64MB=
) mapped at [ffff88016c800000-ffff8801707fffff]</div><div>[ =A0 =A01.138656=
] Memory: 3815116k/6291456k available (3573k kernel code, 2141732k absent, =
334608k reserved, 3147k data, 592k init)</div>

<div>[ =A0 =A01.138717] Hierarchical RCU implementation.</div><div>[ =A0 =
=A01.138718] <span style=3D"white-space:pre-wrap">	</span>RCU dyntick-idle =
grace-period acceleration is enabled.</div><div>[ =A0 =A01.138719] <span st=
yle=3D"white-space:pre-wrap">	</span>RCU restricting CPUs from NR_CPUS=3D51=
2 to nr_cpu_ids=3D1.</div>

<div>[ =A0 =A01.138728] NR_IRQS:33024 nr_irqs:256 16</div><div>[ =A0 =A01.1=
47171] Console: colour VGA+ 80x25</div><div>[ =A0 =A01.154296] console [tty=
0] enabled</div><div>[ =A0 =A01.159002] allocated 16777216 bytes of page_cg=
roup</div><div>

[ =A0 =A01.159079] please try &#39;cgroup_disable=3Dmemory&#39; option if y=
ou don&#39;t want memory cgroups</div><div>[ =A0 =A01.159208] Xen: using vc=
puop timer interface</div><div>[ =A0 =A01.159214] installing Xen timer for =
CPU 0</div>

<div>[ =A0 =A01.159303] tsc: Detected 2400.126 MHz processor</div><div>[ =
=A0 =A01.159375] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 4800.25 BogoMIPS (lpj=3D9600504)</div><div>[ =A0 =A01.1595=
17] pid_max: default: 32768 minimum: 301</div>

<div>[ =A0 =A01.159607] Security Framework initialized</div><div>[ =A0 =A01=
.159680] AppArmor: AppArmor disabled by boot time parameter</div><div>[ =A0=
 =A01.160298] Dentry cache hash table entries: 524288 (order: 10, 4194304 b=
ytes)</div>

<div>[ =A0 =A01.161752] Inode-cache hash table entries: 262144 (order: 9, 2=
097152 bytes)</div><div>[ =A0 =A01.162415] Mount-cache hash table entries: =
256</div><div>[ =A0 =A01.162658] Initializing cgroup subsys cpuacct</div><d=
iv>[ =A0 =A01.162729] Initializing cgroup subsys memory</div>

<div>[ =A0 =A01.162806] Initializing cgroup subsys devices</div><div>[ =A0 =
=A01.162876] Initializing cgroup subsys freezer</div><div>[ =A0 =A01.162945=
] Initializing cgroup subsys net_cls</div><div>[ =A0 =A01.163014] Initializ=
ing cgroup subsys blkio</div>

<div>[ =A0 =A01.163082] Initializing cgroup subsys perf_event</div><div>[ =
=A0 =A01.163204] CPU: Physical Processor ID: 0</div><div>[ =A0 =A01.163277]=
 CPU: Processor Core ID: 0</div><div>[ =A0 =A01.163346] mce: CPU supports 2=
 MCE banks</div>

<div>[ =A0 =A01.163452] Last level iTLB entries: 4KB 512, 2MB 7, 4MB 7</div=
><div>[ =A0 =A01.163452] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32</=
div><div>[ =A0 =A01.163452] tlb_flushall_shift is 0x6</div><div>[ =A0 =A01.=
163602] SMP alternatives: switching to UP code</div>

<div>[ =A0 =A01.171342] Freeing SMP alternatives: 8k freed</div><div>[ =A0 =
=A01.171471] Performance Events: unsupported p6 CPU model 44 no PMU driver,=
 software events only.</div><div>[ =A0 =A01.171785] NMI watchdog: disabled =
(cpu0): hardware events not enabled</div>

<div>[ =A0 =A01.171876] Brought up 1 CPUs</div><div>[ =A0 =A01.172058] devt=
mpfs: initialized</div><div>[ =A0 =A01.174970] PM: Registering ACPI NVS reg=
ion [mem 0x0006c000-0x0006cfff] (4096 bytes)</div><div>[ =A0 =A01.175062] P=
M: Registering ACPI NVS region [mem 0x0009f000-0x0009ffff] (4096 bytes)</di=
v>

<div>[ =A0 =A01.175153] PM: Registering ACPI NVS region [mem 0x7f6df000-0x7=
f7defff] (1048576 bytes)</div><div>[ =A0 =A01.175314] Grant tables using ve=
rsion 2 layout.</div><div>[ =A0 =A01.175394] Grant table initialized</div><=
div>[ =A0 =A01.175514] dummy:=A0</div>

<div>[ =A0 =A01.175625] NET: Registered protocol family 16</div><div>[ =A0 =
=A01.175969] PCI: Using configuration type 1 for base access</div><div>[ =
=A0 =A01.176599] bio: create slab &lt;bio-0&gt; at 0</div><div>[ =A0 =A01.1=
76719] ACPI: Interpreter disabled.</div>

<div>[ =A0 =A01.176796] xen/balloon: Initialising balloon driver.</div><div=
>[ =A0 =A01.177620] xen-balloon: Initialising balloon driver.</div><div>[ =
=A0 =A01.177761] vgaarb: loaded</div><div>[ =A0 =A01.177860] PCI: Probing P=
CI hardware</div>

<div>[ =A0 =A01.177929] PCI: root bus 00: using default resources</div><div=
>[ =A0 =A01.177930] PCI: Probing PCI hardware (bus 00)</div><div>[ =A0 =A01=
.177954] PCI host bridge to bus 0000:00</div><div>[ =A0 =A01.178025] pci_bu=
s 0000:00: root bus resource [io =A00x0000-0xffff]</div>

<div>[ =A0 =A01.178098] pci_bus 0000:00: root bus resource [mem 0x00000000-=
0xffffffffff]</div><div>[ =A0 =A01.178173] pci_bus 0000:00: No busn resourc=
e found for root bus, will use [bus 00-ff]</div><div>[ =A0 =A01.178266] pci=
_bus 0000:00: busn_res: [bus 00-ff] is inserted under domain [bus 00-ff]</d=
iv>

<div>[ =A0 =A01.178287] pci 0000:00:00.0: [8086:3406] type 00 class 0x06000=
0</div><div>[ =A0 =A01.178389] pci 0000:00:00.0: PME# supported from D0 D3h=
ot D3cold</div><div>[ =A0 =A01.178425] pci 0000:00:01.0: [8086:3408] type 0=
1 class 0x060400</div>

<div>[ =A0 =A01.178532] pci 0000:00:01.0: PME# supported from D0 D3hot D3co=
ld</div><div>[ =A0 =A01.178571] pci 0000:00:02.0: [8086:3409] type 01 class=
 0x060400</div><div>[ =A0 =A01.178678] pci 0000:00:02.0: PME# supported fro=
m D0 D3hot D3cold</div>

<div>[ =A0 =A01.178716] pci 0000:00:03.0: [8086:340a] type 01 class 0x06040=
0</div><div>[ =A0 =A01.178824] pci 0000:00:03.0: PME# supported from D0 D3h=
ot D3cold</div><div>[ =A0 =A01.178865] pci 0000:00:05.0: [8086:340c] type 0=
1 class 0x060400</div>

<div>[ =A0 =A01.178973] pci 0000:00:05.0: PME# supported from D0 D3hot D3co=
ld</div><div>[ =A0 =A01.179013] pci 0000:00:07.0: [8086:340e] type 01 class=
 0x060400</div><div>[ =A0 =A01.179121] pci 0000:00:07.0: PME# supported fro=
m D0 D3hot D3cold</div>

<div>[ =A0 =A01.179161] pci 0000:00:09.0: [8086:3410] type 01 class 0x06040=
0</div><div>[ =A0 =A01.179269] pci 0000:00:09.0: PME# supported from D0 D3h=
ot D3cold</div><div>[ =A0 =A01.179309] pci 0000:00:10.0: [8086:3425] type 0=
0 class 0x080000</div>

<div>[ =A0 =A01.179434] pci 0000:00:10.1: [8086:3426] type 00 class 0x08000=
0</div><div>[ =A0 =A01.179543] pci 0000:00:11.0: [8086:3427] type 00 class =
0x080000</div><div>[ =A0 =A01.179668] pci 0000:00:11.1: [8086:3428] type 00=
 class 0x080000</div>

<div>[ =A0 =A01.179795] pci 0000:00:14.0: [8086:342e] type 00 class 0x08000=
0</div><div>[ =A0 =A01.179919] pci 0000:00:14.1: [8086:3422] type 00 class =
0x080000</div><div>[ =A0 =A01.180053] pci 0000:00:14.2: [8086:3423] type 00=
 class 0x080000</div>

<div>[ =A0 =A01.180172] pci 0000:00:14.3: [8086:3438] type 00 class 0x08000=
0</div><div>[ =A0 =A01.180273] pci 0000:00:15.0: [8086:342f] type 00 class =
0x080020</div><div>[ =A0 =A01.180387] pci 0000:00:16.0: [8086:3430] type 00=
 class 0x088000</div>

<div>[ =A0 =A01.180408] pci 0000:00:16.0: reg 10: [mem 0x97a00000-0x97a03ff=
f 64bit]</div><div>[ =A0 =A01.180540] pci 0000:00:16.1: [8086:3431] type 00=
 class 0x088000</div><div>[ =A0 =A01.180561] pci 0000:00:16.1: reg 10: [mem=
 0x97a04000-0x97a07fff 64bit]</div>

<div>[ =A0 =A01.180693] pci 0000:00:16.2: [8086:3432] type 00 class 0x08800=
0</div><div>[ =A0 =A01.180713] pci 0000:00:16.2: reg 10: [mem 0x97a08000-0x=
97a0bfff 64bit]</div><div>[ =A0 =A01.180845] pci 0000:00:16.3: [8086:3433] =
type 00 class 0x088000</div>

<div>[ =A0 =A01.180866] pci 0000:00:16.3: reg 10: [mem 0x97a0c000-0x97a0fff=
f 64bit]</div><div>[ =A0 =A01.180997] pci 0000:00:16.4: [8086:3429] type 00=
 class 0x088000</div><div>[ =A0 =A01.181018] pci 0000:00:16.4: reg 10: [mem=
 0x97a10000-0x97a13fff 64bit]</div>

<div>[ =A0 =A01.181150] pci 0000:00:16.5: [8086:342a] type 00 class 0x08800=
0</div><div>[ =A0 =A01.181170] pci 0000:00:16.5: reg 10: [mem 0x97a14000-0x=
97a17fff 64bit]</div><div>[ =A0 =A01.181302] pci 0000:00:16.6: [8086:342b] =
type 00 class 0x088000</div>

<div>[ =A0 =A01.181323] pci 0000:00:16.6: reg 10: [mem 0x97a18000-0x97a1bff=
f 64bit]</div><div>[ =A0 =A01.181455] pci 0000:00:16.7: [8086:342c] type 00=
 class 0x088000</div><div>[ =A0 =A01.181475] pci 0000:00:16.7: reg 10: [mem=
 0x97a1c000-0x97a1ffff 64bit]</div>

<div>[ =A0 =A01.181610] pci 0000:00:1a.0: [8086:3a37] type 00 class 0x0c030=
0</div><div>[ =A0 =A01.181681] pci 0000:00:1a.0: reg 20: [io =A00x20a0-0x20=
bf]</div><div>[ =A0 =A01.181766] pci 0000:00:1a.1: [8086:3a38] type 00 clas=
s 0x0c0300</div>

<div>[ =A0 =A01.181837] pci 0000:00:1a.1: reg 20: [io =A00x2080-0x209f]</di=
v><div>[ =A0 =A01.181937] pci 0000:00:1a.7: [8086:3a3c] type 00 class 0x0c0=
320</div><div>[ =A0 =A01.181970] pci 0000:00:1a.7: reg 10: [mem 0x97a21000-=
0x97a213ff]</div>

<div>[ =A0 =A01.182116] pci 0000:00:1a.7: PME# supported from D0 D3hot D3co=
ld</div><div>[ =A0 =A01.182153] pci 0000:00:1c.0: [8086:3a40] type 01 class=
 0x060400</div><div>[ =A0 =A01.182274] pci 0000:00:1c.0: PME# supported fro=
m D0 D3hot D3cold</div>

<div>[ =A0 =A01.182316] pci 0000:00:1c.4: [8086:3a48] type 01 class 0x06040=
0</div><div>[ =A0 =A01.182435] pci 0000:00:1c.4: PME# supported from D0 D3h=
ot D3cold</div><div>[ =A0 =A01.182478] pci 0000:00:1d.0: [8086:3a34] type 0=
0 class 0x0c0300</div>

<div>[ =A0 =A01.182549] pci 0000:00:1d.0: reg 20: [io =A00x2060-0x207f]</di=
v><div>[ =A0 =A01.182634] pci 0000:00:1d.1: [8086:3a35] type 00 class 0x0c0=
300</div><div>[ =A0 =A01.182705] pci 0000:00:1d.1: reg 20: [io =A00x2040-0x=
205f]</div>
<div>
[ =A0 =A01.182790] pci 0000:00:1d.2: [8086:3a36] type 00 class 0x0c0300</di=
v><div>[ =A0 =A01.182860] pci 0000:00:1d.2: reg 20: [io =A00x2020-0x203f]</=
div><div>[ =A0 =A01.182960] pci 0000:00:1d.7: [8086:3a3a] type 00 class 0x0=
c0320</div>

<div>[ =A0 =A01.182993] pci 0000:00:1d.7: reg 10: [mem 0x97a20000-0x97a203f=
f]</div><div>[ =A0 =A01.183138] pci 0000:00:1d.7: PME# supported from D0 D3=
hot D3cold</div><div>[ =A0 =A01.183173] pci 0000:00:1e.0: [8086:244e] type =
01 class 0x060401</div>

<div>[ =A0 =A01.183279] pci 0000:00:1f.0: [8086:3a18] type 00 class 0x06010=
0</div><div>[ =A0 =A01.183458] pci 0000:00:1f.2: [8086:3a20] type 00 class =
0x01018f</div><div>[ =A0 =A01.183484] pci 0000:00:1f.2: reg 10: [io =A00x21=
18-0x211f]</div>

<div>[ =A0 =A01.183497] pci 0000:00:1f.2: reg 14: [io =A00x212c-0x212f]</di=
v><div>[ =A0 =A01.183510] pci 0000:00:1f.2: reg 18: [io =A00x2110-0x2117]</=
div><div>[ =A0 =A01.183522] pci 0000:00:1f.2: reg 1c: [io =A00x2128-0x212b]=
</div><div>[ =A0 =A01.183535] pci 0000:00:1f.2: reg 20: [io =A00x20f0-0x20f=
f]</div>

<div>[ =A0 =A01.183548] pci 0000:00:1f.2: reg 24: [io =A00x20e0-0x20ef]</di=
v><div>[ =A0 =A01.183629] pci 0000:00:1f.3: [8086:3a30] type 00 class 0x0c0=
500</div><div>[ =A0 =A01.183653] pci 0000:00:1f.3: reg 10: [mem 0x97a22000-=
0x97a220ff 64bit]</div>

<div>[ =A0 =A01.183689] pci 0000:00:1f.3: reg 20: [io =A00x2000-0x201f]</di=
v><div>[ =A0 =A01.183746] pci 0000:00:1f.5: [8086:3a26] type 00 class 0x010=
185</div><div>[ =A0 =A01.183772] pci 0000:00:1f.5: reg 10: [io =A00x2108-0x=
210f]</div>
<div>
[ =A0 =A01.183784] pci 0000:00:1f.5: reg 14: [io =A00x2124-0x2127]</div><di=
v>[ =A0 =A01.183797] pci 0000:00:1f.5: reg 18: [io =A00x2100-0x2107]</div><=
div>[ =A0 =A01.183816] pci 0000:00:1f.5: reg 1c: [io =A00x2120-0x2123]</div=
><div>[ =A0 =A01.183829] pci 0000:00:1f.5: reg 20: [io =A00x20d0-0x20df]</d=
iv>

<div>[ =A0 =A01.183841] pci 0000:00:1f.5: reg 24: [io =A00x20c0-0x20cf]</di=
v><div>[ =A0 =A01.183985] pci_bus 0000:0b: busn_res: [bus 0b-0f] is inserte=
d under [bus 00-ff]</div><div>[ =A0 =A01.184016] pci 0000:0b:00.0: [14e4:16=
39] type 00 class 0x020000</div>

<div>[ =A0 =A01.184040] pci 0000:0b:00.0: reg 10: [mem 0x92000000-0x93fffff=
f 64bit]</div><div>[ =A0 =A01.184181] pci 0000:0b:00.0: PME# supported from=
 D0 D3hot D3cold</div><div>[ =A0 =A01.184224] pci 0000:0b:00.1: [14e4:1639]=
 type 00 class 0x020000</div>

<div>[ =A0 =A01.184248] pci 0000:0b:00.1: reg 10: [mem 0x94000000-0x95fffff=
f 64bit]</div><div>[ =A0 =A01.184390] pci 0000:0b:00.1: PME# supported from=
 D0 D3hot D3cold</div><div>[ =A0 =A01.191939] pci 0000:00:01.0: PCI bridge =
to [bus 0b-0f]</div>

<div>[ =A0 =A01.192017] pci 0000:00:01.0: =A0 bridge window [mem 0x92000000=
-0x95ffffff]</div><div>[ =A0 =A01.192089] pci_bus 0000:10: busn_res: [bus 1=
0-14] is inserted under [bus 00-ff]</div><div>[ =A0 =A01.192093] pci 0000:0=
0:02.0: PCI bridge to [bus 10-14]</div>

<div>[ =A0 =A01.192240] pci_bus 0000:15: busn_res: [bus 15-19] is inserted =
under [bus 00-ff]</div><div>[ =A0 =A01.192244] pci 0000:00:03.0: PCI bridge=
 to [bus 15-19]</div><div>[ =A0 =A01.192389] pci_bus 0000:1a: busn_res: [bu=
s 1a-1e] is inserted under [bus 00-ff]</div>

<div>[ =A0 =A01.192392] pci 0000:00:05.0: PCI bridge to [bus 1a-1e]</div><d=
iv>[ =A0 =A01.192539] pci_bus 0000:1f: busn_res: [bus 1f-23] is inserted un=
der [bus 00-ff]</div><div>[ =A0 =A01.192542] pci 0000:00:07.0: PCI bridge t=
o [bus 1f-23]</div>

<div>[ =A0 =A01.192688] pci_bus 0000:24: busn_res: [bus 24-28] is inserted =
under [bus 00-ff]</div><div>[ =A0 =A01.192691] pci 0000:00:09.0: PCI bridge=
 to [bus 24-28]</div><div>[ =A0 =A01.192838] pci_bus 0000:01: busn_res: [bu=
s 01-05] is inserted under [bus 00-ff]</div>

<div>[ =A0 =A01.192863] pci 0000:01:00.0: [1000:0073] type 00 class 0x01040=
0</div><div>[ =A0 =A01.192884] pci 0000:01:00.0: reg 10: [io =A00x1000-0x10=
ff]</div><div>[ =A0 =A01.192908] pci 0000:01:00.0: reg 14: [mem 0x97940000-=
0x97943fff 64bit]</div>

<div>[ =A0 =A01.192932] pci 0000:01:00.0: reg 1c: [mem 0x97900000-0x9793fff=
f 64bit]</div><div>[ =A0 =A01.192962] pci 0000:01:00.0: reg 30: [mem 0xfffe=
0000-0xffffffff pref]</div><div>[ =A0 =A01.193060] pci 0000:01:00.0: suppor=
ts D1 D2</div>

<div>[ =A0 =A01.200042] pci 0000:00:1c.0: PCI bridge to [bus 01-05]</div><d=
iv>[ =A0 =A01.200117] pci 0000:00:1c.0: =A0 bridge window [io =A00x1000-0x1=
fff]</div><div>[ =A0 =A01.200123] pci 0000:00:1c.0: =A0 bridge window [mem =
0x97900000-0x979fffff]</div>

<div>[ =A0 =A01.200196] pci_bus 0000:06: busn_res: [bus 06-0a] is inserted =
under [bus 00-ff]</div><div>[ =A0 =A01.200228] pci 0000:06:00.0: [101b:0452=
] type 01 class 0x060400</div><div>[ =A0 =A01.200394] pci 0000:06:00.0: PME=
# supported from D0 D3hot D3cold</div>

<div>[ =A0 =A01.208144] pci 0000:00:1c.4: PCI bridge to [bus 06-0a]</div><d=
iv>[ =A0 =A01.208223] pci 0000:00:1c.4: =A0 bridge window [mem 0x97000000-0=
x978fffff]</div><div>[ =A0 =A01.208231] pci 0000:00:1c.4: =A0 bridge window=
 [mem 0x96000000-0x96ffffff 64bit pref]</div>

<div>[ =A0 =A01.208330] pci_bus 0000:07: busn_res: [bus 07] is inserted und=
er [bus 06-0a]</div><div>[ =A0 =A01.208353] pci 0000:07:00.0: [102b:0530] t=
ype 00 class 0x030000</div><div>[ =A0 =A01.208388] pci 0000:07:00.0: reg 10=
: [mem 0x96000000-0x96ffffff pref]</div>

<div>[ =A0 =A01.208407] pci 0000:07:00.0: reg 14: [mem 0x97800000-0x97803ff=
f]</div><div>[ =A0 =A01.208427] pci 0000:07:00.0: reg 18: [mem 0x97000000-0=
x977fffff]</div><div>[ =A0 =A01.208633] pci 0000:06:00.0: PCI bridge to [bu=
s 07]</div>

<div>[ =A0 =A01.208713] pci 0000:06:00.0: =A0 bridge window [mem 0x97000000=
-0x978fffff]</div><div>[ =A0 =A01.208720] pci 0000:06:00.0: =A0 bridge wind=
ow [mem 0x96000000-0x96ffffff pref]</div><div>[ =A0 =A01.208768] pci_bus 00=
00:29: busn_res: [bus 29-2d] is inserted under [bus 00-ff]</div>

<div>[ =A0 =A01.208829] pci 0000:00:1e.0: PCI bridge to [bus 29-2d] (subtra=
ctive decode)</div><div>[ =A0 =A01.208917] pci 0000:00:1e.0: =A0 bridge win=
dow [io =A00x0000-0xffff] (subtractive decode)</div><div>[ =A0 =A01.208919]=
 pci 0000:00:1e.0: =A0 bridge window [mem 0x00000000-0xffffffffff] (subtrac=
tive decode)</div>

<div>[ =A0 =A01.208978] pci_bus 0000:00: busn_res: [bus 00-ff] end is updat=
ed to 2d</div><div>[ =A0 =A01.210287] vgaarb: device added: PCI:0000:07:00.=
0,decodes=3Dio+mem,owns=3Dio+mem,locks=3Dnone</div><div>[ =A0 =A01.210898] =
PCI: pci_cache_line_size set to 64 bytes</div>

<div>[ =A0 =A01.211078] e820: reserve RAM buffer [mem 0x0006c000-0x0006ffff=
]</div><div>[ =A0 =A01.211080] e820: reserve RAM buffer [mem 0x0009f000-0x0=
009ffff]</div><div>[ =A0 =A01.211081] e820: reserve RAM buffer [mem 0x7acb7=
000-0x7bffffff]</div>

<div>[ =A0 =A01.211082] e820: reserve RAM buffer [mem 0x7d4f0000-0x7fffffff=
]</div><div>[ =A0 =A01.211086] e820: reserve RAM buffer [mem 0x7d53f000-0x7=
fffffff]</div><div>[ =A0 =A01.211088] e820: reserve RAM buffer [mem 0x7d704=
000-0x7fffffff]</div>

<div>[ =A0 =A01.211091] e820: reserve RAM buffer [mem 0x7f5ef000-0x7fffffff=
]</div><div>[ =A0 =A01.211093] e820: reserve RAM buffer [mem 0x7f800000-0x7=
fffffff]</div><div>[ =A0 =A01.211210] Switching to clocksource xen</div><di=
v>[ =A0 =A01.212720] pnp: PnP ACPI: disabled</div>

<div>[ =A0 =A01.214391] pci 0000:01:00.0: no compatible bridge window for [=
mem 0xfffe0000-0xffffffff pref]</div><div>[ =A0 =A01.214569] pci 0000:00:1c=
.0: bridge window [mem 0x00100000-0x001fffff pref] to [bus 01-05] add_size =
200000</div>

<div>[ =A0 =A01.214613] pci 0000:00:1c.0: res[15]=3D[mem 0x00100000-0x001ff=
fff pref] get_res_add_size add_size 200000</div><div>[ =A0 =A01.214617] pci=
 0000:00:1c.0: BAR 15: assigned [mem 0x90000000-0x902fffff pref]</div><div>=
[ =A0 =A01.214708] pci 0000:00:01.0: PCI bridge to [bus 0b-0f]</div>

<div>[ =A0 =A01.214783] pci 0000:00:01.0: =A0 bridge window [mem 0x92000000=
-0x95ffffff]</div><div>[ =A0 =A01.214865] pci 0000:00:02.0: PCI bridge to [=
bus 10-14]</div><div>[ =A0 =A01.214948] pci 0000:00:03.0: PCI bridge to [bu=
s 15-19]</div>

<div>[ =A0 =A01.215032] pci 0000:00:05.0: PCI bridge to [bus 1a-1e]</div><d=
iv>[ =A0 =A01.215114] pci 0000:00:07.0: PCI bridge to [bus 1f-23]</div><div=
>[ =A0 =A01.215198] pci 0000:00:09.0: PCI bridge to [bus 24-28]</div><div>[=
 =A0 =A01.215282] pci 0000:01:00.0: BAR 6: assigned [mem 0x90000000-0x9001f=
fff pref]</div>

<div>[ =A0 =A01.215383] pci 0000:00:1c.0: PCI bridge to [bus 01-05]</div><d=
iv>[ =A0 =A01.215456] pci 0000:00:1c.0: =A0 bridge window [io =A00x1000-0x1=
fff]</div><div>[ =A0 =A01.215532] pci 0000:00:1c.0: =A0 bridge window [mem =
0x97900000-0x979fffff]</div>

<div>[ =A0 =A01.215609] pci 0000:00:1c.0: =A0 bridge window [mem 0x90000000=
-0x902fffff pref]</div><div>[ =A0 =A01.215705] pci 0000:06:00.0: PCI bridge=
 to [bus 07]</div><div>[ =A0 =A01.215782] pci 0000:06:00.0: =A0 bridge wind=
ow [mem 0x97000000-0x978fffff]</div>

<div>[ =A0 =A01.215860] pci 0000:06:00.0: =A0 bridge window [mem 0x96000000=
-0x96ffffff pref]</div><div>[ =A0 =A01.223235] pci 0000:00:1c.4: PCI bridge=
 to [bus 06-0a]</div><div>[ =A0 =A01.223310] pci 0000:00:1c.4: =A0 bridge w=
indow [mem 0x97000000-0x978fffff]</div>

<div>[ =A0 =A01.223391] pci 0000:00:1c.4: =A0 bridge window [mem 0x96000000=
-0x96ffffff 64bit pref]</div><div>[ =A0 =A01.223489] pci 0000:00:1e.0: PCI =
bridge to [bus 29-2d]</div><div>[ =A0 =A01.223580] pci 0000:00:01.0: can&#3=
9;t find IRQ for PCI INT A; please try using pci=3Dbiosirq</div>

<div>[ =A0 =A01.223680] pci 0000:00:02.0: can&#39;t find IRQ for PCI INT A;=
 please try using pci=3Dbiosirq</div><div>[ =A0 =A01.223780] pci 0000:00:03=
.0: can&#39;t find IRQ for PCI INT A; please try using pci=3Dbiosirq</div><=
div>[ =A0 =A01.223880] pci 0000:00:05.0: can&#39;t find IRQ for PCI INT A; =
please try using pci=3Dbiosirq</div>

<div>[ =A0 =A01.223981] pci 0000:00:07.0: can&#39;t find IRQ for PCI INT A;=
 please try using pci=3Dbiosirq</div><div>[ =A0 =A01.224081] pci 0000:00:09=
.0: can&#39;t find IRQ for PCI INT A; please try using pci=3Dbiosirq</div><=
div>[ =A0 =A01.224183] pci 0000:00:1c.0: can&#39;t find IRQ for PCI INT A; =
please try using pci=3Dbiosirq</div>

<div>[ =A0 =A01.224283] pci 0000:00:1c.4: can&#39;t find IRQ for PCI INT A;=
 please try using pci=3Dbiosirq</div><div>[ =A0 =A01.224385] pci 0000:06:00=
.0: can&#39;t find IRQ for PCI INT A; please try using pci=3Dbiosirq</div><=
div>[ =A0 =A01.224487] pci 0000:00:1e.0: setting latency timer to 64</div>

<div>[ =A0 =A01.224492] pci_bus 0000:00: resource 4 [io =A00x0000-0xffff]</=
div><div>[ =A0 =A01.224494] pci_bus 0000:00: resource 5 [mem 0x00000000-0xf=
fffffffff]</div><div>[ =A0 =A01.224496] pci_bus 0000:0b: resource 1 [mem 0x=
92000000-0x95ffffff]</div>

<div>[ =A0 =A01.224498] pci_bus 0000:01: resource 0 [io =A00x1000-0x1fff]</=
div><div>[ =A0 =A01.224500] pci_bus 0000:01: resource 1 [mem 0x97900000-0x9=
79fffff]</div><div>[ =A0 =A01.224502] pci_bus 0000:01: resource 2 [mem 0x90=
000000-0x902fffff pref]</div>

<div>[ =A0 =A01.224504] pci_bus 0000:06: resource 1 [mem 0x97000000-0x978ff=
fff]</div><div>[ =A0 =A01.224507] pci_bus 0000:06: resource 2 [mem 0x960000=
00-0x96ffffff 64bit pref]</div><div>[ =A0 =A01.224510] pci_bus 0000:07: res=
ource 1 [mem 0x97000000-0x978fffff]</div>

<div>[ =A0 =A01.224512] pci_bus 0000:07: resource 2 [mem 0x96000000-0x96fff=
fff pref]</div><div>[ =A0 =A01.224514] pci_bus 0000:29: resource 4 [io =A00=
x0000-0xffff]</div><div>[ =A0 =A01.224516] pci_bus 0000:29: resource 5 [mem=
 0x00000000-0xffffffffff]</div>

<div>[ =A0 =A01.224538] NET: Registered protocol family 2</div><div>[ =A0 =
=A01.225637] TCP established hash table entries: 524288 (order: 11, 8388608=
 bytes)</div><div>[ =A0 =A01.228185] TCP bind hash table entries: 65536 (or=
der: 8, 1048576 bytes)</div>

<div>[ =A0 =A01.228521] TCP: Hash tables configured (established 524288 bin=
d 65536)</div><div>[ =A0 =A01.228613] TCP: reno registered</div><div>[ =A0 =
=A01.228689] UDP hash table entries: 2048 (order: 4, 65536 bytes)</div><div=
>[ =A0 =A01.228785] UDP-Lite hash table entries: 2048 (order: 4, 65536 byte=
s)</div>

<div>[ =A0 =A01.228922] NET: Registered protocol family 1</div><div>[ =A0 =
=A01.229073] pci 0000:00:1a.0: can&#39;t find IRQ for PCI INT A; please try=
 using pci=3Dbiosirq</div><div>[ =A0 =A01.229201] pci 0000:00:1a.1: can&#39=
;t find IRQ for PCI INT B; please try using pci=3Dbiosirq</div>

<div>[ =A0 =A01.229325] pci 0000:00:1a.7: can&#39;t find IRQ for PCI INT C;=
 please try using pci=3Dbiosirq</div><div>[ =A0 =A01.229466] pci 0000:00:1d=
.0: can&#39;t find IRQ for PCI INT A; please try using pci=3Dbiosirq</div><=
div>[ =A0 =A01.229588] pci 0000:00:1d.1: can&#39;t find IRQ for PCI INT B; =
please try using pci=3Dbiosirq</div>

<div>[ =A0 =A01.229708] pci 0000:00:1d.2: can&#39;t find IRQ for PCI INT C;=
 please try using pci=3Dbiosirq</div><div>[ =A0 =A01.229836] pci 0000:00:1d=
.7: can&#39;t find IRQ for PCI INT A; please try using pci=3Dbiosirq</div><=
div>[ =A0 =A01.229986] pci 0000:07:00.0: Boot video device</div>

<div>[ =A0 =A01.229991] PCI: CLS 64 bytes, default 64</div><div>[ =A0 =A01.=
230040] Unpacking initramfs...</div><div>[ =A0 =A01.236939] Freeing initrd =
memory: 7188k freed</div><div>[ =A0 =A01.238401] platform rtc_cmos: registe=
red platform RTC device (no PNP device found)</div>

<div>[ =A0 =A01.238695] audit: initializing netlink socket (disabled)</div>=
<div>[ =A0 =A01.238779] type=3D2000 audit(1349925915.231:1): initialized</d=
iv><div>[ =A0 =A01.253042] HugeTLB registered 2 MB page size, pre-allocated=
 0 pages</div>

<div>[ =A0 =A01.253247] VFS: Disk quotas dquot_6.5.2</div><div>[ =A0 =A01.2=
53330] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)</div><div>=
[ =A0 =A01.253465] msgmni has been set to 7465</div><div>[ =A0 =A01.253646]=
 alg: No test for stdrng (krng)</div>

<div>[ =A0 =A01.253730] Block layer SCSI generic (bsg) driver version 0.4 l=
oaded (major 252)</div><div>[ =A0 =A01.253820] io scheduler noop registered=
</div><div>[ =A0 =A01.253888] io scheduler deadline registered</div><div>[ =
=A0 =A01.253960] io scheduler cfq registered (default)</div>

<div>[ =A0 =A01.254124] pcieport 0000:00:01.0: device [8086:3408] has inval=
id IRQ; check vendor BIOS</div><div>[ =A0 =A01.254277] pcieport 0000:00:02.=
0: device [8086:3409] has invalid IRQ; check vendor BIOS</div><div>[ =A0 =
=A01.254425] pcieport 0000:00:03.0: device [8086:340a] has invalid IRQ; che=
ck vendor BIOS</div>

<div>[ =A0 =A01.254573] pcieport 0000:00:05.0: device [8086:340c] has inval=
id IRQ; check vendor BIOS</div><div>[ =A0 =A01.254723] pcieport 0000:00:07.=
0: device [8086:340e] has invalid IRQ; check vendor BIOS</div><div>[ =A0 =
=A01.254870] pcieport 0000:00:09.0: device [8086:3410] has invalid IRQ; che=
ck vendor BIOS</div>

<div>[ =A0 =A01.255019] pcieport 0000:00:1c.0: device [8086:3a40] has inval=
id IRQ; check vendor BIOS</div><div>[ =A0 =A01.255170] pcieport 0000:00:1c.=
4: device [8086:3a48] has invalid IRQ; check vendor BIOS</div><div>[ =A0 =
=A01.255389] ioapic: probe of 0000:00:15.0 failed with error -22</div>

<div>[ =A0 =A01.255467] pci_hotplug: PCI Hot Plug PCI Core version: 0.5</di=
v><div>[ =A0 =A01.255554] pciehp: PCI Express Hot Plug Controller Driver ve=
rsion: 0.4</div><div>[ =A0 =A01.255627] acpiphp: ACPI Hot Plug PCI Controll=
er Driver version: 0.5</div>

<div>[ =A0 =A01.255752] intel_idle: does not run on family 6 model 44</div>=
<div>[ =A0 =A01.255833] Event-channel device installed.</div><div>[ =A0 =A0=
1.255989] xen-pciback: backend is vpci</div><div>[ =A0 =A01.256298] Serial:=
 8250/16550 driver, 4 ports, IRQ sharing enabled</div>

<div>[ =A0 =A01.277599] serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 165=
50A</div><div>[ =A0 =A01.298917] serial8250: ttyS1 at I/O 0x2f8 (irq =3D 3)=
 is a 16550A</div><div>[ =A0 =A01.299221] Linux agpgart interface v0.103</d=
iv><div>[ =A0 =A01.299387] i8042: PNP: No PS/2 controller found. Probing po=
rts directly.</div>

<div>[ =A0 =A01.551430] serio: i8042 KBD port at 0x60,0x64 irq 1</div><div>=
[ =A0 =A01.551580] mousedev: PS/2 mouse device common for all mice</div><di=
v>[ =A0 =A01.551800] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rt=
c0</div>

<div>[ =A0 =A01.551897] rtc0: alarms up to one day, 114 bytes nvram</div><d=
iv>[ =A0 =A01.551972] EFI Variables Facility v0.08 2004-May-17</div><div>[ =
=A0 =A01.552053] drop_monitor: Initializing network drop monitor service</d=
iv><div>

[ =A0 =A01.552197] TCP: cubic registered</div><div>[ =A0 =A01.552276] NET: =
Registered protocol family 10</div><div>[ =A0 =A01.552496] mip6: Mobile IPv=
6</div><div>[ =A0 =A01.552564] NET: Registered protocol family 17</div><div=
>[ =A0 =A01.552641] Key type dns_resolver registered</div>

<div>[ =A0 =A01.552859] PM: Hibernation image not present or could not be l=
oaded.</div><div>[ =A0 =A01.552868] registered taskstats version 1</div><di=
v>[ =A0 =A01.553635] rtc_cmos rtc_cmos: setting system clock to 2012-10-11 =
03:25:15 UTC (1349925915)</div>

<div>[ =A0 =A01.553954] Freeing unused kernel memory: 592k freed</div><div>=
[ =A0 =A01.554130] Write protecting the kernel read-only data: 6144k</div><=
div>[ =A0 =A01.555798] Freeing unused kernel memory: 512k freed</div><div>[=
 =A0 =A01.556107] Freeing unused kernel memory: 620k freed</div>

<div>[ =A0 =A01.583588] udevd[50]: starting version 175</div><div>[ =A0 =A0=
1.657119] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4</div=
><div>[ =A0 =A01.663281] SCSI subsystem initialized</div><div>[ =A0 =A01.68=
1024] megasas: 00.00.06.15-rc1 Mon. Mar. 19 17:00:00 PDT 2012</div>

<div>[ =A0 =A01.681111] megasas: 0x1000:0x0073:0x1014:0x03b1: bus 1:slot 0:=
func 0</div><div>[ =A0 =A01.681241] megaraid_sas 0000:01:00.0: can&#39;t fi=
nd IRQ for PCI INT A; please try using pci=3Dbiosirq</div><div>[ =A0 =A01.6=
87892] megasas: FW now in Ready state</div>

<div>[ =A0 =A01.735350] megasas_init_mfi: fw_support_ieee=3D67108864</div><=
div>[ =A0 =A01.735407] megasas: INIT adapter done</div><div>[ =A0 =A01.8073=
65] scsi0 : LSI SAS based MegaRAID driver</div><div>[ =A0 =A01.808799] scsi=
 0:0:8:0: Direct-Access =A0 =A0 IBM-ESXS ST9146803SS =A0 =A0 =A0B53C PQ: 0 =
ANSI: 5</div>

<div>[ =A0 =A01.811249] scsi 0:0:9:0: Direct-Access =A0 =A0 ATA =A0 =A0 =A0=
ST9500620NS =A0 =A0 =A0BE24 PQ: 0 ANSI: 5</div><div>[ =A0 =A01.812739] scsi=
 0:0:10:0: Direct-Access =A0 =A0 ATA =A0 =A0 =A0ST9500620NS =A0 =A0 =A0BE24=
 PQ: 0 ANSI: 5</div><div>[ =A0 =A01.824208] scsi 0:2:0:0: Direct-Access =A0=
 =A0 IBM =A0 =A0 =A0ServeRAID M1015 =A02.12 PQ: 0 ANSI: 5</div>

<div>[ =A0 =A01.839755] sd 0:2:0:0: [sdb] 1949216768 512-byte logical block=
s: (997 GB/929 GiB)</div><div>[ =A0 =A01.840060] sd 0:2:0:0: [sdb] Write Pr=
otect is off</div><div>[ =A0 =A01.840141] sd 0:2:0:0: [sdb] Mode Sense: 1f =
00 10 08</div>

<div>[ =A0 =A01.840153] sd 0:0:8:0: [sda] 286748000 512-byte logical blocks=
: (146 GB/136 GiB)</div><div>[ =A0 =A01.840302] sd 0:2:0:0: [sdb] Write cac=
he: disabled, read cache: disabled, supports DPO and FUA</div><div>[ =A0 =
=A01.842564] sd 0:0:8:0: [sda] Write Protect is off</div>

<div>[ =A0 =A01.842637] sd 0:0:8:0: [sda] Mode Sense: c3 00 10 08</div><div=
>[ =A0 =A01.843418] =A0sdb: sdb1</div><div>[ =A0 =A01.843898] sd 0:0:8:0: [=
sda] Write cache: disabled, read cache: enabled, supports DPO and FUA</div>=
<div>[ =A0 =A01.844117] sd 0:2:0:0: [sdb] Attached SCSI disk</div>

<div>[ =A0 =A01.866028] =A0sda: sda1 sda2 sda3 sda4</div><div>[ =A0 =A01.87=
0498] sd 0:0:8:0: [sda] Attached SCSI disk</div><div>[ =A0 =A02.053157] dev=
ice-mapper: uevent: version 1.0.3</div><div>[ =A0 =A02.053610] device-mappe=
r: ioctl: 4.23.0-ioctl (2012-07-25) initialised: <a href=3D"mailto:dm-devel=
@redhat.com" target=3D"_blank">dm-devel@redhat.com</a></div>

<div>[ =A0 =A02.214131] EXT4-fs (dm-0): mounted filesystem with ordered dat=
a mode. Opts: (null)</div><div>[ =A0 =A03.162111] udevd[298]: starting vers=
ion 175</div><div>[ =A0 =A03.419449] bnx2: Broadcom NetXtreme II Gigabit Et=
hernet Driver bnx2 v2.2.3 (June 27, 2012)</div>

<div>[ =A0 =A03.419565] bnx2 0000:0b:00.0: can&#39;t find IRQ for PCI INT A=
; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.420241] bnx2 0000:0b:=
00.0: eth0: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found=
 at mem 92000000, IRQ 0, node addr 34:40:b5:ab:e5:b4</div>

<div>[ =A0 =A03.421062] bnx2 0000:0b:00.1: can&#39;t find IRQ for PCI INT B=
; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.421705] bnx2 0000:0b:=
00.1: eth1: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found=
 at mem 94000000, IRQ 0, node addr 34:40:b5:ab:e5:b6</div>

<div>[ =A0 =A03.428805] dca service started, version 1.12.1</div><div>[ =A0=
 =A03.467169] EDAC MC: Ver: 3.0.0</div><div>[ =A0 =A03.473824] ioatdma: Int=
el(R) QuickData Technology Driver 4.00</div><div>[ =A0 =A03.473918] ioatdma=
 0000:00:16.0: enabling device (0000 -&gt; 0002)</div>

<div>[ =A0 =A03.473996] ioatdma 0000:00:16.0: can&#39;t find IRQ for PCI IN=
T A; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.474116] ioatdma 00=
00:00:16.0: channel error register unreachable</div><div>[ =A0 =A03.474191]=
 ioatdma 0000:00:16.0: channel enumeration error</div>

<div>[ =A0 =A03.505302] microcode: CPU0 sig=3D0x206c2, pf=3D0x1, revision=
=3D0x15</div><div>[ =A0 =A03.505995] ioatdma 0000:00:16.0: Intel(R) I/OAT D=
MA Engine init failed</div><div>[ =A0 =A03.506096] ioatdma 0000:00:16.1: en=
abling device (0000 -&gt; 0002)</div>

<div>[ =A0 =A03.506173] ioatdma 0000:00:16.1: can&#39;t find IRQ for PCI IN=
T B; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.506296] ioatdma 00=
00:00:16.1: channel error register unreachable</div><div>[ =A0 =A03.506369]=
 ioatdma 0000:00:16.1: channel enumeration error</div>

<div>[ =A0 =A03.506441] ioatdma 0000:00:16.1: Intel(R) I/OAT DMA Engine ini=
t failed</div><div>[ =A0 =A03.506532] ioatdma 0000:00:16.2: enabling device=
 (0000 -&gt; 0002)</div><div>[ =A0 =A03.506608] ioatdma 0000:00:16.2: can&#=
39;t find IRQ for PCI INT C; please try using pci=3Dbiosirq</div>

<div>[ =A0 =A03.506722] ioatdma 0000:00:16.2: channel error register unreac=
hable</div><div>[ =A0 =A03.506795] ioatdma 0000:00:16.2: channel enumeratio=
n error</div><div>[ =A0 =A03.506867] ioatdma 0000:00:16.2: Intel(R) I/OAT D=
MA Engine init failed</div>

<div>[ =A0 =A03.506957] ioatdma 0000:00:16.3: enabling device (0000 -&gt; 0=
002)</div><div>[ =A0 =A03.507034] ioatdma 0000:00:16.3: can&#39;t find IRQ =
for PCI INT D; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.507147] =
ioatdma 0000:00:16.3: channel error register unreachable</div>

<div>[ =A0 =A03.507222] ioatdma 0000:00:16.3: channel enumeration error</di=
v><div>[ =A0 =A03.507294] ioatdma 0000:00:16.3: Intel(R) I/OAT DMA Engine i=
nit failed</div><div>[ =A0 =A03.507398] ioatdma 0000:00:16.4: enabling devi=
ce (0000 -&gt; 0002)</div>

<div>[ =A0 =A03.507476] ioatdma 0000:00:16.4: can&#39;t find IRQ for PCI IN=
T A; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.507590] ioatdma 00=
00:00:16.4: channel error register unreachable</div><div>[ =A0 =A03.507663]=
 ioatdma 0000:00:16.4: channel enumeration error</div>

<div>[ =A0 =A03.507735] ioatdma 0000:00:16.4: Intel(R) I/OAT DMA Engine ini=
t failed</div><div>[ =A0 =A03.507826] ioatdma 0000:00:16.5: enabling device=
 (0000 -&gt; 0002)</div><div>[ =A0 =A03.507903] ioatdma 0000:00:16.5: can&#=
39;t find IRQ for PCI INT B; please try using pci=3Dbiosirq</div>

<div>[ =A0 =A03.508016] ioatdma 0000:00:16.5: channel error register unreac=
hable</div><div>[ =A0 =A03.508090] ioatdma 0000:00:16.5: channel enumeratio=
n error</div><div>[ =A0 =A03.508162] ioatdma 0000:00:16.5: Intel(R) I/OAT D=
MA Engine init failed</div>

<div>[ =A0 =A03.508255] ioatdma 0000:00:16.6: enabling device (0000 -&gt; 0=
002)</div><div>[ =A0 =A03.508337] ioatdma 0000:00:16.6: can&#39;t find IRQ =
for PCI INT C; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.508454] =
ioatdma 0000:00:16.6: channel error register unreachable</div>

<div>[ =A0 =A03.508529] ioatdma 0000:00:16.6: channel enumeration error</di=
v><div>[ =A0 =A03.508601] ioatdma 0000:00:16.6: Intel(R) I/OAT DMA Engine i=
nit failed</div><div>[ =A0 =A03.508692] ioatdma 0000:00:16.7: enabling devi=
ce (0000 -&gt; 0002)</div>

<div>[ =A0 =A03.508769] ioatdma 0000:00:16.7: can&#39;t find IRQ for PCI IN=
T D; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.508885] ioatdma 00=
00:00:16.7: channel error register unreachable</div><div>[ =A0 =A03.508958]=
 ioatdma 0000:00:16.7: channel enumeration error</div>

<div>[ =A0 =A03.509030] ioatdma 0000:00:16.7: Intel(R) I/OAT DMA Engine ini=
t failed</div><div>[ =A0 =A03.571248] usbcore: registered new interface dri=
ver usbfs</div><div>[ =A0 =A03.571330] usbcore: registered new interface dr=
iver hub</div>

<div>[ =A0 =A03.585483] ACPI Exception: AE_BAD_PARAMETER, Thread 1786484928=
 could not acquire Mutex [0x1] (20120711/utmutex-276)</div><div>[ =A0 =A03.=
585675] ACPI Exception: AE_BAD_PARAMETER, Thread 1786484928 could not acqui=
re Mutex [0x1] (20120711/utmutex-276)</div>

<div>[ =A0 =A03.590919] usbcore: registered new device driver usb</div><div=
>[ =A0 =A03.603433] input: PC Speaker as /devices/platform/pcspkr/input/inp=
ut0</div><div>[ =A0 =A03.604762] libata version 3.00 loaded.</div><div>[ =
=A0 =A03.607430] ehci_hcd: USB 2.0 &#39;Enhanced&#39; Host Controller (EHCI=
) Driver</div>

<div>[ =A0 =A03.607535] ehci_hcd 0000:00:1a.7: can&#39;t find IRQ for PCI I=
NT C; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.607629] ehci_hcd =
0000:00:1a.7: Found HC with no IRQ. =A0Check BIOS/PCI 0000:00:1a.7 setup!</=
div><div>

[ =A0 =A03.607723] ehci_hcd 0000:00:1a.7: init 0000:00:1a.7 fail, -19</div>=
<div>[ =A0 =A03.607808] ehci_hcd 0000:00:1d.7: can&#39;t find IRQ for PCI I=
NT A; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.607900] ehci_hcd =
0000:00:1d.7: Found HC with no IRQ. =A0Check BIOS/PCI 0000:00:1d.7 setup!</=
div>

<div>[ =A0 =A03.607994] ehci_hcd 0000:00:1d.7: init 0000:00:1d.7 fail, -19<=
/div><div>[ =A0 =A03.623701] i801_smbus 0000:00:1f.3: enabling device (0140=
 -&gt; 0143)</div><div>[ =A0 =A03.623781] i801_smbus 0000:00:1f.3: can&#39;=
t find IRQ for PCI INT B; please try using pci=3Dbiosirq</div>

<div>[ =A0 =A03.623874] ACPI Exception: AE_BAD_PARAMETER, Thread 1775910976=
 could not acquire Mutex [0x1] (20120711/utmutex-276)</div><div>[ =A0 =A03.=
624093] i801_smbus 0000:00:1f.3: SMBus using PCI Interrupt</div><div>[ =A0 =
=A03.676083] ata_piix 0000:00:1f.2: version 2.13</div>

<div>[ =A0 =A03.676095] ata_piix 0000:00:1f.2: can&#39;t find IRQ for PCI I=
NT A; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.676193] ata_piix =
0000:00:1f.2: MAP [</div><div>[ =A0 =A03.676260] =A0P0 P2 P1 P3 ]</div><div=
>[ =A0 =A03.676539] ata_piix 0000:00:1f.2: setting latency timer to 64</div=
>

<div>[ =A0 =A03.677344] scsi1 : ata_piix</div><div>[ =A0 =A03.677732] scsi2=
 : ata_piix</div><div>[ =A0 =A03.677862] ata1: SATA max UDMA/133 cmd 0x2118=
 ctl 0x212c bmdma 0x20f0</div><div>[ =A0 =A03.677954] ata2: SATA max UDMA/1=
33 cmd 0x2110 ctl 0x2128 bmdma 0x20f8</div>

<div>[ =A0 =A03.678154] gpio_ich: GPIO from 195 to 255 on gpio_ich</div><di=
v>[ =A0 =A03.678606] ata_piix 0000:00:1f.5: can&#39;t find IRQ for PCI INT =
C; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.678703] ata_piix 000=
0:00:1f.5: MAP [</div>

<div>[ =A0 =A03.678771] =A0P0 -- P1 -- ]</div><div>[ =A0 =A03.679046] ata_p=
iix 0000:00:1f.5: setting latency timer to 64</div><div>[ =A0 =A03.679562] =
scsi3 : ata_piix</div><div>[ =A0 =A03.680057] uhci_hcd: USB Universal Host =
Controller Interface driver</div>

<div>[ =A0 =A03.682601] scsi4 : ata_piix</div><div>[ =A0 =A03.682814] ata3:=
 SATA max UDMA/133 cmd 0x2108 ctl 0x2124 bmdma 0x20d0</div><div>[ =A0 =A03.=
682893] ata4: SATA max UDMA/133 cmd 0x2100 ctl 0x2120 bmdma 0x20d8</div><di=
v>[ =A0 =A03.683028] uhci_hcd 0000:00:1a.0: can&#39;t find IRQ for PCI INT =
A; please try using pci=3Dbiosirq</div>

<div>[ =A0 =A03.683123] uhci_hcd 0000:00:1a.0: Found HC with no IRQ. =A0Che=
ck BIOS/PCI 0000:00:1a.0 setup!</div><div>[ =A0 =A03.683217] uhci_hcd 0000:=
00:1a.0: init 0000:00:1a.0 fail, -19</div><div>[ =A0 =A03.683300] uhci_hcd =
0000:00:1a.1: can&#39;t find IRQ for PCI INT B; please try using pci=3Dbios=
irq</div>

<div>[ =A0 =A03.683408] uhci_hcd 0000:00:1a.1: Found HC with no IRQ. =A0Che=
ck BIOS/PCI 0000:00:1a.1 setup!</div><div>[ =A0 =A03.683504] uhci_hcd 0000:=
00:1a.1: init 0000:00:1a.1 fail, -19</div><div>[ =A0 =A03.683588] uhci_hcd =
0000:00:1d.0: can&#39;t find IRQ for PCI INT A; please try using pci=3Dbios=
irq</div>

<div>[ =A0 =A03.683682] uhci_hcd 0000:00:1d.0: Found HC with no IRQ. =A0Che=
ck BIOS/PCI 0000:00:1d.0 setup!</div><div>[ =A0 =A03.683802] uhci_hcd 0000:=
00:1d.0: init 0000:00:1d.0 fail, -19</div><div>[ =A0 =A03.683933] uhci_hcd =
0000:00:1d.1: can&#39;t find IRQ for PCI INT B; please try using pci=3Dbios=
irq</div>

<div>[ =A0 =A03.684026] uhci_hcd 0000:00:1d.1: Found HC with no IRQ. =A0Che=
ck BIOS/PCI 0000:00:1d.1 setup!</div><div>[ =A0 =A03.684121] uhci_hcd 0000:=
00:1d.1: init 0000:00:1d.1 fail, -19</div><div>[ =A0 =A03.684201] uhci_hcd =
0000:00:1d.2: can&#39;t find IRQ for PCI INT C; please try using pci=3Dbios=
irq</div>

<div>[ =A0 =A03.684293] uhci_hcd 0000:00:1d.2: Found HC with no IRQ. =A0Che=
ck BIOS/PCI 0000:00:1d.2 setup!</div><div>[ =A0 =A03.684387] uhci_hcd 0000:=
00:1d.2: init 0000:00:1d.2 fail, -19</div><div>[ =A0 =A03.751594] microcode=
: Microcode Update Driver: v2.00 &lt;<a href=3D"mailto:tigran@aivazian.fsne=
t.co.uk" target=3D"_blank">tigran@aivazian.fsnet.co.uk</a>&gt;, Peter Oruba=
</div>

<div>[ =A0 =A03.771183] iTCO_vendor_support: vendor-support=3D0</div><div>[=
 =A0 =A04.010635] ata3: SATA link down (SStatus 0 SControl 300)</div><div>[=
 =A0 =A04.022013] ata4: SATA link down (SStatus 0 SControl 300)</div><div>[=
 =A0 =A04.342660] ata2.00: SATA link down (SStatus 0 SControl 300)</div>

<div>[ =A0 =A04.342751] ata2.01: SATA link down (SStatus 0 SControl 300)</d=
iv><div>[ =A0 =A04.487426] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SCon=
trol 300)</div><div>[ =A0 =A04.487519] ata1.01: SATA link down (SStatus 0 S=
Control 300)</div>

<div>[ =A0 =A04.487603] ata1.01: link offline, clearing class 3 to NONE</di=
v><div>[ =A0 =A04.495491] ata1.00: ATAPI: IBM SATA DEVICE 81Y3657, IB01, ma=
x UDMA/33</div><div>[ =A0 =A04.511489] ata1.00: configured for UDMA/33</div=
><div>[ =A0 =A09.511364] ata1.00: qc timeout (cmd 0xa0)</div>

<div>[ =A0 =A09.511434] ata1.00: TEST_UNIT_READY failed (err_mask=3D0x5)</d=
iv><div>[ =A0 10.307422] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SContr=
ol 300)</div><div>[ =A0 10.307515] ata1.01: SATA link down (SStatus 0 SCont=
rol 300)</div>

<div>[ =A0 10.307600] ata1.01: link offline, clearing class 3 to NONE</div>=
<div>[ =A0 10.331487] ata1.00: configured for UDMA/33</div><div>[ =A0 15.33=
1361] ata1.00: qc timeout (cmd 0xa0)</div><div>[ =A0 15.331431] ata1.00: TE=
ST_UNIT_READY failed (err_mask=3D0x5)</div>

<div>[ =A0 15.331504] ata1.00: limiting SATA link speed to 1.5 Gbps</div><d=
iv>[ =A0 15.331574] ata1.00: limiting speed to UDMA/33:PIO3</div><div>[ =A0=
 16.127423] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SControl 310)</div>=
<div>

[ =A0 16.127515] ata1.01: SATA link down (SStatus 0 SControl 300)</div><div=
>[ =A0 16.127601] ata1.01: link offline, clearing class 3 to NONE</div><div=
>[ =A0 16.151487] ata1.00: configured for UDMA/33</div><div>[ =A0 21.151378=
] ata1.00: qc timeout (cmd 0xa0)</div>

<div>[ =A0 21.151448] ata1.00: TEST_UNIT_READY failed (err_mask=3D0x5)</div=
><div>[ =A0 21.151518] ata1.00: disabled</div><div>[ =A0 21.151603] ata1.00=
: hard resetting link</div><div>[ =A0 21.471351] ata1.01: hard resetting li=
nk</div>

<div>[ =A0 21.947430] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SControl =
310)</div><div>[ =A0 21.947523] ata1.01: SATA link down (SStatus 0 SControl=
 300)</div><div>[ =A0 21.947608] ata1.01: link offline, clearing class 3 to=
 NONE</div>

<div>[ =A0 21.947611] ata1: EH complete</div><div>[ =A0 21.963868] iTCO_wdt=
: Intel TCO WatchDog Timer Driver v1.10</div><div>[ =A0 21.963965] iTCO_wdt=
: Found a ICH10 TCO device (Version=3D2, TCOBASE=3D0x05e0)</div><div>[ =A0 =
21.964124] iTCO_wdt: initialized. heartbeat=3D30 sec (nowayout=3D0)</div>

<div>[ =A0 21.997872] Error: Driver &#39;pcspkr&#39; is already registered,=
 aborting...</div><div>[ =A0 22.010315] alg: No test for __gcm-aes-aesni (_=
_driver-gcm-aes-aesni)</div><div>[ =A0 22.995255] EXT4-fs (dm-0): re-mounte=
d. Opts: (null)</div>

<div>[ =A0 23.177611] EXT4-fs (dm-0): re-mounted. Opts: errors=3Dremount-ro=
</div><div>[ =A0 23.281974] loop: module loaded</div><div>[ =A0 23.346661] =
lp: driver loaded but no devices found</div><div>[ =A0 24.043404] Adding 41=
94300k swap on /dev/mapper/xen-fw_swap. =A0Priority:-1 extents:1 across:419=
4300k=A0</div>

<div>[ =A0 24.347072] EXT4-fs (sda3): mounted filesystem with ordered data =
mode. Opts: (null)</div><div>[ =A0 24.386139] FAT-fs (sda2): utf8 is not a =
recommended IO charset for FAT filesystems, filesystem will be case sensiti=
ve!</div>

<div>[ =A0 25.140294] bnx2 0000:0b:00.0: eth0: using MSIX</div><div>[ =A0 2=
5.140439] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready</div><div>[ =
=A0 25.181911] Bridge firewalling registered</div><div>[ =A0 25.186131] dev=
ice eth1 entered promiscuous mode</div>

<div>[ =A0 25.288312] bnx2 0000:0b:00.1: eth1: using MSIX</div><div>[ =A0 2=
5.288410] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready</div><div>[ =
=A0 25.290413] IPv6: ADDRCONF(NETDEV_UP): xenbr0: link is not ready</div><d=
iv>
[ =A0 26.898999] bnx2 0000:0b:00.0: eth0: NIC Copper Link is Up, 100 Mbps f=
ull duplex</div>
<div>[ =A0 26.899091]=A0</div><div>[ =A0 26.899222] IPv6: ADDRCONF(NETDEV_C=
HANGE): eth0: link becomes ready</div><div>[ =A0 28.981380] bnx2 0000:0b:00=
.1: eth1: NIC Copper Link is Up, 1000 Mbps full duplex</div><div>[ =A0 28.9=
81477]=A0</div>

<div>[ =A0 28.981613] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes rea=
dy</div><div>[ =A0 28.981698] xenbr0: port 1(eth1) entered forwarding state=
</div><div>[ =A0 28.981771] xenbr0: port 1(eth1) entered forwarding state</=
div>

<div>[ =A0 28.981850] IPv6: ADDRCONF(NETDEV_CHANGE): xenbr0: link becomes r=
eady</div><div>[ =A0 33.512189] RPC: Registered named UNIX socket transport=
 module.</div><div>[ =A0 33.512281] RPC: Registered udp transport module.</=
div>

<div>[ =A0 33.512351] RPC: Registered tcp transport module.</div><div>[ =A0=
 33.512420] RPC: Registered tcp NFSv4.1 backchannel transport module.</div>=
<div>[ =A0 33.533692] FS-Cache: Loaded</div><div>[ =A0 33.547314] FS-Cache:=
 Netfs &#39;nfs&#39; registered for caching</div>

<div>[ =A0 33.579870] Installing knfsd (copyright (C) 1996 <a href=3D"mailt=
o:okir@monad.swb.de" target=3D"_blank">okir@monad.swb.de</a>).</div><div>[ =
=A0 34.845026] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)</div><=
div>
[ =A0 34.854870] ip_tables: (C) 2000-2006 Netfilter Core Team</div>
<div>[ =A0 35.475210] ppdev: user-space parallel port driver</div><div>[ =
=A0 39.140866] colord-sane[2701]: segfault at 0 ip 00007fc826bc4884 sp 0000=
7fff6a44fea0 error 4 in <a href=3D"http://libc-2.13.so" target=3D"_blank">l=
ibc-2.13.so</a>[7fc826b1f000+17d000]</div>

<div>[ =A0 44.011341] xenbr0: port 1(eth1) entered forwarding state</div></=
div><div><br></div><div><br></div><div>Thanks for all,</div><div>Allan Sche=
id</div><div><br></div>
</div><br><br clear=3D"all"><div><br></div>-- <br><div><span style=3D"font-=
family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><=
em><strong>Att,</strong></em></span></div><div><span style=3D"font-family:a=
rial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><em><stro=
ng>Allan Vicente Scheid</strong></em></span></div>
<div><span style=3D"font-family:arial,sans-serif;font-size:13px;background-=
color:rgb(255,255,255)"><em><b>Acad=EAmico de Ci=EAncia da Computa=E7=E3o -=
 Unioeste Foz</b></em></span></div><br>
</div>

--14dae934109feecd8704cbc0e07e--


--===============4323735893482094400==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--===============4323735893482094400==--


From xen-devel-bounces@lists.xen.org Thu Oct 11 05:56:00 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Oct 2012 05:56:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TMBjy-0001g2-8x; Thu, 11 Oct 2012 05:55:26 +0000
Received: from mail27.messagelabs.com ([193.109.254.147])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <avs.009@gmail.com>) id 1TMA5N-00013q-6M
	for xen-devel@lists.xen.org; Thu, 11 Oct 2012 04:09:25 +0000
X-Env-Sender: avs.009@gmail.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1349928549!8138114!1
X-Originating-IP: [209.85.223.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_10_20,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8012 invoked from network); 11 Oct 2012 04:09:10 -0000
Received: from mail-ie0-f173.google.com (HELO mail-ie0-f173.google.com)
	(209.85.223.173)
	by server-5.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	11 Oct 2012 04:09:10 -0000
Received: by mail-ie0-f173.google.com with SMTP id 17so2911021iea.32
	for <xen-devel@lists.xen.org>; Wed, 10 Oct 2012 21:09:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=PBoaX0hWyFiG2/NUOkbkFFwuWZC0noIesAxrwLor5xU=;
	b=tRRz4WNWKRxgn4aGmd74Sb/wjcPOORFtInkOMgwGXmD1jGcjl5cXiPEDZC7m7FEUWp
	o5EIGfIhfkHhc/0QI87FvTwUy6zJhTGEKzH681ZyM3a6kdEaVB7jLGVWBboFpJq4NQIO
	7Eans+ABh9fQf6ltDSw2nTQdE0w1pjuZDIrdk9cWClmToX+vyhlKDWAsfxP+lBiQiS7d
	OlF21UAsPkj1M1FiyIGqk618Q5oLyBd/Dg+a9IfTjGl3WB57KSjUvec+F0mlOrsTDpXO
	oK7P40pou6RcHcnBHG2rOYH4ro/Xkzg87v+pZ4LKmtoa7dyF2fRyYCNoDiHj7aruT6GO
	IAFA==
MIME-Version: 1.0
Received: by 10.43.48.129 with SMTP id uw1mr20141161icb.10.1349928544597; Wed,
	10 Oct 2012 21:09:04 -0700 (PDT)
Received: by 10.64.22.71 with HTTP; Wed, 10 Oct 2012 21:09:04 -0700 (PDT)
Date: Thu, 11 Oct 2012 01:09:04 -0300
Message-ID: <CANchcZy0qiahQ86wGzW3YjfvkF1mW_KKNxkfruM0N+_ELzow4A@mail.gmail.com>
From: Allan Scheid <avs.009@gmail.com>
To: xen-devel@lists.xen.org
X-Mailman-Approved-At: Thu, 11 Oct 2012 05:55:25 +0000
Subject: [Xen-devel] Xen 4.2 with EFI on IBM x3650 ACPI Bug
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5491451415256564798=="
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--===============5491451415256564798==
Content-Type: multipart/alternative; boundary=bcaec5299feb5f768904cbc0bbb9

--bcaec5299feb5f768904cbc0bbb9
Content-Type: text/plain; charset=ISO-8859-1

Hellow all, i need help to fix this bug:

ACPI BIOS Bug: Error: A valid RSDP was not found (20120711/tbxfroot-219)

Because of this first errors i get this after, and it causes don't work USB
ports and some PCI cards on the system:

can't find IRQ for PCI INT A; please try using pci=biosirq

Kernel: 3.6.1-xen self compiled (work perfect without xen multiboot)
Xen Version: 4.2
Grub2 EFI: 1.99-23
Debian Unstable distro

dmesg output:

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.6.1-xen (root@lca-fw) (gcc version 4.7.1
(Debian 4.7.1-7) ) #1 SMP Wed Oct 10 22:46:05 BRT 2012
[    0.000000] Command line: placeholder root=/dev/mapper/xen-fw_root ro
[    0.000000] Freeing 6c-6d pfn range: 1 pages freed
[    0.000000] 1-1 mapping on 6c->6d
[    0.000000] Freeing 9f-100 pfn range: 97 pages freed
[    0.000000] 1-1 mapping on 9f->100
[    0.000000] Freeing 7acb7-7ccb8 pfn range: 8193 pages freed
[    0.000000] 1-1 mapping on 7acb7->7ccb8
[    0.000000] Freeing 7d4f0-7d51b pfn range: 43 pages freed
[    0.000000] 1-1 mapping on 7d4f0->7d51b
[    0.000000] Freeing 7d53f-7d56a pfn range: 43 pages freed
[    0.000000] 1-1 mapping on 7d53f->7d56a
[    0.000000] Freeing 7d704-7d7b4 pfn range: 176 pages freed
[    0.000000] 1-1 mapping on 7d704->7d7b4
[    0.000000] Freeing 7f5ef-7f7ff pfn range: 528 pages freed
[    0.000000] 1-1 mapping on 7f5ef->7f7ff
[    0.000000] Freeing 7f800-f258d pfn range: 470413 pages freed
[    0.000000] 1-1 mapping on 7f800->100000
[    0.000000] Released 479494 pages of unused memory
[    0.000000] Set 535417 page(s) to 1-1 mapping
[    0.000000] Populating 100000-175106 pfn range: 479494 pages added
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] Xen: [mem 0x0000000000000000-0x000000000006bfff] usable
[    0.000000] Xen: [mem 0x000000000006c000-0x000000000006cfff] ACPI NVS
[    0.000000] Xen: [mem 0x000000000006d000-0x000000000009efff] usable
[    0.000000] Xen: [mem 0x000000000009f000-0x000000000009ffff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000000a0000-0x00000000000fffff] reserved
[    0.000000] Xen: [mem 0x0000000000100000-0x000000007acb6fff] usable
[    0.000000] Xen: [mem 0x000000007acb7000-0x000000007ccb7fff] reserved
[    0.000000] Xen: [mem 0x000000007ccb8000-0x000000007d4effff] usable
[    0.000000] Xen: [mem 0x000000007d4f0000-0x000000007d51afff] reserved
[    0.000000] Xen: [mem 0x000000007d51b000-0x000000007d53efff] usable
[    0.000000] Xen: [mem 0x000000007d53f000-0x000000007d569fff] reserved
[    0.000000] Xen: [mem 0x000000007d56a000-0x000000007d703fff] usable
[    0.000000] Xen: [mem 0x000000007d704000-0x000000007d7b3fff] reserved
[    0.000000] Xen: [mem 0x000000007d7b4000-0x000000007f5eefff] usable
[    0.000000] Xen: [mem 0x000000007f5ef000-0x000000007f6defff] reserved
[    0.000000] Xen: [mem 0x000000007f6df000-0x000000007f7defff] ACPI NVS
[    0.000000] Xen: [mem 0x000000007f7df000-0x000000007f7fefff] ACPI data
[    0.000000] Xen: [mem 0x000000007f7ff000-0x000000007f7fffff] usable
[    0.000000] Xen: [mem 0x0000000080000000-0x000000008fffffff] reserved
[    0.000000] Xen: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] Xen: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] Xen: [mem 0x00000000ff800000-0x00000000ffffffff] reserved
[    0.000000] Xen: [mem 0x0000000100000000-0x000000017fffffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI 2.5 present.
[    0.000000] DMI: IBM System x3650 M3 -[7945AC1]-/00D4062, BIOS
-[D6E157AUS-1.15]- 06/13/2012
[    0.000000] e820: update [mem 0x00000000-0x0000ffff] usable ==> reserved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] No AGP bridge found
[    0.000000] e820: last_pfn = 0x180000 max_arch_pfn = 0x400000000
[    0.000000] e820: last_pfn = 0x7f800 max_arch_pfn = 0x400000000
[    0.000000] initial memory mapped: [mem 0x00000000-0x02334fff]
[    0.000000] Base memory trampoline at [ffff880000099000] 99000 size 24576
[    0.000000] init_memory_mapping: [mem 0x00000000-0x7f7fffff]
[    0.000000]  [mem 0x00000000-0x7f7fffff] page 4k
[    0.000000] kernel direct mapping tables up to 0x7f7fffff @ [mem
0x01831000-0x01c2ffff]
[    0.000000] xen: setting RW the range 1c14000 - 1c30000
[    0.000000] init_memory_mapping: [mem 0x100000000-0x17fffffff]
[    0.000000]  [mem 0x100000000-0x17fffffff] page 4k
[    0.000000] kernel direct mapping tables up to 0x17fffffff @ [mem
0x7e9e8000-0x7f5eefff]
[    0.000000] xen: setting RW the range 7edea000 - 7f5ef000
[    0.000000] RAMDISK: [mem 0x01c30000-0x02334fff]
[    0.000000] ACPI BIOS Bug: Error: A valid RSDP was not found
(20120711/tbxfroot-219)
[    0.000000] NUMA turned off
[    0.000000] Faking a node at [mem 0x0000000000000000-0x000000017fffffff]
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x17fffffff]
[    0.000000]   NODE_DATA [mem 0x175102000-0x175105fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x00010000-0x00ffffff]
[    0.000000]   DMA32    [mem 0x01000000-0xffffffff]
[    0.000000]   Normal   [mem 0x100000000-0x17fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00010000-0x0006bfff]
[    0.000000]   node   0: [mem 0x0006d000-0x0009efff]
[    0.000000]   node   0: [mem 0x00100000-0x7acb6fff]
[    0.000000]   node   0: [mem 0x7ccb8000-0x7d4effff]
[    0.000000]   node   0: [mem 0x7d51b000-0x7d53efff]
[    0.000000]   node   0: [mem 0x7d56a000-0x7d703fff]
[    0.000000]   node   0: [mem 0x7d7b4000-0x7f5eefff]
[    0.000000]   node   0: [mem 0x7f7ff000-0x7f7fffff]
[    0.000000]   node   0: [mem 0x100000000-0x17fffffff]
[    0.000000] On node 0 totalpages: 1037431
[    0.000000]   DMA zone: 56 pages used for memmap
[    0.000000]   DMA zone: 6 pages reserved
[    0.000000]   DMA zone: 3920 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 14280 pages used for memmap
[    0.000000]   DMA32 zone: 494881 pages, LIFO batch:31
[    0.000000]   Normal zone: 7168 pages used for memmap
[    0.000000]   Normal zone: 517120 pages, LIFO batch:31
[    0.000000] SFI: Simple Firmware Interface v0.81
http://simplefirmware.org
[    0.000000] smpboot: Allowing 1 CPUs, 0 hotplug CPUs
[    0.000000] nr_irqs_gsi: 16
[    0.000000] PM: Registered nosave memory: 000000000006c000 -
000000000006d000
[    0.000000] PM: Registered nosave memory: 000000000009f000 -
00000000000a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 -
0000000000100000
[    0.000000] PM: Registered nosave memory: 000000007acb7000 -
000000007ccb8000
[    0.000000] PM: Registered nosave memory: 000000007d4f0000 -
000000007d51b000
[    0.000000] PM: Registered nosave memory: 000000007d53f000 -
000000007d56a000
[    0.000000] PM: Registered nosave memory: 000000007d704000 -
000000007d7b4000
[    0.000000] PM: Registered nosave memory: 000000007f5ef000 -
000000007f6df000
[    0.000000] PM: Registered nosave memory: 000000007f6df000 -
000000007f7df000
[    0.000000] PM: Registered nosave memory: 000000007f7df000 -
000000007f7ff000
[    0.000000] PM: Registered nosave memory: 000000007f800000 -
0000000080000000
[    0.000000] PM: Registered nosave memory: 0000000080000000 -
0000000090000000
[    0.000000] PM: Registered nosave memory: 0000000090000000 -
00000000fed1c000
[    0.000000] PM: Registered nosave memory: 00000000fed1c000 -
00000000fed20000
[    0.000000] PM: Registered nosave memory: 00000000fed20000 -
00000000fee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 -
00000000fee01000
[    0.000000] PM: Registered nosave memory: 00000000fee01000 -
00000000ff800000
[    0.000000] PM: Registered nosave memory: 00000000ff800000 -
0000000100000000
[    0.000000] e820: [mem 0x90000000-0xfed1bfff] available for PCI devices
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.2.0 (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:1
nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff880174e00000 s83840 r8192
d22656 u2097152
[    0.000000] pcpu-alloc: s83840 r8192 d22656 u2097152 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 0
[    1.096975] Built 1 zonelists in Zone order, mobility grouping on.
 Total pages: 1015921
[    1.096977] Policy zone: Normal
[    1.096979] Kernel command line: placeholder
root=/dev/mapper/xen-fw_root ro
[    1.097016] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    1.097021] __ex_table already sorted, skipping sort
[    1.121932] software IO TLB [mem 0x16c800000-0x1707fffff] (64MB) mapped
at [ffff88016c800000-ffff8801707fffff]
[    1.138656] Memory: 3815116k/6291456k available (3573k kernel code,
2141732k absent, 334608k reserved, 3147k data, 592k init)
[    1.138717] Hierarchical RCU implementation.
[    1.138718] RCU dyntick-idle grace-period acceleration is enabled.
[    1.138719] RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=1.
[    1.138728] NR_IRQS:33024 nr_irqs:256 16
[    1.147171] Console: colour VGA+ 80x25
[    1.154296] console [tty0] enabled
[    1.159002] allocated 16777216 bytes of page_cgroup
[    1.159079] please try 'cgroup_disable=memory' option if you don't want
memory cgroups
[    1.159208] Xen: using vcpuop timer interface
[    1.159214] installing Xen timer for CPU 0
[    1.159303] tsc: Detected 2400.126 MHz processor
[    1.159375] Calibrating delay loop (skipped), value calculated using
timer frequency.. 4800.25 BogoMIPS (lpj=9600504)
[    1.159517] pid_max: default: 32768 minimum: 301
[    1.159607] Security Framework initialized
[    1.159680] AppArmor: AppArmor disabled by boot time parameter
[    1.160298] Dentry cache hash table entries: 524288 (order: 10, 4194304
bytes)
[    1.161752] Inode-cache hash table entries: 262144 (order: 9, 2097152
bytes)
[    1.162415] Mount-cache hash table entries: 256
[    1.162658] Initializing cgroup subsys cpuacct
[    1.162729] Initializing cgroup subsys memory
[    1.162806] Initializing cgroup subsys devices
[    1.162876] Initializing cgroup subsys freezer
[    1.162945] Initializing cgroup subsys net_cls
[    1.163014] Initializing cgroup subsys blkio
[    1.163082] Initializing cgroup subsys perf_event
[    1.163204] CPU: Physical Processor ID: 0
[    1.163277] CPU: Processor Core ID: 0
[    1.163346] mce: CPU supports 2 MCE banks
[    1.163452] Last level iTLB entries: 4KB 512, 2MB 7, 4MB 7
[    1.163452] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32
[    1.163452] tlb_flushall_shift is 0x6
[    1.163602] SMP alternatives: switching to UP code
[    1.171342] Freeing SMP alternatives: 8k freed
[    1.171471] Performance Events: unsupported p6 CPU model 44 no PMU
driver, software events only.
[    1.171785] NMI watchdog: disabled (cpu0): hardware events not enabled
[    1.171876] Brought up 1 CPUs
[    1.172058] devtmpfs: initialized
[    1.174970] PM: Registering ACPI NVS region [mem 0x0006c000-0x0006cfff]
(4096 bytes)
[    1.175062] PM: Registering ACPI NVS region [mem 0x0009f000-0x0009ffff]
(4096 bytes)
[    1.175153] PM: Registering ACPI NVS region [mem 0x7f6df000-0x7f7defff]
(1048576 bytes)
[    1.175314] Grant tables using version 2 layout.
[    1.175394] Grant table initialized
[    1.175514] dummy:
[    1.175625] NET: Registered protocol family 16
[    1.175969] PCI: Using configuration type 1 for base access
[    1.176599] bio: create slab <bio-0> at 0
[    1.176719] ACPI: Interpreter disabled.
[    1.176796] xen/balloon: Initialising balloon driver.
[    1.177620] xen-balloon: Initialising balloon driver.
[    1.177761] vgaarb: loaded
[    1.177860] PCI: Probing PCI hardware
[    1.177929] PCI: root bus 00: using default resources
[    1.177930] PCI: Probing PCI hardware (bus 00)
[    1.177954] PCI host bridge to bus 0000:00
[    1.178025] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    1.178098] pci_bus 0000:00: root bus resource [mem
0x00000000-0xffffffffff]
[    1.178173] pci_bus 0000:00: No busn resource found for root bus, will
use [bus 00-ff]
[    1.178266] pci_bus 0000:00: busn_res: [bus 00-ff] is inserted under
domain [bus 00-ff]
[    1.178287] pci 0000:00:00.0: [8086:3406] type 00 class 0x060000
[    1.178389] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[    1.178425] pci 0000:00:01.0: [8086:3408] type 01 class 0x060400
[    1.178532] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[    1.178571] pci 0000:00:02.0: [8086:3409] type 01 class 0x060400
[    1.178678] pci 0000:00:02.0: PME# supported from D0 D3hot D3cold
[    1.178716] pci 0000:00:03.0: [8086:340a] type 01 class 0x060400
[    1.178824] pci 0000:00:03.0: PME# supported from D0 D3hot D3cold
[    1.178865] pci 0000:00:05.0: [8086:340c] type 01 class 0x060400
[    1.178973] pci 0000:00:05.0: PME# supported from D0 D3hot D3cold
[    1.179013] pci 0000:00:07.0: [8086:340e] type 01 class 0x060400
[    1.179121] pci 0000:00:07.0: PME# supported from D0 D3hot D3cold
[    1.179161] pci 0000:00:09.0: [8086:3410] type 01 class 0x060400
[    1.179269] pci 0000:00:09.0: PME# supported from D0 D3hot D3cold
[    1.179309] pci 0000:00:10.0: [8086:3425] type 00 class 0x080000
[    1.179434] pci 0000:00:10.1: [8086:3426] type 00 class 0x080000
[    1.179543] pci 0000:00:11.0: [8086:3427] type 00 class 0x080000
[    1.179668] pci 0000:00:11.1: [8086:3428] type 00 class 0x080000
[    1.179795] pci 0000:00:14.0: [8086:342e] type 00 class 0x080000
[    1.179919] pci 0000:00:14.1: [8086:3422] type 00 class 0x080000
[    1.180053] pci 0000:00:14.2: [8086:3423] type 00 class 0x080000
[    1.180172] pci 0000:00:14.3: [8086:3438] type 00 class 0x080000
[    1.180273] pci 0000:00:15.0: [8086:342f] type 00 class 0x080020
[    1.180387] pci 0000:00:16.0: [8086:3430] type 00 class 0x088000
[    1.180408] pci 0000:00:16.0: reg 10: [mem 0x97a00000-0x97a03fff 64bit]
[    1.180540] pci 0000:00:16.1: [8086:3431] type 00 class 0x088000
[    1.180561] pci 0000:00:16.1: reg 10: [mem 0x97a04000-0x97a07fff 64bit]
[    1.180693] pci 0000:00:16.2: [8086:3432] type 00 class 0x088000
[    1.180713] pci 0000:00:16.2: reg 10: [mem 0x97a08000-0x97a0bfff 64bit]
[    1.180845] pci 0000:00:16.3: [8086:3433] type 00 class 0x088000
[    1.180866] pci 0000:00:16.3: reg 10: [mem 0x97a0c000-0x97a0ffff 64bit]
[    1.180997] pci 0000:00:16.4: [8086:3429] type 00 class 0x088000
[    1.181018] pci 0000:00:16.4: reg 10: [mem 0x97a10000-0x97a13fff 64bit]
[    1.181150] pci 0000:00:16.5: [8086:342a] type 00 class 0x088000
[    1.181170] pci 0000:00:16.5: reg 10: [mem 0x97a14000-0x97a17fff 64bit]
[    1.181302] pci 0000:00:16.6: [8086:342b] type 00 class 0x088000
[    1.181323] pci 0000:00:16.6: reg 10: [mem 0x97a18000-0x97a1bfff 64bit]
[    1.181455] pci 0000:00:16.7: [8086:342c] type 00 class 0x088000
[    1.181475] pci 0000:00:16.7: reg 10: [mem 0x97a1c000-0x97a1ffff 64bit]
[    1.181610] pci 0000:00:1a.0: [8086:3a37] type 00 class 0x0c0300
[    1.181681] pci 0000:00:1a.0: reg 20: [io  0x20a0-0x20bf]
[    1.181766] pci 0000:00:1a.1: [8086:3a38] type 00 class 0x0c0300
[    1.181837] pci 0000:00:1a.1: reg 20: [io  0x2080-0x209f]
[    1.181937] pci 0000:00:1a.7: [8086:3a3c] type 00 class 0x0c0320
[    1.181970] pci 0000:00:1a.7: reg 10: [mem 0x97a21000-0x97a213ff]
[    1.182116] pci 0000:00:1a.7: PME# supported from D0 D3hot D3cold
[    1.182153] pci 0000:00:1c.0: [8086:3a40] type 01 class 0x060400
[    1.182274] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    1.182316] pci 0000:00:1c.4: [8086:3a48] type 01 class 0x060400
[    1.182435] pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold
[    1.182478] pci 0000:00:1d.0: [8086:3a34] type 00 class 0x0c0300
[    1.182549] pci 0000:00:1d.0: reg 20: [io  0x2060-0x207f]
[    1.182634] pci 0000:00:1d.1: [8086:3a35] type 00 class 0x0c0300
[    1.182705] pci 0000:00:1d.1: reg 20: [io  0x2040-0x205f]
[    1.182790] pci 0000:00:1d.2: [8086:3a36] type 00 class 0x0c0300
[    1.182860] pci 0000:00:1d.2: reg 20: [io  0x2020-0x203f]
[    1.182960] pci 0000:00:1d.7: [8086:3a3a] type 00 class 0x0c0320
[    1.182993] pci 0000:00:1d.7: reg 10: [mem 0x97a20000-0x97a203ff]
[    1.183138] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[    1.183173] pci 0000:00:1e.0: [8086:244e] type 01 class 0x060401
[    1.183279] pci 0000:00:1f.0: [8086:3a18] type 00 class 0x060100
[    1.183458] pci 0000:00:1f.2: [8086:3a20] type 00 class 0x01018f
[    1.183484] pci 0000:00:1f.2: reg 10: [io  0x2118-0x211f]
[    1.183497] pci 0000:00:1f.2: reg 14: [io  0x212c-0x212f]
[    1.183510] pci 0000:00:1f.2: reg 18: [io  0x2110-0x2117]
[    1.183522] pci 0000:00:1f.2: reg 1c: [io  0x2128-0x212b]
[    1.183535] pci 0000:00:1f.2: reg 20: [io  0x20f0-0x20ff]
[    1.183548] pci 0000:00:1f.2: reg 24: [io  0x20e0-0x20ef]
[    1.183629] pci 0000:00:1f.3: [8086:3a30] type 00 class 0x0c0500
[    1.183653] pci 0000:00:1f.3: reg 10: [mem 0x97a22000-0x97a220ff 64bit]
[    1.183689] pci 0000:00:1f.3: reg 20: [io  0x2000-0x201f]
[    1.183746] pci 0000:00:1f.5: [8086:3a26] type 00 class 0x010185
[    1.183772] pci 0000:00:1f.5: reg 10: [io  0x2108-0x210f]
[    1.183784] pci 0000:00:1f.5: reg 14: [io  0x2124-0x2127]
[    1.183797] pci 0000:00:1f.5: reg 18: [io  0x2100-0x2107]
[    1.183816] pci 0000:00:1f.5: reg 1c: [io  0x2120-0x2123]
[    1.183829] pci 0000:00:1f.5: reg 20: [io  0x20d0-0x20df]
[    1.183841] pci 0000:00:1f.5: reg 24: [io  0x20c0-0x20cf]
[    1.183985] pci_bus 0000:0b: busn_res: [bus 0b-0f] is inserted under
[bus 00-ff]
[    1.184016] pci 0000:0b:00.0: [14e4:1639] type 00 class 0x020000
[    1.184040] pci 0000:0b:00.0: reg 10: [mem 0x92000000-0x93ffffff 64bit]
[    1.184181] pci 0000:0b:00.0: PME# supported from D0 D3hot D3cold
[    1.184224] pci 0000:0b:00.1: [14e4:1639] type 00 class 0x020000
[    1.184248] pci 0000:0b:00.1: reg 10: [mem 0x94000000-0x95ffffff 64bit]
[    1.184390] pci 0000:0b:00.1: PME# supported from D0 D3hot D3cold
[    1.191939] pci 0000:00:01.0: PCI bridge to [bus 0b-0f]
[    1.192017] pci 0000:00:01.0:   bridge window [mem 0x92000000-0x95ffffff]
[    1.192089] pci_bus 0000:10: busn_res: [bus 10-14] is inserted under
[bus 00-ff]
[    1.192093] pci 0000:00:02.0: PCI bridge to [bus 10-14]
[    1.192240] pci_bus 0000:15: busn_res: [bus 15-19] is inserted under
[bus 00-ff]
[    1.192244] pci 0000:00:03.0: PCI bridge to [bus 15-19]
[    1.192389] pci_bus 0000:1a: busn_res: [bus 1a-1e] is inserted under
[bus 00-ff]
[    1.192392] pci 0000:00:05.0: PCI bridge to [bus 1a-1e]
[    1.192539] pci_bus 0000:1f: busn_res: [bus 1f-23] is inserted under
[bus 00-ff]
[    1.192542] pci 0000:00:07.0: PCI bridge to [bus 1f-23]
[    1.192688] pci_bus 0000:24: busn_res: [bus 24-28] is inserted under
[bus 00-ff]
[    1.192691] pci 0000:00:09.0: PCI bridge to [bus 24-28]
[    1.192838] pci_bus 0000:01: busn_res: [bus 01-05] is inserted under
[bus 00-ff]
[    1.192863] pci 0000:01:00.0: [1000:0073] type 00 class 0x010400
[    1.192884] pci 0000:01:00.0: reg 10: [io  0x1000-0x10ff]
[    1.192908] pci 0000:01:00.0: reg 14: [mem 0x97940000-0x97943fff 64bit]
[    1.192932] pci 0000:01:00.0: reg 1c: [mem 0x97900000-0x9793ffff 64bit]
[    1.192962] pci 0000:01:00.0: reg 30: [mem 0xfffe0000-0xffffffff pref]
[    1.193060] pci 0000:01:00.0: supports D1 D2
[    1.200042] pci 0000:00:1c.0: PCI bridge to [bus 01-05]
[    1.200117] pci 0000:00:1c.0:   bridge window [io  0x1000-0x1fff]
[    1.200123] pci 0000:00:1c.0:   bridge window [mem 0x97900000-0x979fffff]
[    1.200196] pci_bus 0000:06: busn_res: [bus 06-0a] is inserted under
[bus 00-ff]
[    1.200228] pci 0000:06:00.0: [101b:0452] type 01 class 0x060400
[    1.200394] pci 0000:06:00.0: PME# supported from D0 D3hot D3cold
[    1.208144] pci 0000:00:1c.4: PCI bridge to [bus 06-0a]
[    1.208223] pci 0000:00:1c.4:   bridge window [mem 0x97000000-0x978fffff]
[    1.208231] pci 0000:00:1c.4:   bridge window [mem 0x96000000-0x96ffffff
64bit pref]
[    1.208330] pci_bus 0000:07: busn_res: [bus 07] is inserted under [bus
06-0a]
[    1.208353] pci 0000:07:00.0: [102b:0530] type 00 class 0x030000
[    1.208388] pci 0000:07:00.0: reg 10: [mem 0x96000000-0x96ffffff pref]
[    1.208407] pci 0000:07:00.0: reg 14: [mem 0x97800000-0x97803fff]
[    1.208427] pci 0000:07:00.0: reg 18: [mem 0x97000000-0x977fffff]
[    1.208633] pci 0000:06:00.0: PCI bridge to [bus 07]
[    1.208713] pci 0000:06:00.0:   bridge window [mem 0x97000000-0x978fffff]
[    1.208720] pci 0000:06:00.0:   bridge window [mem 0x96000000-0x96ffffff
pref]
[    1.208768] pci_bus 0000:29: busn_res: [bus 29-2d] is inserted under
[bus 00-ff]
[    1.208829] pci 0000:00:1e.0: PCI bridge to [bus 29-2d] (subtractive
decode)
[    1.208917] pci 0000:00:1e.0:   bridge window [io  0x0000-0xffff]
(subtractive decode)
[    1.208919] pci 0000:00:1e.0:   bridge window [mem
0x00000000-0xffffffffff] (subtractive decode)
[    1.208978] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 2d
[    1.210287] vgaarb: device added:
PCI:0000:07:00.0,decodes=io+mem,owns=io+mem,locks=none
[    1.210898] PCI: pci_cache_line_size set to 64 bytes
[    1.211078] e820: reserve RAM buffer [mem 0x0006c000-0x0006ffff]
[    1.211080] e820: reserve RAM buffer [mem 0x0009f000-0x0009ffff]
[    1.211081] e820: reserve RAM buffer [mem 0x7acb7000-0x7bffffff]
[    1.211082] e820: reserve RAM buffer [mem 0x7d4f0000-0x7fffffff]
[    1.211086] e820: reserve RAM buffer [mem 0x7d53f000-0x7fffffff]
[    1.211088] e820: reserve RAM buffer [mem 0x7d704000-0x7fffffff]
[    1.211091] e820: reserve RAM buffer [mem 0x7f5ef000-0x7fffffff]
[    1.211093] e820: reserve RAM buffer [mem 0x7f800000-0x7fffffff]
[    1.211210] Switching to clocksource xen
[    1.212720] pnp: PnP ACPI: disabled
[    1.214391] pci 0000:01:00.0: no compatible bridge window for [mem
0xfffe0000-0xffffffff pref]
[    1.214569] pci 0000:00:1c.0: bridge window [mem 0x00100000-0x001fffff
pref] to [bus 01-05] add_size 200000
[    1.214613] pci 0000:00:1c.0: res[15]=[mem 0x00100000-0x001fffff pref]
get_res_add_size add_size 200000
[    1.214617] pci 0000:00:1c.0: BAR 15: assigned [mem
0x90000000-0x902fffff pref]
[    1.214708] pci 0000:00:01.0: PCI bridge to [bus 0b-0f]
[    1.214783] pci 0000:00:01.0:   bridge window [mem 0x92000000-0x95ffffff]
[    1.214865] pci 0000:00:02.0: PCI bridge to [bus 10-14]
[    1.214948] pci 0000:00:03.0: PCI bridge to [bus 15-19]
[    1.215032] pci 0000:00:05.0: PCI bridge to [bus 1a-1e]
[    1.215114] pci 0000:00:07.0: PCI bridge to [bus 1f-23]
[    1.215198] pci 0000:00:09.0: PCI bridge to [bus 24-28]
[    1.215282] pci 0000:01:00.0: BAR 6: assigned [mem 0x90000000-0x9001ffff
pref]
[    1.215383] pci 0000:00:1c.0: PCI bridge to [bus 01-05]
[    1.215456] pci 0000:00:1c.0:   bridge window [io  0x1000-0x1fff]
[    1.215532] pci 0000:00:1c.0:   bridge window [mem 0x97900000-0x979fffff]
[    1.215609] pci 0000:00:1c.0:   bridge window [mem 0x90000000-0x902fffff
pref]
[    1.215705] pci 0000:06:00.0: PCI bridge to [bus 07]
[    1.215782] pci 0000:06:00.0:   bridge window [mem 0x97000000-0x978fffff]
[    1.215860] pci 0000:06:00.0:   bridge window [mem 0x96000000-0x96ffffff
pref]
[    1.223235] pci 0000:00:1c.4: PCI bridge to [bus 06-0a]
[    1.223310] pci 0000:00:1c.4:   bridge window [mem 0x97000000-0x978fffff]
[    1.223391] pci 0000:00:1c.4:   bridge window [mem 0x96000000-0x96ffffff
64bit pref]
[    1.223489] pci 0000:00:1e.0: PCI bridge to [bus 29-2d]
[    1.223580] pci 0000:00:01.0: can't find IRQ for PCI INT A; please try
using pci=biosirq
[    1.223680] pci 0000:00:02.0: can't find IRQ for PCI INT A; please try
using pci=biosirq
[    1.223780] pci 0000:00:03.0: can't find IRQ for PCI INT A; please try
using pci=biosirq
[    1.223880] pci 0000:00:05.0: can't find IRQ for PCI INT A; please try
using pci=biosirq
[    1.223981] pci 0000:00:07.0: can't find IRQ for PCI INT A; please try
using pci=biosirq
[    1.224081] pci 0000:00:09.0: can't find IRQ for PCI INT A; please try
using pci=biosirq
[    1.224183] pci 0000:00:1c.0: can't find IRQ for PCI INT A; please try
using pci=biosirq
[    1.224283] pci 0000:00:1c.4: can't find IRQ for PCI INT A; please try
using pci=biosirq
[    1.224385] pci 0000:06:00.0: can't find IRQ for PCI INT A; please try
using pci=biosirq
[    1.224487] pci 0000:00:1e.0: setting latency timer to 64
[    1.224492] pci_bus 0000:00: resource 4 [io  0x0000-0xffff]
[    1.224494] pci_bus 0000:00: resource 5 [mem 0x00000000-0xffffffffff]
[    1.224496] pci_bus 0000:0b: resource 1 [mem 0x92000000-0x95ffffff]
[    1.224498] pci_bus 0000:01: resource 0 [io  0x1000-0x1fff]
[    1.224500] pci_bus 0000:01: resource 1 [mem 0x97900000-0x979fffff]
[    1.224502] pci_bus 0000:01: resource 2 [mem 0x90000000-0x902fffff pref]
[    1.224504] pci_bus 0000:06: resource 1 [mem 0x97000000-0x978fffff]
[    1.224507] pci_bus 0000:06: resource 2 [mem 0x96000000-0x96ffffff 64bit
pref]
[    1.224510] pci_bus 0000:07: resource 1 [mem 0x97000000-0x978fffff]
[    1.224512] pci_bus 0000:07: resource 2 [mem 0x96000000-0x96ffffff pref]
[    1.224514] pci_bus 0000:29: resource 4 [io  0x0000-0xffff]
[    1.224516] pci_bus 0000:29: resource 5 [mem 0x00000000-0xffffffffff]
[    1.224538] NET: Registered protocol family 2
[    1.225637] TCP established hash table entries: 524288 (order: 11,
8388608 bytes)
[    1.228185] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    1.228521] TCP: Hash tables configured (established 524288 bind 65536)
[    1.228613] TCP: reno registered
[    1.228689] UDP hash table entries: 2048 (order: 4, 65536 bytes)
[    1.228785] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
[    1.228922] NET: Registered protocol family 1
[    1.229073] pci 0000:00:1a.0: can't find IRQ for PCI INT A; please try
using pci=biosirq
[    1.229201] pci 0000:00:1a.1: can't find IRQ for PCI INT B; please try
using pci=biosirq
[    1.229325] pci 0000:00:1a.7: can't find IRQ for PCI INT C; please try
using pci=biosirq
[    1.229466] pci 0000:00:1d.0: can't find IRQ for PCI INT A; please try
using pci=biosirq
[    1.229588] pci 0000:00:1d.1: can't find IRQ for PCI INT B; please try
using pci=biosirq
[    1.229708] pci 0000:00:1d.2: can't find IRQ for PCI INT C; please try
using pci=biosirq
[    1.229836] pci 0000:00:1d.7: can't find IRQ for PCI INT A; please try
using pci=biosirq
[    1.229986] pci 0000:07:00.0: Boot video device
[    1.229991] PCI: CLS 64 bytes, default 64
[    1.230040] Unpacking initramfs...
[    1.236939] Freeing initrd memory: 7188k freed
[    1.238401] platform rtc_cmos: registered platform RTC device (no PNP
device found)
[    1.238695] audit: initializing netlink socket (disabled)
[    1.238779] type=2000 audit(1349925915.231:1): initialized
[    1.253042] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.253247] VFS: Disk quotas dquot_6.5.2
[    1.253330] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.253465] msgmni has been set to 7465
[    1.253646] alg: No test for stdrng (krng)
[    1.253730] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 252)
[    1.253820] io scheduler noop registered
[    1.253888] io scheduler deadline registered
[    1.253960] io scheduler cfq registered (default)
[    1.254124] pcieport 0000:00:01.0: device [8086:3408] has invalid IRQ;
check vendor BIOS
[    1.254277] pcieport 0000:00:02.0: device [8086:3409] has invalid IRQ;
check vendor BIOS
[    1.254425] pcieport 0000:00:03.0: device [8086:340a] has invalid IRQ;
check vendor BIOS
[    1.254573] pcieport 0000:00:05.0: device [8086:340c] has invalid IRQ;
check vendor BIOS
[    1.254723] pcieport 0000:00:07.0: device [8086:340e] has invalid IRQ;
check vendor BIOS
[    1.254870] pcieport 0000:00:09.0: device [8086:3410] has invalid IRQ;
check vendor BIOS
[    1.255019] pcieport 0000:00:1c.0: device [8086:3a40] has invalid IRQ;
check vendor BIOS
[    1.255170] pcieport 0000:00:1c.4: device [8086:3a48] has invalid IRQ;
check vendor BIOS
[    1.255389] ioapic: probe of 0000:00:15.0 failed with error -22
[    1.255467] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    1.255554] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[    1.255627] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    1.255752] intel_idle: does not run on family 6 model 44
[    1.255833] Event-channel device installed.
[    1.255989] xen-pciback: backend is vpci
[    1.256298] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.277599] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    1.298917] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[    1.299221] Linux agpgart interface v0.103
[    1.299387] i8042: PNP: No PS/2 controller found. Probing ports directly.
[    1.551430] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.551580] mousedev: PS/2 mouse device common for all mice
[    1.551800] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
[    1.551897] rtc0: alarms up to one day, 114 bytes nvram
[    1.551972] EFI Variables Facility v0.08 2004-May-17
[    1.552053] drop_monitor: Initializing network drop monitor service
[    1.552197] TCP: cubic registered
[    1.552276] NET: Registered protocol family 10
[    1.552496] mip6: Mobile IPv6
[    1.552564] NET: Registered protocol family 17
[    1.552641] Key type dns_resolver registered
[    1.552859] PM: Hibernation image not present or could not be loaded.
[    1.552868] registered taskstats version 1
[    1.553635] rtc_cmos rtc_cmos: setting system clock to 2012-10-11
03:25:15 UTC (1349925915)
[    1.553954] Freeing unused kernel memory: 592k freed
[    1.554130] Write protecting the kernel read-only data: 6144k
[    1.555798] Freeing unused kernel memory: 512k freed
[    1.556107] Freeing unused kernel memory: 620k freed
[    1.583588] udevd[50]: starting version 175
[    1.657119] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    1.663281] SCSI subsystem initialized
[    1.681024] megasas: 00.00.06.15-rc1 Mon. Mar. 19 17:00:00 PDT 2012
[    1.681111] megasas: 0x1000:0x0073:0x1014:0x03b1: bus 1:slot 0:func 0
[    1.681241] megaraid_sas 0000:01:00.0: can't find IRQ for PCI INT A;
please try using pci=biosirq
[    1.687892] megasas: FW now in Ready state
[    1.735350] megasas_init_mfi: fw_support_ieee=67108864
[    1.735407] megasas: INIT adapter done
[    1.807365] scsi0 : LSI SAS based MegaRAID driver
[    1.808799] scsi 0:0:8:0: Direct-Access     IBM-ESXS ST9146803SS
 B53C PQ: 0 ANSI: 5
[    1.811249] scsi 0:0:9:0: Direct-Access     ATA      ST9500620NS
 BE24 PQ: 0 ANSI: 5
[    1.812739] scsi 0:0:10:0: Direct-Access     ATA      ST9500620NS
 BE24 PQ: 0 ANSI: 5
[    1.824208] scsi 0:2:0:0: Direct-Access     IBM      ServeRAID M1015
 2.12 PQ: 0 ANSI: 5
[    1.839755] sd 0:2:0:0: [sdb] 1949216768 512-byte logical blocks: (997
GB/929 GiB)
[    1.840060] sd 0:2:0:0: [sdb] Write Protect is off
[    1.840141] sd 0:2:0:0: [sdb] Mode Sense: 1f 00 10 08
[    1.840153] sd 0:0:8:0: [sda] 286748000 512-byte logical blocks: (146
GB/136 GiB)
[    1.840302] sd 0:2:0:0: [sdb] Write cache: disabled, read cache:
disabled, supports DPO and FUA
[    1.842564] sd 0:0:8:0: [sda] Write Protect is off
[    1.842637] sd 0:0:8:0: [sda] Mode Sense: c3 00 10 08
[    1.843418]  sdb: sdb1
[    1.843898] sd 0:0:8:0: [sda] Write cache: disabled, read cache:
enabled, supports DPO and FUA
[    1.844117] sd 0:2:0:0: [sdb] Attached SCSI disk
[    1.866028]  sda: sda1 sda2 sda3 sda4
[    1.870498] sd 0:0:8:0: [sda] Attached SCSI disk
[    2.053157] device-mapper: uevent: version 1.0.3
[    2.053610] device-mapper: ioctl: 4.23.0-ioctl (2012-07-25) initialised:
dm-devel@redhat.com
[    2.214131] EXT4-fs (dm-0): mounted filesystem with ordered data mode.
Opts: (null)
[    3.162111] udevd[298]: starting version 175
[    3.419449] bnx2: Broadcom NetXtreme II Gigabit Ethernet Driver bnx2
v2.2.3 (June 27, 2012)
[    3.419565] bnx2 0000:0b:00.0: can't find IRQ for PCI INT A; please try
using pci=biosirq
[    3.420241] bnx2 0000:0b:00.0: eth0: Broadcom NetXtreme II BCM5709
1000Base-T (C0) PCI Express found at mem 92000000, IRQ 0, node addr
34:40:b5:ab:e5:b4
[    3.421062] bnx2 0000:0b:00.1: can't find IRQ for PCI INT B; please try
using pci=biosirq
[    3.421705] bnx2 0000:0b:00.1: eth1: Broadcom NetXtreme II BCM5709
1000Base-T (C0) PCI Express found at mem 94000000, IRQ 0, node addr
34:40:b5:ab:e5:b6
[    3.428805] dca service started, version 1.12.1
[    3.467169] EDAC MC: Ver: 3.0.0
[    3.473824] ioatdma: Intel(R) QuickData Technology Driver 4.00
[    3.473918] ioatdma 0000:00:16.0: enabling device (0000 -> 0002)
[    3.473996] ioatdma 0000:00:16.0: can't find IRQ for PCI INT A; please
try using pci=biosirq
[    3.474116] ioatdma 0000:00:16.0: channel error register unreachable
[    3.474191] ioatdma 0000:00:16.0: channel enumeration error
[    3.505302] microcode: CPU0 sig=0x206c2, pf=0x1, revision=0x15
[    3.505995] ioatdma 0000:00:16.0: Intel(R) I/OAT DMA Engine init failed
[    3.506096] ioatdma 0000:00:16.1: enabling device (0000 -> 0002)
[    3.506173] ioatdma 0000:00:16.1: can't find IRQ for PCI INT B; please
try using pci=biosirq
[    3.506296] ioatdma 0000:00:16.1: channel error register unreachable
[    3.506369] ioatdma 0000:00:16.1: channel enumeration error
[    3.506441] ioatdma 0000:00:16.1: Intel(R) I/OAT DMA Engine init failed
[    3.506532] ioatdma 0000:00:16.2: enabling device (0000 -> 0002)
[    3.506608] ioatdma 0000:00:16.2: can't find IRQ for PCI INT C; please
try using pci=biosirq
[    3.506722] ioatdma 0000:00:16.2: channel error register unreachable
[    3.506795] ioatdma 0000:00:16.2: channel enumeration error
[    3.506867] ioatdma 0000:00:16.2: Intel(R) I/OAT DMA Engine init failed
[    3.506957] ioatdma 0000:00:16.3: enabling device (0000 -> 0002)
[    3.507034] ioatdma 0000:00:16.3: can't find IRQ for PCI INT D; please
try using pci=biosirq
[    3.507147] ioatdma 0000:00:16.3: channel error register unreachable
[    3.507222] ioatdma 0000:00:16.3: channel enumeration error
[    3.507294] ioatdma 0000:00:16.3: Intel(R) I/OAT DMA Engine init failed
[    3.507398] ioatdma 0000:00:16.4: enabling device (0000 -> 0002)
[    3.507476] ioatdma 0000:00:16.4: can't find IRQ for PCI INT A; please
try using pci=biosirq
[    3.507590] ioatdma 0000:00:16.4: channel error register unreachable
[    3.507663] ioatdma 0000:00:16.4: channel enumeration error
[    3.507735] ioatdma 0000:00:16.4: Intel(R) I/OAT DMA Engine init failed
[    3.507826] ioatdma 0000:00:16.5: enabling device (0000 -> 0002)
[    3.507903] ioatdma 0000:00:16.5: can't find IRQ for PCI INT B; please
try using pci=biosirq
[    3.508016] ioatdma 0000:00:16.5: channel error register unreachable
[    3.508090] ioatdma 0000:00:16.5: channel enumeration error
[    3.508162] ioatdma 0000:00:16.5: Intel(R) I/OAT DMA Engine init failed
[    3.508255] ioatdma 0000:00:16.6: enabling device (0000 -> 0002)
[    3.508337] ioatdma 0000:00:16.6: can't find IRQ for PCI INT C; please
try using pci=biosirq
[    3.508454] ioatdma 0000:00:16.6: channel error register unreachable
[    3.508529] ioatdma 0000:00:16.6: channel enumeration error
[    3.508601] ioatdma 0000:00:16.6: Intel(R) I/OAT DMA Engine init failed
[    3.508692] ioatdma 0000:00:16.7: enabling device (0000 -> 0002)
[    3.508769] ioatdma 0000:00:16.7: can't find IRQ for PCI INT D; please
try using pci=biosirq
[    3.508885] ioatdma 0000:00:16.7: channel error register unreachable
[    3.508958] ioatdma 0000:00:16.7: channel enumeration error
[    3.509030] ioatdma 0000:00:16.7: Intel(R) I/OAT DMA Engine init failed
[    3.571248] usbcore: registered new interface driver usbfs
[    3.571330] usbcore: registered new interface driver hub
[    3.585483] ACPI Exception: AE_BAD_PARAMETER, Thread 1786484928 could
not acquire Mutex [0x1] (20120711/utmutex-276)
[    3.585675] ACPI Exception: AE_BAD_PARAMETER, Thread 1786484928 could
not acquire Mutex [0x1] (20120711/utmutex-276)
[    3.590919] usbcore: registered new device driver usb
[    3.603433] input: PC Speaker as /devices/platform/pcspkr/input/input0
[    3.604762] libata version 3.00 loaded.
[    3.607430] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.607535] ehci_hcd 0000:00:1a.7: can't find IRQ for PCI INT C; please
try using pci=biosirq
[    3.607629] ehci_hcd 0000:00:1a.7: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1a.7 setup!
[    3.607723] ehci_hcd 0000:00:1a.7: init 0000:00:1a.7 fail, -19
[    3.607808] ehci_hcd 0000:00:1d.7: can't find IRQ for PCI INT A; please
try using pci=biosirq
[    3.607900] ehci_hcd 0000:00:1d.7: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1d.7 setup!
[    3.607994] ehci_hcd 0000:00:1d.7: init 0000:00:1d.7 fail, -19
[    3.623701] i801_smbus 0000:00:1f.3: enabling device (0140 -> 0143)
[    3.623781] i801_smbus 0000:00:1f.3: can't find IRQ for PCI INT B;
please try using pci=biosirq
[    3.623874] ACPI Exception: AE_BAD_PARAMETER, Thread 1775910976 could
not acquire Mutex [0x1] (20120711/utmutex-276)
[    3.624093] i801_smbus 0000:00:1f.3: SMBus using PCI Interrupt
[    3.676083] ata_piix 0000:00:1f.2: version 2.13
[    3.676095] ata_piix 0000:00:1f.2: can't find IRQ for PCI INT A; please
try using pci=biosirq
[    3.676193] ata_piix 0000:00:1f.2: MAP [
[    3.676260]  P0 P2 P1 P3 ]
[    3.676539] ata_piix 0000:00:1f.2: setting latency timer to 64
[    3.677344] scsi1 : ata_piix
[    3.677732] scsi2 : ata_piix
[    3.677862] ata1: SATA max UDMA/133 cmd 0x2118 ctl 0x212c bmdma 0x20f0
[    3.677954] ata2: SATA max UDMA/133 cmd 0x2110 ctl 0x2128 bmdma 0x20f8
[    3.678154] gpio_ich: GPIO from 195 to 255 on gpio_ich
[    3.678606] ata_piix 0000:00:1f.5: can't find IRQ for PCI INT C; please
try using pci=biosirq
[    3.678703] ata_piix 0000:00:1f.5: MAP [
[    3.678771]  P0 -- P1 -- ]
[    3.679046] ata_piix 0000:00:1f.5: setting latency timer to 64
[    3.679562] scsi3 : ata_piix
[    3.680057] uhci_hcd: USB Universal Host Controller Interface driver
[    3.682601] scsi4 : ata_piix
[    3.682814] ata3: SATA max UDMA/133 cmd 0x2108 ctl 0x2124 bmdma 0x20d0
[    3.682893] ata4: SATA max UDMA/133 cmd 0x2100 ctl 0x2120 bmdma 0x20d8
[    3.683028] uhci_hcd 0000:00:1a.0: can't find IRQ for PCI INT A; please
try using pci=biosirq
[    3.683123] uhci_hcd 0000:00:1a.0: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1a.0 setup!
[    3.683217] uhci_hcd 0000:00:1a.0: init 0000:00:1a.0 fail, -19
[    3.683300] uhci_hcd 0000:00:1a.1: can't find IRQ for PCI INT B; please
try using pci=biosirq
[    3.683408] uhci_hcd 0000:00:1a.1: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1a.1 setup!
[    3.683504] uhci_hcd 0000:00:1a.1: init 0000:00:1a.1 fail, -19
[    3.683588] uhci_hcd 0000:00:1d.0: can't find IRQ for PCI INT A; please
try using pci=biosirq
[    3.683682] uhci_hcd 0000:00:1d.0: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1d.0 setup!
[    3.683802] uhci_hcd 0000:00:1d.0: init 0000:00:1d.0 fail, -19
[    3.683933] uhci_hcd 0000:00:1d.1: can't find IRQ for PCI INT B; please
try using pci=biosirq
[    3.684026] uhci_hcd 0000:00:1d.1: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1d.1 setup!
[    3.684121] uhci_hcd 0000:00:1d.1: init 0000:00:1d.1 fail, -19
[    3.684201] uhci_hcd 0000:00:1d.2: can't find IRQ for PCI INT C; please
try using pci=biosirq
[    3.684293] uhci_hcd 0000:00:1d.2: Found HC with no IRQ.  Check BIOS/PCI
0000:00:1d.2 setup!
[    3.684387] uhci_hcd 0000:00:1d.2: init 0000:00:1d.2 fail, -19
[    3.751594] microcode: Microcode Update Driver: v2.00 <
tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    3.771183] iTCO_vendor_support: vendor-support=0
[    4.010635] ata3: SATA link down (SStatus 0 SControl 300)
[    4.022013] ata4: SATA link down (SStatus 0 SControl 300)
[    4.342660] ata2.00: SATA link down (SStatus 0 SControl 300)
[    4.342751] ata2.01: SATA link down (SStatus 0 SControl 300)
[    4.487426] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    4.487519] ata1.01: SATA link down (SStatus 0 SControl 300)
[    4.487603] ata1.01: link offline, clearing class 3 to NONE
[    4.495491] ata1.00: ATAPI: IBM SATA DEVICE 81Y3657, IB01, max UDMA/33
[    4.511489] ata1.00: configured for UDMA/33
[    9.511364] ata1.00: qc timeout (cmd 0xa0)
[    9.511434] ata1.00: TEST_UNIT_READY failed (err_mask=0x5)
[   10.307422] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[   10.307515] ata1.01: SATA link down (SStatus 0 SControl 300)
[   10.307600] ata1.01: link offline, clearing class 3 to NONE
[   10.331487] ata1.00: configured for UDMA/33
[   15.331361] ata1.00: qc timeout (cmd 0xa0)
[   15.331431] ata1.00: TEST_UNIT_READY failed (err_mask=0x5)
[   15.331504] ata1.00: limiting SATA link speed to 1.5 Gbps
[   15.331574] ata1.00: limiting speed to UDMA/33:PIO3
[   16.127423] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   16.127515] ata1.01: SATA link down (SStatus 0 SControl 300)
[   16.127601] ata1.01: link offline, clearing class 3 to NONE
[   16.151487] ata1.00: configured for UDMA/33
[   21.151378] ata1.00: qc timeout (cmd 0xa0)
[   21.151448] ata1.00: TEST_UNIT_READY failed (err_mask=0x5)
[   21.151518] ata1.00: disabled
[   21.151603] ata1.00: hard resetting link
[   21.471351] ata1.01: hard resetting link
[   21.947430] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   21.947523] ata1.01: SATA link down (SStatus 0 SControl 300)
[   21.947608] ata1.01: link offline, clearing class 3 to NONE
[   21.947611] ata1: EH complete
[   21.963868] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.10
[   21.963965] iTCO_wdt: Found a ICH10 TCO device (Version=2,
TCOBASE=0x05e0)
[   21.964124] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[   21.997872] Error: Driver 'pcspkr' is already registered, aborting...
[   22.010315] alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
[   22.995255] EXT4-fs (dm-0): re-mounted. Opts: (null)
[   23.177611] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
[   23.281974] loop: module loaded
[   23.346661] lp: driver loaded but no devices found
[   24.043404] Adding 4194300k swap on /dev/mapper/xen-fw_swap.
 Priority:-1 extents:1 across:4194300k
[   24.347072] EXT4-fs (sda3): mounted filesystem with ordered data mode.
Opts: (null)
[   24.386139] FAT-fs (sda2): utf8 is not a recommended IO charset for FAT
filesystems, filesystem will be case sensitive!
[   25.140294] bnx2 0000:0b:00.0: eth0: using MSIX
[   25.140439] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   25.181911] Bridge firewalling registered
[   25.186131] device eth1 entered promiscuous mode
[   25.288312] bnx2 0000:0b:00.1: eth1: using MSIX
[   25.288410] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   25.290413] IPv6: ADDRCONF(NETDEV_UP): xenbr0: link is not ready
[   26.898999] bnx2 0000:0b:00.0: eth0: NIC Copper Link is Up, 100 Mbps
full duplex
[   26.899091]
[   26.899222] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   28.981380] bnx2 0000:0b:00.1: eth1: NIC Copper Link is Up, 1000 Mbps
full duplex
[   28.981477]
[   28.981613] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   28.981698] xenbr0: port 1(eth1) entered forwarding state
[   28.981771] xenbr0: port 1(eth1) entered forwarding state
[   28.981850] IPv6: ADDRCONF(NETDEV_CHANGE): xenbr0: link becomes ready
[   33.512189] RPC: Registered named UNIX socket transport module.
[   33.512281] RPC: Registered udp transport module.
[   33.512351] RPC: Registered tcp transport module.
[   33.512420] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   33.533692] FS-Cache: Loaded
[   33.547314] FS-Cache: Netfs 'nfs' registered for caching
[   33.579870] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[   34.845026] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[   34.854870] ip_tables: (C) 2000-2006 Netfilter Core Team
[   35.475210] ppdev: user-space parallel port driver
[   39.140866] colord-sane[2701]: segfault at 0 ip 00007fc826bc4884 sp
00007fff6a44fea0 error 4 in libc-2.13.so[7fc826b1f000+17d000]
[   44.011341] xenbr0: port 1(eth1) entered forwarding state


Thanks for all,
Allan Scheid

--bcaec5299feb5f768904cbc0bbb9
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hellow all, i need help to fix this bug:
<div><br></div><div>ACPI BIOS Bug: Error: A valid RSDP was not found (20120=
711/tbxfroot-219)</div><div><br></div><div>Because of this first errors i g=
et this after, and it causes don&#39;t work USB ports and some PCI cards on=
 the system:</div>
<div><br></div><div>can&#39;t find IRQ for PCI INT A; please try using pci=
=3Dbiosirq</div><div><br></div><div>Kernel:=A03.6.1-xen self compiled (work=
 perfect without xen multiboot)</div><div>Xen Version: 4.2</div><div>Grub2 =
EFI: 1.99-23</div>
<div>Debian Unstable distro</div><div><br></div><div>dmesg output:</div><di=
v><br></div><div><div>[ =A0 =A00.000000] Initializing cgroup subsys cpuset<=
/div><div>[ =A0 =A00.000000] Initializing cgroup subsys cpu</div><div>[ =A0=
 =A00.000000] Linux version 3.6.1-xen (root@lca-fw) (gcc version 4.7.1 (Deb=
ian 4.7.1-7) ) #1 SMP Wed Oct 10 22:46:05 BRT 2012</div>
<div>[ =A0 =A00.000000] Command line: placeholder root=3D/dev/mapper/xen-fw=
_root ro</div><div>[ =A0 =A00.000000] Freeing 6c-6d pfn range: 1 pages free=
d</div><div>[ =A0 =A00.000000] 1-1 mapping on 6c-&gt;6d</div><div>[ =A0 =A0=
0.000000] Freeing 9f-100 pfn range: 97 pages freed</div>
<div>[ =A0 =A00.000000] 1-1 mapping on 9f-&gt;100</div><div>[ =A0 =A00.0000=
00] Freeing 7acb7-7ccb8 pfn range: 8193 pages freed</div><div>[ =A0 =A00.00=
0000] 1-1 mapping on 7acb7-&gt;7ccb8</div><div>[ =A0 =A00.000000] Freeing 7=
d4f0-7d51b pfn range: 43 pages freed</div>
<div>[ =A0 =A00.000000] 1-1 mapping on 7d4f0-&gt;7d51b</div><div>[ =A0 =A00=
.000000] Freeing 7d53f-7d56a pfn range: 43 pages freed</div><div>[ =A0 =A00=
.000000] 1-1 mapping on 7d53f-&gt;7d56a</div><div>[ =A0 =A00.000000] Freein=
g 7d704-7d7b4 pfn range: 176 pages freed</div>
<div>[ =A0 =A00.000000] 1-1 mapping on 7d704-&gt;7d7b4</div><div>[ =A0 =A00=
.000000] Freeing 7f5ef-7f7ff pfn range: 528 pages freed</div><div>[ =A0 =A0=
0.000000] 1-1 mapping on 7f5ef-&gt;7f7ff</div><div>[ =A0 =A00.000000] Freei=
ng 7f800-f258d pfn range: 470413 pages freed</div>
<div>[ =A0 =A00.000000] 1-1 mapping on 7f800-&gt;100000</div><div>[ =A0 =A0=
0.000000] Released 479494 pages of unused memory</div><div>[ =A0 =A00.00000=
0] Set 535417 page(s) to 1-1 mapping</div><div>[ =A0 =A00.000000] Populatin=
g 100000-175106 pfn range: 479494 pages added</div>
<div>[ =A0 =A00.000000] e820: BIOS-provided physical RAM map:</div><div>[ =
=A0 =A00.000000] Xen: [mem 0x0000000000000000-0x000000000006bfff] usable</d=
iv><div>[ =A0 =A00.000000] Xen: [mem 0x000000000006c000-0x000000000006cfff]=
 ACPI NVS</div>
<div>[ =A0 =A00.000000] Xen: [mem 0x000000000006d000-0x000000000009efff] us=
able</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000000009f000-0x0000000000=
09ffff] ACPI NVS</div><div>[ =A0 =A00.000000] Xen: [mem 0x00000000000a0000-=
0x00000000000fffff] reserved</div>
<div>[ =A0 =A00.000000] Xen: [mem 0x0000000000100000-0x000000007acb6fff] us=
able</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007acb7000-0x000000007c=
cb7fff] reserved</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007ccb8000-=
0x000000007d4effff] usable</div>
<div>[ =A0 =A00.000000] Xen: [mem 0x000000007d4f0000-0x000000007d51afff] re=
served</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007d51b000-0x00000000=
7d53efff] usable</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007d53f000-=
0x000000007d569fff] reserved</div>
<div>[ =A0 =A00.000000] Xen: [mem 0x000000007d56a000-0x000000007d703fff] us=
able</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007d704000-0x000000007d=
7b3fff] reserved</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007d7b4000-=
0x000000007f5eefff] usable</div>
<div>[ =A0 =A00.000000] Xen: [mem 0x000000007f5ef000-0x000000007f6defff] re=
served</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007f6df000-0x00000000=
7f7defff] ACPI NVS</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000007f7df00=
0-0x000000007f7fefff] ACPI data</div>
<div>[ =A0 =A00.000000] Xen: [mem 0x000000007f7ff000-0x000000007f7fffff] us=
able</div><div>[ =A0 =A00.000000] Xen: [mem 0x0000000080000000-0x000000008f=
ffffff] reserved</div><div>[ =A0 =A00.000000] Xen: [mem 0x00000000fed1c000-=
0x00000000fed1ffff] reserved</div>
<div>[ =A0 =A00.000000] Xen: [mem 0x00000000fee00000-0x00000000fee00fff] re=
served</div><div>[ =A0 =A00.000000] Xen: [mem 0x00000000ff800000-0x00000000=
ffffffff] reserved</div><div>[ =A0 =A00.000000] Xen: [mem 0x000000010000000=
0-0x000000017fffffff] usable</div>
<div>[ =A0 =A00.000000] NX (Execute Disable) protection: active</div><div>[=
 =A0 =A00.000000] DMI 2.5 present.</div><div>[ =A0 =A00.000000] DMI: IBM Sy=
stem x3650 M3 -[7945AC1]-/00D4062, BIOS -[D6E157AUS-1.15]- 06/13/2012</div>=
<div>[ =A0 =A00.000000] e820: update [mem 0x00000000-0x0000ffff] usable =3D=
=3D&gt; reserved</div>
<div>[ =A0 =A00.000000] e820: remove [mem 0x000a0000-0x000fffff] usable</di=
v><div>[ =A0 =A00.000000] No AGP bridge found</div><div>[ =A0 =A00.000000] =
e820: last_pfn =3D 0x180000 max_arch_pfn =3D 0x400000000</div><div>[ =A0 =
=A00.000000] e820: last_pfn =3D 0x7f800 max_arch_pfn =3D 0x400000000</div>
<div>[ =A0 =A00.000000] initial memory mapped: [mem 0x00000000-0x02334fff]<=
/div><div>[ =A0 =A00.000000] Base memory trampoline at [ffff880000099000] 9=
9000 size 24576</div><div>[ =A0 =A00.000000] init_memory_mapping: [mem 0x00=
000000-0x7f7fffff]</div>
<div>[ =A0 =A00.000000] =A0[mem 0x00000000-0x7f7fffff] page 4k</div><div>[ =
=A0 =A00.000000] kernel direct mapping tables up to 0x7f7fffff @ [mem 0x018=
31000-0x01c2ffff]</div><div>[ =A0 =A00.000000] xen: setting RW the range 1c=
14000 - 1c30000</div>
<div>[ =A0 =A00.000000] init_memory_mapping: [mem 0x100000000-0x17fffffff]<=
/div><div>[ =A0 =A00.000000] =A0[mem 0x100000000-0x17fffffff] page 4k</div>=
<div>[ =A0 =A00.000000] kernel direct mapping tables up to 0x17fffffff @ [m=
em 0x7e9e8000-0x7f5eefff]</div>
<div>[ =A0 =A00.000000] xen: setting RW the range 7edea000 - 7f5ef000</div>=
<div>[ =A0 =A00.000000] RAMDISK: [mem 0x01c30000-0x02334fff]</div><div>[ =
=A0 =A00.000000] ACPI BIOS Bug: Error: A valid RSDP was not found (20120711=
/tbxfroot-219)</div>
<div>[ =A0 =A00.000000] NUMA turned off</div><div>[ =A0 =A00.000000] Faking=
 a node at [mem 0x0000000000000000-0x000000017fffffff]</div><div>[ =A0 =A00=
.000000] Initmem setup node 0 [mem 0x00000000-0x17fffffff]</div><div>[ =A0 =
=A00.000000] =A0 NODE_DATA [mem 0x175102000-0x175105fff]</div>
<div>[ =A0 =A00.000000] Zone ranges:</div><div>[ =A0 =A00.000000] =A0 DMA =
=A0 =A0 =A0[mem 0x00010000-0x00ffffff]</div><div>[ =A0 =A00.000000] =A0 DMA=
32 =A0 =A0[mem 0x01000000-0xffffffff]</div><div>[ =A0 =A00.000000] =A0 Norm=
al =A0 [mem 0x100000000-0x17fffffff]</div>
<div>[ =A0 =A00.000000] Movable zone start for each node</div><div>[ =A0 =
=A00.000000] Early memory node ranges</div><div>[ =A0 =A00.000000] =A0 node=
 =A0 0: [mem 0x00010000-0x0006bfff]</div><div>[ =A0 =A00.000000] =A0 node =
=A0 0: [mem 0x0006d000-0x0009efff]</div>
<div>[ =A0 =A00.000000] =A0 node =A0 0: [mem 0x00100000-0x7acb6fff]</div><d=
iv>[ =A0 =A00.000000] =A0 node =A0 0: [mem 0x7ccb8000-0x7d4effff]</div><div=
>[ =A0 =A00.000000] =A0 node =A0 0: [mem 0x7d51b000-0x7d53efff]</div><div>[=
 =A0 =A00.000000] =A0 node =A0 0: [mem 0x7d56a000-0x7d703fff]</div>
<div>[ =A0 =A00.000000] =A0 node =A0 0: [mem 0x7d7b4000-0x7f5eefff]</div><d=
iv>[ =A0 =A00.000000] =A0 node =A0 0: [mem 0x7f7ff000-0x7f7fffff]</div><div=
>[ =A0 =A00.000000] =A0 node =A0 0: [mem 0x100000000-0x17fffffff]</div><div=
>[ =A0 =A00.000000] On node 0 totalpages: 1037431</div>
<div>[ =A0 =A00.000000] =A0 DMA zone: 56 pages used for memmap</div><div>[ =
=A0 =A00.000000] =A0 DMA zone: 6 pages reserved</div><div>[ =A0 =A00.000000=
] =A0 DMA zone: 3920 pages, LIFO batch:0</div><div>[ =A0 =A00.000000] =A0 D=
MA32 zone: 14280 pages used for memmap</div>
<div>[ =A0 =A00.000000] =A0 DMA32 zone: 494881 pages, LIFO batch:31</div><d=
iv>[ =A0 =A00.000000] =A0 Normal zone: 7168 pages used for memmap</div><div=
>[ =A0 =A00.000000] =A0 Normal zone: 517120 pages, LIFO batch:31</div><div>=
[ =A0 =A00.000000] SFI: Simple Firmware Interface v0.81 <a href=3D"http://s=
implefirmware.org">http://simplefirmware.org</a></div>
<div>[ =A0 =A00.000000] smpboot: Allowing 1 CPUs, 0 hotplug CPUs</div><div>=
[ =A0 =A00.000000] nr_irqs_gsi: 16</div><div>[ =A0 =A00.000000] PM: Registe=
red nosave memory: 000000000006c000 - 000000000006d000</div><div>[ =A0 =A00=
.000000] PM: Registered nosave memory: 000000000009f000 - 00000000000a0000<=
/div>
<div>[ =A0 =A00.000000] PM: Registered nosave memory: 00000000000a0000 - 00=
00000000100000</div><div>[ =A0 =A00.000000] PM: Registered nosave memory: 0=
00000007acb7000 - 000000007ccb8000</div><div>[ =A0 =A00.000000] PM: Registe=
red nosave memory: 000000007d4f0000 - 000000007d51b000</div>
<div>[ =A0 =A00.000000] PM: Registered nosave memory: 000000007d53f000 - 00=
0000007d56a000</div><div>[ =A0 =A00.000000] PM: Registered nosave memory: 0=
00000007d704000 - 000000007d7b4000</div><div>[ =A0 =A00.000000] PM: Registe=
red nosave memory: 000000007f5ef000 - 000000007f6df000</div>
<div>[ =A0 =A00.000000] PM: Registered nosave memory: 000000007f6df000 - 00=
0000007f7df000</div><div>[ =A0 =A00.000000] PM: Registered nosave memory: 0=
00000007f7df000 - 000000007f7ff000</div><div>[ =A0 =A00.000000] PM: Registe=
red nosave memory: 000000007f800000 - 0000000080000000</div>
<div>[ =A0 =A00.000000] PM: Registered nosave memory: 0000000080000000 - 00=
00000090000000</div><div>[ =A0 =A00.000000] PM: Registered nosave memory: 0=
000000090000000 - 00000000fed1c000</div><div>[ =A0 =A00.000000] PM: Registe=
red nosave memory: 00000000fed1c000 - 00000000fed20000</div>
<div>[ =A0 =A00.000000] PM: Registered nosave memory: 00000000fed20000 - 00=
000000fee00000</div><div>[ =A0 =A00.000000] PM: Registered nosave memory: 0=
0000000fee00000 - 00000000fee01000</div><div>[ =A0 =A00.000000] PM: Registe=
red nosave memory: 00000000fee01000 - 00000000ff800000</div>
<div>[ =A0 =A00.000000] PM: Registered nosave memory: 00000000ff800000 - 00=
00000100000000</div><div>[ =A0 =A00.000000] e820: [mem 0x90000000-0xfed1bff=
f] available for PCI devices</div><div>[ =A0 =A00.000000] Booting paravirtu=
alized kernel on Xen</div>
<div>[ =A0 =A00.000000] Xen version: 4.2.0 (preserve-AD)</div><div>[ =A0 =
=A00.000000] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:1 nr_=
node_ids:1</div><div>[ =A0 =A00.000000] PERCPU: Embedded 28 pages/cpu @ffff=
880174e00000 s83840 r8192 d22656 u2097152</div>
<div>[ =A0 =A00.000000] pcpu-alloc: s83840 r8192 d22656 u2097152 alloc=3D1*=
2097152</div><div>[ =A0 =A00.000000] pcpu-alloc: [0] 0=A0</div><div>[ =A0 =
=A01.096975] Built 1 zonelists in Zone order, mobility grouping on. =A0Tota=
l pages: 1015921</div>
<div>[ =A0 =A01.096977] Policy zone: Normal</div><div>[ =A0 =A01.096979] Ke=
rnel command line: placeholder root=3D/dev/mapper/xen-fw_root ro</div><div>=
[ =A0 =A01.097016] PID hash table entries: 4096 (order: 3, 32768 bytes)</di=
v><div>[ =A0 =A01.097021] __ex_table already sorted, skipping sort</div>
<div>[ =A0 =A01.121932] software IO TLB [mem 0x16c800000-0x1707fffff] (64MB=
) mapped at [ffff88016c800000-ffff8801707fffff]</div><div>[ =A0 =A01.138656=
] Memory: 3815116k/6291456k available (3573k kernel code, 2141732k absent, =
334608k reserved, 3147k data, 592k init)</div>
<div>[ =A0 =A01.138717] Hierarchical RCU implementation.</div><div>[ =A0 =
=A01.138718] <span class=3D"Apple-tab-span" style=3D"white-space:pre">	</sp=
an>RCU dyntick-idle grace-period acceleration is enabled.</div><div>[ =A0 =
=A01.138719] <span class=3D"Apple-tab-span" style=3D"white-space:pre">	</sp=
an>RCU restricting CPUs from NR_CPUS=3D512 to nr_cpu_ids=3D1.</div>
<div>[ =A0 =A01.138728] NR_IRQS:33024 nr_irqs:256 16</div><div>[ =A0 =A01.1=
47171] Console: colour VGA+ 80x25</div><div>[ =A0 =A01.154296] console [tty=
0] enabled</div><div>[ =A0 =A01.159002] allocated 16777216 bytes of page_cg=
roup</div><div>
[ =A0 =A01.159079] please try &#39;cgroup_disable=3Dmemory&#39; option if y=
ou don&#39;t want memory cgroups</div><div>[ =A0 =A01.159208] Xen: using vc=
puop timer interface</div><div>[ =A0 =A01.159214] installing Xen timer for =
CPU 0</div>
<div>[ =A0 =A01.159303] tsc: Detected 2400.126 MHz processor</div><div>[ =
=A0 =A01.159375] Calibrating delay loop (skipped), value calculated using t=
imer frequency.. 4800.25 BogoMIPS (lpj=3D9600504)</div><div>[ =A0 =A01.1595=
17] pid_max: default: 32768 minimum: 301</div>
<div>[ =A0 =A01.159607] Security Framework initialized</div><div>[ =A0 =A01=
.159680] AppArmor: AppArmor disabled by boot time parameter</div><div>[ =A0=
 =A01.160298] Dentry cache hash table entries: 524288 (order: 10, 4194304 b=
ytes)</div>
<div>[ =A0 =A01.161752] Inode-cache hash table entries: 262144 (order: 9, 2=
097152 bytes)</div><div>[ =A0 =A01.162415] Mount-cache hash table entries: =
256</div><div>[ =A0 =A01.162658] Initializing cgroup subsys cpuacct</div><d=
iv>[ =A0 =A01.162729] Initializing cgroup subsys memory</div>
<div>[ =A0 =A01.162806] Initializing cgroup subsys devices</div><div>[ =A0 =
=A01.162876] Initializing cgroup subsys freezer</div><div>[ =A0 =A01.162945=
] Initializing cgroup subsys net_cls</div><div>[ =A0 =A01.163014] Initializ=
ing cgroup subsys blkio</div>
<div>[ =A0 =A01.163082] Initializing cgroup subsys perf_event</div><div>[ =
=A0 =A01.163204] CPU: Physical Processor ID: 0</div><div>[ =A0 =A01.163277]=
 CPU: Processor Core ID: 0</div><div>[ =A0 =A01.163346] mce: CPU supports 2=
 MCE banks</div>
<div>[ =A0 =A01.163452] Last level iTLB entries: 4KB 512, 2MB 7, 4MB 7</div=
><div>[ =A0 =A01.163452] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32</=
div><div>[ =A0 =A01.163452] tlb_flushall_shift is 0x6</div><div>[ =A0 =A01.=
163602] SMP alternatives: switching to UP code</div>
<div>[ =A0 =A01.171342] Freeing SMP alternatives: 8k freed</div><div>[ =A0 =
=A01.171471] Performance Events: unsupported p6 CPU model 44 no PMU driver,=
 software events only.</div><div>[ =A0 =A01.171785] NMI watchdog: disabled =
(cpu0): hardware events not enabled</div>
<div>[ =A0 =A01.171876] Brought up 1 CPUs</div><div>[ =A0 =A01.172058] devt=
mpfs: initialized</div><div>[ =A0 =A01.174970] PM: Registering ACPI NVS reg=
ion [mem 0x0006c000-0x0006cfff] (4096 bytes)</div><div>[ =A0 =A01.175062] P=
M: Registering ACPI NVS region [mem 0x0009f000-0x0009ffff] (4096 bytes)</di=
v>
<div>[ =A0 =A01.175153] PM: Registering ACPI NVS region [mem 0x7f6df000-0x7=
f7defff] (1048576 bytes)</div><div>[ =A0 =A01.175314] Grant tables using ve=
rsion 2 layout.</div><div>[ =A0 =A01.175394] Grant table initialized</div><=
div>[ =A0 =A01.175514] dummy:=A0</div>
<div>[ =A0 =A01.175625] NET: Registered protocol family 16</div><div>[ =A0 =
=A01.175969] PCI: Using configuration type 1 for base access</div><div>[ =
=A0 =A01.176599] bio: create slab &lt;bio-0&gt; at 0</div><div>[ =A0 =A01.1=
76719] ACPI: Interpreter disabled.</div>
<div>[ =A0 =A01.176796] xen/balloon: Initialising balloon driver.</div><div=
>[ =A0 =A01.177620] xen-balloon: Initialising balloon driver.</div><div>[ =
=A0 =A01.177761] vgaarb: loaded</div><div>[ =A0 =A01.177860] PCI: Probing P=
CI hardware</div>
<div>[ =A0 =A01.177929] PCI: root bus 00: using default resources</div><div=
>[ =A0 =A01.177930] PCI: Probing PCI hardware (bus 00)</div><div>[ =A0 =A01=
.177954] PCI host bridge to bus 0000:00</div><div>[ =A0 =A01.178025] pci_bu=
s 0000:00: root bus resource [io =A00x0000-0xffff]</div>
<div>[ =A0 =A01.178098] pci_bus 0000:00: root bus resource [mem 0x00000000-=
0xffffffffff]</div><div>[ =A0 =A01.178173] pci_bus 0000:00: No busn resourc=
e found for root bus, will use [bus 00-ff]</div><div>[ =A0 =A01.178266] pci=
_bus 0000:00: busn_res: [bus 00-ff] is inserted under domain [bus 00-ff]</d=
iv>
<div>[ =A0 =A01.178287] pci 0000:00:00.0: [8086:3406] type 00 class 0x06000=
0</div><div>[ =A0 =A01.178389] pci 0000:00:00.0: PME# supported from D0 D3h=
ot D3cold</div><div>[ =A0 =A01.178425] pci 0000:00:01.0: [8086:3408] type 0=
1 class 0x060400</div>
<div>[ =A0 =A01.178532] pci 0000:00:01.0: PME# supported from D0 D3hot D3co=
ld</div><div>[ =A0 =A01.178571] pci 0000:00:02.0: [8086:3409] type 01 class=
 0x060400</div><div>[ =A0 =A01.178678] pci 0000:00:02.0: PME# supported fro=
m D0 D3hot D3cold</div>
<div>[ =A0 =A01.178716] pci 0000:00:03.0: [8086:340a] type 01 class 0x06040=
0</div><div>[ =A0 =A01.178824] pci 0000:00:03.0: PME# supported from D0 D3h=
ot D3cold</div><div>[ =A0 =A01.178865] pci 0000:00:05.0: [8086:340c] type 0=
1 class 0x060400</div>
<div>[ =A0 =A01.178973] pci 0000:00:05.0: PME# supported from D0 D3hot D3co=
ld</div><div>[ =A0 =A01.179013] pci 0000:00:07.0: [8086:340e] type 01 class=
 0x060400</div><div>[ =A0 =A01.179121] pci 0000:00:07.0: PME# supported fro=
m D0 D3hot D3cold</div>
<div>[ =A0 =A01.179161] pci 0000:00:09.0: [8086:3410] type 01 class 0x06040=
0</div><div>[ =A0 =A01.179269] pci 0000:00:09.0: PME# supported from D0 D3h=
ot D3cold</div><div>[ =A0 =A01.179309] pci 0000:00:10.0: [8086:3425] type 0=
0 class 0x080000</div>
<div>[ =A0 =A01.179434] pci 0000:00:10.1: [8086:3426] type 00 class 0x08000=
0</div><div>[ =A0 =A01.179543] pci 0000:00:11.0: [8086:3427] type 00 class =
0x080000</div><div>[ =A0 =A01.179668] pci 0000:00:11.1: [8086:3428] type 00=
 class 0x080000</div>
<div>[ =A0 =A01.179795] pci 0000:00:14.0: [8086:342e] type 00 class 0x08000=
0</div><div>[ =A0 =A01.179919] pci 0000:00:14.1: [8086:3422] type 00 class =
0x080000</div><div>[ =A0 =A01.180053] pci 0000:00:14.2: [8086:3423] type 00=
 class 0x080000</div>
<div>[ =A0 =A01.180172] pci 0000:00:14.3: [8086:3438] type 00 class 0x08000=
0</div><div>[ =A0 =A01.180273] pci 0000:00:15.0: [8086:342f] type 00 class =
0x080020</div><div>[ =A0 =A01.180387] pci 0000:00:16.0: [8086:3430] type 00=
 class 0x088000</div>
<div>[ =A0 =A01.180408] pci 0000:00:16.0: reg 10: [mem 0x97a00000-0x97a03ff=
f 64bit]</div><div>[ =A0 =A01.180540] pci 0000:00:16.1: [8086:3431] type 00=
 class 0x088000</div><div>[ =A0 =A01.180561] pci 0000:00:16.1: reg 10: [mem=
 0x97a04000-0x97a07fff 64bit]</div>
<div>[ =A0 =A01.180693] pci 0000:00:16.2: [8086:3432] type 00 class 0x08800=
0</div><div>[ =A0 =A01.180713] pci 0000:00:16.2: reg 10: [mem 0x97a08000-0x=
97a0bfff 64bit]</div><div>[ =A0 =A01.180845] pci 0000:00:16.3: [8086:3433] =
type 00 class 0x088000</div>
<div>[ =A0 =A01.180866] pci 0000:00:16.3: reg 10: [mem 0x97a0c000-0x97a0fff=
f 64bit]</div><div>[ =A0 =A01.180997] pci 0000:00:16.4: [8086:3429] type 00=
 class 0x088000</div><div>[ =A0 =A01.181018] pci 0000:00:16.4: reg 10: [mem=
 0x97a10000-0x97a13fff 64bit]</div>
<div>[ =A0 =A01.181150] pci 0000:00:16.5: [8086:342a] type 00 class 0x08800=
0</div><div>[ =A0 =A01.181170] pci 0000:00:16.5: reg 10: [mem 0x97a14000-0x=
97a17fff 64bit]</div><div>[ =A0 =A01.181302] pci 0000:00:16.6: [8086:342b] =
type 00 class 0x088000</div>
<div>[ =A0 =A01.181323] pci 0000:00:16.6: reg 10: [mem 0x97a18000-0x97a1bff=
f 64bit]</div><div>[ =A0 =A01.181455] pci 0000:00:16.7: [8086:342c] type 00=
 class 0x088000</div><div>[ =A0 =A01.181475] pci 0000:00:16.7: reg 10: [mem=
 0x97a1c000-0x97a1ffff 64bit]</div>
<div>[ =A0 =A01.181610] pci 0000:00:1a.0: [8086:3a37] type 00 class 0x0c030=
0</div><div>[ =A0 =A01.181681] pci 0000:00:1a.0: reg 20: [io =A00x20a0-0x20=
bf]</div><div>[ =A0 =A01.181766] pci 0000:00:1a.1: [8086:3a38] type 00 clas=
s 0x0c0300</div>
<div>[ =A0 =A01.181837] pci 0000:00:1a.1: reg 20: [io =A00x2080-0x209f]</di=
v><div>[ =A0 =A01.181937] pci 0000:00:1a.7: [8086:3a3c] type 00 class 0x0c0=
320</div><div>[ =A0 =A01.181970] pci 0000:00:1a.7: reg 10: [mem 0x97a21000-=
0x97a213ff]</div>
<div>[ =A0 =A01.182116] pci 0000:00:1a.7: PME# supported from D0 D3hot D3co=
ld</div><div>[ =A0 =A01.182153] pci 0000:00:1c.0: [8086:3a40] type 01 class=
 0x060400</div><div>[ =A0 =A01.182274] pci 0000:00:1c.0: PME# supported fro=
m D0 D3hot D3cold</div>
<div>[ =A0 =A01.182316] pci 0000:00:1c.4: [8086:3a48] type 01 class 0x06040=
0</div><div>[ =A0 =A01.182435] pci 0000:00:1c.4: PME# supported from D0 D3h=
ot D3cold</div><div>[ =A0 =A01.182478] pci 0000:00:1d.0: [8086:3a34] type 0=
0 class 0x0c0300</div>
<div>[ =A0 =A01.182549] pci 0000:00:1d.0: reg 20: [io =A00x2060-0x207f]</di=
v><div>[ =A0 =A01.182634] pci 0000:00:1d.1: [8086:3a35] type 00 class 0x0c0=
300</div><div>[ =A0 =A01.182705] pci 0000:00:1d.1: reg 20: [io =A00x2040-0x=
205f]</div><div>
[ =A0 =A01.182790] pci 0000:00:1d.2: [8086:3a36] type 00 class 0x0c0300</di=
v><div>[ =A0 =A01.182860] pci 0000:00:1d.2: reg 20: [io =A00x2020-0x203f]</=
div><div>[ =A0 =A01.182960] pci 0000:00:1d.7: [8086:3a3a] type 00 class 0x0=
c0320</div>
<div>[ =A0 =A01.182993] pci 0000:00:1d.7: reg 10: [mem 0x97a20000-0x97a203f=
f]</div><div>[ =A0 =A01.183138] pci 0000:00:1d.7: PME# supported from D0 D3=
hot D3cold</div><div>[ =A0 =A01.183173] pci 0000:00:1e.0: [8086:244e] type =
01 class 0x060401</div>
<div>[ =A0 =A01.183279] pci 0000:00:1f.0: [8086:3a18] type 00 class 0x06010=
0</div><div>[ =A0 =A01.183458] pci 0000:00:1f.2: [8086:3a20] type 00 class =
0x01018f</div><div>[ =A0 =A01.183484] pci 0000:00:1f.2: reg 10: [io =A00x21=
18-0x211f]</div>
<div>[ =A0 =A01.183497] pci 0000:00:1f.2: reg 14: [io =A00x212c-0x212f]</di=
v><div>[ =A0 =A01.183510] pci 0000:00:1f.2: reg 18: [io =A00x2110-0x2117]</=
div><div>[ =A0 =A01.183522] pci 0000:00:1f.2: reg 1c: [io =A00x2128-0x212b]=
</div><div>[ =A0 =A01.183535] pci 0000:00:1f.2: reg 20: [io =A00x20f0-0x20f=
f]</div>
<div>[ =A0 =A01.183548] pci 0000:00:1f.2: reg 24: [io =A00x20e0-0x20ef]</di=
v><div>[ =A0 =A01.183629] pci 0000:00:1f.3: [8086:3a30] type 00 class 0x0c0=
500</div><div>[ =A0 =A01.183653] pci 0000:00:1f.3: reg 10: [mem 0x97a22000-=
0x97a220ff 64bit]</div>
<div>[ =A0 =A01.183689] pci 0000:00:1f.3: reg 20: [io =A00x2000-0x201f]</di=
v><div>[ =A0 =A01.183746] pci 0000:00:1f.5: [8086:3a26] type 00 class 0x010=
185</div><div>[ =A0 =A01.183772] pci 0000:00:1f.5: reg 10: [io =A00x2108-0x=
210f]</div><div>
[ =A0 =A01.183784] pci 0000:00:1f.5: reg 14: [io =A00x2124-0x2127]</div><di=
v>[ =A0 =A01.183797] pci 0000:00:1f.5: reg 18: [io =A00x2100-0x2107]</div><=
div>[ =A0 =A01.183816] pci 0000:00:1f.5: reg 1c: [io =A00x2120-0x2123]</div=
><div>[ =A0 =A01.183829] pci 0000:00:1f.5: reg 20: [io =A00x20d0-0x20df]</d=
iv>
<div>[ =A0 =A01.183841] pci 0000:00:1f.5: reg 24: [io =A00x20c0-0x20cf]</di=
v><div>[ =A0 =A01.183985] pci_bus 0000:0b: busn_res: [bus 0b-0f] is inserte=
d under [bus 00-ff]</div><div>[ =A0 =A01.184016] pci 0000:0b:00.0: [14e4:16=
39] type 00 class 0x020000</div>
<div>[ =A0 =A01.184040] pci 0000:0b:00.0: reg 10: [mem 0x92000000-0x93fffff=
f 64bit]</div><div>[ =A0 =A01.184181] pci 0000:0b:00.0: PME# supported from=
 D0 D3hot D3cold</div><div>[ =A0 =A01.184224] pci 0000:0b:00.1: [14e4:1639]=
 type 00 class 0x020000</div>
<div>[ =A0 =A01.184248] pci 0000:0b:00.1: reg 10: [mem 0x94000000-0x95fffff=
f 64bit]</div><div>[ =A0 =A01.184390] pci 0000:0b:00.1: PME# supported from=
 D0 D3hot D3cold</div><div>[ =A0 =A01.191939] pci 0000:00:01.0: PCI bridge =
to [bus 0b-0f]</div>
<div>[ =A0 =A01.192017] pci 0000:00:01.0: =A0 bridge window [mem 0x92000000=
-0x95ffffff]</div><div>[ =A0 =A01.192089] pci_bus 0000:10: busn_res: [bus 1=
0-14] is inserted under [bus 00-ff]</div><div>[ =A0 =A01.192093] pci 0000:0=
0:02.0: PCI bridge to [bus 10-14]</div>
<div>[ =A0 =A01.192240] pci_bus 0000:15: busn_res: [bus 15-19] is inserted =
under [bus 00-ff]</div><div>[ =A0 =A01.192244] pci 0000:00:03.0: PCI bridge=
 to [bus 15-19]</div><div>[ =A0 =A01.192389] pci_bus 0000:1a: busn_res: [bu=
s 1a-1e] is inserted under [bus 00-ff]</div>
<div>[ =A0 =A01.192392] pci 0000:00:05.0: PCI bridge to [bus 1a-1e]</div><d=
iv>[ =A0 =A01.192539] pci_bus 0000:1f: busn_res: [bus 1f-23] is inserted un=
der [bus 00-ff]</div><div>[ =A0 =A01.192542] pci 0000:00:07.0: PCI bridge t=
o [bus 1f-23]</div>
<div>[ =A0 =A01.192688] pci_bus 0000:24: busn_res: [bus 24-28] is inserted =
under [bus 00-ff]</div><div>[ =A0 =A01.192691] pci 0000:00:09.0: PCI bridge=
 to [bus 24-28]</div><div>[ =A0 =A01.192838] pci_bus 0000:01: busn_res: [bu=
s 01-05] is inserted under [bus 00-ff]</div>
<div>[ =A0 =A01.192863] pci 0000:01:00.0: [1000:0073] type 00 class 0x01040=
0</div><div>[ =A0 =A01.192884] pci 0000:01:00.0: reg 10: [io =A00x1000-0x10=
ff]</div><div>[ =A0 =A01.192908] pci 0000:01:00.0: reg 14: [mem 0x97940000-=
0x97943fff 64bit]</div>
<div>[ =A0 =A01.192932] pci 0000:01:00.0: reg 1c: [mem 0x97900000-0x9793fff=
f 64bit]</div><div>[ =A0 =A01.192962] pci 0000:01:00.0: reg 30: [mem 0xfffe=
0000-0xffffffff pref]</div><div>[ =A0 =A01.193060] pci 0000:01:00.0: suppor=
ts D1 D2</div>
<div>[ =A0 =A01.200042] pci 0000:00:1c.0: PCI bridge to [bus 01-05]</div><d=
iv>[ =A0 =A01.200117] pci 0000:00:1c.0: =A0 bridge window [io =A00x1000-0x1=
fff]</div><div>[ =A0 =A01.200123] pci 0000:00:1c.0: =A0 bridge window [mem =
0x97900000-0x979fffff]</div>
<div>[ =A0 =A01.200196] pci_bus 0000:06: busn_res: [bus 06-0a] is inserted =
under [bus 00-ff]</div><div>[ =A0 =A01.200228] pci 0000:06:00.0: [101b:0452=
] type 01 class 0x060400</div><div>[ =A0 =A01.200394] pci 0000:06:00.0: PME=
# supported from D0 D3hot D3cold</div>
<div>[ =A0 =A01.208144] pci 0000:00:1c.4: PCI bridge to [bus 06-0a]</div><d=
iv>[ =A0 =A01.208223] pci 0000:00:1c.4: =A0 bridge window [mem 0x97000000-0=
x978fffff]</div><div>[ =A0 =A01.208231] pci 0000:00:1c.4: =A0 bridge window=
 [mem 0x96000000-0x96ffffff 64bit pref]</div>
<div>[ =A0 =A01.208330] pci_bus 0000:07: busn_res: [bus 07] is inserted und=
er [bus 06-0a]</div><div>[ =A0 =A01.208353] pci 0000:07:00.0: [102b:0530] t=
ype 00 class 0x030000</div><div>[ =A0 =A01.208388] pci 0000:07:00.0: reg 10=
: [mem 0x96000000-0x96ffffff pref]</div>
<div>[ =A0 =A01.208407] pci 0000:07:00.0: reg 14: [mem 0x97800000-0x97803ff=
f]</div><div>[ =A0 =A01.208427] pci 0000:07:00.0: reg 18: [mem 0x97000000-0=
x977fffff]</div><div>[ =A0 =A01.208633] pci 0000:06:00.0: PCI bridge to [bu=
s 07]</div>
<div>[ =A0 =A01.208713] pci 0000:06:00.0: =A0 bridge window [mem 0x97000000=
-0x978fffff]</div><div>[ =A0 =A01.208720] pci 0000:06:00.0: =A0 bridge wind=
ow [mem 0x96000000-0x96ffffff pref]</div><div>[ =A0 =A01.208768] pci_bus 00=
00:29: busn_res: [bus 29-2d] is inserted under [bus 00-ff]</div>
<div>[ =A0 =A01.208829] pci 0000:00:1e.0: PCI bridge to [bus 29-2d] (subtra=
ctive decode)</div><div>[ =A0 =A01.208917] pci 0000:00:1e.0: =A0 bridge win=
dow [io =A00x0000-0xffff] (subtractive decode)</div><div>[ =A0 =A01.208919]=
 pci 0000:00:1e.0: =A0 bridge window [mem 0x00000000-0xffffffffff] (subtrac=
tive decode)</div>
<div>[ =A0 =A01.208978] pci_bus 0000:00: busn_res: [bus 00-ff] end is updat=
ed to 2d</div><div>[ =A0 =A01.210287] vgaarb: device added: PCI:0000:07:00.=
0,decodes=3Dio+mem,owns=3Dio+mem,locks=3Dnone</div><div>[ =A0 =A01.210898] =
PCI: pci_cache_line_size set to 64 bytes</div>
<div>[ =A0 =A01.211078] e820: reserve RAM buffer [mem 0x0006c000-0x0006ffff=
]</div><div>[ =A0 =A01.211080] e820: reserve RAM buffer [mem 0x0009f000-0x0=
009ffff]</div><div>[ =A0 =A01.211081] e820: reserve RAM buffer [mem 0x7acb7=
000-0x7bffffff]</div>
<div>[ =A0 =A01.211082] e820: reserve RAM buffer [mem 0x7d4f0000-0x7fffffff=
]</div><div>[ =A0 =A01.211086] e820: reserve RAM buffer [mem 0x7d53f000-0x7=
fffffff]</div><div>[ =A0 =A01.211088] e820: reserve RAM buffer [mem 0x7d704=
000-0x7fffffff]</div>
<div>[ =A0 =A01.211091] e820: reserve RAM buffer [mem 0x7f5ef000-0x7fffffff=
]</div><div>[ =A0 =A01.211093] e820: reserve RAM buffer [mem 0x7f800000-0x7=
fffffff]</div><div>[ =A0 =A01.211210] Switching to clocksource xen</div><di=
v>[ =A0 =A01.212720] pnp: PnP ACPI: disabled</div>
<div>[ =A0 =A01.214391] pci 0000:01:00.0: no compatible bridge window for [=
mem 0xfffe0000-0xffffffff pref]</div><div>[ =A0 =A01.214569] pci 0000:00:1c=
.0: bridge window [mem 0x00100000-0x001fffff pref] to [bus 01-05] add_size =
200000</div>
<div>[ =A0 =A01.214613] pci 0000:00:1c.0: res[15]=3D[mem 0x00100000-0x001ff=
fff pref] get_res_add_size add_size 200000</div><div>[ =A0 =A01.214617] pci=
 0000:00:1c.0: BAR 15: assigned [mem 0x90000000-0x902fffff pref]</div><div>=
[ =A0 =A01.214708] pci 0000:00:01.0: PCI bridge to [bus 0b-0f]</div>
<div>[ =A0 =A01.214783] pci 0000:00:01.0: =A0 bridge window [mem 0x92000000=
-0x95ffffff]</div><div>[ =A0 =A01.214865] pci 0000:00:02.0: PCI bridge to [=
bus 10-14]</div><div>[ =A0 =A01.214948] pci 0000:00:03.0: PCI bridge to [bu=
s 15-19]</div>
<div>[ =A0 =A01.215032] pci 0000:00:05.0: PCI bridge to [bus 1a-1e]</div><d=
iv>[ =A0 =A01.215114] pci 0000:00:07.0: PCI bridge to [bus 1f-23]</div><div=
>[ =A0 =A01.215198] pci 0000:00:09.0: PCI bridge to [bus 24-28]</div><div>[=
 =A0 =A01.215282] pci 0000:01:00.0: BAR 6: assigned [mem 0x90000000-0x9001f=
fff pref]</div>
<div>[ =A0 =A01.215383] pci 0000:00:1c.0: PCI bridge to [bus 01-05]</div><d=
iv>[ =A0 =A01.215456] pci 0000:00:1c.0: =A0 bridge window [io =A00x1000-0x1=
fff]</div><div>[ =A0 =A01.215532] pci 0000:00:1c.0: =A0 bridge window [mem =
0x97900000-0x979fffff]</div>
<div>[ =A0 =A01.215609] pci 0000:00:1c.0: =A0 bridge window [mem 0x90000000=
-0x902fffff pref]</div><div>[ =A0 =A01.215705] pci 0000:06:00.0: PCI bridge=
 to [bus 07]</div><div>[ =A0 =A01.215782] pci 0000:06:00.0: =A0 bridge wind=
ow [mem 0x97000000-0x978fffff]</div>
<div>[ =A0 =A01.215860] pci 0000:06:00.0: =A0 bridge window [mem 0x96000000=
-0x96ffffff pref]</div><div>[ =A0 =A01.223235] pci 0000:00:1c.4: PCI bridge=
 to [bus 06-0a]</div><div>[ =A0 =A01.223310] pci 0000:00:1c.4: =A0 bridge w=
indow [mem 0x97000000-0x978fffff]</div>
<div>[ =A0 =A01.223391] pci 0000:00:1c.4: =A0 bridge window [mem 0x96000000=
-0x96ffffff 64bit pref]</div><div>[ =A0 =A01.223489] pci 0000:00:1e.0: PCI =
bridge to [bus 29-2d]</div><div>[ =A0 =A01.223580] pci 0000:00:01.0: can&#3=
9;t find IRQ for PCI INT A; please try using pci=3Dbiosirq</div>
<div>[ =A0 =A01.223680] pci 0000:00:02.0: can&#39;t find IRQ for PCI INT A;=
 please try using pci=3Dbiosirq</div><div>[ =A0 =A01.223780] pci 0000:00:03=
.0: can&#39;t find IRQ for PCI INT A; please try using pci=3Dbiosirq</div><=
div>[ =A0 =A01.223880] pci 0000:00:05.0: can&#39;t find IRQ for PCI INT A; =
please try using pci=3Dbiosirq</div>
<div>[ =A0 =A01.223981] pci 0000:00:07.0: can&#39;t find IRQ for PCI INT A;=
 please try using pci=3Dbiosirq</div><div>[ =A0 =A01.224081] pci 0000:00:09=
.0: can&#39;t find IRQ for PCI INT A; please try using pci=3Dbiosirq</div><=
div>[ =A0 =A01.224183] pci 0000:00:1c.0: can&#39;t find IRQ for PCI INT A; =
please try using pci=3Dbiosirq</div>
<div>[ =A0 =A01.224283] pci 0000:00:1c.4: can&#39;t find IRQ for PCI INT A;=
 please try using pci=3Dbiosirq</div><div>[ =A0 =A01.224385] pci 0000:06:00=
.0: can&#39;t find IRQ for PCI INT A; please try using pci=3Dbiosirq</div><=
div>[ =A0 =A01.224487] pci 0000:00:1e.0: setting latency timer to 64</div>
<div>[ =A0 =A01.224492] pci_bus 0000:00: resource 4 [io =A00x0000-0xffff]</=
div><div>[ =A0 =A01.224494] pci_bus 0000:00: resource 5 [mem 0x00000000-0xf=
fffffffff]</div><div>[ =A0 =A01.224496] pci_bus 0000:0b: resource 1 [mem 0x=
92000000-0x95ffffff]</div>
<div>[ =A0 =A01.224498] pci_bus 0000:01: resource 0 [io =A00x1000-0x1fff]</=
div><div>[ =A0 =A01.224500] pci_bus 0000:01: resource 1 [mem 0x97900000-0x9=
79fffff]</div><div>[ =A0 =A01.224502] pci_bus 0000:01: resource 2 [mem 0x90=
000000-0x902fffff pref]</div>
<div>[ =A0 =A01.224504] pci_bus 0000:06: resource 1 [mem 0x97000000-0x978ff=
fff]</div><div>[ =A0 =A01.224507] pci_bus 0000:06: resource 2 [mem 0x960000=
00-0x96ffffff 64bit pref]</div><div>[ =A0 =A01.224510] pci_bus 0000:07: res=
ource 1 [mem 0x97000000-0x978fffff]</div>
<div>[ =A0 =A01.224512] pci_bus 0000:07: resource 2 [mem 0x96000000-0x96fff=
fff pref]</div><div>[ =A0 =A01.224514] pci_bus 0000:29: resource 4 [io =A00=
x0000-0xffff]</div><div>[ =A0 =A01.224516] pci_bus 0000:29: resource 5 [mem=
 0x00000000-0xffffffffff]</div>
<div>[ =A0 =A01.224538] NET: Registered protocol family 2</div><div>[ =A0 =
=A01.225637] TCP established hash table entries: 524288 (order: 11, 8388608=
 bytes)</div><div>[ =A0 =A01.228185] TCP bind hash table entries: 65536 (or=
der: 8, 1048576 bytes)</div>
<div>[ =A0 =A01.228521] TCP: Hash tables configured (established 524288 bin=
d 65536)</div><div>[ =A0 =A01.228613] TCP: reno registered</div><div>[ =A0 =
=A01.228689] UDP hash table entries: 2048 (order: 4, 65536 bytes)</div><div=
>[ =A0 =A01.228785] UDP-Lite hash table entries: 2048 (order: 4, 65536 byte=
s)</div>
<div>[ =A0 =A01.228922] NET: Registered protocol family 1</div><div>[ =A0 =
=A01.229073] pci 0000:00:1a.0: can&#39;t find IRQ for PCI INT A; please try=
 using pci=3Dbiosirq</div><div>[ =A0 =A01.229201] pci 0000:00:1a.1: can&#39=
;t find IRQ for PCI INT B; please try using pci=3Dbiosirq</div>
<div>[ =A0 =A01.229325] pci 0000:00:1a.7: can&#39;t find IRQ for PCI INT C;=
 please try using pci=3Dbiosirq</div><div>[ =A0 =A01.229466] pci 0000:00:1d=
.0: can&#39;t find IRQ for PCI INT A; please try using pci=3Dbiosirq</div><=
div>[ =A0 =A01.229588] pci 0000:00:1d.1: can&#39;t find IRQ for PCI INT B; =
please try using pci=3Dbiosirq</div>
<div>[ =A0 =A01.229708] pci 0000:00:1d.2: can&#39;t find IRQ for PCI INT C;=
 please try using pci=3Dbiosirq</div><div>[ =A0 =A01.229836] pci 0000:00:1d=
.7: can&#39;t find IRQ for PCI INT A; please try using pci=3Dbiosirq</div><=
div>[ =A0 =A01.229986] pci 0000:07:00.0: Boot video device</div>
<div>[ =A0 =A01.229991] PCI: CLS 64 bytes, default 64</div><div>[ =A0 =A01.=
230040] Unpacking initramfs...</div><div>[ =A0 =A01.236939] Freeing initrd =
memory: 7188k freed</div><div>[ =A0 =A01.238401] platform rtc_cmos: registe=
red platform RTC device (no PNP device found)</div>
<div>[ =A0 =A01.238695] audit: initializing netlink socket (disabled)</div>=
<div>[ =A0 =A01.238779] type=3D2000 audit(1349925915.231:1): initialized</d=
iv><div>[ =A0 =A01.253042] HugeTLB registered 2 MB page size, pre-allocated=
 0 pages</div>
<div>[ =A0 =A01.253247] VFS: Disk quotas dquot_6.5.2</div><div>[ =A0 =A01.2=
53330] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)</div><div>=
[ =A0 =A01.253465] msgmni has been set to 7465</div><div>[ =A0 =A01.253646]=
 alg: No test for stdrng (krng)</div>
<div>[ =A0 =A01.253730] Block layer SCSI generic (bsg) driver version 0.4 l=
oaded (major 252)</div><div>[ =A0 =A01.253820] io scheduler noop registered=
</div><div>[ =A0 =A01.253888] io scheduler deadline registered</div><div>[ =
=A0 =A01.253960] io scheduler cfq registered (default)</div>
<div>[ =A0 =A01.254124] pcieport 0000:00:01.0: device [8086:3408] has inval=
id IRQ; check vendor BIOS</div><div>[ =A0 =A01.254277] pcieport 0000:00:02.=
0: device [8086:3409] has invalid IRQ; check vendor BIOS</div><div>[ =A0 =
=A01.254425] pcieport 0000:00:03.0: device [8086:340a] has invalid IRQ; che=
ck vendor BIOS</div>
<div>[ =A0 =A01.254573] pcieport 0000:00:05.0: device [8086:340c] has inval=
id IRQ; check vendor BIOS</div><div>[ =A0 =A01.254723] pcieport 0000:00:07.=
0: device [8086:340e] has invalid IRQ; check vendor BIOS</div><div>[ =A0 =
=A01.254870] pcieport 0000:00:09.0: device [8086:3410] has invalid IRQ; che=
ck vendor BIOS</div>
<div>[ =A0 =A01.255019] pcieport 0000:00:1c.0: device [8086:3a40] has inval=
id IRQ; check vendor BIOS</div><div>[ =A0 =A01.255170] pcieport 0000:00:1c.=
4: device [8086:3a48] has invalid IRQ; check vendor BIOS</div><div>[ =A0 =
=A01.255389] ioapic: probe of 0000:00:15.0 failed with error -22</div>
<div>[ =A0 =A01.255467] pci_hotplug: PCI Hot Plug PCI Core version: 0.5</di=
v><div>[ =A0 =A01.255554] pciehp: PCI Express Hot Plug Controller Driver ve=
rsion: 0.4</div><div>[ =A0 =A01.255627] acpiphp: ACPI Hot Plug PCI Controll=
er Driver version: 0.5</div>
<div>[ =A0 =A01.255752] intel_idle: does not run on family 6 model 44</div>=
<div>[ =A0 =A01.255833] Event-channel device installed.</div><div>[ =A0 =A0=
1.255989] xen-pciback: backend is vpci</div><div>[ =A0 =A01.256298] Serial:=
 8250/16550 driver, 4 ports, IRQ sharing enabled</div>
<div>[ =A0 =A01.277599] serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 165=
50A</div><div>[ =A0 =A01.298917] serial8250: ttyS1 at I/O 0x2f8 (irq =3D 3)=
 is a 16550A</div><div>[ =A0 =A01.299221] Linux agpgart interface v0.103</d=
iv><div>[ =A0 =A01.299387] i8042: PNP: No PS/2 controller found. Probing po=
rts directly.</div>
<div>[ =A0 =A01.551430] serio: i8042 KBD port at 0x60,0x64 irq 1</div><div>=
[ =A0 =A01.551580] mousedev: PS/2 mouse device common for all mice</div><di=
v>[ =A0 =A01.551800] rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rt=
c0</div>
<div>[ =A0 =A01.551897] rtc0: alarms up to one day, 114 bytes nvram</div><d=
iv>[ =A0 =A01.551972] EFI Variables Facility v0.08 2004-May-17</div><div>[ =
=A0 =A01.552053] drop_monitor: Initializing network drop monitor service</d=
iv><div>
[ =A0 =A01.552197] TCP: cubic registered</div><div>[ =A0 =A01.552276] NET: =
Registered protocol family 10</div><div>[ =A0 =A01.552496] mip6: Mobile IPv=
6</div><div>[ =A0 =A01.552564] NET: Registered protocol family 17</div><div=
>[ =A0 =A01.552641] Key type dns_resolver registered</div>
<div>[ =A0 =A01.552859] PM: Hibernation image not present or could not be l=
oaded.</div><div>[ =A0 =A01.552868] registered taskstats version 1</div><di=
v>[ =A0 =A01.553635] rtc_cmos rtc_cmos: setting system clock to 2012-10-11 =
03:25:15 UTC (1349925915)</div>
<div>[ =A0 =A01.553954] Freeing unused kernel memory: 592k freed</div><div>=
[ =A0 =A01.554130] Write protecting the kernel read-only data: 6144k</div><=
div>[ =A0 =A01.555798] Freeing unused kernel memory: 512k freed</div><div>[=
 =A0 =A01.556107] Freeing unused kernel memory: 620k freed</div>
<div>[ =A0 =A01.583588] udevd[50]: starting version 175</div><div>[ =A0 =A0=
1.657119] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4</div=
><div>[ =A0 =A01.663281] SCSI subsystem initialized</div><div>[ =A0 =A01.68=
1024] megasas: 00.00.06.15-rc1 Mon. Mar. 19 17:00:00 PDT 2012</div>
<div>[ =A0 =A01.681111] megasas: 0x1000:0x0073:0x1014:0x03b1: bus 1:slot 0:=
func 0</div><div>[ =A0 =A01.681241] megaraid_sas 0000:01:00.0: can&#39;t fi=
nd IRQ for PCI INT A; please try using pci=3Dbiosirq</div><div>[ =A0 =A01.6=
87892] megasas: FW now in Ready state</div>
<div>[ =A0 =A01.735350] megasas_init_mfi: fw_support_ieee=3D67108864</div><=
div>[ =A0 =A01.735407] megasas: INIT adapter done</div><div>[ =A0 =A01.8073=
65] scsi0 : LSI SAS based MegaRAID driver</div><div>[ =A0 =A01.808799] scsi=
 0:0:8:0: Direct-Access =A0 =A0 IBM-ESXS ST9146803SS =A0 =A0 =A0B53C PQ: 0 =
ANSI: 5</div>
<div>[ =A0 =A01.811249] scsi 0:0:9:0: Direct-Access =A0 =A0 ATA =A0 =A0 =A0=
ST9500620NS =A0 =A0 =A0BE24 PQ: 0 ANSI: 5</div><div>[ =A0 =A01.812739] scsi=
 0:0:10:0: Direct-Access =A0 =A0 ATA =A0 =A0 =A0ST9500620NS =A0 =A0 =A0BE24=
 PQ: 0 ANSI: 5</div><div>[ =A0 =A01.824208] scsi 0:2:0:0: Direct-Access =A0=
 =A0 IBM =A0 =A0 =A0ServeRAID M1015 =A02.12 PQ: 0 ANSI: 5</div>
<div>[ =A0 =A01.839755] sd 0:2:0:0: [sdb] 1949216768 512-byte logical block=
s: (997 GB/929 GiB)</div><div>[ =A0 =A01.840060] sd 0:2:0:0: [sdb] Write Pr=
otect is off</div><div>[ =A0 =A01.840141] sd 0:2:0:0: [sdb] Mode Sense: 1f =
00 10 08</div>
<div>[ =A0 =A01.840153] sd 0:0:8:0: [sda] 286748000 512-byte logical blocks=
: (146 GB/136 GiB)</div><div>[ =A0 =A01.840302] sd 0:2:0:0: [sdb] Write cac=
he: disabled, read cache: disabled, supports DPO and FUA</div><div>[ =A0 =
=A01.842564] sd 0:0:8:0: [sda] Write Protect is off</div>
<div>[ =A0 =A01.842637] sd 0:0:8:0: [sda] Mode Sense: c3 00 10 08</div><div=
>[ =A0 =A01.843418] =A0sdb: sdb1</div><div>[ =A0 =A01.843898] sd 0:0:8:0: [=
sda] Write cache: disabled, read cache: enabled, supports DPO and FUA</div>=
<div>[ =A0 =A01.844117] sd 0:2:0:0: [sdb] Attached SCSI disk</div>
<div>[ =A0 =A01.866028] =A0sda: sda1 sda2 sda3 sda4</div><div>[ =A0 =A01.87=
0498] sd 0:0:8:0: [sda] Attached SCSI disk</div><div>[ =A0 =A02.053157] dev=
ice-mapper: uevent: version 1.0.3</div><div>[ =A0 =A02.053610] device-mappe=
r: ioctl: 4.23.0-ioctl (2012-07-25) initialised: <a href=3D"mailto:dm-devel=
@redhat.com">dm-devel@redhat.com</a></div>
<div>[ =A0 =A02.214131] EXT4-fs (dm-0): mounted filesystem with ordered dat=
a mode. Opts: (null)</div><div>[ =A0 =A03.162111] udevd[298]: starting vers=
ion 175</div><div>[ =A0 =A03.419449] bnx2: Broadcom NetXtreme II Gigabit Et=
hernet Driver bnx2 v2.2.3 (June 27, 2012)</div>
<div>[ =A0 =A03.419565] bnx2 0000:0b:00.0: can&#39;t find IRQ for PCI INT A=
; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.420241] bnx2 0000:0b:=
00.0: eth0: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found=
 at mem 92000000, IRQ 0, node addr 34:40:b5:ab:e5:b4</div>
<div>[ =A0 =A03.421062] bnx2 0000:0b:00.1: can&#39;t find IRQ for PCI INT B=
; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.421705] bnx2 0000:0b:=
00.1: eth1: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found=
 at mem 94000000, IRQ 0, node addr 34:40:b5:ab:e5:b6</div>
<div>[ =A0 =A03.428805] dca service started, version 1.12.1</div><div>[ =A0=
 =A03.467169] EDAC MC: Ver: 3.0.0</div><div>[ =A0 =A03.473824] ioatdma: Int=
el(R) QuickData Technology Driver 4.00</div><div>[ =A0 =A03.473918] ioatdma=
 0000:00:16.0: enabling device (0000 -&gt; 0002)</div>
<div>[ =A0 =A03.473996] ioatdma 0000:00:16.0: can&#39;t find IRQ for PCI IN=
T A; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.474116] ioatdma 00=
00:00:16.0: channel error register unreachable</div><div>[ =A0 =A03.474191]=
 ioatdma 0000:00:16.0: channel enumeration error</div>
<div>[ =A0 =A03.505302] microcode: CPU0 sig=3D0x206c2, pf=3D0x1, revision=
=3D0x15</div><div>[ =A0 =A03.505995] ioatdma 0000:00:16.0: Intel(R) I/OAT D=
MA Engine init failed</div><div>[ =A0 =A03.506096] ioatdma 0000:00:16.1: en=
abling device (0000 -&gt; 0002)</div>
<div>[ =A0 =A03.506173] ioatdma 0000:00:16.1: can&#39;t find IRQ for PCI IN=
T B; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.506296] ioatdma 00=
00:00:16.1: channel error register unreachable</div><div>[ =A0 =A03.506369]=
 ioatdma 0000:00:16.1: channel enumeration error</div>
<div>[ =A0 =A03.506441] ioatdma 0000:00:16.1: Intel(R) I/OAT DMA Engine ini=
t failed</div><div>[ =A0 =A03.506532] ioatdma 0000:00:16.2: enabling device=
 (0000 -&gt; 0002)</div><div>[ =A0 =A03.506608] ioatdma 0000:00:16.2: can&#=
39;t find IRQ for PCI INT C; please try using pci=3Dbiosirq</div>
<div>[ =A0 =A03.506722] ioatdma 0000:00:16.2: channel error register unreac=
hable</div><div>[ =A0 =A03.506795] ioatdma 0000:00:16.2: channel enumeratio=
n error</div><div>[ =A0 =A03.506867] ioatdma 0000:00:16.2: Intel(R) I/OAT D=
MA Engine init failed</div>
<div>[ =A0 =A03.506957] ioatdma 0000:00:16.3: enabling device (0000 -&gt; 0=
002)</div><div>[ =A0 =A03.507034] ioatdma 0000:00:16.3: can&#39;t find IRQ =
for PCI INT D; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.507147] =
ioatdma 0000:00:16.3: channel error register unreachable</div>
<div>[ =A0 =A03.507222] ioatdma 0000:00:16.3: channel enumeration error</di=
v><div>[ =A0 =A03.507294] ioatdma 0000:00:16.3: Intel(R) I/OAT DMA Engine i=
nit failed</div><div>[ =A0 =A03.507398] ioatdma 0000:00:16.4: enabling devi=
ce (0000 -&gt; 0002)</div>
<div>[ =A0 =A03.507476] ioatdma 0000:00:16.4: can&#39;t find IRQ for PCI IN=
T A; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.507590] ioatdma 00=
00:00:16.4: channel error register unreachable</div><div>[ =A0 =A03.507663]=
 ioatdma 0000:00:16.4: channel enumeration error</div>
<div>[ =A0 =A03.507735] ioatdma 0000:00:16.4: Intel(R) I/OAT DMA Engine ini=
t failed</div><div>[ =A0 =A03.507826] ioatdma 0000:00:16.5: enabling device=
 (0000 -&gt; 0002)</div><div>[ =A0 =A03.507903] ioatdma 0000:00:16.5: can&#=
39;t find IRQ for PCI INT B; please try using pci=3Dbiosirq</div>
<div>[ =A0 =A03.508016] ioatdma 0000:00:16.5: channel error register unreac=
hable</div><div>[ =A0 =A03.508090] ioatdma 0000:00:16.5: channel enumeratio=
n error</div><div>[ =A0 =A03.508162] ioatdma 0000:00:16.5: Intel(R) I/OAT D=
MA Engine init failed</div>
<div>[ =A0 =A03.508255] ioatdma 0000:00:16.6: enabling device (0000 -&gt; 0=
002)</div><div>[ =A0 =A03.508337] ioatdma 0000:00:16.6: can&#39;t find IRQ =
for PCI INT C; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.508454] =
ioatdma 0000:00:16.6: channel error register unreachable</div>
<div>[ =A0 =A03.508529] ioatdma 0000:00:16.6: channel enumeration error</di=
v><div>[ =A0 =A03.508601] ioatdma 0000:00:16.6: Intel(R) I/OAT DMA Engine i=
nit failed</div><div>[ =A0 =A03.508692] ioatdma 0000:00:16.7: enabling devi=
ce (0000 -&gt; 0002)</div>
<div>[ =A0 =A03.508769] ioatdma 0000:00:16.7: can&#39;t find IRQ for PCI IN=
T D; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.508885] ioatdma 00=
00:00:16.7: channel error register unreachable</div><div>[ =A0 =A03.508958]=
 ioatdma 0000:00:16.7: channel enumeration error</div>
<div>[ =A0 =A03.509030] ioatdma 0000:00:16.7: Intel(R) I/OAT DMA Engine ini=
t failed</div><div>[ =A0 =A03.571248] usbcore: registered new interface dri=
ver usbfs</div><div>[ =A0 =A03.571330] usbcore: registered new interface dr=
iver hub</div>
<div>[ =A0 =A03.585483] ACPI Exception: AE_BAD_PARAMETER, Thread 1786484928=
 could not acquire Mutex [0x1] (20120711/utmutex-276)</div><div>[ =A0 =A03.=
585675] ACPI Exception: AE_BAD_PARAMETER, Thread 1786484928 could not acqui=
re Mutex [0x1] (20120711/utmutex-276)</div>
<div>[ =A0 =A03.590919] usbcore: registered new device driver usb</div><div=
>[ =A0 =A03.603433] input: PC Speaker as /devices/platform/pcspkr/input/inp=
ut0</div><div>[ =A0 =A03.604762] libata version 3.00 loaded.</div><div>[ =
=A0 =A03.607430] ehci_hcd: USB 2.0 &#39;Enhanced&#39; Host Controller (EHCI=
) Driver</div>
<div>[ =A0 =A03.607535] ehci_hcd 0000:00:1a.7: can&#39;t find IRQ for PCI I=
NT C; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.607629] ehci_hcd =
0000:00:1a.7: Found HC with no IRQ. =A0Check BIOS/PCI 0000:00:1a.7 setup!</=
div><div>
[ =A0 =A03.607723] ehci_hcd 0000:00:1a.7: init 0000:00:1a.7 fail, -19</div>=
<div>[ =A0 =A03.607808] ehci_hcd 0000:00:1d.7: can&#39;t find IRQ for PCI I=
NT A; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.607900] ehci_hcd =
0000:00:1d.7: Found HC with no IRQ. =A0Check BIOS/PCI 0000:00:1d.7 setup!</=
div>
<div>[ =A0 =A03.607994] ehci_hcd 0000:00:1d.7: init 0000:00:1d.7 fail, -19<=
/div><div>[ =A0 =A03.623701] i801_smbus 0000:00:1f.3: enabling device (0140=
 -&gt; 0143)</div><div>[ =A0 =A03.623781] i801_smbus 0000:00:1f.3: can&#39;=
t find IRQ for PCI INT B; please try using pci=3Dbiosirq</div>
<div>[ =A0 =A03.623874] ACPI Exception: AE_BAD_PARAMETER, Thread 1775910976=
 could not acquire Mutex [0x1] (20120711/utmutex-276)</div><div>[ =A0 =A03.=
624093] i801_smbus 0000:00:1f.3: SMBus using PCI Interrupt</div><div>[ =A0 =
=A03.676083] ata_piix 0000:00:1f.2: version 2.13</div>
<div>[ =A0 =A03.676095] ata_piix 0000:00:1f.2: can&#39;t find IRQ for PCI I=
NT A; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.676193] ata_piix =
0000:00:1f.2: MAP [</div><div>[ =A0 =A03.676260] =A0P0 P2 P1 P3 ]</div><div=
>[ =A0 =A03.676539] ata_piix 0000:00:1f.2: setting latency timer to 64</div=
>
<div>[ =A0 =A03.677344] scsi1 : ata_piix</div><div>[ =A0 =A03.677732] scsi2=
 : ata_piix</div><div>[ =A0 =A03.677862] ata1: SATA max UDMA/133 cmd 0x2118=
 ctl 0x212c bmdma 0x20f0</div><div>[ =A0 =A03.677954] ata2: SATA max UDMA/1=
33 cmd 0x2110 ctl 0x2128 bmdma 0x20f8</div>
<div>[ =A0 =A03.678154] gpio_ich: GPIO from 195 to 255 on gpio_ich</div><di=
v>[ =A0 =A03.678606] ata_piix 0000:00:1f.5: can&#39;t find IRQ for PCI INT =
C; please try using pci=3Dbiosirq</div><div>[ =A0 =A03.678703] ata_piix 000=
0:00:1f.5: MAP [</div>
<div>[ =A0 =A03.678771] =A0P0 -- P1 -- ]</div><div>[ =A0 =A03.679046] ata_p=
iix 0000:00:1f.5: setting latency timer to 64</div><div>[ =A0 =A03.679562] =
scsi3 : ata_piix</div><div>[ =A0 =A03.680057] uhci_hcd: USB Universal Host =
Controller Interface driver</div>
<div>[ =A0 =A03.682601] scsi4 : ata_piix</div><div>[ =A0 =A03.682814] ata3:=
 SATA max UDMA/133 cmd 0x2108 ctl 0x2124 bmdma 0x20d0</div><div>[ =A0 =A03.=
682893] ata4: SATA max UDMA/133 cmd 0x2100 ctl 0x2120 bmdma 0x20d8</div><di=
v>[ =A0 =A03.683028] uhci_hcd 0000:00:1a.0: can&#39;t find IRQ for PCI INT =
A; please try using pci=3Dbiosirq</div>
<div>[ =A0 =A03.683123] uhci_hcd 0000:00:1a.0: Found HC with no IRQ. =A0Che=
ck BIOS/PCI 0000:00:1a.0 setup!</div><div>[ =A0 =A03.683217] uhci_hcd 0000:=
00:1a.0: init 0000:00:1a.0 fail, -19</div><div>[ =A0 =A03.683300] uhci_hcd =
0000:00:1a.1: can&#39;t find IRQ for PCI INT B; please try using pci=3Dbios=
irq</div>
<div>[ =A0 =A03.683408] uhci_hcd 0000:00:1a.1: Found HC with no IRQ. =A0Che=
ck BIOS/PCI 0000:00:1a.1 setup!</div><div>[ =A0 =A03.683504] uhci_hcd 0000:=
00:1a.1: init 0000:00:1a.1 fail, -19</div><div>[ =A0 =A03.683588] uhci_hcd =
0000:00:1d.0: can&#39;t find IRQ for PCI INT A; please try using pci=3Dbios=
irq</div>
<div>[ =A0 =A03.683682] uhci_hcd 0000:00:1d.0: Found HC with no IRQ. =A0Che=
ck BIOS/PCI 0000:00:1d.0 setup!</div><div>[ =A0 =A03.683802] uhci_hcd 0000:=
00:1d.0: init 0000:00:1d.0 fail, -19</div><div>[ =A0 =A03.683933] uhci_hcd =
0000:00:1d.1: can&#39;t find IRQ for PCI INT B; please try using pci=3Dbios=
irq</div>
<div>[ =A0 =A03.684026] uhci_hcd 0000:00:1d.1: Found HC with no IRQ. =A0Che=
ck BIOS/PCI 0000:00:1d.1 setup!</div><div>[ =A0 =A03.684121] uhci_hcd 0000:=
00:1d.1: init 0000:00:1d.1 fail, -19</div><div>[ =A0 =A03.684201] uhci_hcd =
0000:00:1d.2: can&#39;t find IRQ for PCI INT C; please try using pci=3Dbios=
irq</div>
<div>[ =A0 =A03.684293] uhci_hcd 0000:00:1d.2: Found HC with no IRQ. =A0Che=
ck BIOS/PCI 0000:00:1d.2 setup!</div><div>[ =A0 =A03.684387] uhci_hcd 0000:=
00:1d.2: init 0000:00:1d.2 fail, -19</div><div>[ =A0 =A03.751594] microcode=
: Microcode Update Driver: v2.00 &lt;<a href=3D"mailto:tigran@aivazian.fsne=
t.co.uk">tigran@aivazian.fsnet.co.uk</a>&gt;, Peter Oruba</div>
<div>[ =A0 =A03.771183] iTCO_vendor_support: vendor-support=3D0</div><div>[=
 =A0 =A04.010635] ata3: SATA link down (SStatus 0 SControl 300)</div><div>[=
 =A0 =A04.022013] ata4: SATA link down (SStatus 0 SControl 300)</div><div>[=
 =A0 =A04.342660] ata2.00: SATA link down (SStatus 0 SControl 300)</div>
<div>[ =A0 =A04.342751] ata2.01: SATA link down (SStatus 0 SControl 300)</d=
iv><div>[ =A0 =A04.487426] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SCon=
trol 300)</div><div>[ =A0 =A04.487519] ata1.01: SATA link down (SStatus 0 S=
Control 300)</div>
<div>[ =A0 =A04.487603] ata1.01: link offline, clearing class 3 to NONE</di=
v><div>[ =A0 =A04.495491] ata1.00: ATAPI: IBM SATA DEVICE 81Y3657, IB01, ma=
x UDMA/33</div><div>[ =A0 =A04.511489] ata1.00: configured for UDMA/33</div=
><div>[ =A0 =A09.511364] ata1.00: qc timeout (cmd 0xa0)</div>
<div>[ =A0 =A09.511434] ata1.00: TEST_UNIT_READY failed (err_mask=3D0x5)</d=
iv><div>[ =A0 10.307422] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SContr=
ol 300)</div><div>[ =A0 10.307515] ata1.01: SATA link down (SStatus 0 SCont=
rol 300)</div>
<div>[ =A0 10.307600] ata1.01: link offline, clearing class 3 to NONE</div>=
<div>[ =A0 10.331487] ata1.00: configured for UDMA/33</div><div>[ =A0 15.33=
1361] ata1.00: qc timeout (cmd 0xa0)</div><div>[ =A0 15.331431] ata1.00: TE=
ST_UNIT_READY failed (err_mask=3D0x5)</div>
<div>[ =A0 15.331504] ata1.00: limiting SATA link speed to 1.5 Gbps</div><d=
iv>[ =A0 15.331574] ata1.00: limiting speed to UDMA/33:PIO3</div><div>[ =A0=
 16.127423] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SControl 310)</div>=
<div>
[ =A0 16.127515] ata1.01: SATA link down (SStatus 0 SControl 300)</div><div=
>[ =A0 16.127601] ata1.01: link offline, clearing class 3 to NONE</div><div=
>[ =A0 16.151487] ata1.00: configured for UDMA/33</div><div>[ =A0 21.151378=
] ata1.00: qc timeout (cmd 0xa0)</div>
<div>[ =A0 21.151448] ata1.00: TEST_UNIT_READY failed (err_mask=3D0x5)</div=
><div>[ =A0 21.151518] ata1.00: disabled</div><div>[ =A0 21.151603] ata1.00=
: hard resetting link</div><div>[ =A0 21.471351] ata1.01: hard resetting li=
nk</div>
<div>[ =A0 21.947430] ata1.00: SATA link up 1.5 Gbps (SStatus 113 SControl =
310)</div><div>[ =A0 21.947523] ata1.01: SATA link down (SStatus 0 SControl=
 300)</div><div>[ =A0 21.947608] ata1.01: link offline, clearing class 3 to=
 NONE</div>
<div>[ =A0 21.947611] ata1: EH complete</div><div>[ =A0 21.963868] iTCO_wdt=
: Intel TCO WatchDog Timer Driver v1.10</div><div>[ =A0 21.963965] iTCO_wdt=
: Found a ICH10 TCO device (Version=3D2, TCOBASE=3D0x05e0)</div><div>[ =A0 =
21.964124] iTCO_wdt: initialized. heartbeat=3D30 sec (nowayout=3D0)</div>
<div>[ =A0 21.997872] Error: Driver &#39;pcspkr&#39; is already registered,=
 aborting...</div><div>[ =A0 22.010315] alg: No test for __gcm-aes-aesni (_=
_driver-gcm-aes-aesni)</div><div>[ =A0 22.995255] EXT4-fs (dm-0): re-mounte=
d. Opts: (null)</div>
<div>[ =A0 23.177611] EXT4-fs (dm-0): re-mounted. Opts: errors=3Dremount-ro=
</div><div>[ =A0 23.281974] loop: module loaded</div><div>[ =A0 23.346661] =
lp: driver loaded but no devices found</div><div>[ =A0 24.043404] Adding 41=
94300k swap on /dev/mapper/xen-fw_swap. =A0Priority:-1 extents:1 across:419=
4300k=A0</div>
<div>[ =A0 24.347072] EXT4-fs (sda3): mounted filesystem with ordered data =
mode. Opts: (null)</div><div>[ =A0 24.386139] FAT-fs (sda2): utf8 is not a =
recommended IO charset for FAT filesystems, filesystem will be case sensiti=
ve!</div>
<div>[ =A0 25.140294] bnx2 0000:0b:00.0: eth0: using MSIX</div><div>[ =A0 2=
5.140439] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready</div><div>[ =
=A0 25.181911] Bridge firewalling registered</div><div>[ =A0 25.186131] dev=
ice eth1 entered promiscuous mode</div>
<div>[ =A0 25.288312] bnx2 0000:0b:00.1: eth1: using MSIX</div><div>[ =A0 2=
5.288410] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready</div><div>[ =
=A0 25.290413] IPv6: ADDRCONF(NETDEV_UP): xenbr0: link is not ready</div><d=
iv>[ =A0 26.898999] bnx2 0000:0b:00.0: eth0: NIC Copper Link is Up, 100 Mbp=
s full duplex</div>
<div>[ =A0 26.899091]=A0</div><div>[ =A0 26.899222] IPv6: ADDRCONF(NETDEV_C=
HANGE): eth0: link becomes ready</div><div>[ =A0 28.981380] bnx2 0000:0b:00=
.1: eth1: NIC Copper Link is Up, 1000 Mbps full duplex</div><div>[ =A0 28.9=
81477]=A0</div>
<div>[ =A0 28.981613] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes rea=
dy</div><div>[ =A0 28.981698] xenbr0: port 1(eth1) entered forwarding state=
</div><div>[ =A0 28.981771] xenbr0: port 1(eth1) entered forwarding state</=
div>
<div>[ =A0 28.981850] IPv6: ADDRCONF(NETDEV_CHANGE): xenbr0: link becomes r=
eady</div><div>[ =A0 33.512189] RPC: Registered named UNIX socket transport=
 module.</div><div>[ =A0 33.512281] RPC: Registered udp transport module.</=
div>
<div>[ =A0 33.512351] RPC: Registered tcp transport module.</div><div>[ =A0=
 33.512420] RPC: Registered tcp NFSv4.1 backchannel transport module.</div>=
<div>[ =A0 33.533692] FS-Cache: Loaded</div><div>[ =A0 33.547314] FS-Cache:=
 Netfs &#39;nfs&#39; registered for caching</div>
<div>[ =A0 33.579870] Installing knfsd (copyright (C) 1996 <a href=3D"mailt=
o:okir@monad.swb.de">okir@monad.swb.de</a>).</div><div>[ =A0 34.845026] nf_=
conntrack version 0.5.0 (16384 buckets, 65536 max)</div><div>[ =A0 34.85487=
0] ip_tables: (C) 2000-2006 Netfilter Core Team</div>
<div>[ =A0 35.475210] ppdev: user-space parallel port driver</div><div>[ =
=A0 39.140866] colord-sane[2701]: segfault at 0 ip 00007fc826bc4884 sp 0000=
7fff6a44fea0 error 4 in <a href=3D"http://libc-2.13.so">libc-2.13.so</a>[7f=
c826b1f000+17d000]</div>
<div>[ =A0 44.011341] xenbr0: port 1(eth1) entered forwarding state</div></=
div><div><br></div><div><br></div><div>Thanks for all,</div><div>Allan Sche=
id</div><div><br></div>

--bcaec5299feb5f768904cbc0bbb9--


--===============5491451415256564798==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--===============5491451415256564798==--


From xen-devel-bounces@lists.xen.org Thu Oct 11 10:00:49 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Oct 2012 10:00:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TMFZ1-0006XW-FI; Thu, 11 Oct 2012 10:00:23 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <linux@eikelenboom.it>) id 1TMFYy-0006XR-P8
	for xen-devel@lists.xen.org; Thu, 11 Oct 2012 10:00:21 +0000
Received: from [85.158.138.51:11654] by server-9.bemta-3.messagelabs.com id
	3E/98-16841-3B896705; Thu, 11 Oct 2012 10:00:19 +0000
X-Env-Sender: linux@eikelenboom.it
X-Msg-Ref: server-6.tower-174.messagelabs.com!1349949613!25924142!1
X-Originating-IP: [188.40.164.121]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18923 invoked from network); 11 Oct 2012 10:00:13 -0000
Received: from static.121.164.40.188.clients.your-server.de (HELO
	smtp.eikelenboom.it) (188.40.164.121)
	by server-6.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	11 Oct 2012 10:00:13 -0000
Received: from 50-66-ftth.onsneteindhoven.nl ([88.159.66.50]:52015
	helo=[172.16.1.20])
	by smtp.eikelenboom.it with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.72) (envelope-from <linux@eikelenboom.it>)
	id 1TMFaC-00013r-7T; Thu, 11 Oct 2012 12:01:36 +0200
Date: Thu, 11 Oct 2012 12:00:04 +0200
From: Sander Eikelenboom <linux@eikelenboom.it>
Organization: Eikelenboom IT services
X-Priority: 3 (Normal)
Message-ID: <151954917.20121011120004@eikelenboom.it>
To: Ian Campbell <Ian.Campbell@citrix.com>
In-Reply-To: <1349942546.14806.7.camel@zakaz.uk.xensource.com>
References: <1349790467.21847.185.camel@zakaz.uk.xensource.com>
	<1349790863.21172.4406.camel@edumazet-glaptop>
	<1349792241.21847.199.camel@zakaz.uk.xensource.com>
	<1349792847.21172.4479.camel@edumazet-glaptop>
	<1349793630.21847.208.camel@zakaz.uk.xensource.com>
	<1349863984.10070.26.camel@zakaz.uk.xensource.com>
	<1349874598.10070.39.camel@zakaz.uk.xensource.com>
	<748966751.20121010164949@eikelenboom.it>
	<1349942546.14806.7.camel@zakaz.uk.xensource.com>
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="----------002085244038F36F8"
Cc: Konrad Rzeszutek Wilk <konrad@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Eric Dumazet <eric.dumazet@gmail.com>, xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] compound skb frag pages appearing in start_xmit
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

------------002085244038F36F8
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit


Thursday, October 11, 2012, 10:02:26 AM, you wrote:

> On Wed, 2012-10-10 at 15:49 +0100, Sander Eikelenboom wrote:
>> Wednesday, October 10, 2012, 3:09:58 PM, you wrote:
>> 
>> > On Wed, 2012-10-10 at 11:13 +0100, Ian Campbell wrote:
>> >> I haven't tackled netfront yet. 
>> 
>> > I seem to be totally unable to reproduce the equivalent issue on the
>> > netfront xmit side, even though it seems like the loop in
>> > xennet_make_frags ought to be obviously susceptible to it.
>> 
>> > Konrad, Sander, are either of you able to repro, e.g. with:
>> 
>> 
>> Hmrrrmm i don't see any traces, only strange behaviour ..
>> 
>> - i can connect to guests by ssh, but it's sluggish, and sometimes stops working

> I saw something like this (ssh sluggish) even with dom0 itself. I'm
> trying to see if I can characterise it enough to reliably bisect it.

> I already switched out xen-unstable for 4.2-testing but that didn't make
> any difference.



>> - The guest seem to keep trying to connect to netback:
>> 
>> [  658.276719] xen_bridge: port 2(vif40.0) entered forwarding state
>> [  658.282258] xen_bridge: port 2(vif40.0) entered forwarding state
>> [  663.945964] xen_bridge: port 7(vif39.0) entered forwarding state
>> [  669.674277] xen_bridge: port 2(vif40.0) entered disabled state
>> [  669.680290] device vif40.0 left promiscuous mode
>> [  669.685464] xen_bridge: port 2(vif40.0) entered disabled state
>> [  672.857222] device vif41.0 entered promiscuous mode
>> [  673.166254] xen-blkback:ring-ref 8, event-channel 9, protocol 1 (x86_64-abi)
>> [  673.176368] xen_bridge: port 2(vif41.0) entered forwarding state
>> [  673.182042] xen_bridge: port 2(vif41.0) entered forwarding state
>> [  674.439725] xen_bridge: port 7(vif39.0) entered disabled state
>> [  674.445708] device vif39.0 left promiscuous mode
>> [  674.450955] xen_bridge: port 7(vif39.0) entered disabled state
>> [  677.726040] device vif42.0 entered promiscuous mode
>> [  678.053381] xen-blkback:ring-ref 8, event-channel 9, protocol 1 (x86_64-abi)
>> [  678.062804] xen_bridge: port 7(vif42.0) entered forwarding state
>> [  678.068433] xen_bridge: port 7(vif42.0) entered forwarding state
>> [  688.224736] xen_bridge: port 2(vif41.0) entered forwarding state
>> [  693.080557] xen_bridge: port 7(vif42.0) entered forwarding state
>> [  700.786276] xen_bridge: port 7(vif42.0) entered disabled state
>> [  700.792484] device vif42.0 left promiscuous mode
>> [  700.802409] xen_bridge: port 7(vif42.0) entered disabled state
>> [  704.133606] device vif43.0 entered promiscuous mode
>> [  704.460160] xen-blkback:ring-ref 8, event-channel 9, protocol 1 (x86_64-abi)
>> [  704.469800] xen_bridge: port 7(vif43.0) entered forwarding state
>> [  704.475303] xen_bridge: port 7(vif43.0) entered forwarding state
>> [  719.493788] xen_bridge: port 7(vif43.0) entered forwarding state
>> [  726.302456] xen_bridge: port 7(vif43.0) entered disabled state
>> [  726.308898] device vif43.0 left promiscuous mode
>> [  726.314029] xen_bridge: port 7(vif43.0) entered disabled state
>> 
>> All the guests are already up, but this keeps on going and going and going ....

> The domain number seems to be climbing, are you sure something isn't
> (crashing and) restarting?

Probably due to the BUG_ON from the patch below, i changed it into a WARN_ON.
And i seem to hit it, but only in one of the guests at the moment and it triggers quite irregularly.

[   34.298549] ------------[ cut here ]------------
[   34.298567] WARNING: at drivers/net/xen-netfront.c:465 xennet_start_xmit+0x7fe/0x860()
[   34.298574] Modules linked in:
[   34.298597] Pid: 1580, comm: sshd Not tainted 3.6.0pre-rc1-20121011 #1
[   34.298603] Call Trace:
[   34.298611]  [<ffffffff810664ea>] warn_slowpath_common+0x7a/0xb0
[   34.298617]  [<ffffffff81066535>] warn_slowpath_null+0x15/0x20
[   34.298623]  [<ffffffff8146d89e>] xennet_start_xmit+0x7fe/0x860
[   34.298631]  [<ffffffff8161f349>] dev_hard_start_xmit+0x209/0x460
[   34.298637]  [<ffffffff8163b036>] sch_direct_xmit+0xf6/0x290
[   34.298643]  [<ffffffff8161f746>] dev_queue_xmit+0x1a6/0x5a0
[   34.298649]  [<ffffffff8161f5a0>] ? dev_hard_start_xmit+0x460/0x460
[   34.298656]  [<ffffffff810aa8e5>] ? trace_softirqs_off+0x85/0x1b0
[   34.298663]  [<ffffffff816b9536>] ip_finish_output+0x226/0x530
[   34.298668]  [<ffffffff816b93dd>] ? ip_finish_output+0xcd/0x530
[   34.298674]  [<ffffffff816b9899>] ip_output+0x59/0xe0
[   34.298680]  [<ffffffff816b83b8>] ip_local_out+0x28/0x90
[   34.298687]  [<ffffffff816b896f>] ip_queue_xmit+0x17f/0x4a0
[   34.298692]  [<ffffffff816b87f0>] ? ip_send_unicast_reply+0x340/0x340
[   34.298699]  [<ffffffff810a0ba7>] ? getnstimeofday+0x47/0xe0
[   34.298705]  [<ffffffff8160f4c9>] ? __skb_clone+0x29/0x120
[   34.298711]  [<ffffffff816cea20>] tcp_transmit_skb+0x400/0x8d0
[   34.298717]  [<ffffffff816d19fa>] tcp_write_xmit+0x21a/0xa50
[   34.298723]  [<ffffffff816d225b>] tcp_push_one+0x2b/0x40
[   34.298728]  [<ffffffff816c2dec>] tcp_sendmsg+0x8dc/0xe20
[   34.298735]  [<ffffffff816e8f19>] inet_sendmsg+0xa9/0x100
[   34.298740]  [<ffffffff816e8e70>] ? inet_autobind+0x70/0x70
[   34.298746]  [<ffffffff810b0f88>] ? lock_acquire+0xd8/0x100
[   34.298753]  [<ffffffff8160630d>] sock_aio_write+0x12d/0x140
[   34.298762]  [<ffffffff811435b2>] do_sync_write+0xa2/0xe0
[   34.298768]  [<ffffffff810ad22d>] ? trace_hardirqs_on+0xd/0x10
[   34.298774]  [<ffffffff811441d4>] vfs_write+0x174/0x190
[   34.298779]  [<ffffffff811442fa>] sys_write+0x5a/0xa0
[   34.298786]  [<ffffffff812b33de>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[   34.298792]  [<ffffffff817491cc>] cstar_dispatch+0x7/0x26
[   34.298797] ---[ end trace 2e28eec93b7a8b74 ]---


Complete dmesg from guest attached.



>> > diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
>> > index b06ef81..8a3f770 100644
>> > --- a/drivers/net/xen-netfront.c
>> > +++ b/drivers/net/xen-netfront.c
>> > @@ -462,6 +462,8 @@ static void xennet_make_frags(struct sk_buff *skb, struct net_device *dev,
>> >                 ref = gnttab_claim_grant_reference(&np->gref_tx_head);
>> >                 BUG_ON((signed short)ref < 0);
>> >  
>> > +               BUG_ON(PageCompound(skb_frag_page(frag)));
>> > +
>> >                 mfn = pfn_to_mfn(page_to_pfn(skb_frag_page(frag)));
>> >                 gnttab_grant_foreign_access_ref(ref, np->xbdev->otherend_id,
>> >                                                 mfn, GNTMAP_readonly);
>> 
>> > My repro for netback was just to netcat a wodge of data from dom0->domU
>> > but going the other way doesn't seem to trigger.
>> 
>> 
>> 



------------002085244038F36F8
Content-Type: text/plain;
 name="dmesg-netfront.txt"
Content-transfer-encoding: base64
Content-Disposition: attachment;
 filename="dmesg-netfront.txt"

WyAgICAwLjAwMDAwMF0gSW5pdGlhbGl6aW5nIGNncm91cCBzdWJzeXMgY3B1c2V0DQpbICAg
IDAuMDAwMDAwXSBJbml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBjcHUNClsgICAgMC4wMDAw
MDBdIExpbnV4IHZlcnNpb24gMy42LjBwcmUtcmMxLTIwMTIxMDExIChyb290QHNlcnZlZXJz
dGVydGplKSAoZ2NjIHZlcnNpb24gNC40LjUgKERlYmlhbiA0LjQuNS04KSApICMxIFNNUCBQ
UkVFTVBUIFRodSBPY3QgMTEgMTE6MDQ6MzggQ0VTVCAyMDEyDQpbICAgIDAuMDAwMDAwXSBD
b21tYW5kIGxpbmU6IHJvb3Q9L2Rldi94dmRhMSBybyANClsgICAgMC4wMDAwMDBdIEFDUEkg
aW4gdW5wcml2aWxlZ2VkIGRvbWFpbiBkaXNhYmxlZA0KWyAgICAwLjAwMDAwMF0gZTgyMDog
QklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOg0KWyAgICAwLjAwMDAwMF0gWGVuOiBb
bWVtIDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAwMDAwOWZmZmZdIHVzYWJsZQ0KWyAg
ICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDAwMDBhMDAwMC0weDAwMDAwMDAwMDAw
ZmZmZmZdIHJlc2VydmVkDQpbICAgIDAuMDAwMDAwXSBYZW46IFttZW0gMHgwMDAwMDAwMDAw
MTAwMDAwLTB4MDAwMDAwMDAxZmZmZmZmZl0gdXNhYmxlDQpbICAgIDAuMDAwMDAwXSBOWCAo
RXhlY3V0ZSBEaXNhYmxlKSBwcm90ZWN0aW9uOiBhY3RpdmUNClsgICAgMC4wMDAwMDBdIERN
SSBub3QgcHJlc2VudCBvciBpbnZhbGlkLg0KWyAgICAwLjAwMDAwMF0gZTgyMDogdXBkYXRl
IFttZW0gMHgwMDAwMDAwMC0weDAwMDBmZmZmXSB1c2FibGUgPT0+IHJlc2VydmVkDQpbICAg
IDAuMDAwMDAwXSBlODIwOiByZW1vdmUgW21lbSAweDAwMGEwMDAwLTB4MDAwZmZmZmZdIHVz
YWJsZQ0KWyAgICAwLjAwMDAwMF0gTm8gQUdQIGJyaWRnZSBmb3VuZA0KWyAgICAwLjAwMDAw
MF0gZTgyMDogbGFzdF9wZm4gPSAweDIwMDAwIG1heF9hcmNoX3BmbiA9IDB4NDAwMDAwMDAw
DQpbICAgIDAuMDAwMDAwXSBpbml0aWFsIG1lbW9yeSBtYXBwZWQ6IFttZW0gMHgwMDAwMDAw
MC0weDAzN2M5ZmZmXQ0KWyAgICAwLjAwMDAwMF0gQmFzZSBtZW1vcnkgdHJhbXBvbGluZSBh
dCBbZmZmZjg4MDAwMDA5YTAwMF0gOWEwMDAgc2l6ZSAyNDU3Ng0KWyAgICAwLjAwMDAwMF0g
aW5pdF9tZW1vcnlfbWFwcGluZzogW21lbSAweDAwMDAwMDAwLTB4MWZmZmZmZmZdDQpbICAg
IDAuMDAwMDAwXSAgW21lbSAweDAwMDAwMDAwLTB4MWZmZmZmZmZdIHBhZ2UgNGsNClsgICAg
MC4wMDAwMDBdIGtlcm5lbCBkaXJlY3QgbWFwcGluZyB0YWJsZXMgdXAgdG8gMHgxZmZmZmZm
ZiBAIFttZW0gMHgwMjljNDAwMC0weDAyYWM1ZmZmXQ0KWyAgICAwLjAwMDAwMF0geGVuOiBz
ZXR0aW5nIFJXIHRoZSByYW5nZSAyYWE2MDAwIC0gMmFjNjAwMA0KWyAgICAwLjAwMDAwMF0g
UkFNRElTSzogW21lbSAweDAyYWM2MDAwLTB4MDM3YzlmZmZdDQpbICAgIDAuMDAwMDAwXSBO
VU1BIHR1cm5lZCBvZmYNClsgICAgMC4wMDAwMDBdIEZha2luZyBhIG5vZGUgYXQgW21lbSAw
eDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMDFmZmZmZmZmXQ0KWyAgICAwLjAwMDAwMF0g
SW5pdG1lbSBzZXR1cCBub2RlIDAgW21lbSAweDAwMDAwMDAwLTB4MWZmZmZmZmZdDQpbICAg
IDAuMDAwMDAwXSAgIE5PREVfREFUQSBbbWVtIDB4MWZmZjUwMDAtMHgxZmZmZmZmZl0NClsg
ICAgMC4wMDAwMDBdIFpvbmUgcmFuZ2VzOg0KWyAgICAwLjAwMDAwMF0gICBETUEgICAgICBb
bWVtIDB4MDAwMTAwMDAtMHgwMGZmZmZmZl0NClsgICAgMC4wMDAwMDBdICAgRE1BMzIgICAg
W21lbSAweDAxMDAwMDAwLTB4ZmZmZmZmZmZdDQpbICAgIDAuMDAwMDAwXSAgIE5vcm1hbCAg
IGVtcHR5DQpbICAgIDAuMDAwMDAwXSBNb3ZhYmxlIHpvbmUgc3RhcnQgZm9yIGVhY2ggbm9k
ZQ0KWyAgICAwLjAwMDAwMF0gRWFybHkgbWVtb3J5IG5vZGUgcmFuZ2VzDQpbICAgIDAuMDAw
MDAwXSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMTAwMDAtMHgwMDA5ZmZmZl0NClsgICAgMC4w
MDAwMDBdICAgbm9kZSAgIDA6IFttZW0gMHgwMDEwMDAwMC0weDFmZmZmZmZmXQ0KWyAgICAw
LjAwMDAwMF0gT24gbm9kZSAwIHRvdGFscGFnZXM6IDEzMDk2MA0KWyAgICAwLjAwMDAwMF0g
ICBETUEgem9uZTogNjQgcGFnZXMgdXNlZCBmb3IgbWVtbWFwDQpbICAgIDAuMDAwMDAwXSAg
IERNQSB6b25lOiA2IHBhZ2VzIHJlc2VydmVkDQpbICAgIDAuMDAwMDAwXSAgIERNQSB6b25l
OiAzOTE0IHBhZ2VzLCBMSUZPIGJhdGNoOjANClsgICAgMC4wMDAwMDBdICAgRE1BMzIgem9u
ZTogMTk4NCBwYWdlcyB1c2VkIGZvciBtZW1tYXANClsgICAgMC4wMDAwMDBdICAgRE1BMzIg
em9uZTogMTI0OTkyIHBhZ2VzLCBMSUZPIGJhdGNoOjMxDQpbICAgIDAuMDAwMDAwXSBzbXBi
b290OiBBbGxvd2luZyAxIENQVXMsIDAgaG90cGx1ZyBDUFVzDQpbICAgIDAuMDAwMDAwXSBO
byBsb2NhbCBBUElDIHByZXNlbnQNClsgICAgMC4wMDAwMDBdIEFQSUM6IGRpc2FibGUgYXBp
YyBmYWNpbGl0eQ0KWyAgICAwLjAwMDAwMF0gQVBJQzogc3dpdGNoZWQgdG8gYXBpYyBOT09Q
DQpbICAgIDAuMDAwMDAwXSBucl9pcnFzX2dzaTogMTYNClsgICAgMC4wMDAwMDBdIGU4MjA6
IFttZW0gMHgyMDAwMDAwMC0weGZmZmZmZmZmXSBhdmFpbGFibGUgZm9yIFBDSSBkZXZpY2Vz
DQpbICAgIDAuMDAwMDAwXSBCb290aW5nIHBhcmF2aXJ0dWFsaXplZCBrZXJuZWwgb24gWGVu
DQpbICAgIDAuMDAwMDAwXSBYZW4gdmVyc2lvbjogNC4zLXVuc3RhYmxlIChwcmVzZXJ2ZS1B
RCkNClsgICAgMC4wMDAwMDBdIHNldHVwX3BlcmNwdTogTlJfQ1BVUzo4IG5yX2NwdW1hc2tf
Yml0czo4IG5yX2NwdV9pZHM6MSBucl9ub2RlX2lkczoxDQpbICAgIDAuMDAwMDAwXSBQRVJD
UFU6IEVtYmVkZGVkIDI3IHBhZ2VzL2NwdSBAZmZmZjg4MDAxZmMwMDAwMCBzODEwODggcjgx
OTIgZDIxMzEyIHUyMDk3MTUyDQpbICAgIDAuMDAwMDAwXSBwY3B1LWFsbG9jOiBzODEwODgg
cjgxOTIgZDIxMzEyIHUyMDk3MTUyIGFsbG9jPTEqMjA5NzE1Mg0KWyAgICAwLjAwMDAwMF0g
cGNwdS1hbGxvYzogWzBdIDAgDQpbICAgIDAuMDAwMDAwXSBCdWlsdCAxIHpvbmVsaXN0cyBp
biBOb2RlIG9yZGVyLCBtb2JpbGl0eSBncm91cGluZyBvbi4gIFRvdGFsIHBhZ2VzOiAxMjg5
MDYNClsgICAgMC4wMDAwMDBdIFBvbGljeSB6b25lOiBETUEzMg0KWyAgICAwLjAwMDAwMF0g
S2VybmVsIGNvbW1hbmQgbGluZTogcm9vdD0vZGV2L3h2ZGExIHJvIA0KWyAgICAwLjAwMDAw
MF0gUElEIGhhc2ggdGFibGUgZW50cmllczogMjA0OCAob3JkZXI6IDIsIDE2Mzg0IGJ5dGVz
KQ0KWyAgICAwLjAwMDAwMF0gX19leF90YWJsZSBhbHJlYWR5IHNvcnRlZCwgc2tpcHBpbmcg
c29ydA0KWyAgICAwLjAwMDAwMF0gQ2hlY2tpbmcgYXBlcnR1cmUuLi4NClsgICAgMC4wMDAw
MDBdIE5vIEFHUCBicmlkZ2UgZm91bmQNClsgICAgMC4wMDAwMDBdIE1lbW9yeTogNDc2NzI0
ay81MjQyODhrIGF2YWlsYWJsZSAoNzQ3Mmsga2VybmVsIGNvZGUsIDQ0OGsgYWJzZW50LCA0
NzExNmsgcmVzZXJ2ZWQsIDU2MjZrIGRhdGEsIDY5NmsgaW5pdCkNClsgICAgMC4wMDAwMDBd
IFNMVUI6IEdlbnNsYWJzPTE1LCBIV2FsaWduPTY0LCBPcmRlcj0wLTMsIE1pbk9iamVjdHM9
MCwgQ1BVcz0xLCBOb2Rlcz0xDQpbICAgIDAuMDAwMDAwXSBQcmVlbXB0aWJsZSBoaWVyYXJj
aGljYWwgUkNVIGltcGxlbWVudGF0aW9uLg0KWyAgICAwLjAwMDAwMF0gCVJDVSBkeW50aWNr
LWlkbGUgZ3JhY2UtcGVyaW9kIGFjY2VsZXJhdGlvbiBpcyBlbmFibGVkLg0KWyAgICAwLjAw
MDAwMF0gCUFkZGl0aW9uYWwgcGVyLUNQVSBpbmZvIHByaW50ZWQgd2l0aCBzdGFsbHMuDQpb
ICAgIDAuMDAwMDAwXSAJUkNVIHJlc3RyaWN0aW5nIENQVXMgZnJvbSBOUl9DUFVTPTggdG8g
bnJfY3B1X2lkcz0xLg0KWyAgICAwLjAwMDAwMF0gTlJfSVJRUzo0MzUyIG5yX2lycXM6MjU2
IDE2DQpbICAgIDAuMDAwMDAwXSBDb25zb2xlOiBjb2xvdXIgZHVtbXkgZGV2aWNlIDgweDI1
DQpbICAgIDAuMDAwMDAwXSBjb25zb2xlIFt0dHkwXSBlbmFibGVkDQpbICAgIDAuMDAwMDAw
XSBjb25zb2xlIFtodmMwXSBlbmFibGVkDQpbICAgIDAuMDAwMDAwXSBMb2NrIGRlcGVuZGVu
Y3kgdmFsaWRhdG9yOiBDb3B5cmlnaHQgKGMpIDIwMDYgUmVkIEhhdCwgSW5jLiwgSW5nbyBN
b2xuYXINClsgICAgMC4wMDAwMDBdIC4uLiBNQVhfTE9DS0RFUF9TVUJDTEFTU0VTOiAgOA0K
WyAgICAwLjAwMDAwMF0gLi4uIE1BWF9MT0NLX0RFUFRIOiAgICAgICAgICA0OA0KWyAgICAw
LjAwMDAwMF0gLi4uIE1BWF9MT0NLREVQX0tFWVM6ICAgICAgICA4MTkxDQpbICAgIDAuMDAw
MDAwXSAuLi4gQ0xBU1NIQVNIX1NJWkU6ICAgICAgICAgIDQwOTYNClsgICAgMC4wMDAwMDBd
IC4uLiBNQVhfTE9DS0RFUF9FTlRSSUVTOiAgICAgMTYzODQNClsgICAgMC4wMDAwMDBdIC4u
LiBNQVhfTE9DS0RFUF9DSEFJTlM6ICAgICAgMzI3NjgNClsgICAgMC4wMDAwMDBdIC4uLiBD
SEFJTkhBU0hfU0laRTogICAgICAgICAgMTYzODQNClsgICAgMC4wMDAwMDBdICBtZW1vcnkg
dXNlZCBieSBsb2NrIGRlcGVuZGVuY3kgaW5mbzogNTg1NSBrQg0KWyAgICAwLjAwMDAwMF0g
IHBlciB0YXNrLXN0cnVjdCBtZW1vcnkgZm9vdHByaW50OiAxOTIwIGJ5dGVzDQpbICAgIDAu
MDAwMDAwXSBYZW46IHVzaW5nIHZjcHVvcCB0aW1lciBpbnRlcmZhY2UNClsgICAgMC4wMDAw
MDBdIGluc3RhbGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgMA0KWyAgICAwLjAwMDAwMF0gdHNj
OiBEZXRlY3RlZCAzMjAwLjE0NCBNSHogcHJvY2Vzc29yDQpbICAgIDAuMDAzMzMzXSBDYWxp
YnJhdGluZyBkZWxheSBsb29wIChza2lwcGVkKSwgdmFsdWUgY2FsY3VsYXRlZCB1c2luZyB0
aW1lciBmcmVxdWVuY3kuLiA2NDAyLjk2IEJvZ29NSVBTIChscGo9MTA2NjcxNDYpDQpbICAg
IDAuMDAzMzMzXSBwaWRfbWF4OiBkZWZhdWx0OiAzMjc2OCBtaW5pbXVtOiAzMDENClsgICAg
MC4wMDMzMzNdIERlbnRyeSBjYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDY1NTM2IChvcmRl
cjogNywgNTI0Mjg4IGJ5dGVzKQ0KWyAgICAwLjAwMzMzM10gSW5vZGUtY2FjaGUgaGFzaCB0
YWJsZSBlbnRyaWVzOiAzMjc2OCAob3JkZXI6IDYsIDI2MjE0NCBieXRlcykNClsgICAgMC4w
MDMzMzNdIE1vdW50LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogMjU2DQpbICAgIDAuMDAz
MzMzXSBJbml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBjcHVhY2N0DQpbICAgIDAuMDAzMzMz
XSBJbml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBmcmVlemVyDQpbICAgIDAuMDAzMzMzXSBJ
bml0aWFsaXppbmcgY2dyb3VwIHN1YnN5cyBibGtpbw0KWyAgICAwLjAwMzMzM10gdHNlZzog
MDAwMDAwMDAwMA0KWyAgICAwLjAwMzMzM10gQ1BVOiBQaHlzaWNhbCBQcm9jZXNzb3IgSUQ6
IDANClsgICAgMC4wMDMzMzNdIENQVTogUHJvY2Vzc29yIENvcmUgSUQ6IDENClsgICAgMC4w
MDMzMzNdIExhc3QgbGV2ZWwgaVRMQiBlbnRyaWVzOiA0S0IgNTEyLCAyTUIgMTYsIDRNQiA4
DQpbICAgIDAuMDAzMzMzXSBMYXN0IGxldmVsIGRUTEIgZW50cmllczogNEtCIDUxMiwgMk1C
IDEyOCwgNE1CIDY0DQpbICAgIDAuMDAzMzMzXSB0bGJfZmx1c2hhbGxfc2hpZnQ6IDQNClsg
ICAgMC4wMjUzNjNdIEZyZWVpbmcgU01QIGFsdGVybmF0aXZlczogMjRrIGZyZWVkDQpbICAg
IDAuMDI2MTc0XSBQZXJmb3JtYW5jZSBFdmVudHM6IA0KWyAgICAwLjAyNjE4N10gbm8gQVBJ
QywgYm9vdCB3aXRoIHRoZSAibGFwaWMiIGJvb3QgcGFyYW1ldGVyIHRvIGZvcmNlLWVuYWJs
ZSBpdC4NClsgICAgMC4wMjYxOTNdIG5vIGhhcmR3YXJlIHNhbXBsaW5nIGludGVycnVwdCBh
dmFpbGFibGUuDQpbICAgIDAuMDI2MjE1XSBCcm9rZW4gUE1VIGhhcmR3YXJlIGRldGVjdGVk
LCB1c2luZyBzb2Z0d2FyZSBldmVudHMgb25seS4NClsgICAgMC4wMjYyMjBdIEZhaWxlZCB0
byBhY2Nlc3MgcGVyZmN0ciBtc3IgKE1TUiBjMDAxMDAwNCBpcyAyMTg1YzUyYjYzOGYpDQpb
ICAgIDAuMDQzNTQ5XSBCcm91Z2h0IHVwIDEgQ1BVcw0KWyAgICAwLjA0MzYzNF0gTk1JIHdh
dGNoZG9nOiBkaXNhYmxlZCAoY3B1MCk6IGhhcmR3YXJlIGV2ZW50cyBub3QgZW5hYmxlZA0K
WyAgICAwLjA0NDA3OV0gR3JhbnQgdGFibGVzIHVzaW5nIHZlcnNpb24gMiBsYXlvdXQuDQpb
ICAgIDAuMDQ0MTAzXSBHcmFudCB0YWJsZSBpbml0aWFsaXplZA0KWyAgICAwLjA0NDIyNV0g
TkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNg0KWyAgICAwLjA0NTQ5OV0gUENJ
OiBzZXR0aW5nIHVwIFhlbiBQQ0kgZnJvbnRlbmQgc3R1Yg0KWyAgICAwLjA0NTQ5OV0gUENJ
OiBwY2lfY2FjaGVfbGluZV9zaXplIHNldCB0byA2NCBieXRlcw0KWyAgICAwLjA2MzA5NF0g
YmlvOiBjcmVhdGUgc2xhYiA8YmlvLTA+IGF0IDANClsgICAgMC4wNjMzMjNdIEFDUEk6IElu
dGVycHJldGVyIGRpc2FibGVkLg0KWyAgICAwLjA2MzUxN10geGVuL2JhbGxvb246IEluaXRp
YWxpc2luZyBiYWxsb29uIGRyaXZlci4NClsgICAgMC4wNjM1OTRdIHhlbi1iYWxsb29uOiBJ
bml0aWFsaXNpbmcgYmFsbG9vbiBkcml2ZXIuDQpbICAgIDAuMDYzNTk0XSB2Z2FhcmI6IGxv
YWRlZA0KWyAgICAwLjA2Mzc5NV0gU0NTSSBzdWJzeXN0ZW0gaW5pdGlhbGl6ZWQNClsgICAg
MC4wNjM5MzFdIGxpYmF0YSB2ZXJzaW9uIDMuMDAgbG9hZGVkLg0KWyAgICAwLjA2NDIxMF0g
dXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1c2Jmcw0KWyAgICAw
LjA2NDI3MF0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciBodWIN
ClsgICAgMC4wNjQzNDZdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRldmljZSBkcml2ZXIg
dXNiDQpbICAgIDAuMDY0NDgyXSBMaW51eCB2aWRlbyBjYXB0dXJlIGludGVyZmFjZTogdjIu
MDANClsgICAgMC4wNjQ4MDldIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZSBE
cml2ZXIgSW5pdGlhbGl6ZWQuDQpbICAgIDAuMDY0ODE1XSBQQ0k6IFN5c3RlbSBkb2VzIG5v
dCBzdXBwb3J0IFBDSQ0KWyAgICAwLjA2NDgxOV0gUENJOiBTeXN0ZW0gZG9lcyBub3Qgc3Vw
cG9ydCBQQ0kNClsgICAgMC4wNjcxMzddIFN3aXRjaGluZyB0byBjbG9ja3NvdXJjZSB4ZW4N
ClsgICAgMC4wNjczODhdIHBucDogUG5QIEFDUEk6IGRpc2FibGVkDQpbICAgIDAuMDcxMjQ3
XSBORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDINClsgICAgMC4wNzE0NzldIFRD
UCBlc3RhYmxpc2hlZCBoYXNoIHRhYmxlIGVudHJpZXM6IDE2Mzg0IChvcmRlcjogNiwgMjYy
MTQ0IGJ5dGVzKQ0KWyAgICAwLjA3MTY4MF0gVENQIGJpbmQgaGFzaCB0YWJsZSBlbnRyaWVz
OiAxNjM4NCAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMpDQpbICAgIDAuMDcyNTA1XSBUQ1A6
IEhhc2ggdGFibGVzIGNvbmZpZ3VyZWQgKGVzdGFibGlzaGVkIDE2Mzg0IGJpbmQgMTYzODQp
DQpbICAgIDAuMDcyNTU3XSBUQ1A6IHJlbm8gcmVnaXN0ZXJlZA0KWyAgICAwLjA3MjU3NF0g
VURQIGhhc2ggdGFibGUgZW50cmllczogMjU2IChvcmRlcjogMywgNDA5NjAgYnl0ZXMpDQpb
ICAgIDAuMDcyNjEyXSBVRFAtTGl0ZSBoYXNoIHRhYmxlIGVudHJpZXM6IDI1NiAob3JkZXI6
IDMsIDQwOTYwIGJ5dGVzKQ0KWyAgICAwLjA3Mjc1NV0gTkVUOiBSZWdpc3RlcmVkIHByb3Rv
Y29sIGZhbWlseSAxDQpbICAgIDAuMDcyNzY3XSBQQ0k6IENMUyAwIGJ5dGVzLCBkZWZhdWx0
IDY0DQpbICAgIDAuMDcyOTEyXSBUcnlpbmcgdG8gdW5wYWNrIHJvb3RmcyBpbWFnZSBhcyBp
bml0cmFtZnMuLi4NClsgICAgMC4wOTQyMzRdIEZyZWVpbmcgaW5pdHJkIG1lbW9yeTogMTMz
MjhrIGZyZWVkDQpbICAgIDAuMTAxMTk0XSBETUEtQVBJOiBwcmVhbGxvY2F0ZWQgMzI3Njgg
ZGVidWcgZW50cmllcw0KWyAgICAwLjEwMTIwNl0gRE1BLUFQSTogZGVidWdnaW5nIGVuYWJs
ZWQgYnkga2VybmVsIGNvbmZpZw0KWyAgICAwLjEwMTQyMF0gcGxhdGZvcm0gcnRjX2Ntb3M6
IHJlZ2lzdGVyZWQgcGxhdGZvcm0gUlRDIGRldmljZSAobm8gUE5QIGRldmljZSBmb3VuZCkN
ClsgICAgMC4xMDI1NDldIHNoYTFfc3NzZTM6IE5laXRoZXIgQVZYIG5vciBTU1NFMyBpcyBh
dmFpbGFibGUvdXNhYmxlLg0KWyAgICAwLjEwMjkxNV0gYXVkaXQ6IGluaXRpYWxpemluZyBu
ZXRsaW5rIHNvY2tldCAoZGlzYWJsZWQpDQpbICAgIDAuMTAyOTQ4XSB0eXBlPTIwMDAgYXVk
aXQoMTM0OTk0ODA1MC44MjU6MSk6IGluaXRpYWxpemVkDQpbICAgIDAuMTAzNDcwXSBIdWdl
VExCIHJlZ2lzdGVyZWQgMiBNQiBwYWdlIHNpemUsIHByZS1hbGxvY2F0ZWQgMCBwYWdlcw0K
WyAgICAwLjEwODkxMl0gVkZTOiBEaXNrIHF1b3RhcyBkcXVvdF82LjUuMg0KWyAgICAwLjEw
OTAyMV0gRHF1b3QtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA1MTIgKG9yZGVyIDAsIDQw
OTYgYnl0ZXMpDQpbICAgIDAuMTEwNTQwXSBOVEZTIGRyaXZlciAyLjEuMzAgW0ZsYWdzOiBS
L1ddLg0KWyAgICAwLjExMDc1OF0gZnVzZSBpbml0IChBUEkgdmVyc2lvbiA3LjIwKQ0KWyAg
ICAwLjExMDk2MF0gbXNnbW5pIGhhcyBiZWVuIHNldCB0byA5NTcNClsgICAgMC4xMTE2NzNd
IEJsb2NrIGxheWVyIFNDU0kgZ2VuZXJpYyAoYnNnKSBkcml2ZXIgdmVyc2lvbiAwLjQgbG9h
ZGVkIChtYWpvciAyNTIpDQpbICAgIDAuMTExNjk1XSBpbyBzY2hlZHVsZXIgbm9vcCByZWdp
c3RlcmVkDQpbICAgIDAuMTExNjk5XSBpbyBzY2hlZHVsZXIgZGVhZGxpbmUgcmVnaXN0ZXJl
ZA0KWyAgICAwLjExMTg4MF0gaW8gc2NoZWR1bGVyIGNmcSByZWdpc3RlcmVkIChkZWZhdWx0
KQ0KWyAgICAwLjExMjkwOF0gY3JjMzI6IENSQ19MRV9CSVRTID0gNjQsIENSQ19CRSBCSVRT
ID0gNjQNClsgICAgMC4xMTI5MTJdIGNyYzMyOiBzZWxmIHRlc3RzIHBhc3NlZCwgcHJvY2Vz
c2VkIDIyNTk0NCBieXRlcyBpbiAxMTI1ODAgbnNlYw0KWyAgICAwLjExMzAyMV0gY3JjMzJj
OiBDUkNfTEVfQklUUyA9IDY0DQpbICAgIDAuMTE3MjI2XSBjcmMzMmM6IHNlbGYgdGVzdHMg
cGFzc2VkLCBwcm9jZXNzZWQgMjI1OTQ0IGJ5dGVzIGluIDUwMzMzIG5zZWMNClsgICAgMC4x
MTc1NzZdIHBjaV9ob3RwbHVnOiBQQ0kgSG90IFBsdWcgUENJIENvcmUgdmVyc2lvbjogMC41
DQpbICAgIDAuMTE3Nzk3XSBwY2llaHA6IFBDSSBFeHByZXNzIEhvdCBQbHVnIENvbnRyb2xs
ZXIgRHJpdmVyIHZlcnNpb246IDAuNA0KWyAgICAwLjExODAxM10gdXNiY29yZTogcmVnaXN0
ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1ZGxmYg0KWyAgICAwLjExODQ2N10gRXZlbnQt
Y2hhbm5lbCBkZXZpY2UgaW5zdGFsbGVkLg0KWyAgICAwLjExOTIxM10gU2VyaWFsOiA4MjUw
LzE2NTUwIGRyaXZlciwgNCBwb3J0cywgSVJRIHNoYXJpbmcgZW5hYmxlZA0KWyAgICAwLjEy
MDA1NV0gTGludXggYWdwZ2FydCBpbnRlcmZhY2UgdjAuMTAzDQpbICAgIDAuMTIwMzc0XSBI
YW5nY2hlY2s6IHN0YXJ0aW5nIGhhbmdjaGVjayB0aW1lciAwLjkuMSAodGljayBpcyAxODAg
c2Vjb25kcywgbWFyZ2luIGlzIDYwIHNlY29uZHMpLg0KWyAgICAwLjEyMDM4M10gSGFuZ2No
ZWNrOiBVc2luZyBnZXRyYXdtb25vdG9uaWMoKS4NClsgICAgMC4xMjA0NDNdIFtkcm1dIElu
aXRpYWxpemVkIGRybSAxLjEuMCAyMDA2MDgxMA0KWyAgICAwLjEyMzI2OF0gYnJkOiBtb2R1
bGUgbG9hZGVkDQpbICAgIDAuMTI0ODU5XSBsb29wOiBtb2R1bGUgbG9hZGVkDQpbICAgIDAu
MTI3Nzc4XSB0dW46IFVuaXZlcnNhbCBUVU4vVEFQIGRldmljZSBkcml2ZXIsIDEuNg0KWyAg
ICAwLjEyNzc5Ml0gdHVuOiAoQykgMTk5OS0yMDA0IE1heCBLcmFzbnlhbnNreSA8bWF4a0Bx
dWFsY29tbS5jb20+DQpbICAgIDAuMTI3ODczXSBlMTAwMDogSW50ZWwoUikgUFJPLzEwMDAg
TmV0d29yayBEcml2ZXIgLSB2ZXJzaW9uIDcuMy4yMS1rOC1OQVBJDQpbICAgIDAuMTI3ODgw
XSBlMTAwMDogQ29weXJpZ2h0IChjKSAxOTk5LTIwMDYgSW50ZWwgQ29ycG9yYXRpb24uDQpb
ICAgIDAuMTI4MDA0XSBJbml0aWFsaXNpbmcgWGVuIHZpcnR1YWwgZXRoZXJuZXQgZHJpdmVy
Lg0KWyAgICAwLjEzMzA1OF0gZWhjaV9oY2Q6IFVTQiAyLjAgJ0VuaGFuY2VkJyBIb3N0IENv
bnRyb2xsZXIgKEVIQ0kpIERyaXZlcg0KWyAgICAwLjEzMzA3MV0gZWhjaV9oY2Q6IGJsb2Nr
IHNpemVzOiBxaCAxMDQgcXRkIDk2IGl0ZCAxOTIgc2l0ZCA5Ng0KWyAgICAwLjEzMzEzMF0g
b2hjaV9oY2Q6IFVTQiAxLjEgJ09wZW4nIEhvc3QgQ29udHJvbGxlciAoT0hDSSkgRHJpdmVy
DQpbICAgIDAuMTMzMTM2XSBvaGNpX2hjZDogYmxvY2sgc2l6ZXM6IGVkIDgwIHRkIDk2DQpb
ICAgIDAuMTMzMTg4XSB1aGNpX2hjZDogVVNCIFVuaXZlcnNhbCBIb3N0IENvbnRyb2xsZXIg
SW50ZXJmYWNlIGRyaXZlcg0KWyAgICAwLjEzMzMwMV0gdXNiY29yZTogcmVnaXN0ZXJlZCBu
ZXcgaW50ZXJmYWNlIGRyaXZlciB1c2JscA0KWyAgICAwLjEzMzMwNl0gSW5pdGlhbGl6aW5n
IFVTQiBNYXNzIFN0b3JhZ2UgZHJpdmVyLi4uDQpbICAgIDAuMTMzMzU5XSB1c2Jjb3JlOiBy
ZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVzYi1zdG9yYWdlDQpbICAgIDAuMTMz
MzY0XSBVU0IgTWFzcyBTdG9yYWdlIHN1cHBvcnQgcmVnaXN0ZXJlZC4NClsgICAgMC4xMzM0
OTddIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNic2VyaWFs
DQpbICAgIDAuMTMzNTY4XSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJp
dmVyIGNwMjEweA0KWyAgICAwLjEzMzcwMV0gdXNic2VyaWFsOiBVU0IgU2VyaWFsIHN1cHBv
cnQgcmVnaXN0ZXJlZCBmb3IgY3AyMTB4DQpbICAgIDAuMTMzNzU4XSB1c2Jjb3JlOiByZWdp
c3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIGN5cHJlc3NfbTgNClsgICAgMC4xMzM4MTVd
IHVzYnNlcmlhbDogVVNCIFNlcmlhbCBzdXBwb3J0IHJlZ2lzdGVyZWQgZm9yIERlTG9ybWUg
RWFydGhtYXRlIFVTQg0KWyAgICAwLjEzMzg3Ml0gdXNic2VyaWFsOiBVU0IgU2VyaWFsIHN1
cHBvcnQgcmVnaXN0ZXJlZCBmb3IgSElELT5DT00gUlMyMzIgQWRhcHRlcg0KWyAgICAwLjEz
MzkzMV0gdXNic2VyaWFsOiBVU0IgU2VyaWFsIHN1cHBvcnQgcmVnaXN0ZXJlZCBmb3IgTm9r
aWEgQ0EtNDIgVjIgQWRhcHRlcg0KWyAgICAwLjEzMzk4OV0gdXNiY29yZTogcmVnaXN0ZXJl
ZCBuZXcgaW50ZXJmYWNlIGRyaXZlciBtb3M3NzIwDQpbICAgIDAuMTM0MDQ1XSB1c2JzZXJp
YWw6IFVTQiBTZXJpYWwgc3VwcG9ydCByZWdpc3RlcmVkIGZvciBNb3NjaGlwIDIgcG9ydCBh
ZGFwdGVyDQpbICAgIDAuMTM0MTAyXSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZh
Y2UgZHJpdmVyIG1vczc4NDANClsgICAgMC4xMzQxNThdIHVzYnNlcmlhbDogVVNCIFNlcmlh
bCBzdXBwb3J0IHJlZ2lzdGVyZWQgZm9yIE1vc2NoaXAgNzg0MC83ODIwIFVTQiBTZXJpYWwg
RHJpdmVyDQpbICAgIDAuMTM0MzYwXSBpODA0MjogUE5QOiBObyBQUy8yIGNvbnRyb2xsZXIg
Zm91bmQuIFByb2JpbmcgcG9ydHMgZGlyZWN0bHkuDQpbICAgIDAuMTM1MTkwXSBpODA0Mjog
Tm8gY29udHJvbGxlciBmb3VuZA0KWyAgICAwLjEzNTI4NF0gbW91c2VkZXY6IFBTLzIgbW91
c2UgZGV2aWNlIGNvbW1vbiBmb3IgYWxsIG1pY2UNClsgICAgMC4xMzc1MjBdIGJsa2Zyb250
OiB4dmRhOiBmbHVzaCBkaXNrY2FjaGU6IGVuYWJsZWQNClsgICAgMC4xOTYwNTRdIHJ0Y19j
bW9zIHJ0Y19jbW9zOiBydGMgY29yZTogcmVnaXN0ZXJlZCBydGNfY21vcyBhcyBydGMwDQpb
ICAgIDAuMTk2NDM4XSBpZGFfcmVtb3ZlIGNhbGxlZCBmb3IgaWQ9MCB3aGljaCBpcyBub3Qg
YWxsb2NhdGVkLg0KWyAgICAwLjE5NjQ0OF0gcnRjX2Ntb3M6IHByb2JlIG9mIHJ0Y19jbW9z
IGZhaWxlZCB3aXRoIGVycm9yIC0zOA0KWyAgICAwLjE5NzAwOV0gbGlyY19kZXY6IElSIFJl
bW90ZSBDb250cm9sIGRyaXZlciByZWdpc3RlcmVkLCBtYWpvciAyNTAgDQpbICAgIDAuMTk3
MDI3XSBJUiBORUMgcHJvdG9jb2wgaGFuZGxlciBpbml0aWFsaXplZA0KWyAgICAwLjE5NzAz
MV0gSVIgUkM1KHgpIHByb3RvY29sIGhhbmRsZXIgaW5pdGlhbGl6ZWQNClsgICAgMC4xOTcw
MzVdIElSIFJDNiBwcm90b2NvbCBoYW5kbGVyIGluaXRpYWxpemVkDQpbICAgIDAuMTk3MDM4
XSBJUiBKVkMgcHJvdG9jb2wgaGFuZGxlciBpbml0aWFsaXplZA0KWyAgICAwLjE5NzA0MV0g
SVIgU29ueSBwcm90b2NvbCBoYW5kbGVyIGluaXRpYWxpemVkDQpbICAgIDAuMTk3MDQ1XSBJ
UiBSQzUgKHN0cmVhbXphcCkgcHJvdG9jb2wgaGFuZGxlciBpbml0aWFsaXplZA0KWyAgICAw
LjE5NzA0OV0gSVIgU0FOWU8gcHJvdG9jb2wgaGFuZGxlciBpbml0aWFsaXplZA0KWyAgICAw
LjE5NzA1Ml0gSVIgTUNFIEtleWJvYXJkL21vdXNlIHByb3RvY29sIGhhbmRsZXIgaW5pdGlh
bGl6ZWQNClsgICAgMC4xOTcwNTddIElSIExJUkMgYnJpZGdlIGhhbmRsZXIgaW5pdGlhbGl6
ZWQNClsgICAgMC4xOTcyNjhdIHNwNTEwMF90Y286IFNQNTEwMCBUQ08gV2F0Y2hEb2cgVGlt
ZXIgRHJpdmVyIHYwLjAxDQpbICAgIDAuMTk3MzgyXSB4ZW5fd2R0OiBYZW4gV2F0Y2hEb2cg
VGltZXIgRHJpdmVyIHYwLjAxDQpbICAgIDAuMTk3NTc4XSB4ZW5fd2R0OiBpbml0aWFsaXpl
ZCAodGltZW91dD02MHMsIG5vd2F5b3V0PTApDQpbICAgIDAuMTk3ODIwXSBkZXZpY2UtbWFw
cGVyOiBpb2N0bDogNC4yMy4wLWlvY3RsICgyMDEyLTA3LTI1KSBpbml0aWFsaXNlZDogZG0t
ZGV2ZWxAcmVkaGF0LmNvbQ0KWyAgICAwLjE5OTEyM10gdXNiY29yZTogcmVnaXN0ZXJlZCBu
ZXcgaW50ZXJmYWNlIGRyaXZlciB1c2JoaWQNClsgICAgMC4xOTkxMjldIHVzYmhpZDogVVNC
IEhJRCBjb3JlIGRyaXZlcg0KWyAgICAwLjIwMjMxM10gdXNiY29yZTogcmVnaXN0ZXJlZCBu
ZXcgaW50ZXJmYWNlIGRyaXZlciBzbmQtdXNiLWF1ZGlvDQpbICAgIDAuMjAyMzczXSB1c2Jj
b3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHNuZC11YTEwMQ0KWyAgICAw
LjIwMjQzNF0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciBzbmQt
dXNiLXVzeDJ5DQpbICAgIDAuMjAyNDg4XSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRl
cmZhY2UgZHJpdmVyIHNuZC11c2ItY2FpYXENClsgICAgMC4yMDI1NDNdIHVzYmNvcmU6IHJl
Z2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgc25kLXVzYi02ZmlyZQ0KWyAgICAwLjIw
MjU3NV0gTmV0ZmlsdGVyIG1lc3NhZ2VzIHZpYSBORVRMSU5LIHYwLjMwLg0KWyAgICAwLjIw
MjU4M10gbmZubF9hY2N0OiByZWdpc3RlcmluZyB3aXRoIG5mbmV0bGluay4NClsgICAgMC4y
MDI2MjZdIG5mX2Nvbm50cmFjayB2ZXJzaW9uIDAuNS4wICgzODI4IGJ1Y2tldHMsIDE1MzEy
IG1heCkNClsgICAgMC4yMDI5NTBdIGN0bmV0bGluayB2MC45MzogcmVnaXN0ZXJpbmcgd2l0
aCBuZm5ldGxpbmsuDQpbICAgIDAuMjAzMjUwXSB4dF90aW1lOiBrZXJuZWwgdGltZXpvbmUg
aXMgLTAwMDANClsgICAgMC4zMTY4NDhdIGlwX3NldDogcHJvdG9jb2wgNg0KWyAgICAwLjMx
Njg3NV0gSVBWUzogUmVnaXN0ZXJlZCBwcm90b2NvbHMgKCkNClsgICAgMC4zMTY5OTZdIElQ
VlM6IENvbm5lY3Rpb24gaGFzaCB0YWJsZSBjb25maWd1cmVkIChzaXplPTQwOTYsIG1lbW9y
eT02NEtieXRlcykNClsgICAgMC4zMTcwNjhdIElQVlM6IENyZWF0aW5nIG5ldG5zIHNpemU9
MTg5NiBpZD0wDQpbICAgIDAuMzE3MTAwXSBJUFZTOiBpcHZzIGxvYWRlZC4NClsgICAgMC4z
MTcyMTNdIGlwX3RhYmxlczogKEMpIDIwMDAtMjAwNiBOZXRmaWx0ZXIgQ29yZSBUZWFtDQpb
ICAgIDAuMzE3Mjc5XSBUQ1A6IGN1YmljIHJlZ2lzdGVyZWQNClsgICAgMC4zMTcyODVdIE5F
VDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMTcNClsgICAgMC4zMTczNDBdIEJyaWRn
ZSBmaXJld2FsbGluZyByZWdpc3RlcmVkDQpbICAgIDAuMzE3MzU5XSBFYnRhYmxlcyB2Mi4w
IHJlZ2lzdGVyZWQNClsgICAgMC4zMTc2MTddIHJlZ2lzdGVyZWQgdGFza3N0YXRzIHZlcnNp
b24gMQ0KWyAgICAwLjc4MjEzNF0gIHh2ZGE6IHh2ZGExIHh2ZGEyDQpbICAgIDAuODE3MTQw
XSBjb25zb2xlIFtuZXRjb24wXSBlbmFibGVkDQpbICAgIDAuODE3MTY2XSBuZXRjb25zb2xl
OiBuZXR3b3JrIGxvZ2dpbmcgc3RhcnRlZA0KWyAgICAwLjgxNzM2OF0gQUxTQSBkZXZpY2Ug
bGlzdDoNClsgICAgMC44MTczODVdICAgTm8gc291bmRjYXJkcyBmb3VuZC4NClsgICAgMC44
MjA0MjVdIEZyZWVpbmcgdW51c2VkIGtlcm5lbCBtZW1vcnk6IDY5NmsgZnJlZWQNClsgICAg
MC44MjA4ODddIFdyaXRlIHByb3RlY3RpbmcgdGhlIGtlcm5lbCByZWFkLW9ubHkgZGF0YTog
MTIyODhrDQpbICAgIDAuODM3ODMwXSBGcmVlaW5nIHVudXNlZCBrZXJuZWwgbWVtb3J5OiA3
MDhrIGZyZWVkDQpbICAgIDAuODM5OTM3XSBGcmVlaW5nIHVudXNlZCBrZXJuZWwgbWVtb3J5
OiAxMDc2ayBmcmVlZA0KWyAgICAzLjg3MTU4MV0gRVhUNC1mcyAoeHZkYTEpOiBtb3VudGVk
IGZpbGVzeXN0ZW0gd2l0aCBvcmRlcmVkIGRhdGEgbW9kZS4gT3B0czogKG51bGwpDQpbICAg
MTMuNDg2MTE1XSBBZGRpbmcgNzY5MDIwayBzd2FwIG9uIC9kZXYveHZkYTIuICBQcmlvcml0
eTotMSBleHRlbnRzOjEgYWNyb3NzOjc2OTAyMGsgU1MNClsgICAxMy41MjkxMzRdIEVYVDQt
ZnMgKHh2ZGExKTogcmUtbW91bnRlZC4gT3B0czogKG51bGwpDQpbICAgMTQuNDQ5MjA2XSBF
WFQ0LWZzICh4dmRhMSk6IHJlLW1vdW50ZWQuIE9wdHM6IGVycm9ycz1yZW1vdW50LXJvDQpb
ICAgMjIuOTY3Mzk3XSB0dHlfaW5pdF9kZXY6IDIgY2FsbGJhY2tzIHN1cHByZXNzZWQNClsg
ICAyMi45Njc2OTJdIHR0eVMwOiBMU1Igc2FmZXR5IGNoZWNrIGVuZ2FnZWQhDQpbICAgMjIu
OTcwMzM0XSB0dHlTMDogTFNSIHNhZmV0eSBjaGVjayBlbmdhZ2VkIQ0KWyAgIDIyLjk3Mjk1
Nl0gdHR5UzE6IExTUiBzYWZldHkgY2hlY2sgZW5nYWdlZCENClsgICAyMi45NzQ4MTFdIHR0
eVMxOiBMU1Igc2FmZXR5IGNoZWNrIGVuZ2FnZWQhDQpbICAgMzQuMjk4NTQ5XSAtLS0tLS0t
LS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0NClsgICAzNC4yOTg1NjddIFdBUk5JTkc6
IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jOjQ2NSB4ZW5uZXRfc3RhcnRfeG1pdCsw
eDdmZS8weDg2MCgpDQpbICAgMzQuMjk4NTc0XSBNb2R1bGVzIGxpbmtlZCBpbjoNClsgICAz
NC4yOTg1OTddIFBpZDogMTU4MCwgY29tbTogc3NoZCBOb3QgdGFpbnRlZCAzLjYuMHByZS1y
YzEtMjAxMjEwMTEgIzENClsgICAzNC4yOTg2MDNdIENhbGwgVHJhY2U6DQpbICAgMzQuMjk4
NjExXSAgWzxmZmZmZmZmZjgxMDY2NGVhPl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8w
eGIwDQpbICAgMzQuMjk4NjE3XSAgWzxmZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0
aF9udWxsKzB4MTUvMHgyMA0KWyAgIDM0LjI5ODYyM10gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5d
IHhlbm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwDQpbICAgMzQuMjk4NjMxXSAgWzxmZmZm
ZmZmZjgxNjFmMzQ5Pl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgIDM0
LjI5ODYzN10gIFs8ZmZmZmZmZmY4MTYzYjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4
MjkwDQpbICAgMzQuMjk4NjQzXSAgWzxmZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3ht
aXQrMHgxYTYvMHg1YTANClsgICAzNC4yOTg2NDldICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/
IGRldl9oYXJkX3N0YXJ0X3htaXQrMHg0NjAvMHg0NjANClsgICAzNC4yOTg2NTZdICBbPGZm
ZmZmZmZmODEwYWE4ZTU+XSA/IHRyYWNlX3NvZnRpcnFzX29mZisweDg1LzB4MWIwDQpbICAg
MzQuMjk4NjYzXSAgWzxmZmZmZmZmZjgxNmI5NTM2Pl0gaXBfZmluaXNoX291dHB1dCsweDIy
Ni8weDUzMA0KWyAgIDM0LjI5ODY2OF0gIFs8ZmZmZmZmZmY4MTZiOTNkZD5dID8gaXBfZmlu
aXNoX291dHB1dCsweGNkLzB4NTMwDQpbICAgMzQuMjk4Njc0XSAgWzxmZmZmZmZmZjgxNmI5
ODk5Pl0gaXBfb3V0cHV0KzB4NTkvMHhlMA0KWyAgIDM0LjI5ODY4MF0gIFs8ZmZmZmZmZmY4
MTZiODNiOD5dIGlwX2xvY2FsX291dCsweDI4LzB4OTANClsgICAzNC4yOTg2ODddICBbPGZm
ZmZmZmZmODE2Yjg5NmY+XSBpcF9xdWV1ZV94bWl0KzB4MTdmLzB4NGEwDQpbICAgMzQuMjk4
NjkyXSAgWzxmZmZmZmZmZjgxNmI4N2YwPl0gPyBpcF9zZW5kX3VuaWNhc3RfcmVwbHkrMHgz
NDAvMHgzNDANClsgICAzNC4yOTg2OTldICBbPGZmZmZmZmZmODEwYTBiYTc+XSA/IGdldG5z
dGltZW9mZGF5KzB4NDcvMHhlMA0KWyAgIDM0LjI5ODcwNV0gIFs8ZmZmZmZmZmY4MTYwZjRj
OT5dID8gX19za2JfY2xvbmUrMHgyOS8weDEyMA0KWyAgIDM0LjI5ODcxMV0gIFs8ZmZmZmZm
ZmY4MTZjZWEyMD5dIHRjcF90cmFuc21pdF9za2IrMHg0MDAvMHg4ZDANClsgICAzNC4yOTg3
MTddICBbPGZmZmZmZmZmODE2ZDE5ZmE+XSB0Y3Bfd3JpdGVfeG1pdCsweDIxYS8weGE1MA0K
WyAgIDM0LjI5ODcyM10gIFs8ZmZmZmZmZmY4MTZkMjI1Yj5dIHRjcF9wdXNoX29uZSsweDJi
LzB4NDANClsgICAzNC4yOTg3MjhdICBbPGZmZmZmZmZmODE2YzJkZWM+XSB0Y3Bfc2VuZG1z
ZysweDhkYy8weGUyMA0KWyAgIDM0LjI5ODczNV0gIFs8ZmZmZmZmZmY4MTZlOGYxOT5dIGlu
ZXRfc2VuZG1zZysweGE5LzB4MTAwDQpbICAgMzQuMjk4NzQwXSAgWzxmZmZmZmZmZjgxNmU4
ZTcwPl0gPyBpbmV0X2F1dG9iaW5kKzB4NzAvMHg3MA0KWyAgIDM0LjI5ODc0Nl0gIFs8ZmZm
ZmZmZmY4MTBiMGY4OD5dID8gbG9ja19hY3F1aXJlKzB4ZDgvMHgxMDANClsgICAzNC4yOTg3
NTNdICBbPGZmZmZmZmZmODE2MDYzMGQ+XSBzb2NrX2Fpb193cml0ZSsweDEyZC8weDE0MA0K
WyAgIDM0LjI5ODc2Ml0gIFs8ZmZmZmZmZmY4MTE0MzViMj5dIGRvX3N5bmNfd3JpdGUrMHhh
Mi8weGUwDQpbICAgMzQuMjk4NzY4XSAgWzxmZmZmZmZmZjgxMGFkMjJkPl0gPyB0cmFjZV9o
YXJkaXJxc19vbisweGQvMHgxMA0KWyAgIDM0LjI5ODc3NF0gIFs8ZmZmZmZmZmY4MTE0NDFk
ND5dIHZmc193cml0ZSsweDE3NC8weDE5MA0KWyAgIDM0LjI5ODc3OV0gIFs8ZmZmZmZmZmY4
MTE0NDJmYT5dIHN5c193cml0ZSsweDVhLzB4YTANClsgICAzNC4yOTg3ODZdICBbPGZmZmZm
ZmZmODEyYjMzZGU+XSA/IHRyYWNlX2hhcmRpcnFzX29uX3RodW5rKzB4M2EvMHgzZg0KWyAg
IDM0LjI5ODc5Ml0gIFs8ZmZmZmZmZmY4MTc0OTFjYz5dIGNzdGFyX2Rpc3BhdGNoKzB4Ny8w
eDI2DQpbICAgMzQuMjk4Nzk3XSAtLS1bIGVuZCB0cmFjZSAyZTI4ZWVjOTNiN2E4Yjc0IF0t
LS0NClsgICAzNC4yOTg4MjVdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0t
LQ0KWyAgIDM0LjI5ODgzMl0gV0FSTklORzogYXQgZHJpdmVycy9uZXQveGVuLW5ldGZyb250
LmM6NDY1IHhlbm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwKCkNClsgICAzNC4yOTg4Mzhd
IE1vZHVsZXMgbGlua2VkIGluOg0KWyAgIDM0LjI5ODg0M10gUGlkOiAxNTgwLCBjb21tOiBz
c2hkIFRhaW50ZWQ6IEcgICAgICAgIFcgICAgMy42LjBwcmUtcmMxLTIwMTIxMDExICMxDQpb
ICAgMzQuMjk4ODQ4XSBDYWxsIFRyYWNlOg0KWyAgIDM0LjI5ODg1Ml0gIFs8ZmZmZmZmZmY4
MTA2NjRlYT5dIHdhcm5fc2xvd3BhdGhfY29tbW9uKzB4N2EvMHhiMA0KWyAgIDM0LjI5ODg1
OF0gIFs8ZmZmZmZmZmY4MTA2NjUzNT5dIHdhcm5fc2xvd3BhdGhfbnVsbCsweDE1LzB4MjAN
ClsgICAzNC4yOTg4NjRdICBbPGZmZmZmZmZmODE0NmQ4OWU+XSB4ZW5uZXRfc3RhcnRfeG1p
dCsweDdmZS8weDg2MA0KWyAgIDM0LjI5ODg3MF0gIFs8ZmZmZmZmZmY4MTYxZjM0OT5dIGRl
dl9oYXJkX3N0YXJ0X3htaXQrMHgyMDkvMHg0NjANClsgICAzNC4yOTg4NzZdICBbPGZmZmZm
ZmZmODE2M2IwMzY+XSBzY2hfZGlyZWN0X3htaXQrMHhmNi8weDI5MA0KWyAgIDM0LjI5ODg4
MV0gIFs8ZmZmZmZmZmY4MTYxZjc0Nj5dIGRldl9xdWV1ZV94bWl0KzB4MWE2LzB4NWEwDQpb
ICAgMzQuMjk4ODg3XSAgWzxmZmZmZmZmZjgxNjFmNWEwPl0gPyBkZXZfaGFyZF9zdGFydF94
bWl0KzB4NDYwLzB4NDYwDQpbICAgMzQuMjk4ODkzXSAgWzxmZmZmZmZmZjgxMGFhOGU1Pl0g
PyB0cmFjZV9zb2Z0aXJxc19vZmYrMHg4NS8weDFiMA0KWyAgIDM0LjI5ODg5OV0gIFs8ZmZm
ZmZmZmY4MTZiOTUzNj5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgyMjYvMHg1MzANClsgICAzNC4y
OTg5MDRdICBbPGZmZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9vdXRwdXQrMHhjZC8w
eDUzMA0KWyAgIDM0LjI5ODkxMF0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5dIGlwX291dHB1dCsw
eDU5LzB4ZTANClsgICAzNC4yOTg5MTZdICBbPGZmZmZmZmZmODE2YjgzYjg+XSBpcF9sb2Nh
bF9vdXQrMHgyOC8weDkwDQpbICAgMzQuMjk4OTIxXSAgWzxmZmZmZmZmZjgxNmI4OTZmPl0g
aXBfcXVldWVfeG1pdCsweDE3Zi8weDRhMA0KWyAgIDM0LjI5ODkyN10gIFs8ZmZmZmZmZmY4
MTZiODdmMD5dID8gaXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4MzQwDQpbICAgMzQu
Mjk4OTMyXSAgWzxmZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVvZmRheSsweDQ3LzB4
ZTANClsgICAzNC4yOTg5MzhdICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/IF9fc2tiX2Nsb25l
KzB4MjkvMHgxMjANClsgICAzNC4yOTg5NDNdICBbPGZmZmZmZmZmODE2Y2VhMjA+XSB0Y3Bf
dHJhbnNtaXRfc2tiKzB4NDAwLzB4OGQwDQpbICAgMzQuMjk4OTQ5XSAgWzxmZmZmZmZmZjgx
NmQxOWZhPl0gdGNwX3dyaXRlX3htaXQrMHgyMWEvMHhhNTANClsgICAzNC4yOTg5NTVdICBb
PGZmZmZmZmZmODE2ZDIyOWQ+XSBfX3RjcF9wdXNoX3BlbmRpbmdfZnJhbWVzKzB4MmQvMHg5
MA0KWyAgIDM0LjI5ODk2MV0gIFs8ZmZmZmZmZmY4MTZjMjY5Mz5dIHRjcF9zZW5kbXNnKzB4
MTgzLzB4ZTIwDQpbICAgMzQuMjk4OTY2XSAgWzxmZmZmZmZmZjgxNmU4ZjE5Pl0gaW5ldF9z
ZW5kbXNnKzB4YTkvMHgxMDANClsgICAzNC4yOTg5NzJdICBbPGZmZmZmZmZmODE2ZThlNzA+
XSA/IGluZXRfYXV0b2JpbmQrMHg3MC8weDcwDQpbICAgMzQuMjk4OTc3XSAgWzxmZmZmZmZm
ZjgxMGIwZjg4Pl0gPyBsb2NrX2FjcXVpcmUrMHhkOC8weDEwMA0KWyAgIDM0LjI5ODk4M10g
IFs8ZmZmZmZmZmY4MTYwNjMwZD5dIHNvY2tfYWlvX3dyaXRlKzB4MTJkLzB4MTQwDQpbICAg
MzQuMjk4OTg4XSAgWzxmZmZmZmZmZjgxMTQzNWIyPl0gZG9fc3luY193cml0ZSsweGEyLzB4
ZTANClsgICAzNC4yOTg5OTRdICBbPGZmZmZmZmZmODEwYWQyMmQ+XSA/IHRyYWNlX2hhcmRp
cnFzX29uKzB4ZC8weDEwDQpbICAgMzQuMjk5MDAwXSAgWzxmZmZmZmZmZjgxMTQ0MWQ0Pl0g
dmZzX3dyaXRlKzB4MTc0LzB4MTkwDQpbICAgMzQuMjk5MDA1XSAgWzxmZmZmZmZmZjgxMTQ0
MmZhPl0gc3lzX3dyaXRlKzB4NWEvMHhhMA0KWyAgIDM0LjI5OTAxMV0gIFs8ZmZmZmZmZmY4
MTJiMzNkZT5dID8gdHJhY2VfaGFyZGlycXNfb25fdGh1bmsrMHgzYS8weDNmDQpbICAgMzQu
Mjk5MDE3XSAgWzxmZmZmZmZmZjgxNzQ5MWNjPl0gY3N0YXJfZGlzcGF0Y2grMHg3LzB4MjYN
ClsgICAzNC4yOTkwMjJdIC0tLVsgZW5kIHRyYWNlIDJlMjhlZWM5M2I3YThiNzUgXS0tLQ0K
WyAgIDM0LjI5OTAzNl0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tDQpb
ICAgMzQuMjk5MDQyXSBXQVJOSU5HOiBhdCBkcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYzo0
NjUgeGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjAoKQ0KWyAgIDM0LjI5OTA0N10gTW9k
dWxlcyBsaW5rZWQgaW46DQpbICAgMzQuMjk5MDUyXSBQaWQ6IDE1ODAsIGNvbW06IHNzaGQg
VGFpbnRlZDogRyAgICAgICAgVyAgICAzLjYuMHByZS1yYzEtMjAxMjEwMTEgIzENClsgICAz
NC4yOTkwNTddIENhbGwgVHJhY2U6DQpbICAgMzQuMjk5MDYxXSAgWzxmZmZmZmZmZjgxMDY2
NGVhPl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8weGIwDQpbICAgMzQuMjk5MDcxXSAg
WzxmZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0aF9udWxsKzB4MTUvMHgyMA0KWyAg
IDM0LjI5OTA3N10gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5dIHhlbm5ldF9zdGFydF94bWl0KzB4
N2ZlLzB4ODYwDQpbICAgMzQuMjk5MDg0XSAgWzxmZmZmZmZmZjgxNjFmMzQ5Pl0gZGV2X2hh
cmRfc3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgIDM0LjI5OTA4OV0gIFs8ZmZmZmZmZmY4
MTYzYjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4MjkwDQpbICAgMzQuMjk5MDk1XSAg
WzxmZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3htaXQrMHgxYTYvMHg1YTANClsgICAz
NC4yOTkxMDFdICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/IGRldl9oYXJkX3N0YXJ0X3htaXQr
MHg0NjAvMHg0NjANClsgICAzNC4yOTkxMDZdICBbPGZmZmZmZmZmODEwYWE4ZTU+XSA/IHRy
YWNlX3NvZnRpcnFzX29mZisweDg1LzB4MWIwDQpbICAgMzQuMjk5MTEyXSAgWzxmZmZmZmZm
ZjgxNmI5NTM2Pl0gaXBfZmluaXNoX291dHB1dCsweDIyNi8weDUzMA0KWyAgIDM0LjI5OTEx
OF0gIFs8ZmZmZmZmZmY4MTZiOTNkZD5dID8gaXBfZmluaXNoX291dHB1dCsweGNkLzB4NTMw
DQpbICAgMzQuMjk5MTI0XSAgWzxmZmZmZmZmZjgxNmI5ODk5Pl0gaXBfb3V0cHV0KzB4NTkv
MHhlMA0KWyAgIDM0LjI5OTEyOV0gIFs8ZmZmZmZmZmY4MTZiODNiOD5dIGlwX2xvY2FsX291
dCsweDI4LzB4OTANClsgICAzNC4yOTkxMzVdICBbPGZmZmZmZmZmODE2Yjg5NmY+XSBpcF9x
dWV1ZV94bWl0KzB4MTdmLzB4NGEwDQpbICAgMzQuMjk5MTQwXSAgWzxmZmZmZmZmZjgxNmI4
N2YwPl0gPyBpcF9zZW5kX3VuaWNhc3RfcmVwbHkrMHgzNDAvMHgzNDANClsgICAzNC4yOTkx
NDZdICBbPGZmZmZmZmZmODEwYTBiYTc+XSA/IGdldG5zdGltZW9mZGF5KzB4NDcvMHhlMA0K
WyAgIDM0LjI5OTE1Ml0gIFs8ZmZmZmZmZmY4MTYwZjRjOT5dID8gX19za2JfY2xvbmUrMHgy
OS8weDEyMA0KWyAgIDM0LjI5OTE1N10gIFs8ZmZmZmZmZmY4MTZjZWEyMD5dIHRjcF90cmFu
c21pdF9za2IrMHg0MDAvMHg4ZDANClsgICAzNC4yOTkxNjNdICBbPGZmZmZmZmZmODE2ZDE5
ZmE+XSB0Y3Bfd3JpdGVfeG1pdCsweDIxYS8weGE1MA0KWyAgIDM0LjI5OTE2OV0gIFs8ZmZm
ZmZmZmY4MTZkMjI5ZD5dIF9fdGNwX3B1c2hfcGVuZGluZ19mcmFtZXMrMHgyZC8weDkwDQpb
ICAgMzQuMjk5MTc0XSAgWzxmZmZmZmZmZjgxNmMyNjkzPl0gdGNwX3NlbmRtc2crMHgxODMv
MHhlMjANClsgICAzNC4yOTkxODBdICBbPGZmZmZmZmZmODE2ZThmMTk+XSBpbmV0X3NlbmRt
c2crMHhhOS8weDEwMA0KWyAgIDM0LjI5OTE4NV0gIFs8ZmZmZmZmZmY4MTZlOGU3MD5dID8g
aW5ldF9hdXRvYmluZCsweDcwLzB4NzANClsgICAzNC4yOTkxOTFdICBbPGZmZmZmZmZmODEw
YjBmODg+XSA/IGxvY2tfYWNxdWlyZSsweGQ4LzB4MTAwDQpbICAgMzQuMjk5MTk2XSAgWzxm
ZmZmZmZmZjgxNjA2MzBkPl0gc29ja19haW9fd3JpdGUrMHgxMmQvMHgxNDANClsgICAzNC4y
OTkyMDJdICBbPGZmZmZmZmZmODExNDM1YjI+XSBkb19zeW5jX3dyaXRlKzB4YTIvMHhlMA0K
WyAgIDM0LjI5OTIwOF0gIFs8ZmZmZmZmZmY4MTBhZDIyZD5dID8gdHJhY2VfaGFyZGlycXNf
b24rMHhkLzB4MTANClsgICAzNC4yOTkyMTNdICBbPGZmZmZmZmZmODExNDQxZDQ+XSB2ZnNf
d3JpdGUrMHgxNzQvMHgxOTANClsgICAzNC4yOTkyMTldICBbPGZmZmZmZmZmODExNDQyZmE+
XSBzeXNfd3JpdGUrMHg1YS8weGEwDQpbICAgMzQuMjk5MjI0XSAgWzxmZmZmZmZmZjgxMmIz
M2RlPl0gPyB0cmFjZV9oYXJkaXJxc19vbl90aHVuaysweDNhLzB4M2YNClsgICAzNC4yOTky
MzldICBbPGZmZmZmZmZmODE3NDkxY2M+XSBjc3Rhcl9kaXNwYXRjaCsweDcvMHgyNg0KWyAg
IDM0LjI5OTI0M10gLS0tWyBlbmQgdHJhY2UgMmUyOGVlYzkzYjdhOGI3NiBdLS0tDQpbICAg
MzQuNzk0NTkyXSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0NClsgICAz
NC43OTQ2MTVdIFdBUk5JTkc6IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jOjQ2NSB4
ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MCgpDQpbICAgMzQuNzk0NjIzXSBNb2R1bGVz
IGxpbmtlZCBpbjoNClsgICAzNC43OTQ2MzJdIFBpZDogMCwgY29tbTogc3dhcHBlci8wIFRh
aW50ZWQ6IEcgICAgICAgIFcgICAgMy42LjBwcmUtcmMxLTIwMTIxMDExICMxDQpbICAgMzQu
Nzk0NjQwXSBDYWxsIFRyYWNlOg0KWyAgIDM0Ljc5NDY0NF0gIDxJUlE+ICBbPGZmZmZmZmZm
ODEwNjY0ZWE+XSB3YXJuX3Nsb3dwYXRoX2NvbW1vbisweDdhLzB4YjANClsgICAzNC43OTQ2
NjBdICBbPGZmZmZmZmZmODEwNjY1MzU+XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgxNS8weDIw
DQpbICAgMzQuNzk0NjY3XSAgWzxmZmZmZmZmZjgxNDZkODllPl0geGVubmV0X3N0YXJ0X3ht
aXQrMHg3ZmUvMHg4NjANClsgICAzNC43OTQ2NzddICBbPGZmZmZmZmZmODE2MWYzNDk+XSBk
ZXZfaGFyZF9zdGFydF94bWl0KzB4MjA5LzB4NDYwDQpbICAgMzQuNzk0Njg1XSAgWzxmZmZm
ZmZmZjgxNjNiMDM2Pl0gc2NoX2RpcmVjdF94bWl0KzB4ZjYvMHgyOTANClsgICAzNC43OTQ2
OTNdICBbPGZmZmZmZmZmODE2MWY3NDY+XSBkZXZfcXVldWVfeG1pdCsweDFhNi8weDVhMA0K
WyAgIDM0Ljc5NDcwMV0gIFs8ZmZmZmZmZmY4MTYxZjVhMD5dID8gZGV2X2hhcmRfc3RhcnRf
eG1pdCsweDQ2MC8weDQ2MA0KWyAgIDM0Ljc5NDcxMF0gIFs8ZmZmZmZmZmY4MTBiMTQxNz5d
ID8gbG9ja19yZWxlYXNlKzB4MTE3LzB4MjUwDQpbICAgMzQuNzk0NzE5XSAgWzxmZmZmZmZm
ZjgxNmI5NTM2Pl0gaXBfZmluaXNoX291dHB1dCsweDIyNi8weDUzMA0KWyAgIDM0Ljc5NDcz
MF0gIFs8ZmZmZmZmZmY4MTZiOTNkZD5dID8gaXBfZmluaXNoX291dHB1dCsweGNkLzB4NTMw
DQpbICAgMzQuNzk0NzQyXSAgWzxmZmZmZmZmZjgxNmI5ODk5Pl0gaXBfb3V0cHV0KzB4NTkv
MHhlMA0KWyAgIDM0Ljc5NDc1MF0gIFs8ZmZmZmZmZmY4MTZiODNiOD5dIGlwX2xvY2FsX291
dCsweDI4LzB4OTANClsgICAzNC43OTQ3NTddICBbPGZmZmZmZmZmODE2Yjg5NmY+XSBpcF9x
dWV1ZV94bWl0KzB4MTdmLzB4NGEwDQpbICAgMzQuNzk0NzY1XSAgWzxmZmZmZmZmZjgxNmI4
N2YwPl0gPyBpcF9zZW5kX3VuaWNhc3RfcmVwbHkrMHgzNDAvMHgzNDANClsgICAzNC43OTQ3
NzNdICBbPGZmZmZmZmZmODEwYTBiYTc+XSA/IGdldG5zdGltZW9mZGF5KzB4NDcvMHhlMA0K
WyAgIDM0Ljc5NDc4MV0gIFs8ZmZmZmZmZmY4MTYwZjRjOT5dID8gX19za2JfY2xvbmUrMHgy
OS8weDEyMA0KWyAgIDM0Ljc5NDc4OF0gIFs8ZmZmZmZmZmY4MTZjZWEyMD5dIHRjcF90cmFu
c21pdF9za2IrMHg0MDAvMHg4ZDANClsgICAzNC43OTQ3OTZdICBbPGZmZmZmZmZmODE2ZDEx
MDY+XSB0Y3BfcmV0cmFuc21pdF9za2IrMHgxYzYvMHg1YTANClsgICAzNC43OTQ4MDRdICBb
PGZmZmZmZmZmODE2ZDE2N2U+XSB0Y3BfeG1pdF9yZXRyYW5zbWl0X3F1ZXVlKzB4MTllLzB4
MzAwDQpbICAgMzQuNzk0ODEyXSAgWzxmZmZmZmZmZjgxNmM5OWZmPl0gdGNwX2Zhc3RyZXRy
YW5zX2FsZXJ0KzB4OTRmLzB4Y2IwDQpbICAgMzQuNzk0ODE5XSAgWzxmZmZmZmZmZjgxNmNh
NzBjPl0gdGNwX2FjaysweDlhYy8weDExNTANClsgICAzNC43OTQ4MjddICBbPGZmZmZmZmZm
ODE2Y2Q4NTg+XSB0Y3BfcmN2X2VzdGFibGlzaGVkKzB4MzE4LzB4NjQwDQpbICAgMzQuNzk0
ODM4XSAgWzxmZmZmZmZmZjgxNmQ1ZWVmPl0gPyB0Y3BfdjRfcmN2KzB4NmNmLzB4YjEwDQpb
ICAgMzQuNzk0ODQ1XSAgWzxmZmZmZmZmZjgxNmQ1NGQ1Pl0gdGNwX3Y0X2RvX3JjdisweDEz
NS8weDQ4MA0KWyAgIDM0Ljc5NDg1NF0gIFs8ZmZmZmZmZmY4MTc0NjFkMj5dID8gX3Jhd19z
cGluX2xvY2tfbmVzdGVkKzB4NDIvMHg1MA0KWyAgIDM0Ljc5NDg2Ml0gIFs8ZmZmZmZmZmY4
MTZkNWVlZj5dID8gdGNwX3Y0X3JjdisweDZjZi8weGIxMA0KWyAgIDM0Ljc5NDg2OV0gIFs8
ZmZmZmZmZmY4MTZkNjE3ZD5dIHRjcF92NF9yY3YrMHg5NWQvMHhiMTANClsgICAzNC43OTQ4
NzZdICBbPGZmZmZmZmZmODEwYjBmODg+XSA/IGxvY2tfYWNxdWlyZSsweGQ4LzB4MTAwDQpb
ICAgMzQuNzk0ODg0XSAgWzxmZmZmZmZmZjgxNmIyOTk1Pl0gPyBpcF9sb2NhbF9kZWxpdmVy
X2ZpbmlzaCsweDQ1LzB4MjMwDQpbICAgMzQuNzk0ODkyXSAgWzxmZmZmZmZmZjgxNmIyYTZh
Pl0gaXBfbG9jYWxfZGVsaXZlcl9maW5pc2grMHgxMWEvMHgyMzANClsgICAzNC43OTQ5MDBd
ICBbPGZmZmZmZmZmODE2YjI5OTU+XSA/IGlwX2xvY2FsX2RlbGl2ZXJfZmluaXNoKzB4NDUv
MHgyMzANClsgICAzNC43OTQ5MDhdICBbPGZmZmZmZmZmODE2YjJiYjg+XSBpcF9sb2NhbF9k
ZWxpdmVyKzB4MzgvMHg4MA0KWyAgIDM0Ljc5NDkxNV0gIFs8ZmZmZmZmZmY4MTZiMjE3YT5d
IGlwX3Jjdl9maW5pc2grMHgxNWEvMHg2MzANClsgICAzNC43OTQ5MjJdICBbPGZmZmZmZmZm
ODE2YjI4Njg+XSBpcF9yY3YrMHgyMTgvMHgzMDANClsgICAzNC43OTQ5MzBdICBbPGZmZmZm
ZmZmODE2MWFjOGQ+XSBfX25ldGlmX3JlY2VpdmVfc2tiKzB4NjVkLzB4OGQwDQpbICAgMzQu
Nzk0OTM3XSAgWzxmZmZmZmZmZjgxNjFhNzc1Pl0gPyBfX25ldGlmX3JlY2VpdmVfc2tiKzB4
MTQ1LzB4OGQwDQpbICAgMzQuNzk0OTQ1XSAgWzxmZmZmZmZmZjgxMGFkMjJkPl0gPyB0cmFj
ZV9oYXJkaXJxc19vbisweGQvMHgxMA0KWyAgIDM0Ljc5NDk1M10gIFs8ZmZmZmZmZmY4MTBm
OTk3Mz5dID8gZnJlZV9ob3RfY29sZF9wYWdlKzB4MWIzLzB4MWUwDQpbICAgMzQuNzk0OTYx
XSAgWzxmZmZmZmZmZjgxNjFkMWY4Pl0gbmV0aWZfcmVjZWl2ZV9za2IrMHgyOC8weGYwDQpb
ICAgMzQuNzk0OTY4XSAgWzxmZmZmZmZmZjgxNjEyZDAzPl0gPyBfX3Bza2JfcHVsbF90YWls
KzB4MjUzLzB4MzQwDQpbICAgMzQuNzk0OTc2XSAgWzxmZmZmZmZmZjgxNDZlNGM1Pl0geGVu
bmV0X3BvbGwrMHhhZDUvMHhlMTANClsgICAzNC43OTQ5OTBdICBbPGZmZmZmZmZmODE2MWRm
YTY+XSBuZXRfcnhfYWN0aW9uKzB4MTM2LzB4MjYwDQpbICAgMzQuNzk0OTk4XSAgWzxmZmZm
ZmZmZjgxMDZlMzgxPl0gPyBfX2RvX3NvZnRpcnErMHg3MS8weDFhMA0KWyAgIDM0Ljc5NTAw
Nl0gIFs8ZmZmZmZmZmY4MTA2ZTNkOT5dIF9fZG9fc29mdGlycSsweGM5LzB4MWEwDQpbICAg
MzQuNzk1MDE0XSAgWzxmZmZmZmZmZjgxNzQ4ZDNjPl0gY2FsbF9zb2Z0aXJxKzB4MWMvMHgz
MA0KWyAgIDM0Ljc5NTAyMV0gIFs8ZmZmZmZmZmY4MTAwZWRiNT5dIGRvX3NvZnRpcnErMHg4
NS8weGYwDQpbICAgMzQuNzk1MDI4XSAgWzxmZmZmZmZmZjgxMDZlMjRlPl0gaXJxX2V4aXQr
MHg5ZS8weGQwDQpbICAgMzQuNzk1MDM3XSAgWzxmZmZmZmZmZjgxMzM5ZjVmPl0geGVuX2V2
dGNobl9kb191cGNhbGwrMHgyZi8weDQwDQpbICAgMzQuNzk1MDQ0XSAgWzxmZmZmZmZmZjgx
NzQ4ZDllPl0geGVuX2RvX2h5cGVydmlzb3JfY2FsbGJhY2srMHgxZS8weDMwDQpbICAgMzQu
Nzk1MDUwXSAgPEVPST4gIFs8ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2FsbF9z
Y2hlZF9vcCsweGEvMHgyMA0KWyAgIDM0Ljc5NTA2M10gIFs8ZmZmZmZmZmY4MTAwMTNhYT5d
ID8geGVuX2h5cGVyY2FsbF9zY2hlZF9vcCsweGEvMHgyMA0KWyAgIDM0Ljc5NTA3Ml0gIFs8
ZmZmZmZmZmY4MTAwODY5MD5dID8geGVuX3NhZmVfaGFsdCsweDEwLzB4MjANClsgICAzNC43
OTUwODBdICBbPGZmZmZmZmZmODEwMTYwZDA+XSA/IGRlZmF1bHRfaWRsZSsweDQwLzB4OTAN
ClsgICAzNC43OTUwODddICBbPGZmZmZmZmZmODEwMTY0ODY+XSA/IGNwdV9pZGxlKzB4OTYv
MHhmMA0KWyAgIDM0Ljc5NTA5NF0gIFs8ZmZmZmZmZmY4MTcyMmQzYz5dID8gcmVzdF9pbml0
KzB4YmMvMHhkMA0KWyAgIDM0Ljc5NTEwMV0gIFs8ZmZmZmZmZmY4MTcyMmM4MD5dID8gY3N1
bV9wYXJ0aWFsX2NvcHlfZ2VuZXJpYysweDE3MC8weDE3MA0KWyAgIDM0Ljc5NTExMV0gIFs8
ZmZmZmZmZmY4MWNlMGRmMj5dID8gc3RhcnRfa2VybmVsKzB4MzkwLzB4MzlkDQpbICAgMzQu
Nzk1MTE5XSAgWzxmZmZmZmZmZjgxY2UwODgyPl0gPyBrZXJuZWxfaW5pdCsweDIwYi8weDIw
Yg0KWyAgIDM0Ljc5NTEyNl0gIFs8ZmZmZmZmZmY4MWNlMDM1Nj5dID8geDg2XzY0X3N0YXJ0
X3Jlc2VydmF0aW9ucysweDEzMS8weDEzNg0KWyAgIDM0Ljc5NTEzNV0gIFs8ZmZmZmZmZmY4
MWNlM2Q2MD5dID8geGVuX3N0YXJ0X2tlcm5lbCsweDcwZC8weDcwZg0KWyAgIDM0Ljc5NTE0
Ml0gLS0tWyBlbmQgdHJhY2UgMmUyOGVlYzkzYjdhOGI3NyBdLS0tDQpbICAgMzQuNzk1MTcw
XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0NClsgICAzNC43OTUxNzhd
IFdBUk5JTkc6IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jOjQ2NSB4ZW5uZXRfc3Rh
cnRfeG1pdCsweDdmZS8weDg2MCgpDQpbICAgMzQuNzk1MTg2XSBNb2R1bGVzIGxpbmtlZCBp
bjoNClsgICAzNC43OTUxOTJdIFBpZDogMCwgY29tbTogc3dhcHBlci8wIFRhaW50ZWQ6IEcg
ICAgICAgIFcgICAgMy42LjBwcmUtcmMxLTIwMTIxMDExICMxDQpbICAgMzQuNzk1MTk5XSBD
YWxsIFRyYWNlOg0KWyAgIDM0Ljc5NTIwM10gIDxJUlE+ICBbPGZmZmZmZmZmODEwNjY0ZWE+
XSB3YXJuX3Nsb3dwYXRoX2NvbW1vbisweDdhLzB4YjANClsgICAzNC43OTUyMTVdICBbPGZm
ZmZmZmZmODEwNjY1MzU+XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgxNS8weDIwDQpbICAgMzQu
Nzk1MjIzXSAgWzxmZmZmZmZmZjgxNDZkODllPl0geGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUv
MHg4NjANClsgICAzNC43OTUyMzFdICBbPGZmZmZmZmZmODE2MWYzNDk+XSBkZXZfaGFyZF9z
dGFydF94bWl0KzB4MjA5LzB4NDYwDQpbICAgMzQuNzk1MjM5XSAgWzxmZmZmZmZmZjgxNjNi
MDM2Pl0gc2NoX2RpcmVjdF94bWl0KzB4ZjYvMHgyOTANClsgICAzNC43OTUyNDddICBbPGZm
ZmZmZmZmODE2MWY3NDY+XSBkZXZfcXVldWVfeG1pdCsweDFhNi8weDVhMA0KWyAgIDM0Ljc5
NTI1NF0gIFs8ZmZmZmZmZmY4MTYxZjVhMD5dID8gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDQ2
MC8weDQ2MA0KWyAgIDM0Ljc5NTI2Ml0gIFs8ZmZmZmZmZmY4MTBiMTQxNz5dID8gbG9ja19y
ZWxlYXNlKzB4MTE3LzB4MjUwDQpbICAgMzQuNzk1MjcwXSAgWzxmZmZmZmZmZjgxNmI5NTM2
Pl0gaXBfZmluaXNoX291dHB1dCsweDIyNi8weDUzMA0KWyAgIDM0Ljc5NTI3OF0gIFs8ZmZm
ZmZmZmY4MTZiOTNkZD5dID8gaXBfZmluaXNoX291dHB1dCsweGNkLzB4NTMwDQpbICAgMzQu
Nzk1Mjg1XSAgWzxmZmZmZmZmZjgxNmI5ODk5Pl0gaXBfb3V0cHV0KzB4NTkvMHhlMA0KWyAg
IDM0Ljc5NTI5M10gIFs8ZmZmZmZmZmY4MTZiODNiOD5dIGlwX2xvY2FsX291dCsweDI4LzB4
OTANClsgICAzNC43OTUzMDBdICBbPGZmZmZmZmZmODE2Yjg5NmY+XSBpcF9xdWV1ZV94bWl0
KzB4MTdmLzB4NGEwDQpbICAgMzQuNzk1MzA3XSAgWzxmZmZmZmZmZjgxNmI4N2YwPl0gPyBp
cF9zZW5kX3VuaWNhc3RfcmVwbHkrMHgzNDAvMHgzNDANClsgICAzNC43OTUzMTVdICBbPGZm
ZmZmZmZmODEwYTBiYTc+XSA/IGdldG5zdGltZW9mZGF5KzB4NDcvMHhlMA0KWyAgIDM0Ljc5
NTMyMl0gIFs8ZmZmZmZmZmY4MTYwZjRjOT5dID8gX19za2JfY2xvbmUrMHgyOS8weDEyMA0K
WyAgIDM0Ljc5NTMzMF0gIFs8ZmZmZmZmZmY4MTZjZWEyMD5dIHRjcF90cmFuc21pdF9za2Ir
MHg0MDAvMHg4ZDANClsgICAzNC43OTUzMzddICBbPGZmZmZmZmZmODE2ZDExMDY+XSB0Y3Bf
cmV0cmFuc21pdF9za2IrMHgxYzYvMHg1YTANClsgICAzNC43OTUzNDVdICBbPGZmZmZmZmZm
ODE2ZDE2N2U+XSB0Y3BfeG1pdF9yZXRyYW5zbWl0X3F1ZXVlKzB4MTllLzB4MzAwDQpbICAg
MzQuNzk1MzU0XSAgWzxmZmZmZmZmZjgxNmM5OWZmPl0gdGNwX2Zhc3RyZXRyYW5zX2FsZXJ0
KzB4OTRmLzB4Y2IwDQpbICAgMzQuNzk1MzYyXSAgWzxmZmZmZmZmZjgxNmNhNzBjPl0gdGNw
X2FjaysweDlhYy8weDExNTANClsgICAzNC43OTUzNjldICBbPGZmZmZmZmZmODE2Y2Q4NTg+
XSB0Y3BfcmN2X2VzdGFibGlzaGVkKzB4MzE4LzB4NjQwDQpbICAgMzQuNzk1Mzc3XSAgWzxm
ZmZmZmZmZjgxNmQ1ZWVmPl0gPyB0Y3BfdjRfcmN2KzB4NmNmLzB4YjEwDQpbICAgMzQuNzk1
Mzg0XSAgWzxmZmZmZmZmZjgxNmQ1NGQ1Pl0gdGNwX3Y0X2RvX3JjdisweDEzNS8weDQ4MA0K
WyAgIDM0Ljc5NTM5Ml0gIFs8ZmZmZmZmZmY4MTc0NjFkMj5dID8gX3Jhd19zcGluX2xvY2tf
bmVzdGVkKzB4NDIvMHg1MA0KWyAgIDM0Ljc5NTM5OV0gIFs8ZmZmZmZmZmY4MTZkNWVlZj5d
ID8gdGNwX3Y0X3JjdisweDZjZi8weGIxMA0KWyAgIDM0Ljc5NTQwNl0gIFs8ZmZmZmZmZmY4
MTZkNjE3ZD5dIHRjcF92NF9yY3YrMHg5NWQvMHhiMTANClsgICAzNC43OTU0MTNdICBbPGZm
ZmZmZmZmODEwYjBmODg+XSA/IGxvY2tfYWNxdWlyZSsweGQ4LzB4MTAwDQpbICAgMzQuNzk1
NDIwXSAgWzxmZmZmZmZmZjgxNmIyOTk1Pl0gPyBpcF9sb2NhbF9kZWxpdmVyX2ZpbmlzaCsw
eDQ1LzB4MjMwDQpbICAgMzQuNzk1NDI5XSAgWzxmZmZmZmZmZjgxNmIyYTZhPl0gaXBfbG9j
YWxfZGVsaXZlcl9maW5pc2grMHgxMWEvMHgyMzANClsgICAzNC43OTU0NDBdICBbPGZmZmZm
ZmZmODE2YjI5OTU+XSA/IGlwX2xvY2FsX2RlbGl2ZXJfZmluaXNoKzB4NDUvMHgyMzANClsg
ICAzNC43OTU0NTJdICBbPGZmZmZmZmZmODE2YjJiYjg+XSBpcF9sb2NhbF9kZWxpdmVyKzB4
MzgvMHg4MA0KWyAgIDM0Ljc5NTQ1OV0gIFs8ZmZmZmZmZmY4MTZiMjE3YT5dIGlwX3Jjdl9m
aW5pc2grMHgxNWEvMHg2MzANClsgICAzNC43OTU0NjZdICBbPGZmZmZmZmZmODE2YjI4Njg+
XSBpcF9yY3YrMHgyMTgvMHgzMDANClsgICAzNC43OTU0NzNdICBbPGZmZmZmZmZmODE2MWFj
OGQ+XSBfX25ldGlmX3JlY2VpdmVfc2tiKzB4NjVkLzB4OGQwDQpbICAgMzQuNzk1NDgyXSAg
WzxmZmZmZmZmZjgxNjFhNzc1Pl0gPyBfX25ldGlmX3JlY2VpdmVfc2tiKzB4MTQ1LzB4OGQw
DQpbICAgMzQuNzk1NDkwXSAgWzxmZmZmZmZmZjgxMGFkMjJkPl0gPyB0cmFjZV9oYXJkaXJx
c19vbisweGQvMHgxMA0KWyAgIDM0Ljc5NTQ5N10gIFs8ZmZmZmZmZmY4MTBmOTk3Mz5dID8g
ZnJlZV9ob3RfY29sZF9wYWdlKzB4MWIzLzB4MWUwDQpbICAgMzQuNzk1NTA1XSAgWzxmZmZm
ZmZmZjgxNjFkMWY4Pl0gbmV0aWZfcmVjZWl2ZV9za2IrMHgyOC8weGYwDQpbICAgMzQuNzk1
NTEzXSAgWzxmZmZmZmZmZjgxNjEyZDAzPl0gPyBfX3Bza2JfcHVsbF90YWlsKzB4MjUzLzB4
MzQwDQpbICAgMzQuNzk1NTIwXSAgWzxmZmZmZmZmZjgxNDZlNGM1Pl0geGVubmV0X3BvbGwr
MHhhZDUvMHhlMTANClsgICAzNC43OTU1MjldICBbPGZmZmZmZmZmODE2MWRmYTY+XSBuZXRf
cnhfYWN0aW9uKzB4MTM2LzB4MjYwDQpbICAgMzQuNzk1NTM2XSAgWzxmZmZmZmZmZjgxMDZl
MzgxPl0gPyBfX2RvX3NvZnRpcnErMHg3MS8weDFhMA0KWyAgIDM0Ljc5NTU0NF0gIFs8ZmZm
ZmZmZmY4MTA2ZTNkOT5dIF9fZG9fc29mdGlycSsweGM5LzB4MWEwDQpbICAgMzQuNzk1NTUx
XSAgWzxmZmZmZmZmZjgxNzQ4ZDNjPl0gY2FsbF9zb2Z0aXJxKzB4MWMvMHgzMA0KWyAgIDM0
Ljc5NTU1OF0gIFs8ZmZmZmZmZmY4MTAwZWRiNT5dIGRvX3NvZnRpcnErMHg4NS8weGYwDQpb
ICAgMzQuNzk1NTY1XSAgWzxmZmZmZmZmZjgxMDZlMjRlPl0gaXJxX2V4aXQrMHg5ZS8weGQw
DQpbICAgMzQuNzk1NTcyXSAgWzxmZmZmZmZmZjgxMzM5ZjVmPl0geGVuX2V2dGNobl9kb191
cGNhbGwrMHgyZi8weDQwDQpbICAgMzQuNzk1NTgwXSAgWzxmZmZmZmZmZjgxNzQ4ZDllPl0g
eGVuX2RvX2h5cGVydmlzb3JfY2FsbGJhY2srMHgxZS8weDMwDQpbICAgMzQuNzk1NTg2XSAg
PEVPST4gIFs8ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2FsbF9zY2hlZF9vcCsw
eGEvMHgyMA0KWyAgIDM0Ljc5NTU5OF0gIFs8ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVuX2h5
cGVyY2FsbF9zY2hlZF9vcCsweGEvMHgyMA0KWyAgIDM0Ljc5NTYwNl0gIFs8ZmZmZmZmZmY4
MTAwODY5MD5dID8geGVuX3NhZmVfaGFsdCsweDEwLzB4MjANClsgICAzNC43OTU2MTNdICBb
PGZmZmZmZmZmODEwMTYwZDA+XSA/IGRlZmF1bHRfaWRsZSsweDQwLzB4OTANClsgICAzNC43
OTU2MjBdICBbPGZmZmZmZmZmODEwMTY0ODY+XSA/IGNwdV9pZGxlKzB4OTYvMHhmMA0KWyAg
IDM0Ljc5NTYyN10gIFs8ZmZmZmZmZmY4MTcyMmQzYz5dID8gcmVzdF9pbml0KzB4YmMvMHhk
MA0KWyAgIDM0Ljc5NTYzM10gIFs8ZmZmZmZmZmY4MTcyMmM4MD5dID8gY3N1bV9wYXJ0aWFs
X2NvcHlfZ2VuZXJpYysweDE3MC8weDE3MA0KWyAgIDM0Ljc5NTY0MV0gIFs8ZmZmZmZmZmY4
MWNlMGRmMj5dID8gc3RhcnRfa2VybmVsKzB4MzkwLzB4MzlkDQpbICAgMzQuNzk1NjQ5XSAg
WzxmZmZmZmZmZjgxY2UwODgyPl0gPyBrZXJuZWxfaW5pdCsweDIwYi8weDIwYg0KWyAgIDM0
Ljc5NTY1Nl0gIFs8ZmZmZmZmZmY4MWNlMDM1Nj5dID8geDg2XzY0X3N0YXJ0X3Jlc2VydmF0
aW9ucysweDEzMS8weDEzNg0KWyAgIDM0Ljc5NTY2NV0gIFs8ZmZmZmZmZmY4MWNlM2Q2MD5d
ID8geGVuX3N0YXJ0X2tlcm5lbCsweDcwZC8weDcwZg0KWyAgIDM0Ljc5NTY3Ml0gLS0tWyBl
bmQgdHJhY2UgMmUyOGVlYzkzYjdhOGI3OCBdLS0tDQpbICAgMzQuNzk3NDUwXSAtLS0tLS0t
LS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0NClsgICAzNC43OTc0NjRdIFdBUk5JTkc6
IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jOjQ2NSB4ZW5uZXRfc3RhcnRfeG1pdCsw
eDdmZS8weDg2MCgpDQpbICAgMzQuNzk3NDc0XSBNb2R1bGVzIGxpbmtlZCBpbjoNClsgICAz
NC43OTc0ODJdIFBpZDogMTUzMiwgY29tbToga2xvZ2QgVGFpbnRlZDogRyAgICAgICAgVyAg
ICAzLjYuMHByZS1yYzEtMjAxMjEwMTEgIzENClsgICAzNC43OTc0ODldIENhbGwgVHJhY2U6
DQpbICAgMzQuNzk3NDkzXSAgPElSUT4gIFs8ZmZmZmZmZmY4MTA2NjRlYT5dIHdhcm5fc2xv
d3BhdGhfY29tbW9uKzB4N2EvMHhiMA0KWyAgIDM0Ljc5NzUwNl0gIFs8ZmZmZmZmZmY4MTA2
NjUzNT5dIHdhcm5fc2xvd3BhdGhfbnVsbCsweDE1LzB4MjANClsgICAzNC43OTc1MTNdICBb
PGZmZmZmZmZmODE0NmQ4OWU+XSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MA0KWyAg
IDM0Ljc5NzUyMl0gIFs8ZmZmZmZmZmY4MTYxZjM0OT5dIGRldl9oYXJkX3N0YXJ0X3htaXQr
MHgyMDkvMHg0NjANClsgICAzNC43OTc1MzBdICBbPGZmZmZmZmZmODE2M2IwMzY+XSBzY2hf
ZGlyZWN0X3htaXQrMHhmNi8weDI5MA0KWyAgIDM0Ljc5NzUzN10gIFs8ZmZmZmZmZmY4MTYx
Zjc0Nj5dIGRldl9xdWV1ZV94bWl0KzB4MWE2LzB4NWEwDQpbICAgMzQuNzk3NTQ1XSAgWzxm
ZmZmZmZmZjgxNjFmNWEwPl0gPyBkZXZfaGFyZF9zdGFydF94bWl0KzB4NDYwLzB4NDYwDQpb
ICAgMzQuNzk3NTU0XSAgWzxmZmZmZmZmZjgxMGIxNDE3Pl0gPyBsb2NrX3JlbGVhc2UrMHgx
MTcvMHgyNTANClsgICAzNC43OTc1NjJdICBbPGZmZmZmZmZmODE2Yjk1MzY+XSBpcF9maW5p
c2hfb3V0cHV0KzB4MjI2LzB4NTMwDQpbICAgMzQuNzk3NTcwXSAgWzxmZmZmZmZmZjgxNmI5
M2RkPl0gPyBpcF9maW5pc2hfb3V0cHV0KzB4Y2QvMHg1MzANClsgICAzNC43OTc1NzhdICBb
PGZmZmZmZmZmODE2Yjk4OTk+XSBpcF9vdXRwdXQrMHg1OS8weGUwDQpbICAgMzQuNzk3NTg3
XSAgWzxmZmZmZmZmZjgxNmI4M2I4Pl0gaXBfbG9jYWxfb3V0KzB4MjgvMHg5MA0KWyAgIDM0
Ljc5NzU5NF0gIFs8ZmZmZmZmZmY4MTZiODk2Zj5dIGlwX3F1ZXVlX3htaXQrMHgxN2YvMHg0
YTANClsgICAzNC43OTc2MDFdICBbPGZmZmZmZmZmODE2Yjg3ZjA+XSA/IGlwX3NlbmRfdW5p
Y2FzdF9yZXBseSsweDM0MC8weDM0MA0KWyAgIDM0Ljc5NzYwOV0gIFs8ZmZmZmZmZmY4MTBh
MGJhNz5dID8gZ2V0bnN0aW1lb2ZkYXkrMHg0Ny8weGUwDQpbICAgMzQuNzk3NjE3XSAgWzxm
ZmZmZmZmZjgxNjBmNGM5Pl0gPyBfX3NrYl9jbG9uZSsweDI5LzB4MTIwDQpbICAgMzQuNzk3
NjI0XSAgWzxmZmZmZmZmZjgxNmNlYTIwPl0gdGNwX3RyYW5zbWl0X3NrYisweDQwMC8weDhk
MA0KWyAgIDM0Ljc5NzYzMl0gIFs8ZmZmZmZmZmY4MTZkMTEwNj5dIHRjcF9yZXRyYW5zbWl0
X3NrYisweDFjNi8weDVhMA0KWyAgIDM0Ljc5NzY0MF0gIFs8ZmZmZmZmZmY4MTc0NmNiNT5d
ID8gX3Jhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKzB4NzUvMHhhMA0KWyAgIDM0Ljc5NzY0
OF0gIFs8ZmZmZmZmZmY4MTZkMTY3ZT5dIHRjcF94bWl0X3JldHJhbnNtaXRfcXVldWUrMHgx
OWUvMHgzMDANClsgICAzNC43OTc2NTZdICBbPGZmZmZmZmZmODE2Yzk5ZmY+XSB0Y3BfZmFz
dHJldHJhbnNfYWxlcnQrMHg5NGYvMHhjYjANClsgICAzNC43OTc2NjNdICBbPGZmZmZmZmZm
ODE2Y2E3MGM+XSB0Y3BfYWNrKzB4OWFjLzB4MTE1MA0KWyAgIDM0Ljc5NzY3MV0gIFs8ZmZm
ZmZmZmY4MTZjZDhjZT5dIHRjcF9yY3ZfZXN0YWJsaXNoZWQrMHgzOGUvMHg2NDANClsgICAz
NC43OTc2NzhdICBbPGZmZmZmZmZmODE2ZDVlZWY+XSA/IHRjcF92NF9yY3YrMHg2Y2YvMHhi
MTANClsgICAzNC43OTc2ODZdICBbPGZmZmZmZmZmODE2ZDU0ZDU+XSB0Y3BfdjRfZG9fcmN2
KzB4MTM1LzB4NDgwDQpbICAgMzQuNzk3NjkzXSAgWzxmZmZmZmZmZjgxNzQ2MWQyPl0gPyBf
cmF3X3NwaW5fbG9ja19uZXN0ZWQrMHg0Mi8weDUwDQpbICAgMzQuNzk3NzAxXSAgWzxmZmZm
ZmZmZjgxNmQ1ZWVmPl0gPyB0Y3BfdjRfcmN2KzB4NmNmLzB4YjEwDQpbICAgMzQuNzk3NzA4
XSAgWzxmZmZmZmZmZjgxNmQ2MTdkPl0gdGNwX3Y0X3JjdisweDk1ZC8weGIxMA0KWyAgIDM0
Ljc5NzcxNV0gIFs8ZmZmZmZmZmY4MTBiMGY4OD5dID8gbG9ja19hY3F1aXJlKzB4ZDgvMHgx
MDANClsgICAzNC43OTc3MjNdICBbPGZmZmZmZmZmODE2YjI5OTU+XSA/IGlwX2xvY2FsX2Rl
bGl2ZXJfZmluaXNoKzB4NDUvMHgyMzANClsgICAzNC43OTc3MzFdICBbPGZmZmZmZmZmODE2
YjJhNmE+XSBpcF9sb2NhbF9kZWxpdmVyX2ZpbmlzaCsweDExYS8weDIzMA0KWyAgIDM0Ljc5
Nzc0M10gIFs8ZmZmZmZmZmY4MTZiMjk5NT5dID8gaXBfbG9jYWxfZGVsaXZlcl9maW5pc2gr
MHg0NS8weDIzMA0KWyAgIDM0Ljc5Nzc1MV0gIFs8ZmZmZmZmZmY4MTZiMmJiOD5dIGlwX2xv
Y2FsX2RlbGl2ZXIrMHgzOC8weDgwDQpbICAgMzQuNzk3NzU5XSAgWzxmZmZmZmZmZjgxNmIy
MTdhPl0gaXBfcmN2X2ZpbmlzaCsweDE1YS8weDYzMA0KWyAgIDM0Ljc5Nzc2Nl0gIFs8ZmZm
ZmZmZmY4MTZiMjg2OD5dIGlwX3JjdisweDIxOC8weDMwMA0KWyAgIDM0Ljc5Nzc3M10gIFs8
ZmZmZmZmZmY4MTYxYWM4ZD5dIF9fbmV0aWZfcmVjZWl2ZV9za2IrMHg2NWQvMHg4ZDANClsg
ICAzNC43OTc3ODBdICBbPGZmZmZmZmZmODE2MWE3NzU+XSA/IF9fbmV0aWZfcmVjZWl2ZV9z
a2IrMHgxNDUvMHg4ZDANClsgICAzNC43OTc3ODhdICBbPGZmZmZmZmZmODEwYWQyMmQ+XSA/
IHRyYWNlX2hhcmRpcnFzX29uKzB4ZC8weDEwDQpbICAgMzQuNzk3Nzk2XSAgWzxmZmZmZmZm
ZjgxMGY5OTczPl0gPyBmcmVlX2hvdF9jb2xkX3BhZ2UrMHgxYjMvMHgxZTANClsgICAzNC43
OTc4MDRdICBbPGZmZmZmZmZmODE2MWQxZjg+XSBuZXRpZl9yZWNlaXZlX3NrYisweDI4LzB4
ZjANClsgICAzNC43OTc4MTFdICBbPGZmZmZmZmZmODE2MTJkMDM+XSA/IF9fcHNrYl9wdWxs
X3RhaWwrMHgyNTMvMHgzNDANClsgICAzNC43OTc4MTldICBbPGZmZmZmZmZmODE0NmU0YzU+
XSB4ZW5uZXRfcG9sbCsweGFkNS8weGUxMA0KWyAgIDM0Ljc5NzgyN10gIFs8ZmZmZmZmZmY4
MTYxZGZhNj5dIG5ldF9yeF9hY3Rpb24rMHgxMzYvMHgyNjANClsgICAzNC43OTc4MzVdICBb
PGZmZmZmZmZmODEwNmUzODE+XSA/IF9fZG9fc29mdGlycSsweDcxLzB4MWEwDQpbICAgMzQu
Nzk3ODQyXSAgWzxmZmZmZmZmZjgxMDZlM2Q5Pl0gX19kb19zb2Z0aXJxKzB4YzkvMHgxYTAN
ClsgICAzNC43OTc4NDldICBbPGZmZmZmZmZmODE3NDhkM2M+XSBjYWxsX3NvZnRpcnErMHgx
Yy8weDMwDQpbICAgMzQuNzk3ODU2XSAgWzxmZmZmZmZmZjgxMDBlZGI1Pl0gZG9fc29mdGly
cSsweDg1LzB4ZjANClsgICAzNC43OTc4NjNdICBbPGZmZmZmZmZmODEwNmUyNGU+XSBpcnFf
ZXhpdCsweDllLzB4ZDANClsgICAzNC43OTc4NzFdICBbPGZmZmZmZmZmODEzMzlmNWY+XSB4
ZW5fZXZ0Y2huX2RvX3VwY2FsbCsweDJmLzB4NDANClsgICAzNC43OTc4NzldICBbPGZmZmZm
ZmZmODE3NDhkOWU+XSB4ZW5fZG9faHlwZXJ2aXNvcl9jYWxsYmFjaysweDFlLzB4MzANClsg
ICAzNC43OTc4ODVdICA8RU9JPiANClsgICAzNC43OTc4ODldIC0tLVsgZW5kIHRyYWNlIDJl
MjhlZWM5M2I3YThiNzkgXS0tLQ0KWyAgIDM0Ljc5NzkxN10gLS0tLS0tLS0tLS0tWyBjdXQg
aGVyZSBdLS0tLS0tLS0tLS0tDQpbICAgMzQuNzk3OTI1XSBXQVJOSU5HOiBhdCBkcml2ZXJz
L25ldC94ZW4tbmV0ZnJvbnQuYzo0NjUgeGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjAo
KQ0KWyAgIDM0Ljc5NzkzMl0gTW9kdWxlcyBsaW5rZWQgaW46DQpbICAgMzQuNzk3OTM5XSBQ
aWQ6IDE1MzIsIGNvbW06IGtsb2dkIFRhaW50ZWQ6IEcgICAgICAgIFcgICAgMy42LjBwcmUt
cmMxLTIwMTIxMDExICMxDQpbICAgMzQuNzk3OTQ3XSBDYWxsIFRyYWNlOg0KWyAgIDM0Ljc5
Nzk1MF0gIDxJUlE+ICBbPGZmZmZmZmZmODEwNjY0ZWE+XSB3YXJuX3Nsb3dwYXRoX2NvbW1v
bisweDdhLzB4YjANClsgICAzNC43OTc5NjJdICBbPGZmZmZmZmZmODEwNjY1MzU+XSB3YXJu
X3Nsb3dwYXRoX251bGwrMHgxNS8weDIwDQpbICAgMzQuNzk3OTcwXSAgWzxmZmZmZmZmZjgx
NDZkODllPl0geGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjANClsgICAzNC43OTc5Nzhd
ICBbPGZmZmZmZmZmODE2MWYzNDk+XSBkZXZfaGFyZF9zdGFydF94bWl0KzB4MjA5LzB4NDYw
DQpbICAgMzQuNzk3OTg2XSAgWzxmZmZmZmZmZjgxNjNiMDM2Pl0gc2NoX2RpcmVjdF94bWl0
KzB4ZjYvMHgyOTANClsgICAzNC43OTc5OTRdICBbPGZmZmZmZmZmODE2MWY3NDY+XSBkZXZf
cXVldWVfeG1pdCsweDFhNi8weDVhMA0KWyAgIDM0Ljc5ODAwMV0gIFs8ZmZmZmZmZmY4MTYx
ZjVhMD5dID8gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDQ2MC8weDQ2MA0KWyAgIDM0Ljc5ODAx
Ml0gIFs8ZmZmZmZmZmY4MTBiMTQxNz5dID8gbG9ja19yZWxlYXNlKzB4MTE3LzB4MjUwDQpb
ICAgMzQuNzk4MDE5XSAgWzxmZmZmZmZmZjgxNmI5NTM2Pl0gaXBfZmluaXNoX291dHB1dCsw
eDIyNi8weDUzMA0KWyAgIDM0Ljc5ODAyN10gIFs8ZmZmZmZmZmY4MTZiOTNkZD5dID8gaXBf
ZmluaXNoX291dHB1dCsweGNkLzB4NTMwDQpbICAgMzQuNzk4MDM1XSAgWzxmZmZmZmZmZjgx
NmI5ODk5Pl0gaXBfb3V0cHV0KzB4NTkvMHhlMA0KWyAgIDM0Ljc5ODA0M10gIFs8ZmZmZmZm
ZmY4MTZiODNiOD5dIGlwX2xvY2FsX291dCsweDI4LzB4OTANClsgICAzNC43OTgwNTBdICBb
PGZmZmZmZmZmODE2Yjg5NmY+XSBpcF9xdWV1ZV94bWl0KzB4MTdmLzB4NGEwDQpbICAgMzQu
Nzk4MDU3XSAgWzxmZmZmZmZmZjgxNmI4N2YwPl0gPyBpcF9zZW5kX3VuaWNhc3RfcmVwbHkr
MHgzNDAvMHgzNDANClsgICAzNC43OTgwNjVdICBbPGZmZmZmZmZmODEwYTBiYTc+XSA/IGdl
dG5zdGltZW9mZGF5KzB4NDcvMHhlMA0KWyAgIDM0Ljc5ODA3Ml0gIFs8ZmZmZmZmZmY4MTYw
ZjRjOT5dID8gX19za2JfY2xvbmUrMHgyOS8weDEyMA0KWyAgIDM0Ljc5ODA4MF0gIFs8ZmZm
ZmZmZmY4MTZjZWEyMD5dIHRjcF90cmFuc21pdF9za2IrMHg0MDAvMHg4ZDANClsgICAzNC43
OTgwODddICBbPGZmZmZmZmZmODE2ZDExMDY+XSB0Y3BfcmV0cmFuc21pdF9za2IrMHgxYzYv
MHg1YTANClsgICAzNC43OTgwOTVdICBbPGZmZmZmZmZmODE3NDZjYjU+XSA/IF9yYXdfc3Bp
bl91bmxvY2tfaXJxcmVzdG9yZSsweDc1LzB4YTANClsgICAzNC43OTgxMDNdICBbPGZmZmZm
ZmZmODE2ZDE2N2U+XSB0Y3BfeG1pdF9yZXRyYW5zbWl0X3F1ZXVlKzB4MTllLzB4MzAwDQpb
ICAgMzQuNzk4MTExXSAgWzxmZmZmZmZmZjgxNmM5OWZmPl0gdGNwX2Zhc3RyZXRyYW5zX2Fs
ZXJ0KzB4OTRmLzB4Y2IwDQpbICAgMzQuNzk4MTE5XSAgWzxmZmZmZmZmZjgxNmNhNzBjPl0g
dGNwX2FjaysweDlhYy8weDExNTANClsgICAzNC43OTgxMjZdICBbPGZmZmZmZmZmODE2Y2Q4
Y2U+XSB0Y3BfcmN2X2VzdGFibGlzaGVkKzB4MzhlLzB4NjQwDQpbICAgMzQuNzk4MTM0XSAg
WzxmZmZmZmZmZjgxNmQ1ZWVmPl0gPyB0Y3BfdjRfcmN2KzB4NmNmLzB4YjEwDQpbICAgMzQu
Nzk4MTQxXSAgWzxmZmZmZmZmZjgxNmQ1NGQ1Pl0gdGNwX3Y0X2RvX3JjdisweDEzNS8weDQ4
MA0KWyAgIDM0Ljc5ODE0OV0gIFs8ZmZmZmZmZmY4MTc0NjFkMj5dID8gX3Jhd19zcGluX2xv
Y2tfbmVzdGVkKzB4NDIvMHg1MA0KWyAgIDM0Ljc5ODE1Nl0gIFs8ZmZmZmZmZmY4MTZkNWVl
Zj5dID8gdGNwX3Y0X3JjdisweDZjZi8weGIxMA0KWyAgIDM0Ljc5ODE2NF0gIFs8ZmZmZmZm
ZmY4MTZkNjE3ZD5dIHRjcF92NF9yY3YrMHg5NWQvMHhiMTANClsgICAzNC43OTgxNzFdICBb
PGZmZmZmZmZmODEwYjBmODg+XSA/IGxvY2tfYWNxdWlyZSsweGQ4LzB4MTAwDQpbICAgMzQu
Nzk4MTc4XSAgWzxmZmZmZmZmZjgxNmIyOTk1Pl0gPyBpcF9sb2NhbF9kZWxpdmVyX2Zpbmlz
aCsweDQ1LzB4MjMwDQpbICAgMzQuNzk4MTg2XSAgWzxmZmZmZmZmZjgxNmIyYTZhPl0gaXBf
bG9jYWxfZGVsaXZlcl9maW5pc2grMHgxMWEvMHgyMzANClsgICAzNC43OTgxOTRdICBbPGZm
ZmZmZmZmODE2YjI5OTU+XSA/IGlwX2xvY2FsX2RlbGl2ZXJfZmluaXNoKzB4NDUvMHgyMzAN
ClsgICAzNC43OTgyMDJdICBbPGZmZmZmZmZmODE2YjJiYjg+XSBpcF9sb2NhbF9kZWxpdmVy
KzB4MzgvMHg4MA0KWyAgIDM0Ljc5ODIxMF0gIFs8ZmZmZmZmZmY4MTZiMjE3YT5dIGlwX3Jj
dl9maW5pc2grMHgxNWEvMHg2MzANClsgICAzNC43OTgyMjBdICBbPGZmZmZmZmZmODE2YjI4
Njg+XSBpcF9yY3YrMHgyMTgvMHgzMDANClsgICAzNC43OTgyMjddICBbPGZmZmZmZmZmODE2
MWFjOGQ+XSBfX25ldGlmX3JlY2VpdmVfc2tiKzB4NjVkLzB4OGQwDQpbICAgMzQuNzk4MjM0
XSAgWzxmZmZmZmZmZjgxNjFhNzc1Pl0gPyBfX25ldGlmX3JlY2VpdmVfc2tiKzB4MTQ1LzB4
OGQwDQpbICAgMzQuNzk4MjQyXSAgWzxmZmZmZmZmZjgxMGFkMjJkPl0gPyB0cmFjZV9oYXJk
aXJxc19vbisweGQvMHgxMA0KWyAgIDM0Ljc5ODI0OV0gIFs8ZmZmZmZmZmY4MTBmOTk3Mz5d
ID8gZnJlZV9ob3RfY29sZF9wYWdlKzB4MWIzLzB4MWUwDQpbICAgMzQuNzk4MjU3XSAgWzxm
ZmZmZmZmZjgxNjFkMWY4Pl0gbmV0aWZfcmVjZWl2ZV9za2IrMHgyOC8weGYwDQpbICAgMzQu
Nzk4MjY1XSAgWzxmZmZmZmZmZjgxNjEyZDAzPl0gPyBfX3Bza2JfcHVsbF90YWlsKzB4MjUz
LzB4MzQwDQpbICAgMzQuNzk4Mjc2XSAgWzxmZmZmZmZmZjgxNDZlNGM1Pl0geGVubmV0X3Bv
bGwrMHhhZDUvMHhlMTANClsgICAzNC43OTgyODVdICBbPGZmZmZmZmZmODE2MWRmYTY+XSBu
ZXRfcnhfYWN0aW9uKzB4MTM2LzB4MjYwDQpbICAgMzQuNzk4MjkyXSAgWzxmZmZmZmZmZjgx
MDZlMzgxPl0gPyBfX2RvX3NvZnRpcnErMHg3MS8weDFhMA0KWyAgIDM0Ljc5ODMwMF0gIFs8
ZmZmZmZmZmY4MTA2ZTNkOT5dIF9fZG9fc29mdGlycSsweGM5LzB4MWEwDQpbICAgMzQuNzk4
MzA3XSAgWzxmZmZmZmZmZjgxNzQ4ZDNjPl0gY2FsbF9zb2Z0aXJxKzB4MWMvMHgzMA0KWyAg
IDM0Ljc5ODMxNF0gIFs8ZmZmZmZmZmY4MTAwZWRiNT5dIGRvX3NvZnRpcnErMHg4NS8weGYw
DQpbICAgMzQuNzk4MzIxXSAgWzxmZmZmZmZmZjgxMDZlMjRlPl0gaXJxX2V4aXQrMHg5ZS8w
eGQwDQpbICAgMzQuNzk4MzI4XSAgWzxmZmZmZmZmZjgxMzM5ZjVmPl0geGVuX2V2dGNobl9k
b191cGNhbGwrMHgyZi8weDQwDQpbICAgMzQuNzk4MzM1XSAgWzxmZmZmZmZmZjgxNzQ4ZDll
Pl0geGVuX2RvX2h5cGVydmlzb3JfY2FsbGJhY2srMHgxZS8weDMwDQpbICAgMzQuNzk4MzQy
XSAgPEVPST4gDQpbICAgMzQuNzk4MzQ1XSAtLS1bIGVuZCB0cmFjZSAyZTI4ZWVjOTNiN2E4
YjdhIF0tLS0NClsgICAzNC43OTgzNjhdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0t
LS0tLS0tLQ0KWyAgIDM0Ljc5ODM3NV0gV0FSTklORzogYXQgZHJpdmVycy9uZXQveGVuLW5l
dGZyb250LmM6NDY1IHhlbm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwKCkNClsgICAzNC43
OTgzODNdIE1vZHVsZXMgbGlua2VkIGluOg0KWyAgIDM0Ljc5ODM4OF0gUGlkOiAxNTMyLCBj
b21tOiBrbG9nZCBUYWludGVkOiBHICAgICAgICBXICAgIDMuNi4wcHJlLXJjMS0yMDEyMTAx
MSAjMQ0KWyAgIDM0Ljc5ODM5Nl0gQ2FsbCBUcmFjZToNClsgICAzNC43OTg0MDBdICA8SVJR
PiAgWzxmZmZmZmZmZjgxMDY2NGVhPl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8weGIw
DQpbICAgMzQuNzk4NDExXSAgWzxmZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0aF9u
dWxsKzB4MTUvMHgyMA0KWyAgIDM0Ljc5ODQxOF0gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5dIHhl
bm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwDQpbICAgMzQuNzk4NDI2XSAgWzxmZmZmZmZm
ZjgxNjFmMzQ5Pl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgIDM0Ljc5
ODQzNF0gIFs8ZmZmZmZmZmY4MTYzYjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4Mjkw
DQpbICAgMzQuNzk4NDQyXSAgWzxmZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3htaXQr
MHgxYTYvMHg1YTANClsgICAzNC43OTg0NDldICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/IGRl
dl9oYXJkX3N0YXJ0X3htaXQrMHg0NjAvMHg0NjANClsgICAzNC43OTg0NTddICBbPGZmZmZm
ZmZmODEwYjE0MTc+XSA/IGxvY2tfcmVsZWFzZSsweDExNy8weDI1MA0KWyAgIDM0Ljc5ODQ2
NV0gIFs8ZmZmZmZmZmY4MTZiOTUzNj5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgyMjYvMHg1MzAN
ClsgICAzNC43OTg0NzJdICBbPGZmZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9vdXRw
dXQrMHhjZC8weDUzMA0KWyAgIDM0Ljc5ODQ4MF0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5dIGlw
X291dHB1dCsweDU5LzB4ZTANClsgICAzNC43OTg0ODddICBbPGZmZmZmZmZmODE2YjgzYjg+
XSBpcF9sb2NhbF9vdXQrMHgyOC8weDkwDQpbICAgMzQuNzk4NDk0XSAgWzxmZmZmZmZmZjgx
NmI4OTZmPl0gaXBfcXVldWVfeG1pdCsweDE3Zi8weDRhMA0KWyAgIDM0Ljc5ODUwMl0gIFs8
ZmZmZmZmZmY4MTZiODdmMD5dID8gaXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4MzQw
DQpbICAgMzQuNzk4NTEwXSAgWzxmZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVvZmRh
eSsweDQ3LzB4ZTANClsgICAzNC43OTg1MThdICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/IF9f
c2tiX2Nsb25lKzB4MjkvMHgxMjANClsgICAzNC43OTg1MjZdICBbPGZmZmZmZmZmODE2Y2Vh
MjA+XSB0Y3BfdHJhbnNtaXRfc2tiKzB4NDAwLzB4OGQwDQpbICAgMzQuNzk4NTM0XSAgWzxm
ZmZmZmZmZjgxNmQxMTA2Pl0gdGNwX3JldHJhbnNtaXRfc2tiKzB4MWM2LzB4NWEwDQpbICAg
MzQuNzk4NTQxXSAgWzxmZmZmZmZmZjgxNzQ2Y2I1Pl0gPyBfcmF3X3NwaW5fdW5sb2NrX2ly
cXJlc3RvcmUrMHg3NS8weGEwDQpbICAgMzQuNzk4NTUwXSAgWzxmZmZmZmZmZjgxNmQxNjdl
Pl0gdGNwX3htaXRfcmV0cmFuc21pdF9xdWV1ZSsweDE5ZS8weDMwMA0KWyAgIDM0Ljc5ODU1
OF0gIFs8ZmZmZmZmZmY4MTZjOTlmZj5dIHRjcF9mYXN0cmV0cmFuc19hbGVydCsweDk0Zi8w
eGNiMA0KWyAgIDM0Ljc5ODU2NV0gIFs8ZmZmZmZmZmY4MTZjYTcwYz5dIHRjcF9hY2srMHg5
YWMvMHgxMTUwDQpbICAgMzQuNzk4NTczXSAgWzxmZmZmZmZmZjgxNmNkOGNlPl0gdGNwX3Jj
dl9lc3RhYmxpc2hlZCsweDM4ZS8weDY0MA0KWyAgIDM0Ljc5ODU4MF0gIFs8ZmZmZmZmZmY4
MTZkNWVlZj5dID8gdGNwX3Y0X3JjdisweDZjZi8weGIxMA0KWyAgIDM0Ljc5ODU4OF0gIFs8
ZmZmZmZmZmY4MTZkNTRkNT5dIHRjcF92NF9kb19yY3YrMHgxMzUvMHg0ODANClsgICAzNC43
OTg1OTVdICBbPGZmZmZmZmZmODE3NDYxZDI+XSA/IF9yYXdfc3Bpbl9sb2NrX25lc3RlZCsw
eDQyLzB4NTANClsgICAzNC43OTg2MDNdICBbPGZmZmZmZmZmODE2ZDVlZWY+XSA/IHRjcF92
NF9yY3YrMHg2Y2YvMHhiMTANClsgICAzNC43OTg2MTBdICBbPGZmZmZmZmZmODE2ZDYxN2Q+
XSB0Y3BfdjRfcmN2KzB4OTVkLzB4YjEwDQpbICAgMzQuNzk4NjE3XSAgWzxmZmZmZmZmZjgx
MGIwZjg4Pl0gPyBsb2NrX2FjcXVpcmUrMHhkOC8weDEwMA0KWyAgIDM0Ljc5ODYyNF0gIFs8
ZmZmZmZmZmY4MTZiMjk5NT5dID8gaXBfbG9jYWxfZGVsaXZlcl9maW5pc2grMHg0NS8weDIz
MA0KWyAgIDM0Ljc5ODYzM10gIFs8ZmZmZmZmZmY4MTZiMmE2YT5dIGlwX2xvY2FsX2RlbGl2
ZXJfZmluaXNoKzB4MTFhLzB4MjMwDQpbICAgMzQuNzk4NjQwXSAgWzxmZmZmZmZmZjgxNmIy
OTk1Pl0gPyBpcF9sb2NhbF9kZWxpdmVyX2ZpbmlzaCsweDQ1LzB4MjMwDQpbICAgMzQuNzk4
NjQ4XSAgWzxmZmZmZmZmZjgxNmIyYmI4Pl0gaXBfbG9jYWxfZGVsaXZlcisweDM4LzB4ODAN
ClsgICAzNC43OTg2NTZdICBbPGZmZmZmZmZmODE2YjIxN2E+XSBpcF9yY3ZfZmluaXNoKzB4
MTVhLzB4NjMwDQpbICAgMzQuNzk4NjYzXSAgWzxmZmZmZmZmZjgxNmIyODY4Pl0gaXBfcmN2
KzB4MjE4LzB4MzAwDQpbICAgMzQuNzk4NjcwXSAgWzxmZmZmZmZmZjgxNjFhYzhkPl0gX19u
ZXRpZl9yZWNlaXZlX3NrYisweDY1ZC8weDhkMA0KWyAgIDM0Ljc5ODY3OF0gIFs8ZmZmZmZm
ZmY4MTYxYTc3NT5dID8gX19uZXRpZl9yZWNlaXZlX3NrYisweDE0NS8weDhkMA0KWyAgIDM0
Ljc5ODY4NV0gIFs8ZmZmZmZmZmY4MTBhZDIyZD5dID8gdHJhY2VfaGFyZGlycXNfb24rMHhk
LzB4MTANClsgICAzNC43OTg2OTNdICBbPGZmZmZmZmZmODEwZjk5NzM+XSA/IGZyZWVfaG90
X2NvbGRfcGFnZSsweDFiMy8weDFlMA0KWyAgIDM0Ljc5ODcwMV0gIFs8ZmZmZmZmZmY4MTYx
ZDFmOD5dIG5ldGlmX3JlY2VpdmVfc2tiKzB4MjgvMHhmMA0KWyAgIDM0Ljc5ODcwOF0gIFs8
ZmZmZmZmZmY4MTYxMmQwMz5dID8gX19wc2tiX3B1bGxfdGFpbCsweDI1My8weDM0MA0KWyAg
IDM0Ljc5ODcxNl0gIFs8ZmZmZmZmZmY4MTQ2ZTRjNT5dIHhlbm5ldF9wb2xsKzB4YWQ1LzB4
ZTEwDQpbICAgMzQuNzk4NzI1XSAgWzxmZmZmZmZmZjgxNjFkZmE2Pl0gbmV0X3J4X2FjdGlv
bisweDEzNi8weDI2MA0KWyAgIDM0Ljc5ODczMl0gIFs8ZmZmZmZmZmY4MTA2ZTM4MT5dID8g
X19kb19zb2Z0aXJxKzB4NzEvMHgxYTANClsgICAzNC43OTg3MzldICBbPGZmZmZmZmZmODEw
NmUzZDk+XSBfX2RvX3NvZnRpcnErMHhjOS8weDFhMA0KWyAgIDM0Ljc5ODc0N10gIFs8ZmZm
ZmZmZmY4MTc0OGQzYz5dIGNhbGxfc29mdGlycSsweDFjLzB4MzANClsgICAzNC43OTg3NTRd
ICBbPGZmZmZmZmZmODEwMGVkYjU+XSBkb19zb2Z0aXJxKzB4ODUvMHhmMA0KWyAgIDM0Ljc5
ODc2MV0gIFs8ZmZmZmZmZmY4MTA2ZTI0ZT5dIGlycV9leGl0KzB4OWUvMHhkMA0KWyAgIDM0
Ljc5ODc2OF0gIFs8ZmZmZmZmZmY4MTMzOWY1Zj5dIHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4
MmYvMHg0MA0KWyAgIDM0Ljc5ODc3Nl0gIFs8ZmZmZmZmZmY4MTc0OGQ5ZT5dIHhlbl9kb19o
eXBlcnZpc29yX2NhbGxiYWNrKzB4MWUvMHgzMA0KWyAgIDM0Ljc5ODc4Ml0gIDxFT0k+IA0K
WyAgIDM0Ljc5ODc4Nl0gLS0tWyBlbmQgdHJhY2UgMmUyOGVlYzkzYjdhOGI3YiBdLS0tDQpb
ICAgMzUuMzYzNDQ0XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0NClsg
ICAzNS4zNjM0NjFdIFdBUk5JTkc6IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jOjQ2
NSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MCgpDQpbICAgMzUuMzYzNDY4XSBNb2R1
bGVzIGxpbmtlZCBpbjoNClsgICAzNS4zNjM0NzRdIFBpZDogMCwgY29tbTogc3dhcHBlci8w
IFRhaW50ZWQ6IEcgICAgICAgIFcgICAgMy42LjBwcmUtcmMxLTIwMTIxMDExICMxDQpbICAg
MzUuMzYzNDgwXSBDYWxsIFRyYWNlOg0KWyAgIDM1LjM2MzQ4M10gIDxJUlE+ICBbPGZmZmZm
ZmZmODEwNjY0ZWE+XSB3YXJuX3Nsb3dwYXRoX2NvbW1vbisweDdhLzB4YjANClsgICAzNS4z
NjM0OTVdICBbPGZmZmZmZmZmODEwNjY1MzU+XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgxNS8w
eDIwDQpbICAgMzUuMzYzNTAwXSAgWzxmZmZmZmZmZjgxNDZkODllPl0geGVubmV0X3N0YXJ0
X3htaXQrMHg3ZmUvMHg4NjANClsgICAzNS4zNjM1MDldICBbPGZmZmZmZmZmODE2MWYzNDk+
XSBkZXZfaGFyZF9zdGFydF94bWl0KzB4MjA5LzB4NDYwDQpbICAgMzUuMzYzNTE1XSAgWzxm
ZmZmZmZmZjgxNjNiMDM2Pl0gc2NoX2RpcmVjdF94bWl0KzB4ZjYvMHgyOTANClsgICAzNS4z
NjM1MjJdICBbPGZmZmZmZmZmODE2MWY3NDY+XSBkZXZfcXVldWVfeG1pdCsweDFhNi8weDVh
MA0KWyAgIDM1LjM2MzUyOF0gIFs8ZmZmZmZmZmY4MTYxZjVhMD5dID8gZGV2X2hhcmRfc3Rh
cnRfeG1pdCsweDQ2MC8weDQ2MA0KWyAgIDM1LjM2MzUzNV0gIFs8ZmZmZmZmZmY4MTBiMTQx
Nz5dID8gbG9ja19yZWxlYXNlKzB4MTE3LzB4MjUwDQpbICAgMzUuMzYzNTQyXSAgWzxmZmZm
ZmZmZjgxNmI5NTM2Pl0gaXBfZmluaXNoX291dHB1dCsweDIyNi8weDUzMA0KWyAgIDM1LjM2
MzU0OF0gIFs8ZmZmZmZmZmY4MTZiOTNkZD5dID8gaXBfZmluaXNoX291dHB1dCsweGNkLzB4
NTMwDQpbICAgMzUuMzYzNTU1XSAgWzxmZmZmZmZmZjgxNmI5ODk5Pl0gaXBfb3V0cHV0KzB4
NTkvMHhlMA0KWyAgIDM1LjM2MzU2MF0gIFs8ZmZmZmZmZmY4MTZiODNiOD5dIGlwX2xvY2Fs
X291dCsweDI4LzB4OTANClsgICAzNS4zNjM1NjZdICBbPGZmZmZmZmZmODE2Yjg5NmY+XSBp
cF9xdWV1ZV94bWl0KzB4MTdmLzB4NGEwDQpbICAgMzUuMzYzNTcxXSAgWzxmZmZmZmZmZjgx
NmI4N2YwPl0gPyBpcF9zZW5kX3VuaWNhc3RfcmVwbHkrMHgzNDAvMHgzNDANClsgICAzNS4z
NjM1NzhdICBbPGZmZmZmZmZmODEwYTBiYTc+XSA/IGdldG5zdGltZW9mZGF5KzB4NDcvMHhl
MA0KWyAgIDM1LjM2MzU4NV0gIFs8ZmZmZmZmZmY4MTYwZjRjOT5dID8gX19za2JfY2xvbmUr
MHgyOS8weDEyMA0KWyAgIDM1LjM2MzU5MV0gIFs8ZmZmZmZmZmY4MTZjZWEyMD5dIHRjcF90
cmFuc21pdF9za2IrMHg0MDAvMHg4ZDANClsgICAzNS4zNjM1OTddICBbPGZmZmZmZmZmODE2
ZDExMDY+XSB0Y3BfcmV0cmFuc21pdF9za2IrMHgxYzYvMHg1YTANClsgICAzNS4zNjM2MDNd
ICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MWEw
LzB4MWEwDQpbICAgMzUuMzYzNjA5XSAgWzxmZmZmZmZmZjgxNmQyZjM4Pl0gdGNwX3JldHJh
bnNtaXRfdGltZXIrMHgzNTgvMHg2MzANClsgICAzNS4zNjM2MTVdICBbPGZmZmZmZmZmODE2
ZDMzNGQ+XSB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDEzZC8weDFhMA0KWyAgIDM1LjM2
MzYyMF0gIFs8ZmZmZmZmZmY4MTZkMzQyOD5dIHRjcF93cml0ZV90aW1lcisweDc4LzB4ODAN
ClsgICAzNS4zNjM2MjZdICBbPGZmZmZmZmZmODEwNzNmN2M+XSBjYWxsX3RpbWVyX2ZuKzB4
N2MvMHgxMDANClsgICAzNS4zNjM2MzJdICBbPGZmZmZmZmZmODEwNzNmMDA+XSA/IGNhc2Nh
ZGUrMHhhMC8weGEwDQpbICAgMzUuMzYzNjM3XSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0
Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFhMA0KWyAgIDM1LjM2MzY0M10gIFs8
ZmZmZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAvMHgx
YTANClsgICAzNS4zNjM2NDldICBbPGZmZmZmZmZmODEwNzQyMTc+XSBydW5fdGltZXJfc29m
dGlycSsweDIxNy8weDI1MA0KWyAgIDM1LjM2MzY1Nl0gIFs8ZmZmZmZmZmY4MTA2ZTNkOT5d
IF9fZG9fc29mdGlycSsweGM5LzB4MWEwDQpbICAgMzUuMzYzNjYyXSAgWzxmZmZmZmZmZjgx
NzQ4ZDNjPl0gY2FsbF9zb2Z0aXJxKzB4MWMvMHgzMA0KWyAgIDM1LjM2MzY2OF0gIFs8ZmZm
ZmZmZmY4MTAwZWRiNT5dIGRvX3NvZnRpcnErMHg4NS8weGYwDQpbICAgMzUuMzYzNjczXSAg
WzxmZmZmZmZmZjgxMDZlMjRlPl0gaXJxX2V4aXQrMHg5ZS8weGQwDQpbICAgMzUuMzYzNjgw
XSAgWzxmZmZmZmZmZjgxMzM5ZjVmPl0geGVuX2V2dGNobl9kb191cGNhbGwrMHgyZi8weDQw
DQpbICAgMzUuMzYzNjg2XSAgWzxmZmZmZmZmZjgxNzQ4ZDllPl0geGVuX2RvX2h5cGVydmlz
b3JfY2FsbGJhY2srMHgxZS8weDMwDQpbICAgMzUuMzYzNjkxXSAgPEVPST4gIFs8ZmZmZmZm
ZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2FsbF9zY2hlZF9vcCsweGEvMHgyMA0KWyAgIDM1
LjM2MzcwMV0gIFs8ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2FsbF9zY2hlZF9v
cCsweGEvMHgyMA0KWyAgIDM1LjM2MzcwN10gIFs8ZmZmZmZmZmY4MTAwODY5MD5dID8geGVu
X3NhZmVfaGFsdCsweDEwLzB4MjANClsgICAzNS4zNjM3MTNdICBbPGZmZmZmZmZmODEwMTYw
ZDA+XSA/IGRlZmF1bHRfaWRsZSsweDQwLzB4OTANClsgICAzNS4zNjM3MTldICBbPGZmZmZm
ZmZmODEwMTY0ODY+XSA/IGNwdV9pZGxlKzB4OTYvMHhmMA0KWyAgIDM1LjM2MzcyNF0gIFs8
ZmZmZmZmZmY4MTcyMmQzYz5dID8gcmVzdF9pbml0KzB4YmMvMHhkMA0KWyAgIDM1LjM2Mzcy
OV0gIFs8ZmZmZmZmZmY4MTcyMmM4MD5dID8gY3N1bV9wYXJ0aWFsX2NvcHlfZ2VuZXJpYysw
eDE3MC8weDE3MA0KWyAgIDM1LjM2MzczN10gIFs8ZmZmZmZmZmY4MWNlMGRmMj5dID8gc3Rh
cnRfa2VybmVsKzB4MzkwLzB4MzlkDQpbICAgMzUuMzYzNzQzXSAgWzxmZmZmZmZmZjgxY2Uw
ODgyPl0gPyBrZXJuZWxfaW5pdCsweDIwYi8weDIwYg0KWyAgIDM1LjM2Mzc0OV0gIFs8ZmZm
ZmZmZmY4MWNlMDM1Nj5dID8geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweDEzMS8weDEz
Ng0KWyAgIDM1LjM2Mzc1OV0gIFs8ZmZmZmZmZmY4MWNlM2Q2MD5dID8geGVuX3N0YXJ0X2tl
cm5lbCsweDcwZC8weDcwZg0KWyAgIDM1LjM2Mzc2NF0gLS0tWyBlbmQgdHJhY2UgMmUyOGVl
YzkzYjdhOGI3YyBdLS0tDQpbICAgMzYuNTAwMjIxXSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJl
IF0tLS0tLS0tLS0tLS0NClsgICAzNi41MDAyNjddIFdBUk5JTkc6IGF0IGRyaXZlcnMvbmV0
L3hlbi1uZXRmcm9udC5jOjQ2NSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MCgpDQpb
ICAgMzYuNTAwMjkzXSBNb2R1bGVzIGxpbmtlZCBpbjoNClsgICAzNi41MDAzMTVdIFBpZDog
MCwgY29tbTogc3dhcHBlci8wIFRhaW50ZWQ6IEcgICAgICAgIFcgICAgMy42LjBwcmUtcmMx
LTIwMTIxMDExICMxDQpbICAgMzYuNTAwMzM5XSBDYWxsIFRyYWNlOg0KWyAgIDM2LjUwMDM1
MV0gIDxJUlE+ICBbPGZmZmZmZmZmODEwNjY0ZWE+XSB3YXJuX3Nsb3dwYXRoX2NvbW1vbisw
eDdhLzB4YjANClsgICAzNi41MDAzOTZdICBbPGZmZmZmZmZmODEwNjY1MzU+XSB3YXJuX3Ns
b3dwYXRoX251bGwrMHgxNS8weDIwDQpbICAgMzYuNTAwNDIwXSAgWzxmZmZmZmZmZjgxNDZk
ODllPl0geGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjANClsgICAzNi41MDA0NDddICBb
PGZmZmZmZmZmODE2MWYzNDk+XSBkZXZfaGFyZF9zdGFydF94bWl0KzB4MjA5LzB4NDYwDQpb
ICAgMzYuNTAwNDcxXSAgWzxmZmZmZmZmZjgxNjNiMDM2Pl0gc2NoX2RpcmVjdF94bWl0KzB4
ZjYvMHgyOTANClsgICAzNi41MDA0OTRdICBbPGZmZmZmZmZmODE2MWY3NDY+XSBkZXZfcXVl
dWVfeG1pdCsweDFhNi8weDVhMA0KWyAgIDM2LjUwMDUxNl0gIFs8ZmZmZmZmZmY4MTYxZjVh
MD5dID8gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDQ2MC8weDQ2MA0KWyAgIDM2LjUwMDU0MV0g
IFs8ZmZmZmZmZmY4MTBiMTQxNz5dID8gbG9ja19yZWxlYXNlKzB4MTE3LzB4MjUwDQpbICAg
MzYuNTAwNTcwXSAgWzxmZmZmZmZmZjgxNmI5NTM2Pl0gaXBfZmluaXNoX291dHB1dCsweDIy
Ni8weDUzMA0KWyAgIDM2LjUwMDU5NF0gIFs8ZmZmZmZmZmY4MTZiOTNkZD5dID8gaXBfZmlu
aXNoX291dHB1dCsweGNkLzB4NTMwDQpbICAgMzYuNTAwNjE5XSAgWzxmZmZmZmZmZjgxNmI5
ODk5Pl0gaXBfb3V0cHV0KzB4NTkvMHhlMA0KWyAgIDM2LjUwMDY0MV0gIFs8ZmZmZmZmZmY4
MTZiODNiOD5dIGlwX2xvY2FsX291dCsweDI4LzB4OTANClsgICAzNi41MDA2NjJdICBbPGZm
ZmZmZmZmODE2Yjg5NmY+XSBpcF9xdWV1ZV94bWl0KzB4MTdmLzB4NGEwDQpbICAgMzYuNTAw
Njg0XSAgWzxmZmZmZmZmZjgxNmI4N2YwPl0gPyBpcF9zZW5kX3VuaWNhc3RfcmVwbHkrMHgz
NDAvMHgzNDANClsgICAzNi41MDA3MDldICBbPGZmZmZmZmZmODEwYTBiYTc+XSA/IGdldG5z
dGltZW9mZGF5KzB4NDcvMHhlMA0KWyAgIDM2LjUwMDczMl0gIFs8ZmZmZmZmZmY4MTYwZjRj
OT5dID8gX19za2JfY2xvbmUrMHgyOS8weDEyMA0KWyAgIDM2LjUwMDc1NV0gIFs8ZmZmZmZm
ZmY4MTZjZWEyMD5dIHRjcF90cmFuc21pdF9za2IrMHg0MDAvMHg4ZDANClsgICAzNi41MDA3
NzldICBbPGZmZmZmZmZmODE2ZDExMDY+XSB0Y3BfcmV0cmFuc21pdF9za2IrMHgxYzYvMHg1
YTANClsgICAzNi41MDA4MDNdICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0ZV90
aW1lcl9oYW5kbGVyKzB4MWEwLzB4MWEwDQpbICAgMzYuNTAwODI3XSAgWzxmZmZmZmZmZjgx
NmQyZjM4Pl0gdGNwX3JldHJhbnNtaXRfdGltZXIrMHgzNTgvMHg2MzANClsgICAzNi41MDA4
NTBdICBbPGZmZmZmZmZmODE2ZDMzNGQ+XSB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDEz
ZC8weDFhMA0KWyAgIDM2LjUwMDg3NF0gIFs8ZmZmZmZmZmY4MTZkMzQyOD5dIHRjcF93cml0
ZV90aW1lcisweDc4LzB4ODANClsgICAzNi41MDA4OTddICBbPGZmZmZmZmZmODEwNzNmN2M+
XSBjYWxsX3RpbWVyX2ZuKzB4N2MvMHgxMDANClsgICAzNi41MDA5MTddICBbPGZmZmZmZmZm
ODEwNzNmMDA+XSA/IGNhc2NhZGUrMHhhMC8weGEwDQpbICAgMzYuNTAwOTM4XSAgWzxmZmZm
ZmZmZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFhMA0K
WyAgIDM2LjUwMDk2Ml0gIFs8ZmZmZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dyaXRlX3RpbWVy
X2hhbmRsZXIrMHgxYTAvMHgxYTANClsgICAzNi41MDA5ODVdICBbPGZmZmZmZmZmODEwNzQy
MTc+XSBydW5fdGltZXJfc29mdGlycSsweDIxNy8weDI1MA0KWyAgIDM2LjUwMTAxMV0gIFs8
ZmZmZmZmZmY4MTA2ZTNkOT5dIF9fZG9fc29mdGlycSsweGM5LzB4MWEwDQpbICAgMzYuNTAx
MDM0XSAgWzxmZmZmZmZmZjgxNzQ4ZDNjPl0gY2FsbF9zb2Z0aXJxKzB4MWMvMHgzMA0KWyAg
IDM2LjUwMTA1NV0gIFs8ZmZmZmZmZmY4MTAwZWRiNT5dIGRvX3NvZnRpcnErMHg4NS8weGYw
DQpbICAgMzYuNTAxMDc3XSAgWzxmZmZmZmZmZjgxMDZlMjRlPl0gaXJxX2V4aXQrMHg5ZS8w
eGQwDQpbICAgMzYuNTAxMTAxXSAgWzxmZmZmZmZmZjgxMzM5ZjVmPl0geGVuX2V2dGNobl9k
b191cGNhbGwrMHgyZi8weDQwDQpbICAgMzYuNTAxMTI0XSAgWzxmZmZmZmZmZjgxNzQ4ZDll
Pl0geGVuX2RvX2h5cGVydmlzb3JfY2FsbGJhY2srMHgxZS8weDMwDQpbICAgMzYuNTAxMTQz
XSAgPEVPST4gIFs8ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2FsbF9zY2hlZF9v
cCsweGEvMHgyMA0KWyAgIDM2LjUwMTE4MV0gIFs8ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVu
X2h5cGVyY2FsbF9zY2hlZF9vcCsweGEvMHgyMA0KWyAgIDM2LjUwMTIwNV0gIFs8ZmZmZmZm
ZmY4MTAwODY5MD5dID8geGVuX3NhZmVfaGFsdCsweDEwLzB4MjANClsgICAzNi41MDEyMjhd
ICBbPGZmZmZmZmZmODEwMTYwZDA+XSA/IGRlZmF1bHRfaWRsZSsweDQwLzB4OTANClsgICAz
Ni41MDEyNDldICBbPGZmZmZmZmZmODEwMTY0ODY+XSA/IGNwdV9pZGxlKzB4OTYvMHhmMA0K
WyAgIDM2LjUwMTI3MF0gIFs8ZmZmZmZmZmY4MTcyMmQzYz5dID8gcmVzdF9pbml0KzB4YmMv
MHhkMA0KWyAgIDM2LjUwMTI5MF0gIFs8ZmZmZmZmZmY4MTcyMmM4MD5dID8gY3N1bV9wYXJ0
aWFsX2NvcHlfZ2VuZXJpYysweDE3MC8weDE3MA0KWyAgIDM2LjUwMTMxOF0gIFs8ZmZmZmZm
ZmY4MWNlMGRmMj5dID8gc3RhcnRfa2VybmVsKzB4MzkwLzB4MzlkDQpbICAgMzYuNTAxMzQx
XSAgWzxmZmZmZmZmZjgxY2UwODgyPl0gPyBrZXJuZWxfaW5pdCsweDIwYi8weDIwYg0KWyAg
IDM2LjUwMTM2NF0gIFs8ZmZmZmZmZmY4MWNlMDM1Nj5dID8geDg2XzY0X3N0YXJ0X3Jlc2Vy
dmF0aW9ucysweDEzMS8weDEzNg0KWyAgIDM2LjUwMTM4OF0gIFs8ZmZmZmZmZmY4MWNlM2Q2
MD5dID8geGVuX3N0YXJ0X2tlcm5lbCsweDcwZC8weDcwZg0KWyAgIDM2LjUwMTQwOV0gLS0t
WyBlbmQgdHJhY2UgMmUyOGVlYzkzYjdhOGI3ZCBdLS0tDQpbICAgMzguNzczNTEwXSAtLS0t
LS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0NClsgICAzOC43NzM1MjhdIFdBUk5J
Tkc6IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jOjQ2NSB4ZW5uZXRfc3RhcnRfeG1p
dCsweDdmZS8weDg2MCgpDQpbICAgMzguNzczNTM1XSBNb2R1bGVzIGxpbmtlZCBpbjoNClsg
ICAzOC43NzM1NDJdIFBpZDogMCwgY29tbTogc3dhcHBlci8wIFRhaW50ZWQ6IEcgICAgICAg
IFcgICAgMy42LjBwcmUtcmMxLTIwMTIxMDExICMxDQpbICAgMzguNzczNTQ4XSBDYWxsIFRy
YWNlOg0KWyAgIDM4Ljc3MzU1Ml0gIDxJUlE+ICBbPGZmZmZmZmZmODEwNjY0ZWE+XSB3YXJu
X3Nsb3dwYXRoX2NvbW1vbisweDdhLzB4YjANClsgICAzOC43NzM1NjRdICBbPGZmZmZmZmZm
ODEwNjY1MzU+XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgxNS8weDIwDQpbICAgMzguNzczNTcw
XSAgWzxmZmZmZmZmZjgxNDZkODllPl0geGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjAN
ClsgICAzOC43NzM1ODJdICBbPGZmZmZmZmZmODE2MWYzNDk+XSBkZXZfaGFyZF9zdGFydF94
bWl0KzB4MjA5LzB4NDYwDQpbICAgMzguNzczNTg5XSAgWzxmZmZmZmZmZjgxNjNiMDM2Pl0g
c2NoX2RpcmVjdF94bWl0KzB4ZjYvMHgyOTANClsgICAzOC43NzM1OTRdICBbPGZmZmZmZmZm
ODE2MWY3NDY+XSBkZXZfcXVldWVfeG1pdCsweDFhNi8weDVhMA0KWyAgIDM4Ljc3MzYwMF0g
IFs8ZmZmZmZmZmY4MTYxZjVhMD5dID8gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDQ2MC8weDQ2
MA0KWyAgIDM4Ljc3MzYwN10gIFs8ZmZmZmZmZmY4MTBiMTQxNz5dID8gbG9ja19yZWxlYXNl
KzB4MTE3LzB4MjUwDQpbICAgMzguNzczNjEzXSAgWzxmZmZmZmZmZjgxNmI5NTM2Pl0gaXBf
ZmluaXNoX291dHB1dCsweDIyNi8weDUzMA0KWyAgIDM4Ljc3MzYxOV0gIFs8ZmZmZmZmZmY4
MTZiOTNkZD5dID8gaXBfZmluaXNoX291dHB1dCsweGNkLzB4NTMwDQpbICAgMzguNzczNjI1
XSAgWzxmZmZmZmZmZjgxNmI5ODk5Pl0gaXBfb3V0cHV0KzB4NTkvMHhlMA0KWyAgIDM4Ljc3
MzYzMV0gIFs8ZmZmZmZmZmY4MTZiODNiOD5dIGlwX2xvY2FsX291dCsweDI4LzB4OTANClsg
ICAzOC43NzM2MzZdICBbPGZmZmZmZmZmODE2Yjg5NmY+XSBpcF9xdWV1ZV94bWl0KzB4MTdm
LzB4NGEwDQpbICAgMzguNzczNjQzXSAgWzxmZmZmZmZmZjgxNmI4N2YwPl0gPyBpcF9zZW5k
X3VuaWNhc3RfcmVwbHkrMHgzNDAvMHgzNDANClsgICAzOC43NzM2NDldICBbPGZmZmZmZmZm
ODEwYTBiYTc+XSA/IGdldG5zdGltZW9mZGF5KzB4NDcvMHhlMA0KWyAgIDM4Ljc3MzY1Nl0g
IFs8ZmZmZmZmZmY4MTYwZjRjOT5dID8gX19za2JfY2xvbmUrMHgyOS8weDEyMA0KWyAgIDM4
Ljc3MzY2Ml0gIFs8ZmZmZmZmZmY4MTZjZWEyMD5dIHRjcF90cmFuc21pdF9za2IrMHg0MDAv
MHg4ZDANClsgICAzOC43NzM2NjhdICBbPGZmZmZmZmZmODE2ZDExMDY+XSB0Y3BfcmV0cmFu
c21pdF9za2IrMHgxYzYvMHg1YTANClsgICAzOC43NzM2NzRdICBbPGZmZmZmZmZmODE2ZDMz
YjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MWEwLzB4MWEwDQpbICAgMzguNzcz
NjgwXSAgWzxmZmZmZmZmZjgxNmQyZjM4Pl0gdGNwX3JldHJhbnNtaXRfdGltZXIrMHgzNTgv
MHg2MzANClsgICAzOC43NzM2ODVdICBbPGZmZmZmZmZmODE2ZDMzNGQ+XSB0Y3Bfd3JpdGVf
dGltZXJfaGFuZGxlcisweDEzZC8weDFhMA0KWyAgIDM4Ljc3MzY5MV0gIFs8ZmZmZmZmZmY4
MTZkMzQyOD5dIHRjcF93cml0ZV90aW1lcisweDc4LzB4ODANClsgICAzOC43NzM2OTddICBb
PGZmZmZmZmZmODEwNzNmN2M+XSBjYWxsX3RpbWVyX2ZuKzB4N2MvMHgxMDANClsgICAzOC43
NzM3MDJdICBbPGZmZmZmZmZmODEwNzNmMDA+XSA/IGNhc2NhZGUrMHhhMC8weGEwDQpbICAg
MzguNzczNzA3XSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFu
ZGxlcisweDFhMC8weDFhMA0KWyAgIDM4Ljc3MzcxM10gIFs8ZmZmZmZmZmY4MTZkMzNiMD5d
ID8gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAvMHgxYTANClsgICAzOC43NzM3MTld
ICBbPGZmZmZmZmZmODEwNzQyMTc+XSBydW5fdGltZXJfc29mdGlycSsweDIxNy8weDI1MA0K
WyAgIDM4Ljc3MzcyNl0gIFs8ZmZmZmZmZmY4MTA2ZTNkOT5dIF9fZG9fc29mdGlycSsweGM5
LzB4MWEwDQpbICAgMzguNzczNzMyXSAgWzxmZmZmZmZmZjgxNzQ4ZDNjPl0gY2FsbF9zb2Z0
aXJxKzB4MWMvMHgzMA0KWyAgIDM4Ljc3MzczOF0gIFs8ZmZmZmZmZmY4MTAwZWRiNT5dIGRv
X3NvZnRpcnErMHg4NS8weGYwDQpbICAgMzguNzczNzQzXSAgWzxmZmZmZmZmZjgxMDZlMjRl
Pl0gaXJxX2V4aXQrMHg5ZS8weGQwDQpbICAgMzguNzczNzUxXSAgWzxmZmZmZmZmZjgxMzM5
ZjVmPl0geGVuX2V2dGNobl9kb191cGNhbGwrMHgyZi8weDQwDQpbICAgMzguNzczNzU2XSAg
WzxmZmZmZmZmZjgxNzQ4ZDllPl0geGVuX2RvX2h5cGVydmlzb3JfY2FsbGJhY2srMHgxZS8w
eDMwDQpbICAgMzguNzczNzYxXSAgPEVPST4gIFs8ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVu
X2h5cGVyY2FsbF9zY2hlZF9vcCsweGEvMHgyMA0KWyAgIDM4Ljc3Mzc3MV0gIFs8ZmZmZmZm
ZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2FsbF9zY2hlZF9vcCsweGEvMHgyMA0KWyAgIDM4
Ljc3Mzc3OF0gIFs8ZmZmZmZmZmY4MTAwODY5MD5dID8geGVuX3NhZmVfaGFsdCsweDEwLzB4
MjANClsgICAzOC43NzM3ODRdICBbPGZmZmZmZmZmODEwMTYwZDA+XSA/IGRlZmF1bHRfaWRs
ZSsweDQwLzB4OTANClsgICAzOC43NzM3ODldICBbPGZmZmZmZmZmODEwMTY0ODY+XSA/IGNw
dV9pZGxlKzB4OTYvMHhmMA0KWyAgIDM4Ljc3Mzc5NF0gIFs8ZmZmZmZmZmY4MTcyMmQzYz5d
ID8gcmVzdF9pbml0KzB4YmMvMHhkMA0KWyAgIDM4Ljc3MzgwMF0gIFs8ZmZmZmZmZmY4MTcy
MmM4MD5dID8gY3N1bV9wYXJ0aWFsX2NvcHlfZ2VuZXJpYysweDE3MC8weDE3MA0KWyAgIDM4
Ljc3MzgwN10gIFs8ZmZmZmZmZmY4MWNlMGRmMj5dID8gc3RhcnRfa2VybmVsKzB4MzkwLzB4
MzlkDQpbICAgMzguNzczODEzXSAgWzxmZmZmZmZmZjgxY2UwODgyPl0gPyBrZXJuZWxfaW5p
dCsweDIwYi8weDIwYg0KWyAgIDM4Ljc3MzgxOV0gIFs8ZmZmZmZmZmY4MWNlMDM1Nj5dID8g
eDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweDEzMS8weDEzNg0KWyAgIDM4Ljc3MzgyNV0g
IFs8ZmZmZmZmZmY4MWNlM2Q2MD5dID8geGVuX3N0YXJ0X2tlcm5lbCsweDcwZC8weDcwZg0K
WyAgIDM4Ljc3MzgzMV0gLS0tWyBlbmQgdHJhY2UgMmUyOGVlYzkzYjdhOGI3ZSBdLS0tDQpb
ICAgNDMuMzIwMjA3XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0NClsg
ICA0My4zMjAyMzVdIFdBUk5JTkc6IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jOjQ2
NSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MCgpDQpbICAgNDMuMzIwMjQ0XSBNb2R1
bGVzIGxpbmtlZCBpbjoNClsgICA0My4zMjAyNTJdIFBpZDogMCwgY29tbTogc3dhcHBlci8w
IFRhaW50ZWQ6IEcgICAgICAgIFcgICAgMy42LjBwcmUtcmMxLTIwMTIxMDExICMxDQpbICAg
NDMuMzIwMjYxXSBDYWxsIFRyYWNlOg0KWyAgIDQzLjMyMDI2NV0gIDxJUlE+ICBbPGZmZmZm
ZmZmODEwNjY0ZWE+XSB3YXJuX3Nsb3dwYXRoX2NvbW1vbisweDdhLzB4YjANClsgICA0My4z
MjAyODBdICBbPGZmZmZmZmZmODEwNjY1MzU+XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgxNS8w
eDIwDQpbICAgNDMuMzIwMjg4XSAgWzxmZmZmZmZmZjgxNDZkODllPl0geGVubmV0X3N0YXJ0
X3htaXQrMHg3ZmUvMHg4NjANClsgICA0My4zMjAyOThdICBbPGZmZmZmZmZmODE2MWYzNDk+
XSBkZXZfaGFyZF9zdGFydF94bWl0KzB4MjA5LzB4NDYwDQpbICAgNDMuMzIwMzA3XSAgWzxm
ZmZmZmZmZjgxNjNiMDM2Pl0gc2NoX2RpcmVjdF94bWl0KzB4ZjYvMHgyOTANClsgICA0My4z
MjAzMTVdICBbPGZmZmZmZmZmODE2MWY3NDY+XSBkZXZfcXVldWVfeG1pdCsweDFhNi8weDVh
MA0KWyAgIDQzLjMyMDMyM10gIFs8ZmZmZmZmZmY4MTYxZjVhMD5dID8gZGV2X2hhcmRfc3Rh
cnRfeG1pdCsweDQ2MC8weDQ2MA0KWyAgIDQzLjMyMDMzN10gIFs8ZmZmZmZmZmY4MTBiMTQx
Nz5dID8gbG9ja19yZWxlYXNlKzB4MTE3LzB4MjUwDQpbICAgNDMuMzIwMzQ2XSAgWzxmZmZm
ZmZmZjgxNmI5NTM2Pl0gaXBfZmluaXNoX291dHB1dCsweDIyNi8weDUzMA0KWyAgIDQzLjMy
MDM1NF0gIFs8ZmZmZmZmZmY4MTZiOTNkZD5dID8gaXBfZmluaXNoX291dHB1dCsweGNkLzB4
NTMwDQpbICAgNDMuMzIwMzYyXSAgWzxmZmZmZmZmZjgxNmI5ODk5Pl0gaXBfb3V0cHV0KzB4
NTkvMHhlMA0KWyAgIDQzLjMyMDM3MF0gIFs8ZmZmZmZmZmY4MTZiODNiOD5dIGlwX2xvY2Fs
X291dCsweDI4LzB4OTANClsgICA0My4zMjAzNzddICBbPGZmZmZmZmZmODE2Yjg5NmY+XSBp
cF9xdWV1ZV94bWl0KzB4MTdmLzB4NGEwDQpbICAgNDMuMzIwMzg1XSAgWzxmZmZmZmZmZjgx
NmI4N2YwPl0gPyBpcF9zZW5kX3VuaWNhc3RfcmVwbHkrMHgzNDAvMHgzNDANClsgICA0My4z
MjAzOTNdICBbPGZmZmZmZmZmODEwYTBiYTc+XSA/IGdldG5zdGltZW9mZGF5KzB4NDcvMHhl
MA0KWyAgIDQzLjMyMDQwMl0gIFs8ZmZmZmZmZmY4MTYwZjRjOT5dID8gX19za2JfY2xvbmUr
MHgyOS8weDEyMA0KWyAgIDQzLjMyMDQwOV0gIFs8ZmZmZmZmZmY4MTZjZWEyMD5dIHRjcF90
cmFuc21pdF9za2IrMHg0MDAvMHg4ZDANClsgICA0My4zMjA0MTddICBbPGZmZmZmZmZmODE2
ZDExMDY+XSB0Y3BfcmV0cmFuc21pdF9za2IrMHgxYzYvMHg1YTANClsgICA0My4zMjA0MjVd
ICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MWEw
LzB4MWEwDQpbICAgNDMuMzIwNDMzXSAgWzxmZmZmZmZmZjgxNmQyZjM4Pl0gdGNwX3JldHJh
bnNtaXRfdGltZXIrMHgzNTgvMHg2MzANClsgICA0My4zMjA0NDFdICBbPGZmZmZmZmZmODE2
ZDMzNGQ+XSB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDEzZC8weDFhMA0KWyAgIDQzLjMy
MDQ0OV0gIFs8ZmZmZmZmZmY4MTZkMzQyOD5dIHRjcF93cml0ZV90aW1lcisweDc4LzB4ODAN
ClsgICA0My4zMjA0NTZdICBbPGZmZmZmZmZmODEwNzNmN2M+XSBjYWxsX3RpbWVyX2ZuKzB4
N2MvMHgxMDANClsgICA0My4zMjA0NjNdICBbPGZmZmZmZmZmODEwNzNmMDA+XSA/IGNhc2Nh
ZGUrMHhhMC8weGEwDQpbICAgNDMuMzIwNDcwXSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0
Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFhMA0KWyAgIDQzLjMyMDQ3OV0gIFs8
ZmZmZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAvMHgx
YTANClsgICA0My4zMjA0ODddICBbPGZmZmZmZmZmODEwNzQyMTc+XSBydW5fdGltZXJfc29m
dGlycSsweDIxNy8weDI1MA0KWyAgIDQzLjMyMDQ5Nl0gIFs8ZmZmZmZmZmY4MTA2ZTNkOT5d
IF9fZG9fc29mdGlycSsweGM5LzB4MWEwDQpbICAgNDMuMzIwNTAzXSAgWzxmZmZmZmZmZjgx
NzQ4ZDNjPl0gY2FsbF9zb2Z0aXJxKzB4MWMvMHgzMA0KWyAgIDQzLjMyMDUxMV0gIFs8ZmZm
ZmZmZmY4MTAwZWRiNT5dIGRvX3NvZnRpcnErMHg4NS8weGYwDQpbICAgNDMuMzIwNTE4XSAg
WzxmZmZmZmZmZjgxMDZlMjRlPl0gaXJxX2V4aXQrMHg5ZS8weGQwDQpbICAgNDMuMzIwNTI4
XSAgWzxmZmZmZmZmZjgxMzM5ZjVmPl0geGVuX2V2dGNobl9kb191cGNhbGwrMHgyZi8weDQw
DQpbICAgNDMuMzIwNTM1XSAgWzxmZmZmZmZmZjgxNzQ4ZDllPl0geGVuX2RvX2h5cGVydmlz
b3JfY2FsbGJhY2srMHgxZS8weDMwDQpbICAgNDMuMzIwNTQyXSAgPEVPST4gIFs8ZmZmZmZm
ZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2FsbF9zY2hlZF9vcCsweGEvMHgyMA0KWyAgIDQz
LjMyMDU1NV0gIFs8ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2FsbF9zY2hlZF9v
cCsweGEvMHgyMA0KWyAgIDQzLjMyMDU2NF0gIFs8ZmZmZmZmZmY4MTAwODY5MD5dID8geGVu
X3NhZmVfaGFsdCsweDEwLzB4MjANClsgICA0My4zMjA1NzFdICBbPGZmZmZmZmZmODEwMTYw
ZDA+XSA/IGRlZmF1bHRfaWRsZSsweDQwLzB4OTANClsgICA0My4zMjA1NzhdICBbPGZmZmZm
ZmZmODEwMTY0ODY+XSA/IGNwdV9pZGxlKzB4OTYvMHhmMA0KWyAgIDQzLjMyMDU4Nl0gIFs8
ZmZmZmZmZmY4MTcyMmQzYz5dID8gcmVzdF9pbml0KzB4YmMvMHhkMA0KWyAgIDQzLjMyMDU5
Ml0gIFs8ZmZmZmZmZmY4MTcyMmM4MD5dID8gY3N1bV9wYXJ0aWFsX2NvcHlfZ2VuZXJpYysw
eDE3MC8weDE3MA0KWyAgIDQzLjMyMDYwMl0gIFs8ZmZmZmZmZmY4MWNlMGRmMj5dID8gc3Rh
cnRfa2VybmVsKzB4MzkwLzB4MzlkDQpbICAgNDMuMzIwNjEwXSAgWzxmZmZmZmZmZjgxY2Uw
ODgyPl0gPyBrZXJuZWxfaW5pdCsweDIwYi8weDIwYg0KWyAgIDQzLjMyMDYxN10gIFs8ZmZm
ZmZmZmY4MWNlMDM1Nj5dID8geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweDEzMS8weDEz
Ng0KWyAgIDQzLjMyMDYyNl0gIFs8ZmZmZmZmZmY4MWNlM2Q2MD5dID8geGVuX3N0YXJ0X2tl
cm5lbCsweDcwZC8weDcwZg0KWyAgIDQzLjMyMDYzM10gLS0tWyBlbmQgdHJhY2UgMmUyOGVl
YzkzYjdhOGI3ZiBdLS0tDQpbICAgNTIuNDAwMTI2XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJl
IF0tLS0tLS0tLS0tLS0NClsgICA1Mi40MDAxNDZdIFdBUk5JTkc6IGF0IGRyaXZlcnMvbmV0
L3hlbi1uZXRmcm9udC5jOjQ2NSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MCgpDQpb
ICAgNTIuNDAwMTUyXSBNb2R1bGVzIGxpbmtlZCBpbjoNClsgICA1Mi40MDAxNThdIFBpZDog
MCwgY29tbTogc3dhcHBlci8wIFRhaW50ZWQ6IEcgICAgICAgIFcgICAgMy42LjBwcmUtcmMx
LTIwMTIxMDExICMxDQpbICAgNTIuNDAwMTY0XSBDYWxsIFRyYWNlOg0KWyAgIDUyLjQwMDE2
N10gIDxJUlE+ICBbPGZmZmZmZmZmODEwNjY0ZWE+XSB3YXJuX3Nsb3dwYXRoX2NvbW1vbisw
eDdhLzB4YjANClsgICA1Mi40MDAxNzhdICBbPGZmZmZmZmZmODEwNjY1MzU+XSB3YXJuX3Ns
b3dwYXRoX251bGwrMHgxNS8weDIwDQpbICAgNTIuNDAwMTgzXSAgWzxmZmZmZmZmZjgxNDZk
ODllPl0geGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjANClsgICA1Mi40MDAxOTFdICBb
PGZmZmZmZmZmODE2MWYzNDk+XSBkZXZfaGFyZF9zdGFydF94bWl0KzB4MjA5LzB4NDYwDQpb
ICAgNTIuNDAwMTk3XSAgWzxmZmZmZmZmZjgxNjNiMDM2Pl0gc2NoX2RpcmVjdF94bWl0KzB4
ZjYvMHgyOTANClsgICA1Mi40MDAyMDJdICBbPGZmZmZmZmZmODE2MWY3NDY+XSBkZXZfcXVl
dWVfeG1pdCsweDFhNi8weDVhMA0KWyAgIDUyLjQwMDIwOF0gIFs8ZmZmZmZmZmY4MTYxZjVh
MD5dID8gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDQ2MC8weDQ2MA0KWyAgIDUyLjQwMDIxNF0g
IFs8ZmZmZmZmZmY4MTBiMTQxNz5dID8gbG9ja19yZWxlYXNlKzB4MTE3LzB4MjUwDQpbICAg
NTIuNDAwMjIxXSAgWzxmZmZmZmZmZjgxNmI5NTM2Pl0gaXBfZmluaXNoX291dHB1dCsweDIy
Ni8weDUzMA0KWyAgIDUyLjQwMDIyNl0gIFs8ZmZmZmZmZmY4MTZiOTNkZD5dID8gaXBfZmlu
aXNoX291dHB1dCsweGNkLzB4NTMwDQpbICAgNTIuNDAwMjMyXSAgWzxmZmZmZmZmZjgxNmI5
ODk5Pl0gaXBfb3V0cHV0KzB4NTkvMHhlMA0KWyAgIDUyLjQwMDIzN10gIFs8ZmZmZmZmZmY4
MTZiODNiOD5dIGlwX2xvY2FsX291dCsweDI4LzB4OTANClsgICA1Mi40MDAyNDJdICBbPGZm
ZmZmZmZmODE2Yjg5NmY+XSBpcF9xdWV1ZV94bWl0KzB4MTdmLzB4NGEwDQpbICAgNTIuNDAw
MjQ3XSAgWzxmZmZmZmZmZjgxNmI4N2YwPl0gPyBpcF9zZW5kX3VuaWNhc3RfcmVwbHkrMHgz
NDAvMHgzNDANClsgICA1Mi40MDAyNTRdICBbPGZmZmZmZmZmODEwYTBiYTc+XSA/IGdldG5z
dGltZW9mZGF5KzB4NDcvMHhlMA0KWyAgIDUyLjQwMDI2MV0gIFs8ZmZmZmZmZmY4MTYwZjRj
OT5dID8gX19za2JfY2xvbmUrMHgyOS8weDEyMA0KWyAgIDUyLjQwMDI2Nl0gIFs8ZmZmZmZm
ZmY4MTZjZWEyMD5dIHRjcF90cmFuc21pdF9za2IrMHg0MDAvMHg4ZDANClsgICA1Mi40MDAy
NzJdICBbPGZmZmZmZmZmODE2ZDExMDY+XSB0Y3BfcmV0cmFuc21pdF9za2IrMHgxYzYvMHg1
YTANClsgICA1Mi40MDAyNzhdICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0ZV90
aW1lcl9oYW5kbGVyKzB4MWEwLzB4MWEwDQpbICAgNTIuNDAwMjgzXSAgWzxmZmZmZmZmZjgx
NmQyZjM4Pl0gdGNwX3JldHJhbnNtaXRfdGltZXIrMHgzNTgvMHg2MzANClsgICA1Mi40MDAy
ODhdICBbPGZmZmZmZmZmODE2ZDMzNGQ+XSB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDEz
ZC8weDFhMA0KWyAgIDUyLjQwMDI5M10gIFs8ZmZmZmZmZmY4MTZkMzQyOD5dIHRjcF93cml0
ZV90aW1lcisweDc4LzB4ODANClsgICA1Mi40MDAyOTldICBbPGZmZmZmZmZmODEwNzNmN2M+
XSBjYWxsX3RpbWVyX2ZuKzB4N2MvMHgxMDANClsgICA1Mi40MDAzMDNdICBbPGZmZmZmZmZm
ODEwNzNmMDA+XSA/IGNhc2NhZGUrMHhhMC8weGEwDQpbICAgNTIuNDAwMzA4XSAgWzxmZmZm
ZmZmZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFhMA0K
WyAgIDUyLjQwMDMxM10gIFs8ZmZmZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dyaXRlX3RpbWVy
X2hhbmRsZXIrMHgxYTAvMHgxYTANClsgICA1Mi40MDAzMTldICBbPGZmZmZmZmZmODEwNzQy
MTc+XSBydW5fdGltZXJfc29mdGlycSsweDIxNy8weDI1MA0KWyAgIDUyLjQwMDMyNV0gIFs8
ZmZmZmZmZmY4MTA2ZTNkOT5dIF9fZG9fc29mdGlycSsweGM5LzB4MWEwDQpbICAgNTIuNDAw
MzMwXSAgWzxmZmZmZmZmZjgxNzQ4ZDNjPl0gY2FsbF9zb2Z0aXJxKzB4MWMvMHgzMA0KWyAg
IDUyLjQwMDMzNl0gIFs8ZmZmZmZmZmY4MTAwZWRiNT5dIGRvX3NvZnRpcnErMHg4NS8weGYw
DQpbICAgNTIuNDAwMzQxXSAgWzxmZmZmZmZmZjgxMDZlMjRlPl0gaXJxX2V4aXQrMHg5ZS8w
eGQwDQpbICAgNTIuNDAwMzQ3XSAgWzxmZmZmZmZmZjgxMzM5ZjVmPl0geGVuX2V2dGNobl9k
b191cGNhbGwrMHgyZi8weDQwDQpbICAgNTIuNDAwMzUyXSAgWzxmZmZmZmZmZjgxNzQ4ZDll
Pl0geGVuX2RvX2h5cGVydmlzb3JfY2FsbGJhY2srMHgxZS8weDMwDQpbICAgNTIuNDAwMzU2
XSAgPEVPST4gIFs8ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2FsbF9zY2hlZF9v
cCsweGEvMHgyMA0KWyAgIDUyLjQwMDM2Nl0gIFs8ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVu
X2h5cGVyY2FsbF9zY2hlZF9vcCsweGEvMHgyMA0KWyAgIDUyLjQwMDM3MV0gIFs8ZmZmZmZm
ZmY4MTAwODY5MD5dID8geGVuX3NhZmVfaGFsdCsweDEwLzB4MjANClsgICA1Mi40MDAzNzdd
ICBbPGZmZmZmZmZmODEwMTYwZDA+XSA/IGRlZmF1bHRfaWRsZSsweDQwLzB4OTANClsgICA1
Mi40MDAzODJdICBbPGZmZmZmZmZmODEwMTY0ODY+XSA/IGNwdV9pZGxlKzB4OTYvMHhmMA0K
WyAgIDUyLjQwMDM4N10gIFs8ZmZmZmZmZmY4MTcyMmQzYz5dID8gcmVzdF9pbml0KzB4YmMv
MHhkMA0KWyAgIDUyLjQwMDM5MV0gIFs8ZmZmZmZmZmY4MTcyMmM4MD5dID8gY3N1bV9wYXJ0
aWFsX2NvcHlfZ2VuZXJpYysweDE3MC8weDE3MA0KWyAgIDUyLjQwMDM5OF0gIFs8ZmZmZmZm
ZmY4MWNlMGRmMj5dID8gc3RhcnRfa2VybmVsKzB4MzkwLzB4MzlkDQpbICAgNTIuNDAwNDAz
XSAgWzxmZmZmZmZmZjgxY2UwODgyPl0gPyBrZXJuZWxfaW5pdCsweDIwYi8weDIwYg0KWyAg
IDUyLjQwMDQwOF0gIFs8ZmZmZmZmZmY4MWNlMDM1Nj5dID8geDg2XzY0X3N0YXJ0X3Jlc2Vy
dmF0aW9ucysweDEzMS8weDEzNg0KWyAgIDUyLjQwMDQxNF0gIFs8ZmZmZmZmZmY4MWNlM2Q2
MD5dID8geGVuX3N0YXJ0X2tlcm5lbCsweDcwZC8weDcwZg0KWyAgIDUyLjQwMDQyMF0gLS0t
WyBlbmQgdHJhY2UgMmUyOGVlYzkzYjdhOGI4MCBdLS0tDQpbICAgNzAuNTYwMjQyXSAtLS0t
LS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0NClsgICA3MC41NjAzMzJdIFdBUk5J
Tkc6IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jOjQ2NSB4ZW5uZXRfc3RhcnRfeG1p
dCsweDdmZS8weDg2MCgpDQpbICAgNzAuNTYwMzYwXSBNb2R1bGVzIGxpbmtlZCBpbjoNClsg
ICA3MC41NjAzODFdIFBpZDogMCwgY29tbTogc3dhcHBlci8wIFRhaW50ZWQ6IEcgICAgICAg
IFcgICAgMy42LjBwcmUtcmMxLTIwMTIxMDExICMxDQpbICAgNzAuNTYwNDA4XSBDYWxsIFRy
YWNlOg0KWyAgIDcwLjU2MDQyMV0gIDxJUlE+ICBbPGZmZmZmZmZmODEwNjY0ZWE+XSB3YXJu
X3Nsb3dwYXRoX2NvbW1vbisweDdhLzB4YjANClsgICA3MC41NjA0NjJdICBbPGZmZmZmZmZm
ODEwNjY1MzU+XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgxNS8weDIwDQpbICAgNzAuNTYwNDg1
XSAgWzxmZmZmZmZmZjgxNDZkODllPl0geGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjAN
ClsgICA3MC41NjA1MTJdICBbPGZmZmZmZmZmODE2MWYzNDk+XSBkZXZfaGFyZF9zdGFydF94
bWl0KzB4MjA5LzB4NDYwDQpbICAgNzAuNTYwNTM2XSAgWzxmZmZmZmZmZjgxNjNiMDM2Pl0g
c2NoX2RpcmVjdF94bWl0KzB4ZjYvMHgyOTANClsgICA3MC41NjA1NTldICBbPGZmZmZmZmZm
ODE2MWY3NDY+XSBkZXZfcXVldWVfeG1pdCsweDFhNi8weDVhMA0KWyAgIDcwLjU2MDU4MV0g
IFs8ZmZmZmZmZmY4MTYxZjVhMD5dID8gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDQ2MC8weDQ2
MA0KWyAgIDcwLjU2MDYwNV0gIFs8ZmZmZmZmZmY4MTYyOWE3Nz5dIG5laWdoX3Jlc29sdmVf
b3V0cHV0KzB4MTI3LzB4MjUwDQpbICAgNzAuNTYwNjMwXSAgWzxmZmZmZmZmZjgxNmI5NmFk
Pl0gaXBfZmluaXNoX291dHB1dCsweDM5ZC8weDUzMA0KWyAgIDcwLjU2MDY1M10gIFs8ZmZm
ZmZmZmY4MTZiOTNkZD5dID8gaXBfZmluaXNoX291dHB1dCsweGNkLzB4NTMwDQpbICAgNzAu
NTYwNjc5XSAgWzxmZmZmZmZmZjgxNmI5ODk5Pl0gaXBfb3V0cHV0KzB4NTkvMHhlMA0KWyAg
IDcwLjU2MDcwMV0gIFs8ZmZmZmZmZmY4MTZiODNiOD5dIGlwX2xvY2FsX291dCsweDI4LzB4
OTANClsgICA3MC41NjA3MjJdICBbPGZmZmZmZmZmODE2Yjg5NmY+XSBpcF9xdWV1ZV94bWl0
KzB4MTdmLzB4NGEwDQpbICAgNzAuNTYwNzQ0XSAgWzxmZmZmZmZmZjgxNmI4N2YwPl0gPyBp
cF9zZW5kX3VuaWNhc3RfcmVwbHkrMHgzNDAvMHgzNDANClsgICA3MC41NjA3NjhdICBbPGZm
ZmZmZmZmODEwYTBiYTc+XSA/IGdldG5zdGltZW9mZGF5KzB4NDcvMHhlMA0KWyAgIDcwLjU2
MDc5MV0gIFs8ZmZmZmZmZmY4MTYwZjRjOT5dID8gX19za2JfY2xvbmUrMHgyOS8weDEyMA0K
WyAgIDcwLjU2MDgxMl0gIFs8ZmZmZmZmZmY4MTZjZWEyMD5dIHRjcF90cmFuc21pdF9za2Ir
MHg0MDAvMHg4ZDANClsgICA3MC41NjA4MzVdICBbPGZmZmZmZmZmODE2ZDExMDY+XSB0Y3Bf
cmV0cmFuc21pdF9za2IrMHgxYzYvMHg1YTANClsgICA3MC41NjA4NTldICBbPGZmZmZmZmZm
ODE2ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MWEwLzB4MWEwDQpbICAg
NzAuNTYwODgyXSAgWzxmZmZmZmZmZjgxNmQyZjM4Pl0gdGNwX3JldHJhbnNtaXRfdGltZXIr
MHgzNTgvMHg2MzANClsgICA3MC41NjA5MDVdICBbPGZmZmZmZmZmODE2ZDMzNGQ+XSB0Y3Bf
d3JpdGVfdGltZXJfaGFuZGxlcisweDEzZC8weDFhMA0KWyAgIDcwLjU2MDkyOF0gIFs8ZmZm
ZmZmZmY4MTZkMzQyOD5dIHRjcF93cml0ZV90aW1lcisweDc4LzB4ODANClsgICA3MC41NjA5
NTFdICBbPGZmZmZmZmZmODEwNzNmN2M+XSBjYWxsX3RpbWVyX2ZuKzB4N2MvMHgxMDANClsg
ICA3MC41NjA5NzJdICBbPGZmZmZmZmZmODEwNzNmMDA+XSA/IGNhc2NhZGUrMHhhMC8weGEw
DQpbICAgNzAuNTYwOTkzXSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGlt
ZXJfaGFuZGxlcisweDFhMC8weDFhMA0KWyAgIDcwLjU2MTAxN10gIFs8ZmZmZmZmZmY4MTZk
MzNiMD5dID8gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAvMHgxYTANClsgICA3MC41
NjEwNDBdICBbPGZmZmZmZmZmODEwNzQyMTc+XSBydW5fdGltZXJfc29mdGlycSsweDIxNy8w
eDI1MA0KWyAgIDcwLjU2MTA2NF0gIFs8ZmZmZmZmZmY4MTA2ZTNkOT5dIF9fZG9fc29mdGly
cSsweGM5LzB4MWEwDQpbICAgNzAuNTYxMDg3XSAgWzxmZmZmZmZmZjgxNzQ4ZDNjPl0gY2Fs
bF9zb2Z0aXJxKzB4MWMvMHgzMA0KWyAgIDcwLjU2MTEwOF0gIFs8ZmZmZmZmZmY4MTAwZWRi
NT5dIGRvX3NvZnRpcnErMHg4NS8weGYwDQpbICAgNzAuNTYxMTMwXSAgWzxmZmZmZmZmZjgx
MDZlMjRlPl0gaXJxX2V4aXQrMHg5ZS8weGQwDQpbICAgNzAuNTYxMTUzXSAgWzxmZmZmZmZm
ZjgxMzM5ZjVmPl0geGVuX2V2dGNobl9kb191cGNhbGwrMHgyZi8weDQwDQpbICAgNzAuNTYx
MTc2XSAgWzxmZmZmZmZmZjgxNzQ4ZDllPl0geGVuX2RvX2h5cGVydmlzb3JfY2FsbGJhY2sr
MHgxZS8weDMwDQpbICAgNzAuNTYxMTk1XSAgPEVPST4gIFs8ZmZmZmZmZmY4MTAwMTNhYT5d
ID8geGVuX2h5cGVyY2FsbF9zY2hlZF9vcCsweGEvMHgyMA0KWyAgIDcwLjU2MTIzMl0gIFs8
ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2FsbF9zY2hlZF9vcCsweGEvMHgyMA0K
WyAgIDcwLjU2MTI1Nl0gIFs8ZmZmZmZmZmY4MTAwODY5MD5dID8geGVuX3NhZmVfaGFsdCsw
eDEwLzB4MjANClsgICA3MC41NjEyNzhdICBbPGZmZmZmZmZmODEwMTYwZDA+XSA/IGRlZmF1
bHRfaWRsZSsweDQwLzB4OTANClsgICA3MC41NjEyOTldICBbPGZmZmZmZmZmODEwMTY0ODY+
XSA/IGNwdV9pZGxlKzB4OTYvMHhmMA0KWyAgIDcwLjU2MTMxOV0gIFs8ZmZmZmZmZmY4MTcy
MmQzYz5dID8gcmVzdF9pbml0KzB4YmMvMHhkMA0KWyAgIDcwLjU2MTMzOV0gIFs8ZmZmZmZm
ZmY4MTcyMmM4MD5dID8gY3N1bV9wYXJ0aWFsX2NvcHlfZ2VuZXJpYysweDE3MC8weDE3MA0K
WyAgIDcwLjU2MTM5MF0gIFs8ZmZmZmZmZmY4MWNlMGRmMj5dID8gc3RhcnRfa2VybmVsKzB4
MzkwLzB4MzlkDQpbICAgNzAuNTYxNDE0XSAgWzxmZmZmZmZmZjgxY2UwODgyPl0gPyBrZXJu
ZWxfaW5pdCsweDIwYi8weDIwYg0KWyAgIDcwLjU2MTQzNl0gIFs8ZmZmZmZmZmY4MWNlMDM1
Nj5dID8geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweDEzMS8weDEzNg0KWyAgIDcwLjU2
MTQ2Ml0gIFs8ZmZmZmZmZmY4MWNlM2Q2MD5dID8geGVuX3N0YXJ0X2tlcm5lbCsweDcwZC8w
eDcwZg0KWyAgIDcwLjU2MTQ4M10gLS0tWyBlbmQgdHJhY2UgMmUyOGVlYzkzYjdhOGI4MSBd
LS0tDQpbICAxMDYuOTMzNDIwXSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0t
LS0NClsgIDEwNi45MzM0NDVdIFdBUk5JTkc6IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9u
dC5jOjQ2NSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MCgpDQpbICAxMDYuOTMzNDUy
XSBNb2R1bGVzIGxpbmtlZCBpbjoNClsgIDEwNi45MzM0NThdIFBpZDogMTk1NCwgY29tbTog
Z3ppcCBUYWludGVkOiBHICAgICAgICBXICAgIDMuNi4wcHJlLXJjMS0yMDEyMTAxMSAjMQ0K
WyAgMTA2LjkzMzQ2M10gQ2FsbCBUcmFjZToNClsgIDEwNi45MzM0NjZdICA8SVJRPiAgWzxm
ZmZmZmZmZjgxMDY2NGVhPl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8weGIwDQpbICAx
MDYuOTMzNDc2XSAgWzxmZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0aF9udWxsKzB4
MTUvMHgyMA0KWyAgMTA2LjkzMzQ4Ml0gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5dIHhlbm5ldF9z
dGFydF94bWl0KzB4N2ZlLzB4ODYwDQpbICAxMDYuOTMzNDkwXSAgWzxmZmZmZmZmZjgxNjFm
MzQ5Pl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgMTA2LjkzMzQ5Nl0g
IFs8ZmZmZmZmZmY4MTYzYjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4MjkwDQpbICAx
MDYuOTMzNTAxXSAgWzxmZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3htaXQrMHgxYTYv
MHg1YTANClsgIDEwNi45MzM1MDZdICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/IGRldl9oYXJk
X3N0YXJ0X3htaXQrMHg0NjAvMHg0NjANClsgIDEwNi45MzM1MTJdICBbPGZmZmZmZmZmODE2
MjlhNzc+XSBuZWlnaF9yZXNvbHZlX291dHB1dCsweDEyNy8weDI1MA0KWyAgMTA2LjkzMzUx
OV0gIFs8ZmZmZmZmZmY4MTZiOTZhZD5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgzOWQvMHg1MzAN
ClsgIDEwNi45MzM1MjVdICBbPGZmZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9vdXRw
dXQrMHhjZC8weDUzMA0KWyAgMTA2LjkzMzUzMF0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5dIGlw
X291dHB1dCsweDU5LzB4ZTANClsgIDEwNi45MzM1MzVdICBbPGZmZmZmZmZmODE2YjgzYjg+
XSBpcF9sb2NhbF9vdXQrMHgyOC8weDkwDQpbICAxMDYuOTMzNTQwXSAgWzxmZmZmZmZmZjgx
NmI4OTZmPl0gaXBfcXVldWVfeG1pdCsweDE3Zi8weDRhMA0KWyAgMTA2LjkzMzU0NV0gIFs8
ZmZmZmZmZmY4MTZiODdmMD5dID8gaXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4MzQw
DQpbICAxMDYuOTMzNTUxXSAgWzxmZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVvZmRh
eSsweDQ3LzB4ZTANClsgIDEwNi45MzM1NTddICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/IF9f
c2tiX2Nsb25lKzB4MjkvMHgxMjANClsgIDEwNi45MzM1NjJdICBbPGZmZmZmZmZmODE2Y2Vh
MjA+XSB0Y3BfdHJhbnNtaXRfc2tiKzB4NDAwLzB4OGQwDQpbICAxMDYuOTMzNTY3XSAgWzxm
ZmZmZmZmZjgxNmQxMTA2Pl0gdGNwX3JldHJhbnNtaXRfc2tiKzB4MWM2LzB4NWEwDQpbICAx
MDYuOTMzNTczXSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFu
ZGxlcisweDFhMC8weDFhMA0KWyAgMTA2LjkzMzU3OF0gIFs8ZmZmZmZmZmY4MTZkMmYzOD5d
IHRjcF9yZXRyYW5zbWl0X3RpbWVyKzB4MzU4LzB4NjMwDQpbICAxMDYuOTMzNTg0XSAgWzxm
ZmZmZmZmZjgxNmQzMzRkPl0gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxM2QvMHgxYTAN
ClsgIDEwNi45MzM1OTBdICBbPGZmZmZmZmZmODE2ZDM0Mjg+XSB0Y3Bfd3JpdGVfdGltZXIr
MHg3OC8weDgwDQpbICAxMDYuOTMzNTk1XSAgWzxmZmZmZmZmZjgxMDczZjdjPl0gY2FsbF90
aW1lcl9mbisweDdjLzB4MTAwDQpbICAxMDYuOTMzNjAwXSAgWzxmZmZmZmZmZjgxMDczZjAw
Pl0gPyBjYXNjYWRlKzB4YTAvMHhhMA0KWyAgMTA2LjkzMzYwNF0gIFs8ZmZmZmZmZmY4MTZk
MzNiMD5dID8gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAvMHgxYTANClsgIDEwNi45
MzM2MTBdICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVy
KzB4MWEwLzB4MWEwDQpbICAxMDYuOTMzNjE1XSAgWzxmZmZmZmZmZjgxMDc0MjE3Pl0gcnVu
X3RpbWVyX3NvZnRpcnErMHgyMTcvMHgyNTANClsgIDEwNi45MzM2MjFdICBbPGZmZmZmZmZm
ODEwNmUzZDk+XSBfX2RvX3NvZnRpcnErMHhjOS8weDFhMA0KWyAgMTA2LjkzMzYyN10gIFs8
ZmZmZmZmZmY4MTc0OGQzYz5dIGNhbGxfc29mdGlycSsweDFjLzB4MzANClsgIDEwNi45MzM2
MzJdICBbPGZmZmZmZmZmODEwMGVkYjU+XSBkb19zb2Z0aXJxKzB4ODUvMHhmMA0KWyAgMTA2
LjkzMzYzN10gIFs8ZmZmZmZmZmY4MTA2ZTI0ZT5dIGlycV9leGl0KzB4OWUvMHhkMA0KWyAg
MTA2LjkzMzY0M10gIFs8ZmZmZmZmZmY4MTMzOWY1Zj5dIHhlbl9ldnRjaG5fZG9fdXBjYWxs
KzB4MmYvMHg0MA0KWyAgMTA2LjkzMzY0OF0gIFs8ZmZmZmZmZmY4MTc0OGQ5ZT5dIHhlbl9k
b19oeXBlcnZpc29yX2NhbGxiYWNrKzB4MWUvMHgzMA0KWyAgMTA2LjkzMzY1M10gIDxFT0k+
IA0KWyAgMTA2LjkzMzY1NV0gLS0tWyBlbmQgdHJhY2UgMmUyOGVlYzkzYjdhOGI4MiBdLS0t
DQpbICAxNzkuNjgwMzE1XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0N
ClsgIDE3OS42ODAzNDRdIFdBUk5JTkc6IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5j
OjQ2NSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MCgpDQpbICAxNzkuNjgwMzU3XSBN
b2R1bGVzIGxpbmtlZCBpbjoNClsgIDE3OS42ODAzNjldIFBpZDogMCwgY29tbTogc3dhcHBl
ci8wIFRhaW50ZWQ6IEcgICAgICAgIFcgICAgMy42LjBwcmUtcmMxLTIwMTIxMDExICMxDQpb
ICAxNzkuNjgwMzgxXSBDYWxsIFRyYWNlOg0KWyAgMTc5LjY4MDM4N10gIDxJUlE+ICBbPGZm
ZmZmZmZmODEwNjY0ZWE+XSB3YXJuX3Nsb3dwYXRoX2NvbW1vbisweDdhLzB4YjANClsgIDE3
OS42ODA0MDldICBbPGZmZmZmZmZmODEwNjY1MzU+XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgx
NS8weDIwDQpbICAxNzkuNjgwNDIwXSAgWzxmZmZmZmZmZjgxNDZkODllPl0geGVubmV0X3N0
YXJ0X3htaXQrMHg3ZmUvMHg4NjANClsgIDE3OS42ODA0MzddICBbPGZmZmZmZmZmODE2MWYz
NDk+XSBkZXZfaGFyZF9zdGFydF94bWl0KzB4MjA5LzB4NDYwDQpbICAxNzkuNjgwNDQ5XSAg
WzxmZmZmZmZmZjgxNjNiMDM2Pl0gc2NoX2RpcmVjdF94bWl0KzB4ZjYvMHgyOTANClsgIDE3
OS42ODA0NjFdICBbPGZmZmZmZmZmODE2MWY3NDY+XSBkZXZfcXVldWVfeG1pdCsweDFhNi8w
eDVhMA0KWyAgMTc5LjY4MDQ3Ml0gIFs8ZmZmZmZmZmY4MTYxZjVhMD5dID8gZGV2X2hhcmRf
c3RhcnRfeG1pdCsweDQ2MC8weDQ2MA0KWyAgMTc5LjY4MDQ4NV0gIFs8ZmZmZmZmZmY4MTYy
OWE3Nz5dIG5laWdoX3Jlc29sdmVfb3V0cHV0KzB4MTI3LzB4MjUwDQpbICAxNzkuNjgwNDk4
XSAgWzxmZmZmZmZmZjgxNmI5NmFkPl0gaXBfZmluaXNoX291dHB1dCsweDM5ZC8weDUzMA0K
WyAgMTc5LjY4MDUxMV0gIFs8ZmZmZmZmZmY4MTZiOTNkZD5dID8gaXBfZmluaXNoX291dHB1
dCsweGNkLzB4NTMwDQpbICAxNzkuNjgwNTIzXSAgWzxmZmZmZmZmZjgxNmI5ODk5Pl0gaXBf
b3V0cHV0KzB4NTkvMHhlMA0KWyAgMTc5LjY4MDUzM10gIFs8ZmZmZmZmZmY4MTZiODNiOD5d
IGlwX2xvY2FsX291dCsweDI4LzB4OTANClsgIDE3OS42ODA1NDRdICBbPGZmZmZmZmZmODE2
Yjg5NmY+XSBpcF9xdWV1ZV94bWl0KzB4MTdmLzB4NGEwDQpbICAxNzkuNjgwNTU1XSAgWzxm
ZmZmZmZmZjgxNmI4N2YwPl0gPyBpcF9zZW5kX3VuaWNhc3RfcmVwbHkrMHgzNDAvMHgzNDAN
ClsgIDE3OS42ODA1NjddICBbPGZmZmZmZmZmODEwYTBiYTc+XSA/IGdldG5zdGltZW9mZGF5
KzB4NDcvMHhlMA0KWyAgMTc5LjY4MDU3OV0gIFs8ZmZmZmZmZmY4MTYwZjRjOT5dID8gX19z
a2JfY2xvbmUrMHgyOS8weDEyMA0KWyAgMTc5LjY4MDU5MV0gIFs8ZmZmZmZmZmY4MTZjZWEy
MD5dIHRjcF90cmFuc21pdF9za2IrMHg0MDAvMHg4ZDANClsgIDE3OS42ODA2MDNdICBbPGZm
ZmZmZmZmODE2ZDExMDY+XSB0Y3BfcmV0cmFuc21pdF9za2IrMHgxYzYvMHg1YTANClsgIDE3
OS42ODA2MTVdICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5k
bGVyKzB4MWEwLzB4MWEwDQpbICAxNzkuNjgwNjI3XSAgWzxmZmZmZmZmZjgxNmQyZjM4Pl0g
dGNwX3JldHJhbnNtaXRfdGltZXIrMHgzNTgvMHg2MzANClsgIDE3OS42ODA2MzldICBbPGZm
ZmZmZmZmODE2ZDMzNGQ+XSB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDEzZC8weDFhMA0K
WyAgMTc5LjY4MDY1MV0gIFs8ZmZmZmZmZmY4MTZkMzQyOD5dIHRjcF93cml0ZV90aW1lcisw
eDc4LzB4ODANClsgIDE3OS42ODA2NjJdICBbPGZmZmZmZmZmODEwNzNmN2M+XSBjYWxsX3Rp
bWVyX2ZuKzB4N2MvMHgxMDANClsgIDE3OS42ODA2NzNdICBbPGZmZmZmZmZmODEwNzNmMDA+
XSA/IGNhc2NhZGUrMHhhMC8weGEwDQpbICAxNzkuNjgwNjgzXSAgWzxmZmZmZmZmZjgxNmQz
M2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFhMA0KWyAgMTc5LjY4
MDY5Nl0gIFs8ZmZmZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIr
MHgxYTAvMHgxYTANClsgIDE3OS42ODA3MDddICBbPGZmZmZmZmZmODEwNzQyMTc+XSBydW5f
dGltZXJfc29mdGlycSsweDIxNy8weDI1MA0KWyAgMTc5LjY4MDcyMF0gIFs8ZmZmZmZmZmY4
MTA2ZTNkOT5dIF9fZG9fc29mdGlycSsweGM5LzB4MWEwDQpbICAxNzkuNjgwNzMyXSAgWzxm
ZmZmZmZmZjgxNzQ4ZDNjPl0gY2FsbF9zb2Z0aXJxKzB4MWMvMHgzMA0KWyAgMTc5LjY4MDc0
M10gIFs8ZmZmZmZmZmY4MTAwZWRiNT5dIGRvX3NvZnRpcnErMHg4NS8weGYwDQpbICAxNzku
NjgwNzU0XSAgWzxmZmZmZmZmZjgxMDZlMjRlPl0gaXJxX2V4aXQrMHg5ZS8weGQwDQpbICAx
NzkuNjgwNzY2XSAgWzxmZmZmZmZmZjgxMzM5ZjVmPl0geGVuX2V2dGNobl9kb191cGNhbGwr
MHgyZi8weDQwDQpbICAxNzkuNjgwNzc3XSAgWzxmZmZmZmZmZjgxNzQ4ZDllPl0geGVuX2Rv
X2h5cGVydmlzb3JfY2FsbGJhY2srMHgxZS8weDMwDQpbICAxNzkuNjgwNzg2XSAgPEVPST4g
IFs8ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2FsbF9zY2hlZF9vcCsweGEvMHgy
MA0KWyAgMTc5LjY4MDgwNl0gIFs8ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2Fs
bF9zY2hlZF9vcCsweGEvMHgyMA0KWyAgMTc5LjY4MDgxOF0gIFs8ZmZmZmZmZmY4MTAwODY5
MD5dID8geGVuX3NhZmVfaGFsdCsweDEwLzB4MjANClsgIDE3OS42ODA4MzBdICBbPGZmZmZm
ZmZmODEwMTYwZDA+XSA/IGRlZmF1bHRfaWRsZSsweDQwLzB4OTANClsgIDE3OS42ODA4NDFd
ICBbPGZmZmZmZmZmODEwMTY0ODY+XSA/IGNwdV9pZGxlKzB4OTYvMHhmMA0KWyAgMTc5LjY4
MDg1MV0gIFs8ZmZmZmZmZmY4MTcyMmQzYz5dID8gcmVzdF9pbml0KzB4YmMvMHhkMA0KWyAg
MTc5LjY4MDg2MV0gIFs8ZmZmZmZmZmY4MTcyMmM4MD5dID8gY3N1bV9wYXJ0aWFsX2NvcHlf
Z2VuZXJpYysweDE3MC8weDE3MA0KWyAgMTc5LjY4MDg3NV0gIFs8ZmZmZmZmZmY4MWNlMGRm
Mj5dID8gc3RhcnRfa2VybmVsKzB4MzkwLzB4MzlkDQpbICAxNzkuNjgwODg2XSAgWzxmZmZm
ZmZmZjgxY2UwODgyPl0gPyBrZXJuZWxfaW5pdCsweDIwYi8weDIwYg0KWyAgMTc5LjY4MDg5
OF0gIFs8ZmZmZmZmZmY4MWNlMDM1Nj5dID8geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysw
eDEzMS8weDEzNg0KWyAgMTc5LjY4MDkxMV0gIFs8ZmZmZmZmZmY4MWNlM2Q2MD5dID8geGVu
X3N0YXJ0X2tlcm5lbCsweDcwZC8weDcwZg0KWyAgMTc5LjY4MDkyMl0gLS0tWyBlbmQgdHJh
Y2UgMmUyOGVlYzkzYjdhOGI4MyBdLS0tDQpbICAxOTkuMzAyMjM5XSB0dHlfaW5pdF9kZXY6
IDE5IGNhbGxiYWNrcyBzdXBwcmVzc2VkDQpbICAzMDAuMTQ4MTcxXSAtLS0tLS0tLS0tLS1b
IGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0NClsgIDMwMC4xNDgyMjZdIFdBUk5JTkc6IGF0IGRy
aXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jOjQ2NSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8w
eDg2MCgpDQpbICAzMDAuMTQ4MjU1XSBNb2R1bGVzIGxpbmtlZCBpbjoNClsgIDMwMC4xNDgy
NzhdIFBpZDogMCwgY29tbTogc3dhcHBlci8wIFRhaW50ZWQ6IEcgICAgICAgIFcgICAgMy42
LjBwcmUtcmMxLTIwMTIxMDExICMxDQpbICAzMDAuMTQ4MzA0XSBDYWxsIFRyYWNlOg0KWyAg
MzAwLjE0ODMxOF0gIDxJUlE+ICBbPGZmZmZmZmZmODEwNjY0ZWE+XSB3YXJuX3Nsb3dwYXRo
X2NvbW1vbisweDdhLzB4YjANClsgIDMwMC4xNDgzNjJdICBbPGZmZmZmZmZmODEwNjY1MzU+
XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgxNS8weDIwDQpbICAzMDAuMTQ4Mzg2XSAgWzxmZmZm
ZmZmZjgxNDZkODllPl0geGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjANClsgIDMwMC4x
NDg0MTVdICBbPGZmZmZmZmZmODE2MWYzNDk+XSBkZXZfaGFyZF9zdGFydF94bWl0KzB4MjA5
LzB4NDYwDQpbICAzMDAuMTQ4NDQxXSAgWzxmZmZmZmZmZjgxNjNiMDM2Pl0gc2NoX2RpcmVj
dF94bWl0KzB4ZjYvMHgyOTANClsgIDMwMC4xNDg0NjRdICBbPGZmZmZmZmZmODE2MWY3NDY+
XSBkZXZfcXVldWVfeG1pdCsweDFhNi8weDVhMA0KWyAgMzAwLjE0ODQ4OF0gIFs8ZmZmZmZm
ZmY4MTYxZjVhMD5dID8gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDQ2MC8weDQ2MA0KWyAgMzAw
LjE0ODUxNF0gIFs8ZmZmZmZmZmY4MTBhZDIyZD5dID8gdHJhY2VfaGFyZGlycXNfb24rMHhk
LzB4MTANClsgIDMwMC4xNDg1MzldICBbPGZmZmZmZmZmODE2MjlhNzc+XSBuZWlnaF9yZXNv
bHZlX291dHB1dCsweDEyNy8weDI1MA0KWyAgMzAwLjE0ODU2NV0gIFs8ZmZmZmZmZmY4MTZh
ZDFiZT5dID8gaXB2NF9uZWlnaF9sb29rdXArMHgzZS8weDE1MA0KWyAgMzAwLjE0ODU4OF0g
IFs8ZmZmZmZmZmY4MTYyYWQzNz5dIG5laWdoX3VwZGF0ZSsweDI5Ny8weDVlMA0KWyAgMzAw
LjE0ODYxMF0gIFs8ZmZmZmZmZmY4MTYyYWRjMj5dID8gbmVpZ2hfdXBkYXRlKzB4MzIyLzB4
NWUwDQpbICAzMDAuMTQ4NjMzXSAgWzxmZmZmZmZmZjgxMGFkMjJkPl0gPyB0cmFjZV9oYXJk
aXJxc19vbisweGQvMHgxMA0KWyAgMzAwLjE0ODY2MV0gIFs8ZmZmZmZmZmY4MTA2ZTc1Nj5d
ID8gbG9jYWxfYmhfZW5hYmxlKzB4YzYvMHgxNjANClsgIDMwMC4xNDg3MDJdICBbPGZmZmZm
ZmZmODE2ZTJmNTU+XSBhcnBfcHJvY2VzcysweDJlNS8weDcwMA0KWyAgMzAwLjE0ODcyNV0g
IFs8ZmZmZmZmZmY4MTBhZDM0NT5dID8gZGVidWdfY2hlY2tfbm9fbG9ja3NfZnJlZWQrMHgx
MTUvMHgxZDANClsgIDMwMC4xNDg3NTFdICBbPGZmZmZmZmZmODE2ZTM0NDU+XSBhcnBfcmN2
KzB4ZDUvMHgxNDANClsgIDMwMC4xNDg3NzNdICBbPGZmZmZmZmZmODE2MWFjOGQ+XSBfX25l
dGlmX3JlY2VpdmVfc2tiKzB4NjVkLzB4OGQwDQpbICAzMDAuMTQ4Nzk2XSAgWzxmZmZmZmZm
ZjgxNjFhNzc1Pl0gPyBfX25ldGlmX3JlY2VpdmVfc2tiKzB4MTQ1LzB4OGQwDQpbICAzMDAu
MTQ4ODIwXSAgWzxmZmZmZmZmZjgxMGFkMjJkPl0gPyB0cmFjZV9oYXJkaXJxc19vbisweGQv
MHgxMA0KWyAgMzAwLjE0ODg0NV0gIFs8ZmZmZmZmZmY4MTBmOTk3Mz5dID8gZnJlZV9ob3Rf
Y29sZF9wYWdlKzB4MWIzLzB4MWUwDQpbICAzMDAuMTQ4ODcwXSAgWzxmZmZmZmZmZjgxNjFk
MWY4Pl0gbmV0aWZfcmVjZWl2ZV9za2IrMHgyOC8weGYwDQpbICAzMDAuMTQ4ODk2XSAgWzxm
ZmZmZmZmZjgxNjEyZDAzPl0gPyBfX3Bza2JfcHVsbF90YWlsKzB4MjUzLzB4MzQwDQpbICAz
MDAuMTQ4OTIwXSAgWzxmZmZmZmZmZjgxNDZlNGM1Pl0geGVubmV0X3BvbGwrMHhhZDUvMHhl
MTANClsgIDMwMC4xNDg5NDddICBbPGZmZmZmZmZmODE2MWRmYTY+XSBuZXRfcnhfYWN0aW9u
KzB4MTM2LzB4MjYwDQpbICAzMDAuMTQ4OTcxXSAgWzxmZmZmZmZmZjgxMDZlMzgxPl0gPyBf
X2RvX3NvZnRpcnErMHg3MS8weDFhMA0KWyAgMzAwLjE0ODk5NV0gIFs8ZmZmZmZmZmY4MTA2
ZTNkOT5dIF9fZG9fc29mdGlycSsweGM5LzB4MWEwDQpbICAzMDAuMTQ5MDE5XSAgWzxmZmZm
ZmZmZjgxNzQ4ZDNjPl0gY2FsbF9zb2Z0aXJxKzB4MWMvMHgzMA0KWyAgMzAwLjE0OTA0Ml0g
IFs8ZmZmZmZmZmY4MTAwZWRiNT5dIGRvX3NvZnRpcnErMHg4NS8weGYwDQpbICAzMDAuMTQ5
MDY0XSAgWzxmZmZmZmZmZjgxMDZlMjRlPl0gaXJxX2V4aXQrMHg5ZS8weGQwDQpbICAzMDAu
MTQ5MDg5XSAgWzxmZmZmZmZmZjgxMzM5ZjVmPl0geGVuX2V2dGNobl9kb191cGNhbGwrMHgy
Zi8weDQwDQpbICAzMDAuMTQ5MTEzXSAgWzxmZmZmZmZmZjgxNzQ4ZDllPl0geGVuX2RvX2h5
cGVydmlzb3JfY2FsbGJhY2srMHgxZS8weDMwDQpbICAzMDAuMTQ5MTMzXSAgPEVPST4gIFs8
ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2FsbF9zY2hlZF9vcCsweGEvMHgyMA0K
WyAgMzAwLjE0OTE3Ml0gIFs8ZmZmZmZmZmY4MTAwMTNhYT5dID8geGVuX2h5cGVyY2FsbF9z
Y2hlZF9vcCsweGEvMHgyMA0KWyAgMzAwLjE0OTE5OF0gIFs8ZmZmZmZmZmY4MTAwODY5MD5d
ID8geGVuX3NhZmVfaGFsdCsweDEwLzB4MjANClsgIDMwMC4xNDkyMjJdICBbPGZmZmZmZmZm
ODEwMTYwZDA+XSA/IGRlZmF1bHRfaWRsZSsweDQwLzB4OTANClsgIDMwMC4xNDkyNDVdICBb
PGZmZmZmZmZmODEwMTY0ODY+XSA/IGNwdV9pZGxlKzB4OTYvMHhmMA0KWyAgMzAwLjE0OTI2
N10gIFs8ZmZmZmZmZmY4MTcyMmQzYz5dID8gcmVzdF9pbml0KzB4YmMvMHhkMA0KWyAgMzAw
LjE0OTI4OF0gIFs8ZmZmZmZmZmY4MTcyMmM4MD5dID8gY3N1bV9wYXJ0aWFsX2NvcHlfZ2Vu
ZXJpYysweDE3MC8weDE3MA0KWyAgMzAwLjE0OTMxNl0gIFs8ZmZmZmZmZmY4MWNlMGRmMj5d
ID8gc3RhcnRfa2VybmVsKzB4MzkwLzB4MzlkDQpbICAzMDAuMTQ5MzQwXSAgWzxmZmZmZmZm
ZjgxY2UwODgyPl0gPyBrZXJuZWxfaW5pdCsweDIwYi8weDIwYg0KWyAgMzAwLjE0OTM2NF0g
IFs8ZmZmZmZmZmY4MWNlMDM1Nj5dID8geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweDEz
MS8weDEzNg0KWyAgMzAwLjE0OTM5MV0gIFs8ZmZmZmZmZmY4MWNlM2Q2MD5dID8geGVuX3N0
YXJ0X2tlcm5lbCsweDcwZC8weDcwZg0KWyAgMzAwLjE0OTQxM10gLS0tWyBlbmQgdHJhY2Ug
MmUyOGVlYzkzYjdhOGI4NCBdLS0tDQpbICAzMTIuNTkxMTMyXSAtLS0tLS0tLS0tLS1bIGN1
dCBoZXJlIF0tLS0tLS0tLS0tLS0NClsgIDMxMi41OTExNjRdIFdBUk5JTkc6IGF0IGRyaXZl
cnMvbmV0L3hlbi1uZXRmcm9udC5jOjQ2NSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2
MCgpDQpbICAzMTIuNTkxMTcxXSBNb2R1bGVzIGxpbmtlZCBpbjoNClsgIDMxMi41OTExNzdd
IFBpZDogMjE1OSwgY29tbTogc3NoZCBUYWludGVkOiBHICAgICAgICBXICAgIDMuNi4wcHJl
LXJjMS0yMDEyMTAxMSAjMQ0KWyAgMzEyLjU5MTE4M10gQ2FsbCBUcmFjZToNClsgIDMxMi41
OTExOTFdICBbPGZmZmZmZmZmODEwNjY0ZWE+XSB3YXJuX3Nsb3dwYXRoX2NvbW1vbisweDdh
LzB4YjANClsgIDMxMi41OTEyMTNdICBbPGZmZmZmZmZmODEwNjY1MzU+XSB3YXJuX3Nsb3dw
YXRoX251bGwrMHgxNS8weDIwDQpbICAzMTIuNTkxMjE5XSAgWzxmZmZmZmZmZjgxNDZkODll
Pl0geGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjANClsgIDMxMi41OTEyMjZdICBbPGZm
ZmZmZmZmODE2MWYzNDk+XSBkZXZfaGFyZF9zdGFydF94bWl0KzB4MjA5LzB4NDYwDQpbICAz
MTIuNTkxMjMzXSAgWzxmZmZmZmZmZjgxNjNiMDM2Pl0gc2NoX2RpcmVjdF94bWl0KzB4ZjYv
MHgyOTANClsgIDMxMi41OTEyMzldICBbPGZmZmZmZmZmODE2MWY3NDY+XSBkZXZfcXVldWVf
eG1pdCsweDFhNi8weDVhMA0KWyAgMzEyLjU5MTI0NF0gIFs8ZmZmZmZmZmY4MTYxZjVhMD5d
ID8gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDQ2MC8weDQ2MA0KWyAgMzEyLjU5MTI1MV0gIFs8
ZmZmZmZmZmY4MTBhYThlNT5dID8gdHJhY2Vfc29mdGlycXNfb2ZmKzB4ODUvMHgxYjANClsg
IDMxMi41OTEyNTldICBbPGZmZmZmZmZmODE2Yjk1MzY+XSBpcF9maW5pc2hfb3V0cHV0KzB4
MjI2LzB4NTMwDQpbICAzMTIuNTkxMjY0XSAgWzxmZmZmZmZmZjgxNmI5M2RkPl0gPyBpcF9m
aW5pc2hfb3V0cHV0KzB4Y2QvMHg1MzANClsgIDMxMi41OTEyNzBdICBbPGZmZmZmZmZmODE2
Yjk4OTk+XSBpcF9vdXRwdXQrMHg1OS8weGUwDQpbICAzMTIuNTkxMjc2XSAgWzxmZmZmZmZm
ZjgxNmI4M2I4Pl0gaXBfbG9jYWxfb3V0KzB4MjgvMHg5MA0KWyAgMzEyLjU5MTI4MV0gIFs8
ZmZmZmZmZmY4MTZiODk2Zj5dIGlwX3F1ZXVlX3htaXQrMHgxN2YvMHg0YTANClsgIDMxMi41
OTEyODZdICBbPGZmZmZmZmZmODE2Yjg3ZjA+XSA/IGlwX3NlbmRfdW5pY2FzdF9yZXBseSsw
eDM0MC8weDM0MA0KWyAgMzEyLjU5MTI5M10gIFs8ZmZmZmZmZmY4MTBhMGJhNz5dID8gZ2V0
bnN0aW1lb2ZkYXkrMHg0Ny8weGUwDQpbICAzMTIuNTkxMjk5XSAgWzxmZmZmZmZmZjgxNjBm
NGM5Pl0gPyBfX3NrYl9jbG9uZSsweDI5LzB4MTIwDQpbICAzMTIuNTkxMzA2XSAgWzxmZmZm
ZmZmZjgxNmNlYTIwPl0gdGNwX3RyYW5zbWl0X3NrYisweDQwMC8weDhkMA0KWyAgMzEyLjU5
MTMxMl0gIFs8ZmZmZmZmZmY4MTZkMTlmYT5dIHRjcF93cml0ZV94bWl0KzB4MjFhLzB4YTUw
DQpbICAzMTIuNTkxMzE3XSAgWzxmZmZmZmZmZjgxNmQyMjViPl0gdGNwX3B1c2hfb25lKzB4
MmIvMHg0MA0KWyAgMzEyLjU5MTMyNF0gIFs8ZmZmZmZmZmY4MTZjMmRlYz5dIHRjcF9zZW5k
bXNnKzB4OGRjLzB4ZTIwDQpbICAzMTIuNTkxMzMxXSAgWzxmZmZmZmZmZjgxNmU4ZjE5Pl0g
aW5ldF9zZW5kbXNnKzB4YTkvMHgxMDANClsgIDMxMi41OTEzMzZdICBbPGZmZmZmZmZmODE2
ZThlNzA+XSA/IGluZXRfYXV0b2JpbmQrMHg3MC8weDcwDQpbICAzMTIuNTkxMzQyXSAgWzxm
ZmZmZmZmZjgxMGIwZjg4Pl0gPyBsb2NrX2FjcXVpcmUrMHhkOC8weDEwMA0KWyAgMzEyLjU5
MTM0OV0gIFs8ZmZmZmZmZmY4MTYwNjMwZD5dIHNvY2tfYWlvX3dyaXRlKzB4MTJkLzB4MTQw
DQpbICAzMTIuNTkxMzU2XSAgWzxmZmZmZmZmZjgxMTQzNWIyPl0gZG9fc3luY193cml0ZSsw
eGEyLzB4ZTANClsgIDMxMi41OTEzNjVdICBbPGZmZmZmZmZmODEwYWQyMmQ+XSA/IHRyYWNl
X2hhcmRpcnFzX29uKzB4ZC8weDEwDQpbICAzMTIuNTkxMzcxXSAgWzxmZmZmZmZmZjgxMTQ0
MWQ0Pl0gdmZzX3dyaXRlKzB4MTc0LzB4MTkwDQpbICAzMTIuNTkxMzc2XSAgWzxmZmZmZmZm
ZjgxMTQ0MmZhPl0gc3lzX3dyaXRlKzB4NWEvMHhhMA0KWyAgMzEyLjU5MTM4M10gIFs8ZmZm
ZmZmZmY4MTJiMzNkZT5dID8gdHJhY2VfaGFyZGlycXNfb25fdGh1bmsrMHgzYS8weDNmDQpb
ICAzMTIuNTkxMzkxXSAgWzxmZmZmZmZmZjgxNzQ5MWNjPl0gY3N0YXJfZGlzcGF0Y2grMHg3
LzB4MjYNClsgIDMxMi41OTEzOTZdIC0tLVsgZW5kIHRyYWNlIDJlMjhlZWM5M2I3YThiODUg
XS0tLQ0KWyAgMzEyLjU5MTQyOV0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0t
LS0tDQpbICAzMTIuNTkxNDM1XSBXQVJOSU5HOiBhdCBkcml2ZXJzL25ldC94ZW4tbmV0ZnJv
bnQuYzo0NjUgeGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjAoKQ0KWyAgMzEyLjU5MTQ0
MV0gTW9kdWxlcyBsaW5rZWQgaW46DQpbICAzMTIuNTkxNDQ1XSBQaWQ6IDIxNTksIGNvbW06
IHNzaGQgVGFpbnRlZDogRyAgICAgICAgVyAgICAzLjYuMHByZS1yYzEtMjAxMjEwMTEgIzEN
ClsgIDMxMi41OTE0NTFdIENhbGwgVHJhY2U6DQpbICAzMTIuNTkxNDU3XSAgWzxmZmZmZmZm
ZjgxMDY2NGVhPl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8weGIwDQpbICAzMTIuNTkx
NDYzXSAgWzxmZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0aF9udWxsKzB4MTUvMHgy
MA0KWyAgMzEyLjU5MTQ2OF0gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5dIHhlbm5ldF9zdGFydF94
bWl0KzB4N2ZlLzB4ODYwDQpbICAzMTIuNTkxNDc1XSAgWzxmZmZmZmZmZjgxNjFmMzQ5Pl0g
ZGV2X2hhcmRfc3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgMzEyLjU5MTQ4MV0gIFs8ZmZm
ZmZmZmY4MTYzYjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4MjkwDQpbICAzMTIuNTkx
NDg3XSAgWzxmZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3htaXQrMHgxYTYvMHg1YTAN
ClsgIDMxMi41OTE0OTJdICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/IGRldl9oYXJkX3N0YXJ0
X3htaXQrMHg0NjAvMHg0NjANClsgIDMxMi41OTE0OThdICBbPGZmZmZmZmZmODEwYWE4ZTU+
XSA/IHRyYWNlX3NvZnRpcnFzX29mZisweDg1LzB4MWIwDQpbICAzMTIuNTkxNTA0XSAgWzxm
ZmZmZmZmZjgxNmI5NTM2Pl0gaXBfZmluaXNoX291dHB1dCsweDIyNi8weDUzMA0KWyAgMzEy
LjU5MTUxMF0gIFs8ZmZmZmZmZmY4MTZiOTNkZD5dID8gaXBfZmluaXNoX291dHB1dCsweGNk
LzB4NTMwDQpbICAzMTIuNTkxNTE2XSAgWzxmZmZmZmZmZjgxNmI5ODk5Pl0gaXBfb3V0cHV0
KzB4NTkvMHhlMA0KWyAgMzEyLjU5MTUyMV0gIFs8ZmZmZmZmZmY4MTZiODNiOD5dIGlwX2xv
Y2FsX291dCsweDI4LzB4OTANClsgIDMxMi41OTE1MjZdICBbPGZmZmZmZmZmODE2Yjg5NmY+
XSBpcF9xdWV1ZV94bWl0KzB4MTdmLzB4NGEwDQpbICAzMTIuNTkxNTMyXSAgWzxmZmZmZmZm
ZjgxNmI4N2YwPl0gPyBpcF9zZW5kX3VuaWNhc3RfcmVwbHkrMHgzNDAvMHgzNDANClsgIDMx
Mi41OTE1MzhdICBbPGZmZmZmZmZmODEwYTBiYTc+XSA/IGdldG5zdGltZW9mZGF5KzB4NDcv
MHhlMA0KWyAgMzEyLjU5MTU0NF0gIFs8ZmZmZmZmZmY4MTYwZjRjOT5dID8gX19za2JfY2xv
bmUrMHgyOS8weDEyMA0KWyAgMzEyLjU5MTU0OV0gIFs8ZmZmZmZmZmY4MTZjZWEyMD5dIHRj
cF90cmFuc21pdF9za2IrMHg0MDAvMHg4ZDANClsgIDMxMi41OTE1NTVdICBbPGZmZmZmZmZm
ODE2ZDE5ZmE+XSB0Y3Bfd3JpdGVfeG1pdCsweDIxYS8weGE1MA0KWyAgMzEyLjU5MTU2MF0g
IFs8ZmZmZmZmZmY4MTZkMjI5ZD5dIF9fdGNwX3B1c2hfcGVuZGluZ19mcmFtZXMrMHgyZC8w
eDkwDQpbICAzMTIuNTkxNTY2XSAgWzxmZmZmZmZmZjgxNmMyNjkzPl0gdGNwX3NlbmRtc2cr
MHgxODMvMHhlMjANClsgIDMxMi41OTE1NzJdICBbPGZmZmZmZmZmODE2ZThmMTk+XSBpbmV0
X3NlbmRtc2crMHhhOS8weDEwMA0KWyAgMzEyLjU5MTU3OF0gIFs8ZmZmZmZmZmY4MTZlOGU3
MD5dID8gaW5ldF9hdXRvYmluZCsweDcwLzB4NzANClsgIDMxMi41OTE1ODNdICBbPGZmZmZm
ZmZmODEwYjBmODg+XSA/IGxvY2tfYWNxdWlyZSsweGQ4LzB4MTAwDQpbICAzMTIuNTkxNTg4
XSAgWzxmZmZmZmZmZjgxNjA2MzBkPl0gc29ja19haW9fd3JpdGUrMHgxMmQvMHgxNDANClsg
IDMxMi41OTE1OTRdICBbPGZmZmZmZmZmODExNDM1YjI+XSBkb19zeW5jX3dyaXRlKzB4YTIv
MHhlMA0KWyAgMzEyLjU5MTYwMF0gIFs8ZmZmZmZmZmY4MTBhZDIyZD5dID8gdHJhY2VfaGFy
ZGlycXNfb24rMHhkLzB4MTANClsgIDMxMi41OTE2MDZdICBbPGZmZmZmZmZmODExNDQxZDQ+
XSB2ZnNfd3JpdGUrMHgxNzQvMHgxOTANClsgIDMxMi41OTE2MTFdICBbPGZmZmZmZmZmODEx
NDQyZmE+XSBzeXNfd3JpdGUrMHg1YS8weGEwDQpbICAzMTIuNTkxNjE3XSAgWzxmZmZmZmZm
ZjgxMmIzM2RlPl0gPyB0cmFjZV9oYXJkaXJxc19vbl90aHVuaysweDNhLzB4M2YNClsgIDMx
Mi41OTE2MjNdICBbPGZmZmZmZmZmODE3NDkxY2M+XSBjc3Rhcl9kaXNwYXRjaCsweDcvMHgy
Ng0KWyAgMzEyLjU5MTYyN10gLS0tWyBlbmQgdHJhY2UgMmUyOGVlYzkzYjdhOGI4NiBdLS0t
DQpbICAzMTIuNTkxNjQ1XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0N
ClsgIDMxMi41OTE2NTFdIFdBUk5JTkc6IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5j
OjQ2NSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MCgpDQpbICAzMTIuNTkxNjU3XSBN
b2R1bGVzIGxpbmtlZCBpbjoNClsgIDMxMi41OTE2NjJdIFBpZDogMjE1OSwgY29tbTogc3No
ZCBUYWludGVkOiBHICAgICAgICBXICAgIDMuNi4wcHJlLXJjMS0yMDEyMTAxMSAjMQ0KWyAg
MzEyLjU5MTY2N10gQ2FsbCBUcmFjZToNClsgIDMxMi41OTE2NzFdICBbPGZmZmZmZmZmODEw
NjY0ZWE+XSB3YXJuX3Nsb3dwYXRoX2NvbW1vbisweDdhLzB4YjANClsgIDMxMi41OTE2Nzdd
ICBbPGZmZmZmZmZmODEwNjY1MzU+XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgxNS8weDIwDQpb
ICAzMTIuNTkxNjgyXSAgWzxmZmZmZmZmZjgxNDZkODllPl0geGVubmV0X3N0YXJ0X3htaXQr
MHg3ZmUvMHg4NjANClsgIDMxMi41OTE2ODhdICBbPGZmZmZmZmZmODE2MWYzNDk+XSBkZXZf
aGFyZF9zdGFydF94bWl0KzB4MjA5LzB4NDYwDQpbICAzMTIuNTkxNjk0XSAgWzxmZmZmZmZm
ZjgxNjNiMDM2Pl0gc2NoX2RpcmVjdF94bWl0KzB4ZjYvMHgyOTANClsgIDMxMi41OTE3MDBd
ICBbPGZmZmZmZmZmODE2MWY3NDY+XSBkZXZfcXVldWVfeG1pdCsweDFhNi8weDVhMA0KWyAg
MzEyLjU5MTcwNV0gIFs8ZmZmZmZmZmY4MTYxZjVhMD5dID8gZGV2X2hhcmRfc3RhcnRfeG1p
dCsweDQ2MC8weDQ2MA0KWyAgMzEyLjU5MTcxMV0gIFs8ZmZmZmZmZmY4MTBhYThlNT5dID8g
dHJhY2Vfc29mdGlycXNfb2ZmKzB4ODUvMHgxYjANClsgIDMxMi41OTE3MTddICBbPGZmZmZm
ZmZmODE2Yjk1MzY+XSBpcF9maW5pc2hfb3V0cHV0KzB4MjI2LzB4NTMwDQpbICAzMTIuNTkx
NzI2XSAgWzxmZmZmZmZmZjgxNmI5M2RkPl0gPyBpcF9maW5pc2hfb3V0cHV0KzB4Y2QvMHg1
MzANClsgIDMxMi41OTE3MzJdICBbPGZmZmZmZmZmODE2Yjk4OTk+XSBpcF9vdXRwdXQrMHg1
OS8weGUwDQpbICAzMTIuNTkxNzM3XSAgWzxmZmZmZmZmZjgxNmI4M2I4Pl0gaXBfbG9jYWxf
b3V0KzB4MjgvMHg5MA0KWyAgMzEyLjU5MTc0M10gIFs8ZmZmZmZmZmY4MTZiODk2Zj5dIGlw
X3F1ZXVlX3htaXQrMHgxN2YvMHg0YTANClsgIDMxMi41OTE3NDhdICBbPGZmZmZmZmZmODE2
Yjg3ZjA+XSA/IGlwX3NlbmRfdW5pY2FzdF9yZXBseSsweDM0MC8weDM0MA0KWyAgMzEyLjU5
MTc1NF0gIFs8ZmZmZmZmZmY4MTBhMGJhNz5dID8gZ2V0bnN0aW1lb2ZkYXkrMHg0Ny8weGUw
DQpbICAzMTIuNTkxNzU5XSAgWzxmZmZmZmZmZjgxNjBmNGM5Pl0gPyBfX3NrYl9jbG9uZSsw
eDI5LzB4MTIwDQpbICAzMTIuNTkxNzY1XSAgWzxmZmZmZmZmZjgxNmNlYTIwPl0gdGNwX3Ry
YW5zbWl0X3NrYisweDQwMC8weDhkMA0KWyAgMzEyLjU5MTc3MF0gIFs8ZmZmZmZmZmY4MTZk
MTlmYT5dIHRjcF93cml0ZV94bWl0KzB4MjFhLzB4YTUwDQpbICAzMTIuNTkxNzc2XSAgWzxm
ZmZmZmZmZjgxNmQyMjlkPl0gX190Y3BfcHVzaF9wZW5kaW5nX2ZyYW1lcysweDJkLzB4OTAN
ClsgIDMxMi41OTE3ODJdICBbPGZmZmZmZmZmODE2YzI2OTM+XSB0Y3Bfc2VuZG1zZysweDE4
My8weGUyMA0KWyAgMzEyLjU5MTc4OF0gIFs8ZmZmZmZmZmY4MTZlOGYxOT5dIGluZXRfc2Vu
ZG1zZysweGE5LzB4MTAwDQpbICAzMTIuNTkxNzkzXSAgWzxmZmZmZmZmZjgxNmU4ZTcwPl0g
PyBpbmV0X2F1dG9iaW5kKzB4NzAvMHg3MA0KWyAgMzEyLjU5MTc5OV0gIFs8ZmZmZmZmZmY4
MTBiMGY4OD5dID8gbG9ja19hY3F1aXJlKzB4ZDgvMHgxMDANClsgIDMxMi41OTE4MDRdICBb
PGZmZmZmZmZmODE2MDYzMGQ+XSBzb2NrX2Fpb193cml0ZSsweDEyZC8weDE0MA0KWyAgMzEy
LjU5MTgxMF0gIFs8ZmZmZmZmZmY4MTE0MzViMj5dIGRvX3N5bmNfd3JpdGUrMHhhMi8weGUw
DQpbICAzMTIuNTkxODE2XSAgWzxmZmZmZmZmZjgxMGFkMjJkPl0gPyB0cmFjZV9oYXJkaXJx
c19vbisweGQvMHgxMA0KWyAgMzEyLjU5MTgyMl0gIFs8ZmZmZmZmZmY4MTE0NDFkND5dIHZm
c193cml0ZSsweDE3NC8weDE5MA0KWyAgMzEyLjU5MTgyN10gIFs8ZmZmZmZmZmY4MTE0NDJm
YT5dIHN5c193cml0ZSsweDVhLzB4YTANClsgIDMxMi41OTE4MzNdICBbPGZmZmZmZmZmODEy
YjMzZGU+XSA/IHRyYWNlX2hhcmRpcnFzX29uX3RodW5rKzB4M2EvMHgzZg0KWyAgMzEyLjU5
MTgzOV0gIFs8ZmZmZmZmZmY4MTc0OTFjYz5dIGNzdGFyX2Rpc3BhdGNoKzB4Ny8weDI2DQpb
ICAzMTIuNTkxODQzXSAtLS1bIGVuZCB0cmFjZSAyZTI4ZWVjOTNiN2E4Yjg3IF0tLS0NClsg
IDMxMy4wNDg0MzFdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQ0KWyAg
MzEzLjA0ODQ4N10gV0FSTklORzogYXQgZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmM6NDY1
IHhlbm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwKCkNClsgIDMxMy4wNDg1MTRdIE1vZHVs
ZXMgbGlua2VkIGluOg0KWyAgMzEzLjA0ODUzNl0gUGlkOiAwLCBjb21tOiBzd2FwcGVyLzAg
VGFpbnRlZDogRyAgICAgICAgVyAgICAzLjYuMHByZS1yYzEtMjAxMjEwMTEgIzENClsgIDMx
My4wNDg1NjBdIENhbGwgVHJhY2U6DQpbICAzMTMuMDQ4NTczXSAgPElSUT4gIFs8ZmZmZmZm
ZmY4MTA2NjRlYT5dIHdhcm5fc2xvd3BhdGhfY29tbW9uKzB4N2EvMHhiMA0KWyAgMzEzLjA0
ODYxNF0gIFs8ZmZmZmZmZmY4MTA2NjUzNT5dIHdhcm5fc2xvd3BhdGhfbnVsbCsweDE1LzB4
MjANClsgIDMxMy4wNDg2MzhdICBbPGZmZmZmZmZmODE0NmQ4OWU+XSB4ZW5uZXRfc3RhcnRf
eG1pdCsweDdmZS8weDg2MA0KWyAgMzEzLjA0ODY2NV0gIFs8ZmZmZmZmZmY4MTYxZjM0OT5d
IGRldl9oYXJkX3N0YXJ0X3htaXQrMHgyMDkvMHg0NjANClsgIDMxMy4wNDg2ODldICBbPGZm
ZmZmZmZmODE2M2IwMzY+XSBzY2hfZGlyZWN0X3htaXQrMHhmNi8weDI5MA0KWyAgMzEzLjA0
ODcxMV0gIFs8ZmZmZmZmZmY4MTYxZjc0Nj5dIGRldl9xdWV1ZV94bWl0KzB4MWE2LzB4NWEw
DQpbICAzMTMuMDQ4NzM0XSAgWzxmZmZmZmZmZjgxNjFmNWEwPl0gPyBkZXZfaGFyZF9zdGFy
dF94bWl0KzB4NDYwLzB4NDYwDQpbICAzMTMuMDQ4NzU4XSAgWzxmZmZmZmZmZjgxMGIxNDE3
Pl0gPyBsb2NrX3JlbGVhc2UrMHgxMTcvMHgyNTANClsgIDMxMy4wNDg3ODNdICBbPGZmZmZm
ZmZmODE2Yjk1MzY+XSBpcF9maW5pc2hfb3V0cHV0KzB4MjI2LzB4NTMwDQpbICAzMTMuMDQ4
ODA2XSAgWzxmZmZmZmZmZjgxNmI5M2RkPl0gPyBpcF9maW5pc2hfb3V0cHV0KzB4Y2QvMHg1
MzANClsgIDMxMy4wNDg4MjldICBbPGZmZmZmZmZmODE2Yjk4OTk+XSBpcF9vdXRwdXQrMHg1
OS8weGUwDQpbICAzMTMuMDQ4ODUwXSAgWzxmZmZmZmZmZjgxNmI4M2I4Pl0gaXBfbG9jYWxf
b3V0KzB4MjgvMHg5MA0KWyAgMzEzLjA0ODg3Ml0gIFs8ZmZmZmZmZmY4MTZiODk2Zj5dIGlw
X3F1ZXVlX3htaXQrMHgxN2YvMHg0YTANClsgIDMxMy4wNDg4OTZdICBbPGZmZmZmZmZmODE2
Yjg3ZjA+XSA/IGlwX3NlbmRfdW5pY2FzdF9yZXBseSsweDM0MC8weDM0MA0KWyAgMzEzLjA0
ODkyMF0gIFs8ZmZmZmZmZmY4MTBhMGJhNz5dID8gZ2V0bnN0aW1lb2ZkYXkrMHg0Ny8weGUw
DQpbICAzMTMuMDQ4OTQzXSAgWzxmZmZmZmZmZjgxNjBmNGM5Pl0gPyBfX3NrYl9jbG9uZSsw
eDI5LzB4MTIwDQpbICAzMTMuMDQ4OTY1XSAgWzxmZmZmZmZmZjgxNmNlYTIwPl0gdGNwX3Ry
YW5zbWl0X3NrYisweDQwMC8weDhkMA0KWyAgMzEzLjA0ODk4OF0gIFs8ZmZmZmZmZmY4MTZk
MTEwNj5dIHRjcF9yZXRyYW5zbWl0X3NrYisweDFjNi8weDVhMA0KWyAgMzEzLjA0OTAxMV0g
IFs8ZmZmZmZmZmY4MTZkMTY3ZT5dIHRjcF94bWl0X3JldHJhbnNtaXRfcXVldWUrMHgxOWUv
MHgzMDANClsgIDMxMy4wNDkwMzRdICBbPGZmZmZmZmZmODE2Yzk5ZmY+XSB0Y3BfZmFzdHJl
dHJhbnNfYWxlcnQrMHg5NGYvMHhjYjANClsgIDMxMy4wNDkwNTddICBbPGZmZmZmZmZmODE2
Y2E3MGM+XSB0Y3BfYWNrKzB4OWFjLzB4MTE1MA0KWyAgMzEzLjA0OTA3OV0gIFs8ZmZmZmZm
ZmY4MTZjZDg1OD5dIHRjcF9yY3ZfZXN0YWJsaXNoZWQrMHgzMTgvMHg2NDANClsgIDMxMy4w
NDkxMDJdICBbPGZmZmZmZmZmODE2ZDVlZWY+XSA/IHRjcF92NF9yY3YrMHg2Y2YvMHhiMTAN
ClsgIDMxMy4wNDkxMjNdICBbPGZmZmZmZmZmODE2ZDU0ZDU+XSB0Y3BfdjRfZG9fcmN2KzB4
MTM1LzB4NDgwDQpbICAzMTMuMDQ5MTQ3XSAgWzxmZmZmZmZmZjgxNzQ2MWQyPl0gPyBfcmF3
X3NwaW5fbG9ja19uZXN0ZWQrMHg0Mi8weDUwDQpbICAzMTMuMDQ5MTY5XSAgWzxmZmZmZmZm
ZjgxNmQ1ZWVmPl0gPyB0Y3BfdjRfcmN2KzB4NmNmLzB4YjEwDQpbICAzMTMuMDQ5MTkxXSAg
WzxmZmZmZmZmZjgxNmQ2MTdkPl0gdGNwX3Y0X3JjdisweDk1ZC8weGIxMA0KWyAgMzEzLjA0
OTIxMl0gIFs8ZmZmZmZmZmY4MTBiMGY4OD5dID8gbG9ja19hY3F1aXJlKzB4ZDgvMHgxMDAN
ClsgIDMxMy4wNDkyMzNdICBbPGZmZmZmZmZmODE2YjI5OTU+XSA/IGlwX2xvY2FsX2RlbGl2
ZXJfZmluaXNoKzB4NDUvMHgyMzANClsgIDMxMy4wNDkyNTddICBbPGZmZmZmZmZmODE2YjJh
NmE+XSBpcF9sb2NhbF9kZWxpdmVyX2ZpbmlzaCsweDExYS8weDIzMA0KWyAgMzEzLjA0OTI4
MF0gIFs8ZmZmZmZmZmY4MTZiMjk5NT5dID8gaXBfbG9jYWxfZGVsaXZlcl9maW5pc2grMHg0
NS8weDIzMA0KWyAgMzEzLjA0OTMwNF0gIFs8ZmZmZmZmZmY4MTZiMmJiOD5dIGlwX2xvY2Fs
X2RlbGl2ZXIrMHgzOC8weDgwDQpbICAzMTMuMDQ5MzI2XSAgWzxmZmZmZmZmZjgxNmIyMTdh
Pl0gaXBfcmN2X2ZpbmlzaCsweDE1YS8weDYzMA0KWyAgMzEzLjA0OTM0N10gIFs8ZmZmZmZm
ZmY4MTZiMjg2OD5dIGlwX3JjdisweDIxOC8weDMwMA0KWyAgMzEzLjA0OTM2OF0gIFs8ZmZm
ZmZmZmY4MTYxYWM4ZD5dIF9fbmV0aWZfcmVjZWl2ZV9za2IrMHg2NWQvMHg4ZDANClsgIDMx
My4wNDkzOTNdICBbPGZmZmZmZmZmODE2MWE3NzU+XSA/IF9fbmV0aWZfcmVjZWl2ZV9za2Ir
MHgxNDUvMHg4ZDANClsgIDMxMy4wNDk0MTZdICBbPGZmZmZmZmZmODEwYWQyMmQ+XSA/IHRy
YWNlX2hhcmRpcnFzX29uKzB4ZC8weDEwDQpbICAzMTMuMDQ5NDQwXSAgWzxmZmZmZmZmZjgx
MGY5OTczPl0gPyBmcmVlX2hvdF9jb2xkX3BhZ2UrMHgxYjMvMHgxZTANClsgIDMxMy4wNDk0
NjNdICBbPGZmZmZmZmZmODE2MWQxZjg+XSBuZXRpZl9yZWNlaXZlX3NrYisweDI4LzB4ZjAN
ClsgIDMxMy4wNDk0ODZdICBbPGZmZmZmZmZmODE2MTJkMDM+XSA/IF9fcHNrYl9wdWxsX3Rh
aWwrMHgyNTMvMHgzNDANClsgIDMxMy4wNDk1MDhdICBbPGZmZmZmZmZmODE0NmU0YzU+XSB4
ZW5uZXRfcG9sbCsweGFkNS8weGUxMA0KWyAgMzEzLjA0OTUzNF0gIFs8ZmZmZmZmZmY4MTYx
ZGZhNj5dIG5ldF9yeF9hY3Rpb24rMHgxMzYvMHgyNjANClsgIDMxMy4wNDk1NTddICBbPGZm
ZmZmZmZmODEwNmUzODE+XSA/IF9fZG9fc29mdGlycSsweDcxLzB4MWEwDQpbICAzMTMuMDQ5
NTc5XSAgWzxmZmZmZmZmZjgxMDZlM2Q5Pl0gX19kb19zb2Z0aXJxKzB4YzkvMHgxYTANClsg
IDMxMy4wNDk2MDJdICBbPGZmZmZmZmZmODE3NDhkM2M+XSBjYWxsX3NvZnRpcnErMHgxYy8w
eDMwDQpbICAzMTMuMDQ5NjIzXSAgWzxmZmZmZmZmZjgxMDBlZGI1Pl0gZG9fc29mdGlycSsw
eDg1LzB4ZjANClsgIDMxMy4wNDk2NDVdICBbPGZmZmZmZmZmODEwNmUyNGU+XSBpcnFfZXhp
dCsweDllLzB4ZDANClsgIDMxMy4wNDk2NjhdICBbPGZmZmZmZmZmODEzMzlmNWY+XSB4ZW5f
ZXZ0Y2huX2RvX3VwY2FsbCsweDJmLzB4NDANClsgIDMxMy4wNDk2OTBdICBbPGZmZmZmZmZm
ODE3NDhkOWU+XSB4ZW5fZG9faHlwZXJ2aXNvcl9jYWxsYmFjaysweDFlLzB4MzANClsgIDMx
My4wNDk3MDldICA8RU9JPiAgWzxmZmZmZmZmZjgxMDAxM2FhPl0gPyB4ZW5faHlwZXJjYWxs
X3NjaGVkX29wKzB4YS8weDIwDQpbICAzMTMuMDQ5NzQ1XSAgWzxmZmZmZmZmZjgxMDAxM2Fh
Pl0gPyB4ZW5faHlwZXJjYWxsX3NjaGVkX29wKzB4YS8weDIwDQpbICAzMTMuMDQ5NzY5XSAg
WzxmZmZmZmZmZjgxMDA4NjkwPl0gPyB4ZW5fc2FmZV9oYWx0KzB4MTAvMHgyMA0KWyAgMzEz
LjA0OTc5MV0gIFs8ZmZmZmZmZmY4MTAxNjBkMD5dID8gZGVmYXVsdF9pZGxlKzB4NDAvMHg5
MA0KWyAgMzEzLjA0OTgxMl0gIFs8ZmZmZmZmZmY4MTAxNjQ4Nj5dID8gY3B1X2lkbGUrMHg5
Ni8weGYwDQpbICAzMTMuMDQ5ODMyXSAgWzxmZmZmZmZmZjgxNzIyZDNjPl0gPyByZXN0X2lu
aXQrMHhiYy8weGQwDQpbICAzMTMuMDQ5ODUyXSAgWzxmZmZmZmZmZjgxNzIyYzgwPl0gPyBj
c3VtX3BhcnRpYWxfY29weV9nZW5lcmljKzB4MTcwLzB4MTcwDQpbICAzMTMuMDQ5ODc4XSAg
WzxmZmZmZmZmZjgxY2UwZGYyPl0gPyBzdGFydF9rZXJuZWwrMHgzOTAvMHgzOWQNClsgIDMx
My4wNDk5MDFdICBbPGZmZmZmZmZmODFjZTA4ODI+XSA/IGtlcm5lbF9pbml0KzB4MjBiLzB4
MjBiDQpbICAzMTMuMDQ5OTI4XSAgWzxmZmZmZmZmZjgxY2UwMzU2Pl0gPyB4ODZfNjRfc3Rh
cnRfcmVzZXJ2YXRpb25zKzB4MTMxLzB4MTM2DQpbICAzMTMuMDQ5OTUyXSAgWzxmZmZmZmZm
ZjgxY2UzZDYwPl0gPyB4ZW5fc3RhcnRfa2VybmVsKzB4NzBkLzB4NzBmDQpbICAzMTMuMDQ5
OTc0XSAtLS1bIGVuZCB0cmFjZSAyZTI4ZWVjOTNiN2E4Yjg4IF0tLS0NClsgIDMxMy4wNTAw
NTRdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQ0KWyAgMzEzLjA1MDA3
N10gV0FSTklORzogYXQgZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmM6NDY1IHhlbm5ldF9z
dGFydF94bWl0KzB4N2ZlLzB4ODYwKCkNClsgIDMxMy4wNTAxMDJdIE1vZHVsZXMgbGlua2Vk
IGluOg0KWyAgMzEzLjA1MDEyMV0gUGlkOiAwLCBjb21tOiBzd2FwcGVyLzAgVGFpbnRlZDog
RyAgICAgICAgVyAgICAzLjYuMHByZS1yYzEtMjAxMjEwMTEgIzENClsgIDMxMy4wNTAxNDNd
IENhbGwgVHJhY2U6DQpbICAzMTMuMDUwMTUzXSAgPElSUT4gIFs8ZmZmZmZmZmY4MTA2NjRl
YT5dIHdhcm5fc2xvd3BhdGhfY29tbW9uKzB4N2EvMHhiMA0KWyAgMzEzLjA1MDE4N10gIFs8
ZmZmZmZmZmY4MTA2NjUzNT5dIHdhcm5fc2xvd3BhdGhfbnVsbCsweDE1LzB4MjANClsgIDMx
My4wNTAyMTBdICBbPGZmZmZmZmZmODE0NmQ4OWU+XSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdm
ZS8weDg2MA0KWyAgMzEzLjA1MDIzNF0gIFs8ZmZmZmZmZmY4MTYxZjM0OT5dIGRldl9oYXJk
X3N0YXJ0X3htaXQrMHgyMDkvMHg0NjANClsgIDMxMy4wNTAyNTddICBbPGZmZmZmZmZmODE2
M2IwMzY+XSBzY2hfZGlyZWN0X3htaXQrMHhmNi8weDI5MA0KWyAgMzEzLjA1MDI4MF0gIFs8
ZmZmZmZmZmY4MTYxZjc0Nj5dIGRldl9xdWV1ZV94bWl0KzB4MWE2LzB4NWEwDQpbICAzMTMu
MDUwMzAyXSAgWzxmZmZmZmZmZjgxNjFmNWEwPl0gPyBkZXZfaGFyZF9zdGFydF94bWl0KzB4
NDYwLzB4NDYwDQpbICAzMTMuMDUwMzI1XSAgWzxmZmZmZmZmZjgxMGIxNDE3Pl0gPyBsb2Nr
X3JlbGVhc2UrMHgxMTcvMHgyNTANClsgIDMxMy4wNTAzNDhdICBbPGZmZmZmZmZmODE2Yjk1
MzY+XSBpcF9maW5pc2hfb3V0cHV0KzB4MjI2LzB4NTMwDQpbICAzMTMuMDUwMzczXSAgWzxm
ZmZmZmZmZjgxNmI5M2RkPl0gPyBpcF9maW5pc2hfb3V0cHV0KzB4Y2QvMHg1MzANClsgIDMx
My4wNTAzOTddICBbPGZmZmZmZmZmODE2Yjk4OTk+XSBpcF9vdXRwdXQrMHg1OS8weGUwDQpb
ICAzMTMuMDUwNDE4XSAgWzxmZmZmZmZmZjgxNmI4M2I4Pl0gaXBfbG9jYWxfb3V0KzB4Mjgv
MHg5MA0KWyAgMzEzLjA1MDQzOV0gIFs8ZmZmZmZmZmY4MTZiODk2Zj5dIGlwX3F1ZXVlX3ht
aXQrMHgxN2YvMHg0YTANClsgIDMxMy4wNTA0NjFdICBbPGZmZmZmZmZmODE2Yjg3ZjA+XSA/
IGlwX3NlbmRfdW5pY2FzdF9yZXBseSsweDM0MC8weDM0MA0KWyAgMzEzLjA1MDQ4NF0gIFs8
ZmZmZmZmZmY4MTBhMGJhNz5dID8gZ2V0bnN0aW1lb2ZkYXkrMHg0Ny8weGUwDQpbICAzMTMu
MDUwNTA2XSAgWzxmZmZmZmZmZjgxNjBmNGM5Pl0gPyBfX3NrYl9jbG9uZSsweDI5LzB4MTIw
DQpbICAzMTMuMDUwNTI3XSAgWzxmZmZmZmZmZjgxNmNlYTIwPl0gdGNwX3RyYW5zbWl0X3Nr
YisweDQwMC8weDhkMA0KWyAgMzEzLjA1MDU1MF0gIFs8ZmZmZmZmZmY4MTZkMTEwNj5dIHRj
cF9yZXRyYW5zbWl0X3NrYisweDFjNi8weDVhMA0KWyAgMzEzLjA1MDU3NF0gIFs8ZmZmZmZm
ZmY4MTZkMTY3ZT5dIHRjcF94bWl0X3JldHJhbnNtaXRfcXVldWUrMHgxOWUvMHgzMDANClsg
IDMxMy4wNTA1OThdICBbPGZmZmZmZmZmODE2Yzk5ZmY+XSB0Y3BfZmFzdHJldHJhbnNfYWxl
cnQrMHg5NGYvMHhjYjANClsgIDMxMy4wNTA2MjFdICBbPGZmZmZmZmZmODE2Y2E3MGM+XSB0
Y3BfYWNrKzB4OWFjLzB4MTE1MA0KWyAgMzEzLjA1MDY0M10gIFs8ZmZmZmZmZmY4MTZjZDg1
OD5dIHRjcF9yY3ZfZXN0YWJsaXNoZWQrMHgzMTgvMHg2NDANClsgIDMxMy4wNTA2NjZdICBb
PGZmZmZmZmZmODE2ZDVlZWY+XSA/IHRjcF92NF9yY3YrMHg2Y2YvMHhiMTANClsgIDMxMy4w
NTA2ODhdICBbPGZmZmZmZmZmODE2ZDU0ZDU+XSB0Y3BfdjRfZG9fcmN2KzB4MTM1LzB4NDgw
DQpbICAzMTMuMDUwNzEwXSAgWzxmZmZmZmZmZjgxNzQ2MWQyPl0gPyBfcmF3X3NwaW5fbG9j
a19uZXN0ZWQrMHg0Mi8weDUwDQpbICAzMTMuMDUwNzMzXSAgWzxmZmZmZmZmZjgxNmQ1ZWVm
Pl0gPyB0Y3BfdjRfcmN2KzB4NmNmLzB4YjEwDQpbICAzMTMuMDUwNzU1XSAgWzxmZmZmZmZm
ZjgxNmQ2MTdkPl0gdGNwX3Y0X3JjdisweDk1ZC8weGIxMA0KWyAgMzEzLjA1MDc3Nl0gIFs8
ZmZmZmZmZmY4MTBiMGY4OD5dID8gbG9ja19hY3F1aXJlKzB4ZDgvMHgxMDANClsgIDMxMy4w
NTA3OTddICBbPGZmZmZmZmZmODE2YjI5OTU+XSA/IGlwX2xvY2FsX2RlbGl2ZXJfZmluaXNo
KzB4NDUvMHgyMzANClsgIDMxMy4wNTA4MjFdICBbPGZmZmZmZmZmODE2YjJhNmE+XSBpcF9s
b2NhbF9kZWxpdmVyX2ZpbmlzaCsweDExYS8weDIzMA0KWyAgMzEzLjA1MDg0NF0gIFs8ZmZm
ZmZmZmY4MTZiMjk5NT5dID8gaXBfbG9jYWxfZGVsaXZlcl9maW5pc2grMHg0NS8weDIzMA0K
WyAgMzEzLjA1MDg2OV0gIFs8ZmZmZmZmZmY4MTZiMmJiOD5dIGlwX2xvY2FsX2RlbGl2ZXIr
MHgzOC8weDgwDQpbICAzMTMuMDUwODkxXSAgWzxmZmZmZmZmZjgxNmIyMTdhPl0gaXBfcmN2
X2ZpbmlzaCsweDE1YS8weDYzMA0KWyAgMzEzLjA1MDkxM10gIFs8ZmZmZmZmZmY4MTZiMjg2
OD5dIGlwX3JjdisweDIxOC8weDMwMA0KWyAgMzEzLjA1MDkzNF0gIFs8ZmZmZmZmZmY4MTYx
YWM4ZD5dIF9fbmV0aWZfcmVjZWl2ZV9za2IrMHg2NWQvMHg4ZDANClsgIDMxMy4wNTA5NTZd
ICBbPGZmZmZmZmZmODE2MWE3NzU+XSA/IF9fbmV0aWZfcmVjZWl2ZV9za2IrMHgxNDUvMHg4
ZDANClsgIDMxMy4wNTA5NzldICBbPGZmZmZmZmZmODEwYWQyMmQ+XSA/IHRyYWNlX2hhcmRp
cnFzX29uKzB4ZC8weDEwDQpbICAzMTMuMDUxMDAxXSAgWzxmZmZmZmZmZjgxMGY5OTczPl0g
PyBmcmVlX2hvdF9jb2xkX3BhZ2UrMHgxYjMvMHgxZTANClsgIDMxMy4wNTEwMjRdICBbPGZm
ZmZmZmZmODE2MWQxZjg+XSBuZXRpZl9yZWNlaXZlX3NrYisweDI4LzB4ZjANClsgIDMxMy4w
NTEwNDddICBbPGZmZmZmZmZmODE2MTJkMDM+XSA/IF9fcHNrYl9wdWxsX3RhaWwrMHgyNTMv
MHgzNDANClsgIDMxMy4wNTEwNzBdICBbPGZmZmZmZmZmODE0NmU0YzU+XSB4ZW5uZXRfcG9s
bCsweGFkNS8weGUxMA0KWyAgMzEzLjA1MTA5NV0gIFs8ZmZmZmZmZmY4MTYxZGZhNj5dIG5l
dF9yeF9hY3Rpb24rMHgxMzYvMHgyNjANClsgIDMxMy4wNTExMTddICBbPGZmZmZmZmZmODEw
NmUzODE+XSA/IF9fZG9fc29mdGlycSsweDcxLzB4MWEwDQpbICAzMTMuMDUxMTM5XSAgWzxm
ZmZmZmZmZjgxMDZlM2Q5Pl0gX19kb19zb2Z0aXJxKzB4YzkvMHgxYTANClsgIDMxMy4wNTEx
NjFdICBbPGZmZmZmZmZmODE3NDhkM2M+XSBjYWxsX3NvZnRpcnErMHgxYy8weDMwDQpbICAz
MTMuMDUxMTgxXSAgWzxmZmZmZmZmZjgxMDBlZGI1Pl0gZG9fc29mdGlycSsweDg1LzB4ZjAN
ClsgIDMxMy4wNTEyMDJdICBbPGZmZmZmZmZmODEwNmUyNGU+XSBpcnFfZXhpdCsweDllLzB4
ZDANClsgIDMxMy4wNTEyMjNdICBbPGZmZmZmZmZmODEzMzlmNWY+XSB4ZW5fZXZ0Y2huX2Rv
X3VwY2FsbCsweDJmLzB4NDANClsgIDMxMy4wNTEyNDZdICBbPGZmZmZmZmZmODE3NDhkOWU+
XSB4ZW5fZG9faHlwZXJ2aXNvcl9jYWxsYmFjaysweDFlLzB4MzANClsgIDMxMy4wNTEyNjVd
ICA8RU9JPiAgWzxmZmZmZmZmZjgxMDAxM2FhPl0gPyB4ZW5faHlwZXJjYWxsX3NjaGVkX29w
KzB4YS8weDIwDQpbICAzMTMuMDUxMzAxXSAgWzxmZmZmZmZmZjgxMDAxM2FhPl0gPyB4ZW5f
aHlwZXJjYWxsX3NjaGVkX29wKzB4YS8weDIwDQpbICAzMTMuMDUxMzI1XSAgWzxmZmZmZmZm
ZjgxMDA4NjkwPl0gPyB4ZW5fc2FmZV9oYWx0KzB4MTAvMHgyMA0KWyAgMzEzLjA1MTM0N10g
IFs8ZmZmZmZmZmY4MTAxNjBkMD5dID8gZGVmYXVsdF9pZGxlKzB4NDAvMHg5MA0KWyAgMzEz
LjA1MTM2OV0gIFs8ZmZmZmZmZmY4MTAxNjQ4Nj5dID8gY3B1X2lkbGUrMHg5Ni8weGYwDQpb
ICAzMTMuMDUxMzg4XSAgWzxmZmZmZmZmZjgxNzIyZDNjPl0gPyByZXN0X2luaXQrMHhiYy8w
eGQwDQpbICAzMTMuMDUxNDA4XSAgWzxmZmZmZmZmZjgxNzIyYzgwPl0gPyBjc3VtX3BhcnRp
YWxfY29weV9nZW5lcmljKzB4MTcwLzB4MTcwDQpbICAzMTMuMDUxNDMyXSAgWzxmZmZmZmZm
ZjgxY2UwZGYyPl0gPyBzdGFydF9rZXJuZWwrMHgzOTAvMHgzOWQNClsgIDMxMy4wNTE0NTRd
ICBbPGZmZmZmZmZmODFjZTA4ODI+XSA/IGtlcm5lbF9pbml0KzB4MjBiLzB4MjBiDQpbICAz
MTMuMDUxNDc2XSAgWzxmZmZmZmZmZjgxY2UwMzU2Pl0gPyB4ODZfNjRfc3RhcnRfcmVzZXJ2
YXRpb25zKzB4MTMxLzB4MTM2DQpbICAzMTMuMDUxNTAzXSAgWzxmZmZmZmZmZjgxY2UzZDYw
Pl0gPyB4ZW5fc3RhcnRfa2VybmVsKzB4NzBkLzB4NzBmDQpbICAzMTMuMDUxNTIzXSAtLS1b
IGVuZCB0cmFjZSAyZTI4ZWVjOTNiN2E4Yjg5IF0tLS0NClsgIDMxMy4wNTM2NDVdIC0tLS0t
LS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQ0KWyAgMzEzLjA1MzY4NF0gV0FSTklO
RzogYXQgZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmM6NDY1IHhlbm5ldF9zdGFydF94bWl0
KzB4N2ZlLzB4ODYwKCkNClsgIDMxMy4wNTM3MDddIE1vZHVsZXMgbGlua2VkIGluOg0KWyAg
MzEzLjA1MzcyOV0gUGlkOiAxNTIzLCBjb21tOiBzeXNsb2dkIFRhaW50ZWQ6IEcgICAgICAg
IFcgICAgMy42LjBwcmUtcmMxLTIwMTIxMDExICMxDQpbICAzMTMuMDUzNzUxXSBDYWxsIFRy
YWNlOg0KWyAgMzEzLjA1Mzc2Ml0gIDxJUlE+ICBbPGZmZmZmZmZmODEwNjY0ZWE+XSB3YXJu
X3Nsb3dwYXRoX2NvbW1vbisweDdhLzB4YjANClsgIDMxMy4wNTM3OThdICBbPGZmZmZmZmZm
ODEwNjY1MzU+XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgxNS8weDIwDQpbICAzMTMuMDUzODIw
XSAgWzxmZmZmZmZmZjgxNDZkODllPl0geGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjAN
ClsgIDMxMy4wNTM4NDVdICBbPGZmZmZmZmZmODE2MWYzNDk+XSBkZXZfaGFyZF9zdGFydF94
bWl0KzB4MjA5LzB4NDYwDQpbICAzMTMuMDUzODY5XSAgWzxmZmZmZmZmZjgxNjNiMDM2Pl0g
c2NoX2RpcmVjdF94bWl0KzB4ZjYvMHgyOTANClsgIDMxMy4wNTM4OTFdICBbPGZmZmZmZmZm
ODE2MWY3NDY+XSBkZXZfcXVldWVfeG1pdCsweDFhNi8weDVhMA0KWyAgMzEzLjA1MzkxM10g
IFs8ZmZmZmZmZmY4MTYxZjVhMD5dID8gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDQ2MC8weDQ2
MA0KWyAgMzEzLjA1MzkzNl0gIFs8ZmZmZmZmZmY4MTBiMTQxNz5dID8gbG9ja19yZWxlYXNl
KzB4MTE3LzB4MjUwDQpbICAzMTMuMDUzOTYwXSAgWzxmZmZmZmZmZjgxNmI5NTM2Pl0gaXBf
ZmluaXNoX291dHB1dCsweDIyNi8weDUzMA0KWyAgMzEzLjA1Mzk4NV0gIFs8ZmZmZmZmZmY4
MTZiOTNkZD5dID8gaXBfZmluaXNoX291dHB1dCsweGNkLzB4NTMwDQpbICAzMTMuMDU0MDEw
XSAgWzxmZmZmZmZmZjgxNmI5ODk5Pl0gaXBfb3V0cHV0KzB4NTkvMHhlMA0KWyAgMzEzLjA1
NDAzMV0gIFs8ZmZmZmZmZmY4MTZiODNiOD5dIGlwX2xvY2FsX291dCsweDI4LzB4OTANClsg
IDMxMy4wNTQwNTNdICBbPGZmZmZmZmZmODE2Yjg5NmY+XSBpcF9xdWV1ZV94bWl0KzB4MTdm
LzB4NGEwDQpbICAzMTMuMDU0MDc0XSAgWzxmZmZmZmZmZjgxNmI4N2YwPl0gPyBpcF9zZW5k
X3VuaWNhc3RfcmVwbHkrMHgzNDAvMHgzNDANClsgIDMxMy4wNTQwOTddICBbPGZmZmZmZmZm
ODEwYTBiYTc+XSA/IGdldG5zdGltZW9mZGF5KzB4NDcvMHhlMA0KWyAgMzEzLjA1NDEyMF0g
IFs8ZmZmZmZmZmY4MTYwZjRjOT5dID8gX19za2JfY2xvbmUrMHgyOS8weDEyMA0KWyAgMzEz
LjA1NDE0MV0gIFs8ZmZmZmZmZmY4MTZjZWEyMD5dIHRjcF90cmFuc21pdF9za2IrMHg0MDAv
MHg4ZDANClsgIDMxMy4wNTQxNjRdICBbPGZmZmZmZmZmODE2ZDExMDY+XSB0Y3BfcmV0cmFu
c21pdF9za2IrMHgxYzYvMHg1YTANClsgIDMxMy4wNTQxODZdICBbPGZmZmZmZmZmODE3NDZj
YjU+XSA/IF9yYXdfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSsweDc1LzB4YTANClsgIDMxMy4w
NTQyMTFdICBbPGZmZmZmZmZmODE2ZDE2N2U+XSB0Y3BfeG1pdF9yZXRyYW5zbWl0X3F1ZXVl
KzB4MTllLzB4MzAwDQpbICAzMTMuMDU0MjM0XSAgWzxmZmZmZmZmZjgxNmM5OWZmPl0gdGNw
X2Zhc3RyZXRyYW5zX2FsZXJ0KzB4OTRmLzB4Y2IwDQpbICAzMTMuMDU0MjU3XSAgWzxmZmZm
ZmZmZjgxNmNhNzBjPl0gdGNwX2FjaysweDlhYy8weDExNTANClsgIDMxMy4wNTQyODBdICBb
PGZmZmZmZmZmODE2Y2Q4Y2U+XSB0Y3BfcmN2X2VzdGFibGlzaGVkKzB4MzhlLzB4NjQwDQpb
ICAzMTMuMDU0MzAzXSAgWzxmZmZmZmZmZjgxNmQ1ZWVmPl0gPyB0Y3BfdjRfcmN2KzB4NmNm
LzB4YjEwDQpbICAzMTMuMDU0MzI1XSAgWzxmZmZmZmZmZjgxNmQ1NGQ1Pl0gdGNwX3Y0X2Rv
X3JjdisweDEzNS8weDQ4MA0KWyAgMzEzLjA1NDM0N10gIFs8ZmZmZmZmZmY4MTc0NjFkMj5d
ID8gX3Jhd19zcGluX2xvY2tfbmVzdGVkKzB4NDIvMHg1MA0KWyAgMzEzLjA1NDM3MF0gIFs8
ZmZmZmZmZmY4MTZkNWVlZj5dID8gdGNwX3Y0X3JjdisweDZjZi8weGIxMA0KWyAgMzEzLjA1
NDM5MV0gIFs8ZmZmZmZmZmY4MTZkNjE3ZD5dIHRjcF92NF9yY3YrMHg5NWQvMHhiMTANClsg
IDMxMy4wNTQ0MTJdICBbPGZmZmZmZmZmODEwYjBmODg+XSA/IGxvY2tfYWNxdWlyZSsweGQ4
LzB4MTAwDQpbICAzMTMuMDU0NDMzXSAgWzxmZmZmZmZmZjgxNmIyOTk1Pl0gPyBpcF9sb2Nh
bF9kZWxpdmVyX2ZpbmlzaCsweDQ1LzB4MjMwDQpbICAzMTMuMDU0NDU4XSAgWzxmZmZmZmZm
ZjgxNmIyYTZhPl0gaXBfbG9jYWxfZGVsaXZlcl9maW5pc2grMHgxMWEvMHgyMzANClsgIDMx
My4wNTQ0ODFdICBbPGZmZmZmZmZmODE2YjI5OTU+XSA/IGlwX2xvY2FsX2RlbGl2ZXJfZmlu
aXNoKzB4NDUvMHgyMzANClsgIDMxMy4wNTQ1MDVdICBbPGZmZmZmZmZmODE2YjJiYjg+XSBp
cF9sb2NhbF9kZWxpdmVyKzB4MzgvMHg4MA0KWyAgMzEzLjA1NDUyN10gIFs8ZmZmZmZmZmY4
MTZiMjE3YT5dIGlwX3Jjdl9maW5pc2grMHgxNWEvMHg2MzANClsgIDMxMy4wNTQ1NDhdICBb
PGZmZmZmZmZmODE2YjI4Njg+XSBpcF9yY3YrMHgyMTgvMHgzMDANClsgIDMxMy4wNTQ1Njld
ICBbPGZmZmZmZmZmODE2MWFjOGQ+XSBfX25ldGlmX3JlY2VpdmVfc2tiKzB4NjVkLzB4OGQw
DQpbICAzMTMuMDU0NTkxXSAgWzxmZmZmZmZmZjgxNjFhNzc1Pl0gPyBfX25ldGlmX3JlY2Vp
dmVfc2tiKzB4MTQ1LzB4OGQwDQpbICAzMTMuMDU0NjEzXSAgWzxmZmZmZmZmZjgxMGFkMjJk
Pl0gPyB0cmFjZV9oYXJkaXJxc19vbisweGQvMHgxMA0KWyAgMzEzLjA1NDYzNl0gIFs8ZmZm
ZmZmZmY4MTBmOTk3Mz5dID8gZnJlZV9ob3RfY29sZF9wYWdlKzB4MWIzLzB4MWUwDQpbICAz
MTMuMDU0NjU5XSAgWzxmZmZmZmZmZjgxNjFkMWY4Pl0gbmV0aWZfcmVjZWl2ZV9za2IrMHgy
OC8weGYwDQpbICAzMTMuMDU0NjgyXSAgWzxmZmZmZmZmZjgxNjEyZDAzPl0gPyBfX3Bza2Jf
cHVsbF90YWlsKzB4MjUzLzB4MzQwDQpbICAzMTMuMDU0NzA1XSAgWzxmZmZmZmZmZjgxNDZl
NGM1Pl0geGVubmV0X3BvbGwrMHhhZDUvMHhlMTANClsgIDMxMy4wNTQ3MzBdICBbPGZmZmZm
ZmZmODE2MWRmYTY+XSBuZXRfcnhfYWN0aW9uKzB4MTM2LzB4MjYwDQpbICAzMTMuMDU0NzUy
XSAgWzxmZmZmZmZmZjgxMDZlMzgxPl0gPyBfX2RvX3NvZnRpcnErMHg3MS8weDFhMA0KWyAg
MzEzLjA1NDc3NF0gIFs8ZmZmZmZmZmY4MTA2ZTNkOT5dIF9fZG9fc29mdGlycSsweGM5LzB4
MWEwDQpbICAzMTMuMDU0Nzk1XSAgWzxmZmZmZmZmZjgxNzQ4ZDNjPl0gY2FsbF9zb2Z0aXJx
KzB4MWMvMHgzMA0KWyAgMzEzLjA1NDgxNl0gIFs8ZmZmZmZmZmY4MTAwZWRiNT5dIGRvX3Nv
ZnRpcnErMHg4NS8weGYwDQpbICAzMTMuMDU0ODM2XSAgWzxmZmZmZmZmZjgxMDZlMjRlPl0g
aXJxX2V4aXQrMHg5ZS8weGQwDQpbICAzMTMuMDU0ODU4XSAgWzxmZmZmZmZmZjgxMzM5ZjVm
Pl0geGVuX2V2dGNobl9kb191cGNhbGwrMHgyZi8weDQwDQpbICAzMTMuMDU0ODgxXSAgWzxm
ZmZmZmZmZjgxNzQ4ZDllPl0geGVuX2RvX2h5cGVydmlzb3JfY2FsbGJhY2srMHgxZS8weDMw
DQpbICAzMTMuMDU0ODk5XSAgPEVPST4gIFs8ZmZmZmZmZmY4MTAwMTIyYT5dID8geGVuX2h5
cGVyY2FsbF94ZW5fdmVyc2lvbisweGEvMHgyMA0KWyAgMzEzLjA1NDkzN10gIFs8ZmZmZmZm
ZmY4MTAwMTIyYT5dID8geGVuX2h5cGVyY2FsbF94ZW5fdmVyc2lvbisweGEvMHgyMA0KWyAg
MzEzLjA1NDk2MV0gIFs8ZmZmZmZmZmY4MTAwODY0ZD5dID8geGVuX2ZvcmNlX2V2dGNobl9j
YWxsYmFjaysweGQvMHgxMA0KWyAgMzEzLjA1NDk4NV0gIFs8ZmZmZmZmZmY4MTAwOGZmMj5d
ID8gY2hlY2tfZXZlbnRzKzB4MTIvMHgyMA0KWyAgMzEzLjA1NTAwN10gIFs8ZmZmZmZmZmY4
MTAwOGY5OT5dID8geGVuX2lycV9lbmFibGVfZGlyZWN0X3JlbG9jKzB4NC8weDQNClsgIDMx
My4wNTUwMzFdICBbPGZmZmZmZmZmODE3NDkxNDY+XSA/IGlhMzJfY3N0YXJfdGFyZ2V0KzB4
MTYvMHg4Yw0KWyAgMzEzLjA1NTA0OV0gLS0tWyBlbmQgdHJhY2UgMmUyOGVlYzkzYjdhOGI4
YSBdLS0tDQpbICAzMTMuMDU1MTE1XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0t
LS0tLS0NClsgIDMxMy4wNTUxMzddIFdBUk5JTkc6IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRm
cm9udC5jOjQ2NSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MCgpDQpbICAzMTMuMDU1
MTYwXSBNb2R1bGVzIGxpbmtlZCBpbjoNClsgIDMxMy4wNTUxNzldIFBpZDogMTUyMywgY29t
bTogc3lzbG9nZCBUYWludGVkOiBHICAgICAgICBXICAgIDMuNi4wcHJlLXJjMS0yMDEyMTAx
MSAjMQ0KWyAgMzEzLjA1NTIwNF0gQ2FsbCBUcmFjZToNClsgIDMxMy4wNTUyMTVdICA8SVJR
PiAgWzxmZmZmZmZmZjgxMDY2NGVhPl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8weGIw
DQpbICAzMTMuMDU1MjQ4XSAgWzxmZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0aF9u
dWxsKzB4MTUvMHgyMA0KWyAgMzEzLjA1NTI3MV0gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5dIHhl
bm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwDQpbICAzMTMuMDU1Mjk2XSAgWzxmZmZmZmZm
ZjgxNjFmMzQ5Pl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgMzEzLjA1
NTMxOV0gIFs8ZmZmZmZmZmY4MTYzYjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4Mjkw
DQpbICAzMTMuMDU1MzQyXSAgWzxmZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3htaXQr
MHgxYTYvMHg1YTANClsgIDMxMy4wNTUzNjRdICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/IGRl
dl9oYXJkX3N0YXJ0X3htaXQrMHg0NjAvMHg0NjANClsgIDMxMy4wNTUzODddICBbPGZmZmZm
ZmZmODEwYjE0MTc+XSA/IGxvY2tfcmVsZWFzZSsweDExNy8weDI1MA0KWyAgMzEzLjA1NTQx
MV0gIFs8ZmZmZmZmZmY4MTZiOTUzNj5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgyMjYvMHg1MzAN
ClsgIDMxMy4wNTU0MzRdICBbPGZmZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9vdXRw
dXQrMHhjZC8weDUzMA0KWyAgMzEzLjA1NTQ1OF0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5dIGlw
X291dHB1dCsweDU5LzB4ZTANClsgIDMxMy4wNTU0NzldICBbPGZmZmZmZmZmODE2YjgzYjg+
XSBpcF9sb2NhbF9vdXQrMHgyOC8weDkwDQpbICAzMTMuMDU1NTAxXSAgWzxmZmZmZmZmZjgx
NmI4OTZmPl0gaXBfcXVldWVfeG1pdCsweDE3Zi8weDRhMA0KWyAgMzEzLjA1NTUyNF0gIFs8
ZmZmZmZmZmY4MTZiODdmMD5dID8gaXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4MzQw
DQpbICAzMTMuMDU1NTQ3XSAgWzxmZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVvZmRh
eSsweDQ3LzB4ZTANClsgIDMxMy4wNTU1NjldICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/IF9f
c2tiX2Nsb25lKzB4MjkvMHgxMjANClsgIDMxMy4wNTU1OTFdICBbPGZmZmZmZmZmODE2Y2Vh
MjA+XSB0Y3BfdHJhbnNtaXRfc2tiKzB4NDAwLzB4OGQwDQpbICAzMTMuMDU1NjE1XSAgWzxm
ZmZmZmZmZjgxNmQxMTA2Pl0gdGNwX3JldHJhbnNtaXRfc2tiKzB4MWM2LzB4NWEwDQpbICAz
MTMuMDU1NjM3XSAgWzxmZmZmZmZmZjgxNzQ2Y2I1Pl0gPyBfcmF3X3NwaW5fdW5sb2NrX2ly
cXJlc3RvcmUrMHg3NS8weGEwDQpbICAzMTMuMDU1NjYyXSAgWzxmZmZmZmZmZjgxNmQxNjdl
Pl0gdGNwX3htaXRfcmV0cmFuc21pdF9xdWV1ZSsweDE5ZS8weDMwMA0KWyAgMzEzLjA1NTY4
Nl0gIFs8ZmZmZmZmZmY4MTZjOTlmZj5dIHRjcF9mYXN0cmV0cmFuc19hbGVydCsweDk0Zi8w
eGNiMA0KWyAgMzEzLjA1NTcwOV0gIFs8ZmZmZmZmZmY4MTZjYTcwYz5dIHRjcF9hY2srMHg5
YWMvMHgxMTUwDQpbICAzMTMuMDU1NzMyXSAgWzxmZmZmZmZmZjgxNmNkOGNlPl0gdGNwX3Jj
dl9lc3RhYmxpc2hlZCsweDM4ZS8weDY0MA0KWyAgMzEzLjA1NTc2MF0gIFs8ZmZmZmZmZmY4
MTZkNWVlZj5dID8gdGNwX3Y0X3JjdisweDZjZi8weGIxMA0KWyAgMzEzLjA1NTc4Ml0gIFs8
ZmZmZmZmZmY4MTZkNTRkNT5dIHRjcF92NF9kb19yY3YrMHgxMzUvMHg0ODANClsgIDMxMy4w
NTU4MDRdICBbPGZmZmZmZmZmODE3NDYxZDI+XSA/IF9yYXdfc3Bpbl9sb2NrX25lc3RlZCsw
eDQyLzB4NTANClsgIDMxMy4wNTU4MjhdICBbPGZmZmZmZmZmODE2ZDVlZWY+XSA/IHRjcF92
NF9yY3YrMHg2Y2YvMHhiMTANClsgIDMxMy4wNTU4NDldICBbPGZmZmZmZmZmODE2ZDYxN2Q+
XSB0Y3BfdjRfcmN2KzB4OTVkLzB4YjEwDQpbICAzMTMuMDU1ODcwXSAgWzxmZmZmZmZmZjgx
MGIwZjg4Pl0gPyBsb2NrX2FjcXVpcmUrMHhkOC8weDEwMA0KWyAgMzEzLjA1NTg5Ml0gIFs8
ZmZmZmZmZmY4MTZiMjk5NT5dID8gaXBfbG9jYWxfZGVsaXZlcl9maW5pc2grMHg0NS8weDIz
MA0KWyAgMzEzLjA1NTkxN10gIFs8ZmZmZmZmZmY4MTZiMmE2YT5dIGlwX2xvY2FsX2RlbGl2
ZXJfZmluaXNoKzB4MTFhLzB4MjMwDQpbICAzMTMuMDU1OTQwXSAgWzxmZmZmZmZmZjgxNmIy
OTk1Pl0gPyBpcF9sb2NhbF9kZWxpdmVyX2ZpbmlzaCsweDQ1LzB4MjMwDQpbICAzMTMuMDU1
OTY1XSAgWzxmZmZmZmZmZjgxNmIyYmI4Pl0gaXBfbG9jYWxfZGVsaXZlcisweDM4LzB4ODAN
ClsgIDMxMy4wNTU5ODddICBbPGZmZmZmZmZmODE2YjIxN2E+XSBpcF9yY3ZfZmluaXNoKzB4
MTVhLzB4NjMwDQpbICAzMTMuMDU2MDA5XSAgWzxmZmZmZmZmZjgxNmIyODY4Pl0gaXBfcmN2
KzB4MjE4LzB4MzAwDQpbICAzMTMuMDU2MDMwXSAgWzxmZmZmZmZmZjgxNjFhYzhkPl0gX19u
ZXRpZl9yZWNlaXZlX3NrYisweDY1ZC8weDhkMA0KWyAgMzEzLjA1NjA1Ml0gIFs8ZmZmZmZm
ZmY4MTYxYTc3NT5dID8gX19uZXRpZl9yZWNlaXZlX3NrYisweDE0NS8weDhkMA0KWyAgMzEz
LjA1NjA3NV0gIFs8ZmZmZmZmZmY4MTBhZDIyZD5dID8gdHJhY2VfaGFyZGlycXNfb24rMHhk
LzB4MTANClsgIDMxMy4wNTYwOThdICBbPGZmZmZmZmZmODEwZjk5NzM+XSA/IGZyZWVfaG90
X2NvbGRfcGFnZSsweDFiMy8weDFlMA0KWyAgMzEzLjA1NjEyMV0gIFs8ZmZmZmZmZmY4MTYx
ZDFmOD5dIG5ldGlmX3JlY2VpdmVfc2tiKzB4MjgvMHhmMA0KWyAgMzEzLjA1NjE0NV0gIFs8
ZmZmZmZmZmY4MTYxMmQwMz5dID8gX19wc2tiX3B1bGxfdGFpbCsweDI1My8weDM0MA0KWyAg
MzEzLjA1NjE2OF0gIFs8ZmZmZmZmZmY4MTQ2ZTRjNT5dIHhlbm5ldF9wb2xsKzB4YWQ1LzB4
ZTEwDQpbICAzMTMuMDU2MTkzXSAgWzxmZmZmZmZmZjgxNjFkZmE2Pl0gbmV0X3J4X2FjdGlv
bisweDEzNi8weDI2MA0KWyAgMzEzLjA1NjIxNl0gIFs8ZmZmZmZmZmY4MTA2ZTM4MT5dID8g
X19kb19zb2Z0aXJxKzB4NzEvMHgxYTANClsgIDMxMy4wNTYyMzhdICBbPGZmZmZmZmZmODEw
NmUzZDk+XSBfX2RvX3NvZnRpcnErMHhjOS8weDFhMA0KWyAgMzEzLjA1NjI2MF0gIFs8ZmZm
ZmZmZmY4MTc0OGQzYz5dIGNhbGxfc29mdGlycSsweDFjLzB4MzANClsgIDMxMy4wNTYyODFd
ICBbPGZmZmZmZmZmODEwMGVkYjU+XSBkb19zb2Z0aXJxKzB4ODUvMHhmMA0KWyAgMzEzLjA1
NjMwMl0gIFs8ZmZmZmZmZmY4MTA2ZTI0ZT5dIGlycV9leGl0KzB4OWUvMHhkMA0KWyAgMzEz
LjA1NjMyNF0gIFs8ZmZmZmZmZmY4MTMzOWY1Zj5dIHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4
MmYvMHg0MA0KWyAgMzEzLjA1NjM0N10gIFs8ZmZmZmZmZmY4MTc0OGQ5ZT5dIHhlbl9kb19o
eXBlcnZpc29yX2NhbGxiYWNrKzB4MWUvMHgzMA0KWyAgMzEzLjA1NjM2Nl0gIDxFT0k+ICBb
PGZmZmZmZmZmODEwMDEyMmE+XSA/IHhlbl9oeXBlcmNhbGxfeGVuX3ZlcnNpb24rMHhhLzB4
MjANClsgIDMxMy4wNTY0MDJdICBbPGZmZmZmZmZmODEwMDEyMmE+XSA/IHhlbl9oeXBlcmNh
bGxfeGVuX3ZlcnNpb24rMHhhLzB4MjANClsgIDMxMy4wNTY0MjddICBbPGZmZmZmZmZmODEw
MDg2NGQ+XSA/IHhlbl9mb3JjZV9ldnRjaG5fY2FsbGJhY2srMHhkLzB4MTANClsgIDMxMy4w
NTY0NTBdICBbPGZmZmZmZmZmODEwMDhmZjI+XSA/IGNoZWNrX2V2ZW50cysweDEyLzB4MjAN
ClsgIDMxMy4wNTY0NzNdICBbPGZmZmZmZmZmODEwMDhmOTk+XSA/IHhlbl9pcnFfZW5hYmxl
X2RpcmVjdF9yZWxvYysweDQvMHg0DQpbICAzMTMuMDU2NDk2XSAgWzxmZmZmZmZmZjgxNzQ5
MTQ2Pl0gPyBpYTMyX2NzdGFyX3RhcmdldCsweDE2LzB4OGMNClsgIDMxMy4wNTY1MTVdIC0t
LVsgZW5kIHRyYWNlIDJlMjhlZWM5M2I3YThiOGIgXS0tLQ0KWyAgMzEzLjA1NjU3OF0gLS0t
LS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tDQpbICAzMTMuMDU2NjAxXSBXQVJO
SU5HOiBhdCBkcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYzo0NjUgeGVubmV0X3N0YXJ0X3ht
aXQrMHg3ZmUvMHg4NjAoKQ0KWyAgMzEzLjA1NjYyNF0gTW9kdWxlcyBsaW5rZWQgaW46DQpb
ICAzMTMuMDU2NjQxXSBQaWQ6IDE1MjMsIGNvbW06IHN5c2xvZ2QgVGFpbnRlZDogRyAgICAg
ICAgVyAgICAzLjYuMHByZS1yYzEtMjAxMjEwMTEgIzENClsgIDMxMy4wNTY2NjRdIENhbGwg
VHJhY2U6DQpbICAzMTMuMDU2Njc1XSAgPElSUT4gIFs8ZmZmZmZmZmY4MTA2NjRlYT5dIHdh
cm5fc2xvd3BhdGhfY29tbW9uKzB4N2EvMHhiMA0KWyAgMzEzLjA1NjcwOF0gIFs8ZmZmZmZm
ZmY4MTA2NjUzNT5dIHdhcm5fc2xvd3BhdGhfbnVsbCsweDE1LzB4MjANClsgIDMxMy4wNTY3
MDhdICBbPGZmZmZmZmZmODE0NmQ4OWU+XSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2
MA0KWyAgMzEzLjA1NjcwOF0gIFs8ZmZmZmZmZmY4MTYxZjM0OT5dIGRldl9oYXJkX3N0YXJ0
X3htaXQrMHgyMDkvMHg0NjANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODE2M2IwMzY+
XSBzY2hfZGlyZWN0X3htaXQrMHhmNi8weDI5MA0KWyAgMzEzLjA1NjcwOF0gIFs8ZmZmZmZm
ZmY4MTYxZjc0Nj5dIGRldl9xdWV1ZV94bWl0KzB4MWE2LzB4NWEwDQpbICAzMTMuMDU2NzA4
XSAgWzxmZmZmZmZmZjgxNjFmNWEwPl0gPyBkZXZfaGFyZF9zdGFydF94bWl0KzB4NDYwLzB4
NDYwDQpbICAzMTMuMDU2NzA4XSAgWzxmZmZmZmZmZjgxMGIxNDE3Pl0gPyBsb2NrX3JlbGVh
c2UrMHgxMTcvMHgyNTANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODE2Yjk1MzY+XSBp
cF9maW5pc2hfb3V0cHV0KzB4MjI2LzB4NTMwDQpbICAzMTMuMDU2NzA4XSAgWzxmZmZmZmZm
ZjgxNmI5M2RkPl0gPyBpcF9maW5pc2hfb3V0cHV0KzB4Y2QvMHg1MzANClsgIDMxMy4wNTY3
MDhdICBbPGZmZmZmZmZmODE2Yjk4OTk+XSBpcF9vdXRwdXQrMHg1OS8weGUwDQpbICAzMTMu
MDU2NzA4XSAgWzxmZmZmZmZmZjgxNmI4M2I4Pl0gaXBfbG9jYWxfb3V0KzB4MjgvMHg5MA0K
WyAgMzEzLjA1NjcwOF0gIFs8ZmZmZmZmZmY4MTZiODk2Zj5dIGlwX3F1ZXVlX3htaXQrMHgx
N2YvMHg0YTANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODE2Yjg3ZjA+XSA/IGlwX3Nl
bmRfdW5pY2FzdF9yZXBseSsweDM0MC8weDM0MA0KWyAgMzEzLjA1NjcwOF0gIFs8ZmZmZmZm
ZmY4MTBhMGJhNz5dID8gZ2V0bnN0aW1lb2ZkYXkrMHg0Ny8weGUwDQpbICAzMTMuMDU2NzA4
XSAgWzxmZmZmZmZmZjgxNjBmNGM5Pl0gPyBfX3NrYl9jbG9uZSsweDI5LzB4MTIwDQpbICAz
MTMuMDU2NzA4XSAgWzxmZmZmZmZmZjgxNmNlYTIwPl0gdGNwX3RyYW5zbWl0X3NrYisweDQw
MC8weDhkMA0KWyAgMzEzLjA1NjcwOF0gIFs8ZmZmZmZmZmY4MTZkMTEwNj5dIHRjcF9yZXRy
YW5zbWl0X3NrYisweDFjNi8weDVhMA0KWyAgMzEzLjA1NjcwOF0gIFs8ZmZmZmZmZmY4MTc0
NmNiNT5dID8gX3Jhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKzB4NzUvMHhhMA0KWyAgMzEz
LjA1NjcwOF0gIFs8ZmZmZmZmZmY4MTZkMTY3ZT5dIHRjcF94bWl0X3JldHJhbnNtaXRfcXVl
dWUrMHgxOWUvMHgzMDANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODE2Yzk5ZmY+XSB0
Y3BfZmFzdHJldHJhbnNfYWxlcnQrMHg5NGYvMHhjYjANClsgIDMxMy4wNTY3MDhdICBbPGZm
ZmZmZmZmODE2Y2E3MGM+XSB0Y3BfYWNrKzB4OWFjLzB4MTE1MA0KWyAgMzEzLjA1NjcwOF0g
IFs8ZmZmZmZmZmY4MTZjZDhjZT5dIHRjcF9yY3ZfZXN0YWJsaXNoZWQrMHgzOGUvMHg2NDAN
ClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODE2ZDVlZWY+XSA/IHRjcF92NF9yY3YrMHg2
Y2YvMHhiMTANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODE2ZDU0ZDU+XSB0Y3BfdjRf
ZG9fcmN2KzB4MTM1LzB4NDgwDQpbICAzMTMuMDU2NzA4XSAgWzxmZmZmZmZmZjgxNzQ2MWQy
Pl0gPyBfcmF3X3NwaW5fbG9ja19uZXN0ZWQrMHg0Mi8weDUwDQpbICAzMTMuMDU2NzA4XSAg
WzxmZmZmZmZmZjgxNmQ1ZWVmPl0gPyB0Y3BfdjRfcmN2KzB4NmNmLzB4YjEwDQpbICAzMTMu
MDU2NzA4XSAgWzxmZmZmZmZmZjgxNmQ2MTdkPl0gdGNwX3Y0X3JjdisweDk1ZC8weGIxMA0K
WyAgMzEzLjA1NjcwOF0gIFs8ZmZmZmZmZmY4MTBiMGY4OD5dID8gbG9ja19hY3F1aXJlKzB4
ZDgvMHgxMDANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODE2YjI5OTU+XSA/IGlwX2xv
Y2FsX2RlbGl2ZXJfZmluaXNoKzB4NDUvMHgyMzANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZm
ZmZmODE2YjJhNmE+XSBpcF9sb2NhbF9kZWxpdmVyX2ZpbmlzaCsweDExYS8weDIzMA0KWyAg
MzEzLjA1NjcwOF0gIFs8ZmZmZmZmZmY4MTZiMjk5NT5dID8gaXBfbG9jYWxfZGVsaXZlcl9m
aW5pc2grMHg0NS8weDIzMA0KWyAgMzEzLjA1NjcwOF0gIFs8ZmZmZmZmZmY4MTZiMmJiOD5d
IGlwX2xvY2FsX2RlbGl2ZXIrMHgzOC8weDgwDQpbICAzMTMuMDU2NzA4XSAgWzxmZmZmZmZm
ZjgxNmIyMTdhPl0gaXBfcmN2X2ZpbmlzaCsweDE1YS8weDYzMA0KWyAgMzEzLjA1NjcwOF0g
IFs8ZmZmZmZmZmY4MTZiMjg2OD5dIGlwX3JjdisweDIxOC8weDMwMA0KWyAgMzEzLjA1Njcw
OF0gIFs8ZmZmZmZmZmY4MTYxYWM4ZD5dIF9fbmV0aWZfcmVjZWl2ZV9za2IrMHg2NWQvMHg4
ZDANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODE2MWE3NzU+XSA/IF9fbmV0aWZfcmVj
ZWl2ZV9za2IrMHgxNDUvMHg4ZDANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODEwYWQy
MmQ+XSA/IHRyYWNlX2hhcmRpcnFzX29uKzB4ZC8weDEwDQpbICAzMTMuMDU2NzA4XSAgWzxm
ZmZmZmZmZjgxMGY5OTczPl0gPyBmcmVlX2hvdF9jb2xkX3BhZ2UrMHgxYjMvMHgxZTANClsg
IDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODE2MWQxZjg+XSBuZXRpZl9yZWNlaXZlX3NrYisw
eDI4LzB4ZjANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODE2MTJkMDM+XSA/IF9fcHNr
Yl9wdWxsX3RhaWwrMHgyNTMvMHgzNDANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODE0
NmU0YzU+XSB4ZW5uZXRfcG9sbCsweGFkNS8weGUxMA0KWyAgMzEzLjA1NjcwOF0gIFs8ZmZm
ZmZmZmY4MTYxZGZhNj5dIG5ldF9yeF9hY3Rpb24rMHgxMzYvMHgyNjANClsgIDMxMy4wNTY3
MDhdICBbPGZmZmZmZmZmODEwNmUzODE+XSA/IF9fZG9fc29mdGlycSsweDcxLzB4MWEwDQpb
ICAzMTMuMDU2NzA4XSAgWzxmZmZmZmZmZjgxMDZlM2Q5Pl0gX19kb19zb2Z0aXJxKzB4Yzkv
MHgxYTANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODE3NDhkM2M+XSBjYWxsX3NvZnRp
cnErMHgxYy8weDMwDQpbICAzMTMuMDU2NzA4XSAgWzxmZmZmZmZmZjgxMDBlZGI1Pl0gZG9f
c29mdGlycSsweDg1LzB4ZjANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODEwNmUyNGU+
XSBpcnFfZXhpdCsweDllLzB4ZDANClsgIDMxMy4wNTY3MDhdICBbPGZmZmZmZmZmODEzMzlm
NWY+XSB4ZW5fZXZ0Y2huX2RvX3VwY2FsbCsweDJmLzB4NDANClsgIDMxMy4wNTY3MDhdICBb
PGZmZmZmZmZmODE3NDhkOWU+XSB4ZW5fZG9faHlwZXJ2aXNvcl9jYWxsYmFjaysweDFlLzB4
MzANClsgIDMxMy4wNTY3MDhdICA8RU9JPiAgWzxmZmZmZmZmZjgxMDAxMjJhPl0gPyB4ZW5f
aHlwZXJjYWxsX3hlbl92ZXJzaW9uKzB4YS8weDIwDQpbICAzMTMuMDU2NzA4XSAgWzxmZmZm
ZmZmZjgxMDAxMjJhPl0gPyB4ZW5faHlwZXJjYWxsX3hlbl92ZXJzaW9uKzB4YS8weDIwDQpb
ICAzMTMuMDU2NzA4XSAgWzxmZmZmZmZmZjgxMDA4NjRkPl0gPyB4ZW5fZm9yY2VfZXZ0Y2hu
X2NhbGxiYWNrKzB4ZC8weDEwDQpbICAzMTMuMDU2NzA4XSAgWzxmZmZmZmZmZjgxMDA4ZmYy
Pl0gPyBjaGVja19ldmVudHMrMHgxMi8weDIwDQpbICAzMTMuMDU2NzA4XSAgWzxmZmZmZmZm
ZjgxMDA4Zjk5Pl0gPyB4ZW5faXJxX2VuYWJsZV9kaXJlY3RfcmVsb2MrMHg0LzB4NA0KWyAg
MzEzLjA1NjcwOF0gIFs8ZmZmZmZmZmY4MTc0OTE0Nj5dID8gaWEzMl9jc3Rhcl90YXJnZXQr
MHgxNi8weDhjDQpbICAzMTMuMDU2NzA4XSAtLS1bIGVuZCB0cmFjZSAyZTI4ZWVjOTNiN2E4
YjhjIF0tLS0NClsgIDMxMy41NDAyMDBdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0t
LS0tLS0tLQ0KWyAgMzEzLjU0MDIxOF0gV0FSTklORzogYXQgZHJpdmVycy9uZXQveGVuLW5l
dGZyb250LmM6NDY1IHhlbm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwKCkNClsgIDMxMy41
NDAyNDBdIE1vZHVsZXMgbGlua2VkIGluOg0KWyAgMzEzLjU0MDI0Nl0gUGlkOiAwLCBjb21t
OiBzd2FwcGVyLzAgVGFpbnRlZDogRyAgICAgICAgVyAgICAzLjYuMHByZS1yYzEtMjAxMjEw
MTEgIzENClsgIDMxMy41NDAyNTJdIENhbGwgVHJhY2U6DQpbICAzMTMuNTQwMjU2XSAgPElS
UT4gIFs8ZmZmZmZmZmY4MTA2NjRlYT5dIHdhcm5fc2xvd3BhdGhfY29tbW9uKzB4N2EvMHhi
MA0KWyAgMzEzLjU0MDI2OV0gIFs8ZmZmZmZmZmY4MTA2NjUzNT5dIHdhcm5fc2xvd3BhdGhf
bnVsbCsweDE1LzB4MjANClsgIDMxMy41NDAyNzRdICBbPGZmZmZmZmZmODE0NmQ4OWU+XSB4
ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MA0KWyAgMzEzLjU0MDI4M10gIFs8ZmZmZmZm
ZmY4MTYxZjM0OT5dIGRldl9oYXJkX3N0YXJ0X3htaXQrMHgyMDkvMHg0NjANClsgIDMxMy41
NDAyOTBdICBbPGZmZmZmZmZmODE2M2IwMzY+XSBzY2hfZGlyZWN0X3htaXQrMHhmNi8weDI5
MA0KWyAgMzEzLjU0MDI5NV0gIFs8ZmZmZmZmZmY4MTYxZjc0Nj5dIGRldl9xdWV1ZV94bWl0
KzB4MWE2LzB4NWEwDQpbICAzMTMuNTQwMzAxXSAgWzxmZmZmZmZmZjgxNjFmNWEwPl0gPyBk
ZXZfaGFyZF9zdGFydF94bWl0KzB4NDYwLzB4NDYwDQpbICAzMTMuNTQwMzA4XSAgWzxmZmZm
ZmZmZjgxMGIxNDE3Pl0gPyBsb2NrX3JlbGVhc2UrMHgxMTcvMHgyNTANClsgIDMxMy41NDAz
MTZdICBbPGZmZmZmZmZmODE2Yjk1MzY+XSBpcF9maW5pc2hfb3V0cHV0KzB4MjI2LzB4NTMw
DQpbICAzMTMuNTQwMzIxXSAgWzxmZmZmZmZmZjgxNmI5M2RkPl0gPyBpcF9maW5pc2hfb3V0
cHV0KzB4Y2QvMHg1MzANClsgIDMxMy41NDAzMjddICBbPGZmZmZmZmZmODE2Yjk4OTk+XSBp
cF9vdXRwdXQrMHg1OS8weGUwDQpbICAzMTMuNTQwMzMzXSAgWzxmZmZmZmZmZjgxNmI4M2I4
Pl0gaXBfbG9jYWxfb3V0KzB4MjgvMHg5MA0KWyAgMzEzLjU0MDMzOF0gIFs8ZmZmZmZmZmY4
MTZiODk2Zj5dIGlwX3F1ZXVlX3htaXQrMHgxN2YvMHg0YTANClsgIDMxMy41NDAzNDRdICBb
PGZmZmZmZmZmODE2Yjg3ZjA+XSA/IGlwX3NlbmRfdW5pY2FzdF9yZXBseSsweDM0MC8weDM0
MA0KWyAgMzEzLjU0MDM1MF0gIFs8ZmZmZmZmZmY4MTBhMGJhNz5dID8gZ2V0bnN0aW1lb2Zk
YXkrMHg0Ny8weGUwDQpbICAzMTMuNTQwMzU3XSAgWzxmZmZmZmZmZjgxNjBmNGM5Pl0gPyBf
X3NrYl9jbG9uZSsweDI5LzB4MTIwDQpbICAzMTMuNTQwMzYzXSAgWzxmZmZmZmZmZjgxNmNl
YTIwPl0gdGNwX3RyYW5zbWl0X3NrYisweDQwMC8weDhkMA0KWyAgMzEzLjU0MDM2OV0gIFs8
ZmZmZmZmZmY4MTZkMTEwNj5dIHRjcF9yZXRyYW5zbWl0X3NrYisweDFjNi8weDVhMA0KWyAg
MzEzLjU0MDM3NV0gIFs8ZmZmZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dyaXRlX3RpbWVyX2hh
bmRsZXIrMHgxYTAvMHgxYTANClsgIDMxMy41NDAzODFdICBbPGZmZmZmZmZmODE2ZDJmMzg+
XSB0Y3BfcmV0cmFuc21pdF90aW1lcisweDM1OC8weDYzMA0KWyAgMzEzLjU0MDM4Nl0gIFs8
ZmZmZmZmZmY4MTZkMzM0ZD5dIHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MTNkLzB4MWEw
DQpbICAzMTMuNTQwMzkyXSAgWzxmZmZmZmZmZjgxNmQzNDI4Pl0gdGNwX3dyaXRlX3RpbWVy
KzB4NzgvMHg4MA0KWyAgMzEzLjU0MDM5OF0gIFs8ZmZmZmZmZmY4MTA3M2Y3Yz5dIGNhbGxf
dGltZXJfZm4rMHg3Yy8weDEwMA0KWyAgMzEzLjU0MDQwM10gIFs8ZmZmZmZmZmY4MTA3M2Yw
MD5dID8gY2FzY2FkZSsweGEwLzB4YTANClsgIDMxMy41NDA0MDhdICBbPGZmZmZmZmZmODE2
ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MWEwLzB4MWEwDQpbICAzMTMu
NTQwNDE0XSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxl
cisweDFhMC8weDFhMA0KWyAgMzEzLjU0MDQ2OF0gIFs8ZmZmZmZmZmY4MTA3NDIxNz5dIHJ1
bl90aW1lcl9zb2Z0aXJxKzB4MjE3LzB4MjUwDQpbICAzMTMuNTQwNDc1XSAgWzxmZmZmZmZm
ZjgxMDZlM2Q5Pl0gX19kb19zb2Z0aXJxKzB4YzkvMHgxYTANClsgIDMxMy41NDA0ODNdICBb
PGZmZmZmZmZmODE3NDhkM2M+XSBjYWxsX3NvZnRpcnErMHgxYy8weDMwDQpbICAzMTMuNTQw
NDkwXSAgWzxmZmZmZmZmZjgxMDBlZGI1Pl0gZG9fc29mdGlycSsweDg1LzB4ZjANClsgIDMx
My41NDA0OTVdICBbPGZmZmZmZmZmODEwNmUyNGU+XSBpcnFfZXhpdCsweDllLzB4ZDANClsg
IDMxMy41NDA1MDJdICBbPGZmZmZmZmZmODEzMzlmNWY+XSB4ZW5fZXZ0Y2huX2RvX3VwY2Fs
bCsweDJmLzB4NDANClsgIDMxMy41NDA1MDhdICBbPGZmZmZmZmZmODE3NDhkOWU+XSB4ZW5f
ZG9faHlwZXJ2aXNvcl9jYWxsYmFjaysweDFlLzB4MzANClsgIDMxMy41NDA1MTNdICA8RU9J
PiAgWzxmZmZmZmZmZjgxMDAxM2FhPl0gPyB4ZW5faHlwZXJjYWxsX3NjaGVkX29wKzB4YS8w
eDIwDQpbICAzMTMuNTQwNTIzXSAgWzxmZmZmZmZmZjgxMDAxM2FhPl0gPyB4ZW5faHlwZXJj
YWxsX3NjaGVkX29wKzB4YS8weDIwDQpbICAzMTMuNTQwNTI5XSAgWzxmZmZmZmZmZjgxMDA4
NjkwPl0gPyB4ZW5fc2FmZV9oYWx0KzB4MTAvMHgyMA0KWyAgMzEzLjU0MDUzNV0gIFs8ZmZm
ZmZmZmY4MTAxNjBkMD5dID8gZGVmYXVsdF9pZGxlKzB4NDAvMHg5MA0KWyAgMzEzLjU0MDU0
MV0gIFs8ZmZmZmZmZmY4MTAxNjQ4Nj5dID8gY3B1X2lkbGUrMHg5Ni8weGYwDQpbICAzMTMu
NTQwNTQ2XSAgWzxmZmZmZmZmZjgxNzIyZDNjPl0gPyByZXN0X2luaXQrMHhiYy8weGQwDQpb
ICAzMTMuNTQwNTUxXSAgWzxmZmZmZmZmZjgxNzIyYzgwPl0gPyBjc3VtX3BhcnRpYWxfY29w
eV9nZW5lcmljKzB4MTcwLzB4MTcwDQpbICAzMTMuNTQwNTYwXSAgWzxmZmZmZmZmZjgxY2Uw
ZGYyPl0gPyBzdGFydF9rZXJuZWwrMHgzOTAvMHgzOWQNClsgIDMxMy41NDA1NjZdICBbPGZm
ZmZmZmZmODFjZTA4ODI+XSA/IGtlcm5lbF9pbml0KzB4MjBiLzB4MjBiDQpbICAzMTMuNTQw
NTcxXSAgWzxmZmZmZmZmZjgxY2UwMzU2Pl0gPyB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25z
KzB4MTMxLzB4MTM2DQpbICAzMTMuNTQwNTkwXSAgWzxmZmZmZmZmZjgxY2UzZDYwPl0gPyB4
ZW5fc3RhcnRfa2VybmVsKzB4NzBkLzB4NzBmDQpbICAzMTMuNTQwNTk1XSAtLS1bIGVuZCB0
cmFjZSAyZTI4ZWVjOTNiN2E4YjhkIF0tLS0NClsgIDMxNC41MTY4MTddIC0tLS0tLS0tLS0t
LVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQ0KWyAgMzE0LjUxNjg0NV0gV0FSTklORzogYXQg
ZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmM6NDY1IHhlbm5ldF9zdGFydF94bWl0KzB4N2Zl
LzB4ODYwKCkNClsgIDMxNC41MTY4NThdIE1vZHVsZXMgbGlua2VkIGluOg0KWyAgMzE0LjUx
Njg3MF0gUGlkOiAwLCBjb21tOiBzd2FwcGVyLzAgVGFpbnRlZDogRyAgICAgICAgVyAgICAz
LjYuMHByZS1yYzEtMjAxMjEwMTEgIzENClsgIDMxNC41MTY4ODNdIENhbGwgVHJhY2U6DQpb
ICAzMTQuNTE2ODkwXSAgPElSUT4gIFs8ZmZmZmZmZmY4MTA2NjRlYT5dIHdhcm5fc2xvd3Bh
dGhfY29tbW9uKzB4N2EvMHhiMA0KWyAgMzE0LjUxNjkxMV0gIFs8ZmZmZmZmZmY4MTA2NjUz
NT5dIHdhcm5fc2xvd3BhdGhfbnVsbCsweDE1LzB4MjANClsgIDMxNC41MTY5MjNdICBbPGZm
ZmZmZmZmODE0NmQ4OWU+XSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MA0KWyAgMzE0
LjUxNjkzN10gIFs8ZmZmZmZmZmY4MTYxZjM0OT5dIGRldl9oYXJkX3N0YXJ0X3htaXQrMHgy
MDkvMHg0NjANClsgIDMxNC41MTY5NDldICBbPGZmZmZmZmZmODE2M2IwMzY+XSBzY2hfZGly
ZWN0X3htaXQrMHhmNi8weDI5MA0KWyAgMzE0LjUxNjk2MF0gIFs8ZmZmZmZmZmY4MTYxZjc0
Nj5dIGRldl9xdWV1ZV94bWl0KzB4MWE2LzB4NWEwDQpbICAzMTQuNTE2OTcyXSAgWzxmZmZm
ZmZmZjgxNjFmNWEwPl0gPyBkZXZfaGFyZF9zdGFydF94bWl0KzB4NDYwLzB4NDYwDQpbICAz
MTQuNTE2OTg0XSAgWzxmZmZmZmZmZjgxMGIxNDE3Pl0gPyBsb2NrX3JlbGVhc2UrMHgxMTcv
MHgyNTANClsgIDMxNC41MTY5OTldICBbPGZmZmZmZmZmODE2Yjk1MzY+XSBpcF9maW5pc2hf
b3V0cHV0KzB4MjI2LzB4NTMwDQpbICAzMTQuNTE3MDExXSAgWzxmZmZmZmZmZjgxNmI5M2Rk
Pl0gPyBpcF9maW5pc2hfb3V0cHV0KzB4Y2QvMHg1MzANClsgIDMxNC41MTcwMjNdICBbPGZm
ZmZmZmZmODE2Yjk4OTk+XSBpcF9vdXRwdXQrMHg1OS8weGUwDQpbICAzMTQuNTE3MDMzXSAg
WzxmZmZmZmZmZjgxNmI4M2I4Pl0gaXBfbG9jYWxfb3V0KzB4MjgvMHg5MA0KWyAgMzE0LjUx
NzA0NF0gIFs8ZmZmZmZmZmY4MTZiODk2Zj5dIGlwX3F1ZXVlX3htaXQrMHgxN2YvMHg0YTAN
ClsgIDMxNC41MTcwNTVdICBbPGZmZmZmZmZmODE2Yjg3ZjA+XSA/IGlwX3NlbmRfdW5pY2Fz
dF9yZXBseSsweDM0MC8weDM0MA0KWyAgMzE0LjUxNzA2N10gIFs8ZmZmZmZmZmY4MTBhMGJh
Nz5dID8gZ2V0bnN0aW1lb2ZkYXkrMHg0Ny8weGUwDQpbICAzMTQuNTE3MDc5XSAgWzxmZmZm
ZmZmZjgxNjBmNGM5Pl0gPyBfX3NrYl9jbG9uZSsweDI5LzB4MTIwDQpbICAzMTQuNTE3MDkw
XSAgWzxmZmZmZmZmZjgxNmNlYTIwPl0gdGNwX3RyYW5zbWl0X3NrYisweDQwMC8weDhkMA0K
WyAgMzE0LjUxNzEwMl0gIFs8ZmZmZmZmZmY4MTZkMTEwNj5dIHRjcF9yZXRyYW5zbWl0X3Nr
YisweDFjNi8weDVhMA0KWyAgMzE0LjUxNzExNF0gIFs8ZmZmZmZmZmY4MTZkMzNiMD5dID8g
dGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAvMHgxYTANClsgIDMxNC41MTcxMjZdICBb
PGZmZmZmZmZmODE2ZDJmMzg+XSB0Y3BfcmV0cmFuc21pdF90aW1lcisweDM1OC8weDYzMA0K
WyAgMzE0LjUxNzEzOF0gIFs8ZmZmZmZmZmY4MTZkMzM0ZD5dIHRjcF93cml0ZV90aW1lcl9o
YW5kbGVyKzB4MTNkLzB4MWEwDQpbICAzMTQuNTE3MTUwXSAgWzxmZmZmZmZmZjgxNmQzNDI4
Pl0gdGNwX3dyaXRlX3RpbWVyKzB4NzgvMHg4MA0KWyAgMzE0LjUxNzE2MV0gIFs8ZmZmZmZm
ZmY4MTA3M2Y3Yz5dIGNhbGxfdGltZXJfZm4rMHg3Yy8weDEwMA0KWyAgMzE0LjUxNzE3MV0g
IFs8ZmZmZmZmZmY4MTA3M2YwMD5dID8gY2FzY2FkZSsweGEwLzB4YTANClsgIDMxNC41MTcx
ODFdICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4
MWEwLzB4MWEwDQpbICAzMTQuNTE3MTk0XSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bf
d3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFhMA0KWyAgMzE0LjUxNzIwNV0gIFs8ZmZm
ZmZmZmY4MTA3NDIxNz5dIHJ1bl90aW1lcl9zb2Z0aXJxKzB4MjE3LzB4MjUwDQpbICAzMTQu
NTE3MjE4XSAgWzxmZmZmZmZmZjgxMDZlM2Q5Pl0gX19kb19zb2Z0aXJxKzB4YzkvMHgxYTAN
ClsgIDMxNC41MTcyMzBdICBbPGZmZmZmZmZmODE3NDhkM2M+XSBjYWxsX3NvZnRpcnErMHgx
Yy8weDMwDQpbICAzMTQuNTE3MjQxXSAgWzxmZmZmZmZmZjgxMDBlZGI1Pl0gZG9fc29mdGly
cSsweDg1LzB4ZjANClsgIDMxNC41MTcyNTJdICBbPGZmZmZmZmZmODEwNmUyNGU+XSBpcnFf
ZXhpdCsweDllLzB4ZDANClsgIDMxNC41MTcyNjVdICBbPGZmZmZmZmZmODEzMzlmNWY+XSB4
ZW5fZXZ0Y2huX2RvX3VwY2FsbCsweDJmLzB4NDANClsgIDMxNC41MTcyNzddICBbPGZmZmZm
ZmZmODE3NDhkOWU+XSB4ZW5fZG9faHlwZXJ2aXNvcl9jYWxsYmFjaysweDFlLzB4MzANClsg
IDMxNC41MTcyODZdICA8RU9JPiAgWzxmZmZmZmZmZjgxMDAxM2FhPl0gPyB4ZW5faHlwZXJj
YWxsX3NjaGVkX29wKzB4YS8weDIwDQpbICAzMTQuNTE3MzA2XSAgWzxmZmZmZmZmZjgxMDAx
M2FhPl0gPyB4ZW5faHlwZXJjYWxsX3NjaGVkX29wKzB4YS8weDIwDQpbICAzMTQuNTE3MzE4
XSAgWzxmZmZmZmZmZjgxMDA4NjkwPl0gPyB4ZW5fc2FmZV9oYWx0KzB4MTAvMHgyMA0KWyAg
MzE0LjUxNzMyOV0gIFs8ZmZmZmZmZmY4MTAxNjBkMD5dID8gZGVmYXVsdF9pZGxlKzB4NDAv
MHg5MA0KWyAgMzE0LjUxNzM0MF0gIFs8ZmZmZmZmZmY4MTAxNjQ4Nj5dID8gY3B1X2lkbGUr
MHg5Ni8weGYwDQpbICAzMTQuNTE3MzUxXSAgWzxmZmZmZmZmZjgxNzIyZDNjPl0gPyByZXN0
X2luaXQrMHhiYy8weGQwDQpbICAzMTQuNTE3MzYxXSAgWzxmZmZmZmZmZjgxNzIyYzgwPl0g
PyBjc3VtX3BhcnRpYWxfY29weV9nZW5lcmljKzB4MTcwLzB4MTcwDQpbICAzMTQuNTE3Mzc1
XSAgWzxmZmZmZmZmZjgxY2UwZGYyPl0gPyBzdGFydF9rZXJuZWwrMHgzOTAvMHgzOWQNClsg
IDMxNC41MTczODZdICBbPGZmZmZmZmZmODFjZTA4ODI+XSA/IGtlcm5lbF9pbml0KzB4MjBi
LzB4MjBiDQpbICAzMTQuNTE3Mzk3XSAgWzxmZmZmZmZmZjgxY2UwMzU2Pl0gPyB4ODZfNjRf
c3RhcnRfcmVzZXJ2YXRpb25zKzB4MTMxLzB4MTM2DQpbICAzMTQuNTE3NDEwXSAgWzxmZmZm
ZmZmZjgxY2UzZDYwPl0gPyB4ZW5fc3RhcnRfa2VybmVsKzB4NzBkLzB4NzBmDQpbICAzMTQu
NTE3NDIxXSAtLS1bIGVuZCB0cmFjZSAyZTI4ZWVjOTNiN2E4YjhlIF0tLS0NClsgIDMxNi40
NjY4MzhdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQ0KWyAgMzE2LjQ2
Njg2N10gV0FSTklORzogYXQgZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmM6NDY1IHhlbm5l
dF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwKCkNClsgIDMxNi40NjY4ODFdIE1vZHVsZXMgbGlu
a2VkIGluOg0KWyAgMzE2LjQ2Njg5NF0gUGlkOiAwLCBjb21tOiBzd2FwcGVyLzAgVGFpbnRl
ZDogRyAgICAgICAgVyAgICAzLjYuMHByZS1yYzEtMjAxMjEwMTEgIzENClsgIDMxNi40NjY5
MDZdIENhbGwgVHJhY2U6DQpbICAzMTYuNDY2OTEyXSAgPElSUT4gIFs8ZmZmZmZmZmY4MTA2
NjRlYT5dIHdhcm5fc2xvd3BhdGhfY29tbW9uKzB4N2EvMHhiMA0KWyAgMzE2LjQ2NjkzNF0g
IFs8ZmZmZmZmZmY4MTA2NjUzNT5dIHdhcm5fc2xvd3BhdGhfbnVsbCsweDE1LzB4MjANClsg
IDMxNi40NjY5NDZdICBbPGZmZmZmZmZmODE0NmQ4OWU+XSB4ZW5uZXRfc3RhcnRfeG1pdCsw
eDdmZS8weDg2MA0KWyAgMzE2LjQ2Njk2MF0gIFs8ZmZmZmZmZmY4MTYxZjM0OT5dIGRldl9o
YXJkX3N0YXJ0X3htaXQrMHgyMDkvMHg0NjANClsgIDMxNi40NjY5NzNdICBbPGZmZmZmZmZm
ODE2M2IwMzY+XSBzY2hfZGlyZWN0X3htaXQrMHhmNi8weDI5MA0KWyAgMzE2LjQ2Njk4NF0g
IFs8ZmZmZmZmZmY4MTYxZjc0Nj5dIGRldl9xdWV1ZV94bWl0KzB4MWE2LzB4NWEwDQpbICAz
MTYuNDY2OTk5XSAgWzxmZmZmZmZmZjgxNjFmNWEwPl0gPyBkZXZfaGFyZF9zdGFydF94bWl0
KzB4NDYwLzB4NDYwDQpbICAzMTYuNDY3MDEyXSAgWzxmZmZmZmZmZjgxMGIxNDE3Pl0gPyBs
b2NrX3JlbGVhc2UrMHgxMTcvMHgyNTANClsgIDMxNi40NjcwMjVdICBbPGZmZmZmZmZmODE2
Yjk1MzY+XSBpcF9maW5pc2hfb3V0cHV0KzB4MjI2LzB4NTMwDQpbICAzMTYuNDY3MDM3XSAg
WzxmZmZmZmZmZjgxNmI5M2RkPl0gPyBpcF9maW5pc2hfb3V0cHV0KzB4Y2QvMHg1MzANClsg
IDMxNi40NjcwNDldICBbPGZmZmZmZmZmODE2Yjk4OTk+XSBpcF9vdXRwdXQrMHg1OS8weGUw
DQpbICAzMTYuNDY3MDYxXSAgWzxmZmZmZmZmZjgxNmI4M2I4Pl0gaXBfbG9jYWxfb3V0KzB4
MjgvMHg5MA0KWyAgMzE2LjQ2NzA3MV0gIFs8ZmZmZmZmZmY4MTZiODk2Zj5dIGlwX3F1ZXVl
X3htaXQrMHgxN2YvMHg0YTANClsgIDMxNi40NjcwODNdICBbPGZmZmZmZmZmODE2Yjg3ZjA+
XSA/IGlwX3NlbmRfdW5pY2FzdF9yZXBseSsweDM0MC8weDM0MA0KWyAgMzE2LjQ2NzA5Nl0g
IFs8ZmZmZmZmZmY4MTBhMGJhNz5dID8gZ2V0bnN0aW1lb2ZkYXkrMHg0Ny8weGUwDQpbICAz
MTYuNDY3MTA4XSAgWzxmZmZmZmZmZjgxNjBmNGM5Pl0gPyBfX3NrYl9jbG9uZSsweDI5LzB4
MTIwDQpbICAzMTYuNDY3MTE5XSAgWzxmZmZmZmZmZjgxNmNlYTIwPl0gdGNwX3RyYW5zbWl0
X3NrYisweDQwMC8weDhkMA0KWyAgMzE2LjQ2NzEzMV0gIFs8ZmZmZmZmZmY4MTZkMTEwNj5d
IHRjcF9yZXRyYW5zbWl0X3NrYisweDFjNi8weDVhMA0KWyAgMzE2LjQ2NzE0M10gIFs8ZmZm
ZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAvMHgxYTAN
ClsgIDMxNi40NjcxNTVdICBbPGZmZmZmZmZmODE2ZDJmMzg+XSB0Y3BfcmV0cmFuc21pdF90
aW1lcisweDM1OC8weDYzMA0KWyAgMzE2LjQ2NzE2Nl0gIFs8ZmZmZmZmZmY4MTZkMzM0ZD5d
IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MTNkLzB4MWEwDQpbICAzMTYuNDY3MTc4XSAg
WzxmZmZmZmZmZjgxNmQzNDI4Pl0gdGNwX3dyaXRlX3RpbWVyKzB4NzgvMHg4MA0KWyAgMzE2
LjQ2NzE5MF0gIFs8ZmZmZmZmZmY4MTA3M2Y3Yz5dIGNhbGxfdGltZXJfZm4rMHg3Yy8weDEw
MA0KWyAgMzE2LjQ2NzIwMF0gIFs8ZmZmZmZmZmY4MTA3M2YwMD5dID8gY2FzY2FkZSsweGEw
LzB4YTANClsgIDMxNi40NjcyMTFdICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0
ZV90aW1lcl9oYW5kbGVyKzB4MWEwLzB4MWEwDQpbICAzMTYuNDY3MjIzXSAgWzxmZmZmZmZm
ZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFhMA0KWyAg
MzE2LjQ2NzIzNV0gIFs8ZmZmZmZmZmY4MTA3NDIxNz5dIHJ1bl90aW1lcl9zb2Z0aXJxKzB4
MjE3LzB4MjUwDQpbICAzMTYuNDY3MjQ4XSAgWzxmZmZmZmZmZjgxMDZlM2Q5Pl0gX19kb19z
b2Z0aXJxKzB4YzkvMHgxYTANClsgIDMxNi40NjcyNjBdICBbPGZmZmZmZmZmODE3NDhkM2M+
XSBjYWxsX3NvZnRpcnErMHgxYy8weDMwDQpbICAzMTYuNDY3MjcwXSAgWzxmZmZmZmZmZjgx
MDBlZGI1Pl0gZG9fc29mdGlycSsweDg1LzB4ZjANClsgIDMxNi40NjcyODFdICBbPGZmZmZm
ZmZmODEwNmUyNGU+XSBpcnFfZXhpdCsweDllLzB4ZDANClsgIDMxNi40NjcyOTNdICBbPGZm
ZmZmZmZmODEzMzlmNWY+XSB4ZW5fZXZ0Y2huX2RvX3VwY2FsbCsweDJmLzB4NDANClsgIDMx
Ni40NjczMDRdICBbPGZmZmZmZmZmODE3NDhkOWU+XSB4ZW5fZG9faHlwZXJ2aXNvcl9jYWxs
YmFjaysweDFlLzB4MzANClsgIDMxNi40NjczMTRdICA8RU9JPiAgWzxmZmZmZmZmZjgxMDAx
M2FhPl0gPyB4ZW5faHlwZXJjYWxsX3NjaGVkX29wKzB4YS8weDIwDQpbICAzMTYuNDY3MzM0
XSAgWzxmZmZmZmZmZjgxMDAxM2FhPl0gPyB4ZW5faHlwZXJjYWxsX3NjaGVkX29wKzB4YS8w
eDIwDQpbICAzMTYuNDY3MzQ3XSAgWzxmZmZmZmZmZjgxMDA4NjkwPl0gPyB4ZW5fc2FmZV9o
YWx0KzB4MTAvMHgyMA0KWyAgMzE2LjQ2NzM1OV0gIFs8ZmZmZmZmZmY4MTAxNjBkMD5dID8g
ZGVmYXVsdF9pZGxlKzB4NDAvMHg5MA0KWyAgMzE2LjQ2NzM2OV0gIFs8ZmZmZmZmZmY4MTAx
NjQ4Nj5dID8gY3B1X2lkbGUrMHg5Ni8weGYwDQpbICAzMTYuNDY3MzgwXSAgWzxmZmZmZmZm
ZjgxNzIyZDNjPl0gPyByZXN0X2luaXQrMHhiYy8weGQwDQpbICAzMTYuNDY3MzkwXSAgWzxm
ZmZmZmZmZjgxNzIyYzgwPl0gPyBjc3VtX3BhcnRpYWxfY29weV9nZW5lcmljKzB4MTcwLzB4
MTcwDQpbICAzMTYuNDY3NDAzXSAgWzxmZmZmZmZmZjgxY2UwZGYyPl0gPyBzdGFydF9rZXJu
ZWwrMHgzOTAvMHgzOWQNClsgIDMxNi40Njc0MTVdICBbPGZmZmZmZmZmODFjZTA4ODI+XSA/
IGtlcm5lbF9pbml0KzB4MjBiLzB4MjBiDQpbICAzMTYuNDY3NDI2XSAgWzxmZmZmZmZmZjgx
Y2UwMzU2Pl0gPyB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4MTMxLzB4MTM2DQpbICAz
MTYuNDY3NDM5XSAgWzxmZmZmZmZmZjgxY2UzZDYwPl0gPyB4ZW5fc3RhcnRfa2VybmVsKzB4
NzBkLzB4NzBmDQpbICAzMTYuNDY3NDQ5XSAtLS1bIGVuZCB0cmFjZSAyZTI4ZWVjOTNiN2E4
YjhmIF0tLS0NClsgIDMyMC4zNzM0NDVdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0t
LS0tLS0tLQ0KWyAgMzIwLjM3MzQ2NV0gV0FSTklORzogYXQgZHJpdmVycy9uZXQveGVuLW5l
dGZyb250LmM6NDY1IHhlbm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwKCkNClsgIDMyMC4z
NzM0NzJdIE1vZHVsZXMgbGlua2VkIGluOg0KWyAgMzIwLjM3MzQ3OF0gUGlkOiAwLCBjb21t
OiBzd2FwcGVyLzAgVGFpbnRlZDogRyAgICAgICAgVyAgICAzLjYuMHByZS1yYzEtMjAxMjEw
MTEgIzENClsgIDMyMC4zNzM0ODldIENhbGwgVHJhY2U6DQpbICAzMjAuMzczNDkyXSAgPElS
UT4gIFs8ZmZmZmZmZmY4MTA2NjRlYT5dIHdhcm5fc2xvd3BhdGhfY29tbW9uKzB4N2EvMHhi
MA0KWyAgMzIwLjM3MzUwNV0gIFs8ZmZmZmZmZmY4MTA2NjUzNT5dIHdhcm5fc2xvd3BhdGhf
bnVsbCsweDE1LzB4MjANClsgIDMyMC4zNzM1MTFdICBbPGZmZmZmZmZmODE0NmQ4OWU+XSB4
ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MA0KWyAgMzIwLjM3MzUxOV0gIFs8ZmZmZmZm
ZmY4MTYxZjM0OT5dIGRldl9oYXJkX3N0YXJ0X3htaXQrMHgyMDkvMHg0NjANClsgIDMyMC4z
NzM1MjZdICBbPGZmZmZmZmZmODE2M2IwMzY+XSBzY2hfZGlyZWN0X3htaXQrMHhmNi8weDI5
MA0KWyAgMzIwLjM3MzUzMl0gIFs8ZmZmZmZmZmY4MTYxZjc0Nj5dIGRldl9xdWV1ZV94bWl0
KzB4MWE2LzB4NWEwDQpbICAzMjAuMzczNTM4XSAgWzxmZmZmZmZmZjgxNjFmNWEwPl0gPyBk
ZXZfaGFyZF9zdGFydF94bWl0KzB4NDYwLzB4NDYwDQpbICAzMjAuMzczNTQ0XSAgWzxmZmZm
ZmZmZjgxMGIxNDE3Pl0gPyBsb2NrX3JlbGVhc2UrMHgxMTcvMHgyNTANClsgIDMyMC4zNzM1
NTJdICBbPGZmZmZmZmZmODE2Yjk1MzY+XSBpcF9maW5pc2hfb3V0cHV0KzB4MjI2LzB4NTMw
DQpbICAzMjAuMzczNTU3XSAgWzxmZmZmZmZmZjgxNmI5M2RkPl0gPyBpcF9maW5pc2hfb3V0
cHV0KzB4Y2QvMHg1MzANClsgIDMyMC4zNzM1NjRdICBbPGZmZmZmZmZmODE2Yjk4OTk+XSBp
cF9vdXRwdXQrMHg1OS8weGUwDQpbICAzMjAuMzczNTcwXSAgWzxmZmZmZmZmZjgxNmI4M2I4
Pl0gaXBfbG9jYWxfb3V0KzB4MjgvMHg5MA0KWyAgMzIwLjM3MzU3NV0gIFs8ZmZmZmZmZmY4
MTZiODk2Zj5dIGlwX3F1ZXVlX3htaXQrMHgxN2YvMHg0YTANClsgIDMyMC4zNzM1ODFdICBb
PGZmZmZmZmZmODE2Yjg3ZjA+XSA/IGlwX3NlbmRfdW5pY2FzdF9yZXBseSsweDM0MC8weDM0
MA0KWyAgMzIwLjM3MzU4N10gIFs8ZmZmZmZmZmY4MTBhMGJhNz5dID8gZ2V0bnN0aW1lb2Zk
YXkrMHg0Ny8weGUwDQpbICAzMjAuMzczNTk0XSAgWzxmZmZmZmZmZjgxNjBmNGM5Pl0gPyBf
X3NrYl9jbG9uZSsweDI5LzB4MTIwDQpbICAzMjAuMzczNjAwXSAgWzxmZmZmZmZmZjgxNmNl
YTIwPl0gdGNwX3RyYW5zbWl0X3NrYisweDQwMC8weDhkMA0KWyAgMzIwLjM3MzYwNl0gIFs8
ZmZmZmZmZmY4MTZkMTEwNj5dIHRjcF9yZXRyYW5zbWl0X3NrYisweDFjNi8weDVhMA0KWyAg
MzIwLjM3MzYxM10gIFs8ZmZmZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dyaXRlX3RpbWVyX2hh
bmRsZXIrMHgxYTAvMHgxYTANClsgIDMyMC4zNzM2MTldICBbPGZmZmZmZmZmODE2ZDJmMzg+
XSB0Y3BfcmV0cmFuc21pdF90aW1lcisweDM1OC8weDYzMA0KWyAgMzIwLjM3MzYyNV0gIFs8
ZmZmZmZmZmY4MTZkMzM0ZD5dIHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MTNkLzB4MWEw
DQpbICAzMjAuMzczNjMxXSAgWzxmZmZmZmZmZjgxNmQzNDI4Pl0gdGNwX3dyaXRlX3RpbWVy
KzB4NzgvMHg4MA0KWyAgMzIwLjM3MzY0MF0gIFs8ZmZmZmZmZmY4MTA3M2Y3Yz5dIGNhbGxf
dGltZXJfZm4rMHg3Yy8weDEwMA0KWyAgMzIwLjM3MzY0N10gIFs8ZmZmZmZmZmY4MTA3M2Yw
MD5dID8gY2FzY2FkZSsweGEwLzB4YTANClsgIDMyMC4zNzM2NTNdICBbPGZmZmZmZmZmODE2
ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MWEwLzB4MWEwDQpbICAzMjAu
MzczNjU5XSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxl
cisweDFhMC8weDFhMA0KWyAgMzIwLjM3MzY2NV0gIFs8ZmZmZmZmZmY4MTA3NDIxNz5dIHJ1
bl90aW1lcl9zb2Z0aXJxKzB4MjE3LzB4MjUwDQpbICAzMjAuMzczNjcyXSAgWzxmZmZmZmZm
ZjgxMDZlM2Q5Pl0gX19kb19zb2Z0aXJxKzB4YzkvMHgxYTANClsgIDMyMC4zNzM2NzldICBb
PGZmZmZmZmZmODE3NDhkM2M+XSBjYWxsX3NvZnRpcnErMHgxYy8weDMwDQpbICAzMjAuMzcz
Njg1XSAgWzxmZmZmZmZmZjgxMDBlZGI1Pl0gZG9fc29mdGlycSsweDg1LzB4ZjANClsgIDMy
MC4zNzM2OTBdICBbPGZmZmZmZmZmODEwNmUyNGU+XSBpcnFfZXhpdCsweDllLzB4ZDANClsg
IDMyMC4zNzM2OTddICBbPGZmZmZmZmZmODEzMzlmNWY+XSB4ZW5fZXZ0Y2huX2RvX3VwY2Fs
bCsweDJmLzB4NDANClsgIDMyMC4zNzM3MDNdICBbPGZmZmZmZmZmODE3NDhkOWU+XSB4ZW5f
ZG9faHlwZXJ2aXNvcl9jYWxsYmFjaysweDFlLzB4MzANClsgIDMyMC4zNzM3MDhdICA8RU9J
PiAgWzxmZmZmZmZmZjgxMDAxM2FhPl0gPyB4ZW5faHlwZXJjYWxsX3NjaGVkX29wKzB4YS8w
eDIwDQpbICAzMjAuMzczNzE4XSAgWzxmZmZmZmZmZjgxMDAxM2FhPl0gPyB4ZW5faHlwZXJj
YWxsX3NjaGVkX29wKzB4YS8weDIwDQpbICAzMjAuMzczNzI3XSAgWzxmZmZmZmZmZjgxMDA4
NjkwPl0gPyB4ZW5fc2FmZV9oYWx0KzB4MTAvMHgyMA0KWyAgMzIwLjM3MzczM10gIFs8ZmZm
ZmZmZmY4MTAxNjBkMD5dID8gZGVmYXVsdF9pZGxlKzB4NDAvMHg5MA0KWyAgMzIwLjM3Mzcz
OV0gIFs8ZmZmZmZmZmY4MTAxNjQ4Nj5dID8gY3B1X2lkbGUrMHg5Ni8weGYwDQpbICAzMjAu
MzczNzQ0XSAgWzxmZmZmZmZmZjgxNzIyZDNjPl0gPyByZXN0X2luaXQrMHhiYy8weGQwDQpb
ICAzMjAuMzczNzQ5XSAgWzxmZmZmZmZmZjgxNzIyYzgwPl0gPyBjc3VtX3BhcnRpYWxfY29w
eV9nZW5lcmljKzB4MTcwLzB4MTcwDQpbICAzMjAuMzczNzU4XSAgWzxmZmZmZmZmZjgxY2Uw
ZGYyPl0gPyBzdGFydF9rZXJuZWwrMHgzOTAvMHgzOWQNClsgIDMyMC4zNzM3NjRdICBbPGZm
ZmZmZmZmODFjZTA4ODI+XSA/IGtlcm5lbF9pbml0KzB4MjBiLzB4MjBiDQpbICAzMjAuMzcz
NzY5XSAgWzxmZmZmZmZmZjgxY2UwMzU2Pl0gPyB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25z
KzB4MTMxLzB4MTM2DQpbICAzMjAuMzczNzc2XSAgWzxmZmZmZmZmZjgxY2UzZDYwPl0gPyB4
ZW5fc3RhcnRfa2VybmVsKzB4NzBkLzB4NzBmDQpbICAzMjAuMzczNzgyXSAtLS1bIGVuZCB0
cmFjZSAyZTI4ZWVjOTNiN2E4YjkwIF0tLS0NClsgIDMyOC4xODY5MDBdIC0tLS0tLS0tLS0t
LVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQ0KWyAgMzI4LjE4Njk0OF0gV0FSTklORzogYXQg
ZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmM6NDY1IHhlbm5ldF9zdGFydF94bWl0KzB4N2Zl
LzB4ODYwKCkNClsgIDMyOC4xODY5NzRdIE1vZHVsZXMgbGlua2VkIGluOg0KWyAgMzI4LjE4
Njk5Nl0gUGlkOiAwLCBjb21tOiBzd2FwcGVyLzAgVGFpbnRlZDogRyAgICAgICAgVyAgICAz
LjYuMHByZS1yYzEtMjAxMjEwMTEgIzENClsgIDMyOC4xODcwMjBdIENhbGwgVHJhY2U6DQpb
ICAzMjguMTg3MDMzXSAgPElSUT4gIFs8ZmZmZmZmZmY4MTA2NjRlYT5dIHdhcm5fc2xvd3Bh
dGhfY29tbW9uKzB4N2EvMHhiMA0KWyAgMzI4LjE4NzA3NF0gIFs8ZmZmZmZmZmY4MTA2NjUz
NT5dIHdhcm5fc2xvd3BhdGhfbnVsbCsweDE1LzB4MjANClsgIDMyOC4xODcwOTddICBbPGZm
ZmZmZmZmODE0NmQ4OWU+XSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MA0KWyAgMzI4
LjE4NzEyNF0gIFs8ZmZmZmZmZmY4MTYxZjM0OT5dIGRldl9oYXJkX3N0YXJ0X3htaXQrMHgy
MDkvMHg0NjANClsgIDMyOC4xODcxNDhdICBbPGZmZmZmZmZmODE2M2IwMzY+XSBzY2hfZGly
ZWN0X3htaXQrMHhmNi8weDI5MA0KWyAgMzI4LjE4NzE3MV0gIFs8ZmZmZmZmZmY4MTYxZjc0
Nj5dIGRldl9xdWV1ZV94bWl0KzB4MWE2LzB4NWEwDQpbICAzMjguMTg3MTkzXSAgWzxmZmZm
ZmZmZjgxNjFmNWEwPl0gPyBkZXZfaGFyZF9zdGFydF94bWl0KzB4NDYwLzB4NDYwDQpbICAz
MjguMTg3MjE4XSAgWzxmZmZmZmZmZjgxMGIxNDE3Pl0gPyBsb2NrX3JlbGVhc2UrMHgxMTcv
MHgyNTANClsgIDMyOC4xODcyNDJdICBbPGZmZmZmZmZmODE2Yjk1MzY+XSBpcF9maW5pc2hf
b3V0cHV0KzB4MjI2LzB4NTMwDQpbICAzMjguMTg3MjY4XSAgWzxmZmZmZmZmZjgxNmI5M2Rk
Pl0gPyBpcF9maW5pc2hfb3V0cHV0KzB4Y2QvMHg1MzANClsgIDMyOC4xODcyOTFdICBbPGZm
ZmZmZmZmODE2Yjk4OTk+XSBpcF9vdXRwdXQrMHg1OS8weGUwDQpbICAzMjguMTg3MzE2XSAg
WzxmZmZmZmZmZjgxNmI4M2I4Pl0gaXBfbG9jYWxfb3V0KzB4MjgvMHg5MA0KWyAgMzI4LjE4
NzM0Ml0gIFs8ZmZmZmZmZmY4MTZiODk2Zj5dIGlwX3F1ZXVlX3htaXQrMHgxN2YvMHg0YTAN
ClsgIDMyOC4xODczNjRdICBbPGZmZmZmZmZmODE2Yjg3ZjA+XSA/IGlwX3NlbmRfdW5pY2Fz
dF9yZXBseSsweDM0MC8weDM0MA0KWyAgMzI4LjE4NzM4OV0gIFs8ZmZmZmZmZmY4MTBhMGJh
Nz5dID8gZ2V0bnN0aW1lb2ZkYXkrMHg0Ny8weGUwDQpbICAzMjguMTg3NDEyXSAgWzxmZmZm
ZmZmZjgxNjBmNGM5Pl0gPyBfX3NrYl9jbG9uZSsweDI5LzB4MTIwDQpbICAzMjguMTg3NDM0
XSAgWzxmZmZmZmZmZjgxNmNlYTIwPl0gdGNwX3RyYW5zbWl0X3NrYisweDQwMC8weDhkMA0K
WyAgMzI4LjE4NzQ1N10gIFs8ZmZmZmZmZmY4MTZkMTEwNj5dIHRjcF9yZXRyYW5zbWl0X3Nr
YisweDFjNi8weDVhMA0KWyAgMzI4LjE4NzQ4MV0gIFs8ZmZmZmZmZmY4MTZkMzNiMD5dID8g
dGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAvMHgxYTANClsgIDMyOC4xODc1MDVdICBb
PGZmZmZmZmZmODE2ZDJmMzg+XSB0Y3BfcmV0cmFuc21pdF90aW1lcisweDM1OC8weDYzMA0K
WyAgMzI4LjE4NzUyOF0gIFs8ZmZmZmZmZmY4MTZkMzM0ZD5dIHRjcF93cml0ZV90aW1lcl9o
YW5kbGVyKzB4MTNkLzB4MWEwDQpbICAzMjguMTg3NTUxXSAgWzxmZmZmZmZmZjgxNmQzNDI4
Pl0gdGNwX3dyaXRlX3RpbWVyKzB4NzgvMHg4MA0KWyAgMzI4LjE4NzU3NF0gIFs8ZmZmZmZm
ZmY4MTA3M2Y3Yz5dIGNhbGxfdGltZXJfZm4rMHg3Yy8weDEwMA0KWyAgMzI4LjE4NzU5NF0g
IFs8ZmZmZmZmZmY4MTA3M2YwMD5dID8gY2FzY2FkZSsweGEwLzB4YTANClsgIDMyOC4xODc2
MTVdICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4
MWEwLzB4MWEwDQpbICAzMjguMTg3NjQwXSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bf
d3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFhMA0KWyAgMzI4LjE4NzY2M10gIFs8ZmZm
ZmZmZmY4MTA3NDIxNz5dIHJ1bl90aW1lcl9zb2Z0aXJxKzB4MjE3LzB4MjUwDQpbICAzMjgu
MTg3Njg4XSAgWzxmZmZmZmZmZjgxMDZlM2Q5Pl0gX19kb19zb2Z0aXJxKzB4YzkvMHgxYTAN
ClsgIDMyOC4xODc3MTFdICBbPGZmZmZmZmZmODE3NDhkM2M+XSBjYWxsX3NvZnRpcnErMHgx
Yy8weDMwDQpbICAzMjguMTg3NzMyXSAgWzxmZmZmZmZmZjgxMDBlZGI1Pl0gZG9fc29mdGly
cSsweDg1LzB4ZjANClsgIDMyOC4xODc3NTNdICBbPGZmZmZmZmZmODEwNmUyNGU+XSBpcnFf
ZXhpdCsweDllLzB4ZDANClsgIDMyOC4xODc3NzhdICBbPGZmZmZmZmZmODEzMzlmNWY+XSB4
ZW5fZXZ0Y2huX2RvX3VwY2FsbCsweDJmLzB4NDANClsgIDMyOC4xODc4MDFdICBbPGZmZmZm
ZmZmODE3NDhkOWU+XSB4ZW5fZG9faHlwZXJ2aXNvcl9jYWxsYmFjaysweDFlLzB4MzANClsg
IDMyOC4xODc4MjBdICA8RU9JPiAgWzxmZmZmZmZmZjgxMDAxM2FhPl0gPyB4ZW5faHlwZXJj
YWxsX3NjaGVkX29wKzB4YS8weDIwDQpbICAzMjguMTg3ODU5XSAgWzxmZmZmZmZmZjgxMDAx
M2FhPl0gPyB4ZW5faHlwZXJjYWxsX3NjaGVkX29wKzB4YS8weDIwDQpbICAzMjguMTg3ODgz
XSAgWzxmZmZmZmZmZjgxMDA4NjkwPl0gPyB4ZW5fc2FmZV9oYWx0KzB4MTAvMHgyMA0KWyAg
MzI4LjE4NzkwNV0gIFs8ZmZmZmZmZmY4MTAxNjBkMD5dID8gZGVmYXVsdF9pZGxlKzB4NDAv
MHg5MA0KWyAgMzI4LjE4NzkyN10gIFs8ZmZmZmZmZmY4MTAxNjQ4Nj5dID8gY3B1X2lkbGUr
MHg5Ni8weGYwDQpbICAzMjguMTg3OTQ3XSAgWzxmZmZmZmZmZjgxNzIyZDNjPl0gPyByZXN0
X2luaXQrMHhiYy8weGQwDQpbICAzMjguMTg3OTY3XSAgWzxmZmZmZmZmZjgxNzIyYzgwPl0g
PyBjc3VtX3BhcnRpYWxfY29weV9nZW5lcmljKzB4MTcwLzB4MTcwDQpbICAzMjguMTg3OTk0
XSAgWzxmZmZmZmZmZjgxY2UwZGYyPl0gPyBzdGFydF9rZXJuZWwrMHgzOTAvMHgzOWQNClsg
IDMyOC4xODgwMTddICBbPGZmZmZmZmZmODFjZTA4ODI+XSA/IGtlcm5lbF9pbml0KzB4MjBi
LzB4MjBiDQpbICAzMjguMTg4MDQwXSAgWzxmZmZmZmZmZjgxY2UwMzU2Pl0gPyB4ODZfNjRf
c3RhcnRfcmVzZXJ2YXRpb25zKzB4MTMxLzB4MTM2DQpbICAzMjguMTg4MDY1XSAgWzxmZmZm
ZmZmZjgxY2UzZDYwPl0gPyB4ZW5fc3RhcnRfa2VybmVsKzB4NzBkLzB4NzBmDQpbICAzMjgu
MTg4MDg3XSAtLS1bIGVuZCB0cmFjZSAyZTI4ZWVjOTNiN2E4YjkxIF0tLS0NClsgIDM0My43
ODY4ODNdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQ0KWyAgMzQzLjc4
NjkzNF0gV0FSTklORzogYXQgZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmM6NDY1IHhlbm5l
dF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwKCkNClsgIDM0My43ODY5NjBdIE1vZHVsZXMgbGlu
a2VkIGluOg0KWyAgMzQzLjc4Njk4Ml0gUGlkOiAwLCBjb21tOiBzd2FwcGVyLzAgVGFpbnRl
ZDogRyAgICAgICAgVyAgICAzLjYuMHByZS1yYzEtMjAxMjEwMTEgIzENClsgIDM0My43ODcw
MDZdIENhbGwgVHJhY2U6DQpbICAzNDMuNzg3MDE5XSAgPElSUT4gIFs8ZmZmZmZmZmY4MTA2
NjRlYT5dIHdhcm5fc2xvd3BhdGhfY29tbW9uKzB4N2EvMHhiMA0KWyAgMzQzLjc4NzA2MF0g
IFs8ZmZmZmZmZmY4MTA2NjUzNT5dIHdhcm5fc2xvd3BhdGhfbnVsbCsweDE1LzB4MjANClsg
IDM0My43ODcwODNdICBbPGZmZmZmZmZmODE0NmQ4OWU+XSB4ZW5uZXRfc3RhcnRfeG1pdCsw
eDdmZS8weDg2MA0KWyAgMzQzLjc4NzExMF0gIFs8ZmZmZmZmZmY4MTYxZjM0OT5dIGRldl9o
YXJkX3N0YXJ0X3htaXQrMHgyMDkvMHg0NjANClsgIDM0My43ODcxMzVdICBbPGZmZmZmZmZm
ODE2M2IwMzY+XSBzY2hfZGlyZWN0X3htaXQrMHhmNi8weDI5MA0KWyAgMzQzLjc4NzE1N10g
IFs8ZmZmZmZmZmY4MTYxZjc0Nj5dIGRldl9xdWV1ZV94bWl0KzB4MWE2LzB4NWEwDQpbICAz
NDMuNzg3MTgwXSAgWzxmZmZmZmZmZjgxNjFmNWEwPl0gPyBkZXZfaGFyZF9zdGFydF94bWl0
KzB4NDYwLzB4NDYwDQpbICAzNDMuNzg3MjAzXSAgWzxmZmZmZmZmZjgxNjI5YTc3Pl0gbmVp
Z2hfcmVzb2x2ZV9vdXRwdXQrMHgxMjcvMHgyNTANClsgIDM0My43ODcyMjldICBbPGZmZmZm
ZmZmODE2Yjk2YWQ+XSBpcF9maW5pc2hfb3V0cHV0KzB4MzlkLzB4NTMwDQpbICAzNDMuNzg3
MjUyXSAgWzxmZmZmZmZmZjgxNmI5M2RkPl0gPyBpcF9maW5pc2hfb3V0cHV0KzB4Y2QvMHg1
MzANClsgIDM0My43ODcyNzddICBbPGZmZmZmZmZmODE2Yjk4OTk+XSBpcF9vdXRwdXQrMHg1
OS8weGUwDQpbICAzNDMuNzg3Mjk4XSAgWzxmZmZmZmZmZjgxNmI4M2I4Pl0gaXBfbG9jYWxf
b3V0KzB4MjgvMHg5MA0KWyAgMzQzLjc4NzMyMF0gIFs8ZmZmZmZmZmY4MTZiODk2Zj5dIGlw
X3F1ZXVlX3htaXQrMHgxN2YvMHg0YTANClsgIDM0My43ODczNDJdICBbPGZmZmZmZmZmODE2
Yjg3ZjA+XSA/IGlwX3NlbmRfdW5pY2FzdF9yZXBseSsweDM0MC8weDM0MA0KWyAgMzQzLjc4
NzM2N10gIFs8ZmZmZmZmZmY4MTBhMGJhNz5dID8gZ2V0bnN0aW1lb2ZkYXkrMHg0Ny8weGUw
DQpbICAzNDMuNzg3MzkwXSAgWzxmZmZmZmZmZjgxNjBmNGM5Pl0gPyBfX3NrYl9jbG9uZSsw
eDI5LzB4MTIwDQpbICAzNDMuNzg3NDEyXSAgWzxmZmZmZmZmZjgxNmNlYTIwPl0gdGNwX3Ry
YW5zbWl0X3NrYisweDQwMC8weDhkMA0KWyAgMzQzLjc4NzQzNV0gIFs8ZmZmZmZmZmY4MTZk
MTEwNj5dIHRjcF9yZXRyYW5zbWl0X3NrYisweDFjNi8weDVhMA0KWyAgMzQzLjc4NzQ1OV0g
IFs8ZmZmZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAv
MHgxYTANClsgIDM0My43ODc0ODJdICBbPGZmZmZmZmZmODE2ZDJmMzg+XSB0Y3BfcmV0cmFu
c21pdF90aW1lcisweDM1OC8weDYzMA0KWyAgMzQzLjc4NzUwNl0gIFs8ZmZmZmZmZmY4MTZk
MzM0ZD5dIHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MTNkLzB4MWEwDQpbICAzNDMuNzg3
NTI5XSAgWzxmZmZmZmZmZjgxNmQzNDI4Pl0gdGNwX3dyaXRlX3RpbWVyKzB4NzgvMHg4MA0K
WyAgMzQzLjc4NzU1MF0gIFs8ZmZmZmZmZmY4MTA3M2Y3Yz5dIGNhbGxfdGltZXJfZm4rMHg3
Yy8weDEwMA0KWyAgMzQzLjc4NzU3MV0gIFs8ZmZmZmZmZmY4MTA3M2YwMD5dID8gY2FzY2Fk
ZSsweGEwLzB4YTANClsgIDM0My43ODc1OTFdICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRj
cF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MWEwLzB4MWEwDQpbICAzNDMuNzg3NjE1XSAgWzxm
ZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFh
MA0KWyAgMzQzLjc4NzYzOF0gIFs8ZmZmZmZmZmY4MTA3NDIxNz5dIHJ1bl90aW1lcl9zb2Z0
aXJxKzB4MjE3LzB4MjUwDQpbICAzNDMuNzg3NjYzXSAgWzxmZmZmZmZmZjgxMDZlM2Q5Pl0g
X19kb19zb2Z0aXJxKzB4YzkvMHgxYTANClsgIDM0My43ODc2ODZdICBbPGZmZmZmZmZmODE3
NDhkM2M+XSBjYWxsX3NvZnRpcnErMHgxYy8weDMwDQpbICAzNDMuNzg3NzA3XSAgWzxmZmZm
ZmZmZjgxMDBlZGI1Pl0gZG9fc29mdGlycSsweDg1LzB4ZjANClsgIDM0My43ODc3MjldICBb
PGZmZmZmZmZmODEwNmUyNGU+XSBpcnFfZXhpdCsweDllLzB4ZDANClsgIDM0My43ODc3NTJd
ICBbPGZmZmZmZmZmODEzMzlmNWY+XSB4ZW5fZXZ0Y2huX2RvX3VwY2FsbCsweDJmLzB4NDAN
ClsgIDM0My43ODc3NzRdICBbPGZmZmZmZmZmODE3NDhkOWU+XSB4ZW5fZG9faHlwZXJ2aXNv
cl9jYWxsYmFjaysweDFlLzB4MzANClsgIDM0My43ODc3OTNdICA8RU9JPiAgWzxmZmZmZmZm
ZjgxMDAxM2FhPl0gPyB4ZW5faHlwZXJjYWxsX3NjaGVkX29wKzB4YS8weDIwDQpbICAzNDMu
Nzg3ODMwXSAgWzxmZmZmZmZmZjgxMDAxM2FhPl0gPyB4ZW5faHlwZXJjYWxsX3NjaGVkX29w
KzB4YS8weDIwDQpbICAzNDMuNzg3ODU1XSAgWzxmZmZmZmZmZjgxMDA4NjkwPl0gPyB4ZW5f
c2FmZV9oYWx0KzB4MTAvMHgyMA0KWyAgMzQzLjc4Nzg3N10gIFs8ZmZmZmZmZmY4MTAxNjBk
MD5dID8gZGVmYXVsdF9pZGxlKzB4NDAvMHg5MA0KWyAgMzQzLjc4Nzg5OF0gIFs8ZmZmZmZm
ZmY4MTAxNjQ4Nj5dID8gY3B1X2lkbGUrMHg5Ni8weGYwDQpbICAzNDMuNzg3OTE4XSAgWzxm
ZmZmZmZmZjgxNzIyZDNjPl0gPyByZXN0X2luaXQrMHhiYy8weGQwDQpbICAzNDMuNzg3OTM4
XSAgWzxmZmZmZmZmZjgxNzIyYzgwPl0gPyBjc3VtX3BhcnRpYWxfY29weV9nZW5lcmljKzB4
MTcwLzB4MTcwDQpbICAzNDMuNzg3OTY0XSAgWzxmZmZmZmZmZjgxY2UwZGYyPl0gPyBzdGFy
dF9rZXJuZWwrMHgzOTAvMHgzOWQNClsgIDM0My43ODc5ODddICBbPGZmZmZmZmZmODFjZTA4
ODI+XSA/IGtlcm5lbF9pbml0KzB4MjBiLzB4MjBiDQpbICAzNDMuNzg4MDExXSAgWzxmZmZm
ZmZmZjgxY2UwMzU2Pl0gPyB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4MTMxLzB4MTM2
DQpbICAzNDMuNzg4MDM1XSAgWzxmZmZmZmZmZjgxY2UzZDYwPl0gPyB4ZW5fc3RhcnRfa2Vy
bmVsKzB4NzBkLzB4NzBmDQpbICAzNDMuNzg4MDU2XSAtLS1bIGVuZCB0cmFjZSAyZTI4ZWVj
OTNiN2E4YjkyIF0tLS0NClsgIDM2OS4xMzgxMDhdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUg
XS0tLS0tLS0tLS0tLQ0KWyAgMzY5LjEzODE0OF0gV0FSTklORzogYXQgZHJpdmVycy9uZXQv
eGVuLW5ldGZyb250LmM6NDY1IHhlbm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwKCkNClsg
IDM2OS4xMzgxNTldIE1vZHVsZXMgbGlua2VkIGluOg0KWyAgMzY5LjEzODE2NV0gUGlkOiAy
MTY5LCBjb21tOiBzc2hkIFRhaW50ZWQ6IEcgICAgICAgIFcgICAgMy42LjBwcmUtcmMxLTIw
MTIxMDExICMxDQpbICAzNjkuMTM4MTcyXSBDYWxsIFRyYWNlOg0KWyAgMzY5LjEzODE3OV0g
IFs8ZmZmZmZmZmY4MTA2NjRlYT5dIHdhcm5fc2xvd3BhdGhfY29tbW9uKzB4N2EvMHhiMA0K
WyAgMzY5LjEzODE4Nl0gIFs8ZmZmZmZmZmY4MTA2NjUzNT5dIHdhcm5fc2xvd3BhdGhfbnVs
bCsweDE1LzB4MjANClsgIDM2OS4xMzgxOTFdICBbPGZmZmZmZmZmODE0NmQ4OWU+XSB4ZW5u
ZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MA0KWyAgMzY5LjEzODE5OV0gIFs8ZmZmZmZmZmY4
MTYxZjM0OT5dIGRldl9oYXJkX3N0YXJ0X3htaXQrMHgyMDkvMHg0NjANClsgIDM2OS4xMzgy
MDVdICBbPGZmZmZmZmZmODE2M2IwMzY+XSBzY2hfZGlyZWN0X3htaXQrMHhmNi8weDI5MA0K
WyAgMzY5LjEzODIxMV0gIFs8ZmZmZmZmZmY4MTYxZjc0Nj5dIGRldl9xdWV1ZV94bWl0KzB4
MWE2LzB4NWEwDQpbICAzNjkuMTM4MjE3XSAgWzxmZmZmZmZmZjgxNjFmNWEwPl0gPyBkZXZf
aGFyZF9zdGFydF94bWl0KzB4NDYwLzB4NDYwDQpbICAzNjkuMTM4MjIzXSAgWzxmZmZmZmZm
ZjgxMGFhOGU1Pl0gPyB0cmFjZV9zb2Z0aXJxc19vZmYrMHg4NS8weDFiMA0KWyAgMzY5LjEz
ODIzMV0gIFs8ZmZmZmZmZmY4MTZiOTUzNj5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgyMjYvMHg1
MzANClsgIDM2OS4xMzgyMzZdICBbPGZmZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9v
dXRwdXQrMHhjZC8weDUzMA0KWyAgMzY5LjEzODI0Ml0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5d
IGlwX291dHB1dCsweDU5LzB4ZTANClsgIDM2OS4xMzgyNDddICBbPGZmZmZmZmZmODE2Yjgz
Yjg+XSBpcF9sb2NhbF9vdXQrMHgyOC8weDkwDQpbICAzNjkuMTM4MjUzXSAgWzxmZmZmZmZm
ZjgxNmI4OTZmPl0gaXBfcXVldWVfeG1pdCsweDE3Zi8weDRhMA0KWyAgMzY5LjEzODI1OF0g
IFs8ZmZmZmZmZmY4MTZiODdmMD5dID8gaXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4
MzQwDQpbICAzNjkuMTM4MjY1XSAgWzxmZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVv
ZmRheSsweDQ3LzB4ZTANClsgIDM2OS4xMzgyNzFdICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/
IF9fc2tiX2Nsb25lKzB4MjkvMHgxMjANClsgIDM2OS4xMzgyNzddICBbPGZmZmZmZmZmODE2
Y2VhMjA+XSB0Y3BfdHJhbnNtaXRfc2tiKzB4NDAwLzB4OGQwDQpbICAzNjkuMTM4MjgzXSAg
WzxmZmZmZmZmZjgxNmQxOWZhPl0gdGNwX3dyaXRlX3htaXQrMHgyMWEvMHhhNTANClsgIDM2
OS4xMzgyODldICBbPGZmZmZmZmZmODE2ZDIyNWI+XSB0Y3BfcHVzaF9vbmUrMHgyYi8weDQw
DQpbICAzNjkuMTM4Mjk1XSAgWzxmZmZmZmZmZjgxNmMyZGVjPl0gdGNwX3NlbmRtc2crMHg4
ZGMvMHhlMjANClsgIDM2OS4xMzgzMDJdICBbPGZmZmZmZmZmODE2ZThmMTk+XSBpbmV0X3Nl
bmRtc2crMHhhOS8weDEwMA0KWyAgMzY5LjEzODMwN10gIFs8ZmZmZmZmZmY4MTZlOGU3MD5d
ID8gaW5ldF9hdXRvYmluZCsweDcwLzB4NzANClsgIDM2OS4xMzgzMTJdICBbPGZmZmZmZmZm
ODEwYjBmODg+XSA/IGxvY2tfYWNxdWlyZSsweGQ4LzB4MTAwDQpbICAzNjkuMTM4MzE5XSAg
WzxmZmZmZmZmZjgxNjA2MzBkPl0gc29ja19haW9fd3JpdGUrMHgxMmQvMHgxNDANClsgIDM2
OS4xMzgzMjZdICBbPGZmZmZmZmZmODExNDM1YjI+XSBkb19zeW5jX3dyaXRlKzB4YTIvMHhl
MA0KWyAgMzY5LjEzODMzMV0gIFs8ZmZmZmZmZmY4MTBhZDIyZD5dID8gdHJhY2VfaGFyZGly
cXNfb24rMHhkLzB4MTANClsgIDM2OS4xMzgzMzddICBbPGZmZmZmZmZmODExNDQxZDQ+XSB2
ZnNfd3JpdGUrMHgxNzQvMHgxOTANClsgIDM2OS4xMzgzNzZdICBbPGZmZmZmZmZmODExNDQy
ZmE+XSBzeXNfd3JpdGUrMHg1YS8weGEwDQpbICAzNjkuMTM4Mzg0XSAgWzxmZmZmZmZmZjgx
MmIzM2RlPl0gPyB0cmFjZV9oYXJkaXJxc19vbl90aHVuaysweDNhLzB4M2YNClsgIDM2OS4x
MzgzOTFdICBbPGZmZmZmZmZmODE3NDkxY2M+XSBjc3Rhcl9kaXNwYXRjaCsweDcvMHgyNg0K
WyAgMzY5LjEzODM5Nl0gLS0tWyBlbmQgdHJhY2UgMmUyOGVlYzkzYjdhOGI5MyBdLS0tDQpb
ICAzNjkuMTM4NDIyXSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0NClsg
IDM2OS4xMzg0MjhdIFdBUk5JTkc6IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jOjQ2
NSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MCgpDQpbICAzNjkuMTM4NDM1XSBNb2R1
bGVzIGxpbmtlZCBpbjoNClsgIDM2OS4xMzg0MzldIFBpZDogMjE2OSwgY29tbTogc3NoZCBU
YWludGVkOiBHICAgICAgICBXICAgIDMuNi4wcHJlLXJjMS0yMDEyMTAxMSAjMQ0KWyAgMzY5
LjEzODQ0NV0gQ2FsbCBUcmFjZToNClsgIDM2OS4xMzg0NTBdICBbPGZmZmZmZmZmODEwNjY0
ZWE+XSB3YXJuX3Nsb3dwYXRoX2NvbW1vbisweDdhLzB4YjANClsgIDM2OS4xMzg0NTVdICBb
PGZmZmZmZmZmODEwNjY1MzU+XSB3YXJuX3Nsb3dwYXRoX251bGwrMHgxNS8weDIwDQpbICAz
NjkuMTM4NDYxXSAgWzxmZmZmZmZmZjgxNDZkODllPl0geGVubmV0X3N0YXJ0X3htaXQrMHg3
ZmUvMHg4NjANClsgIDM2OS4xMzg0NjhdICBbPGZmZmZmZmZmODE2MWYzNDk+XSBkZXZfaGFy
ZF9zdGFydF94bWl0KzB4MjA5LzB4NDYwDQpbICAzNjkuMTM4NDc0XSAgWzxmZmZmZmZmZjgx
NjNiMDM2Pl0gc2NoX2RpcmVjdF94bWl0KzB4ZjYvMHgyOTANClsgIDM2OS4xMzg0NzldICBb
PGZmZmZmZmZmODE2MWY3NDY+XSBkZXZfcXVldWVfeG1pdCsweDFhNi8weDVhMA0KWyAgMzY5
LjEzODQ4NV0gIFs8ZmZmZmZmZmY4MTYxZjVhMD5dID8gZGV2X2hhcmRfc3RhcnRfeG1pdCsw
eDQ2MC8weDQ2MA0KWyAgMzY5LjEzODQ5MV0gIFs8ZmZmZmZmZmY4MTBhYThlNT5dID8gdHJh
Y2Vfc29mdGlycXNfb2ZmKzB4ODUvMHgxYjANClsgIDM2OS4xMzg0OTddICBbPGZmZmZmZmZm
ODE2Yjk1MzY+XSBpcF9maW5pc2hfb3V0cHV0KzB4MjI2LzB4NTMwDQpbICAzNjkuMTM4NTAz
XSAgWzxmZmZmZmZmZjgxNmI5M2RkPl0gPyBpcF9maW5pc2hfb3V0cHV0KzB4Y2QvMHg1MzAN
ClsgIDM2OS4xMzg1MDldICBbPGZmZmZmZmZmODE2Yjk4OTk+XSBpcF9vdXRwdXQrMHg1OS8w
eGUwDQpbICAzNjkuMTM4NTE0XSAgWzxmZmZmZmZmZjgxNmI4M2I4Pl0gaXBfbG9jYWxfb3V0
KzB4MjgvMHg5MA0KWyAgMzY5LjEzODUyMF0gIFs8ZmZmZmZmZmY4MTZiODk2Zj5dIGlwX3F1
ZXVlX3htaXQrMHgxN2YvMHg0YTANClsgIDM2OS4xMzg1MjVdICBbPGZmZmZmZmZmODE2Yjg3
ZjA+XSA/IGlwX3NlbmRfdW5pY2FzdF9yZXBseSsweDM0MC8weDM0MA0KWyAgMzY5LjEzODUz
MV0gIFs8ZmZmZmZmZmY4MTBhMGJhNz5dID8gZ2V0bnN0aW1lb2ZkYXkrMHg0Ny8weGUwDQpb
ICAzNjkuMTM4NTM3XSAgWzxmZmZmZmZmZjgxNjBmNGM5Pl0gPyBfX3NrYl9jbG9uZSsweDI5
LzB4MTIwDQpbICAzNjkuMTM4NTQyXSAgWzxmZmZmZmZmZjgxNmNlYTIwPl0gdGNwX3RyYW5z
bWl0X3NrYisweDQwMC8weDhkMA0KWyAgMzY5LjEzODU0OF0gIFs8ZmZmZmZmZmY4MTZkMTlm
YT5dIHRjcF93cml0ZV94bWl0KzB4MjFhLzB4YTUwDQpbICAzNjkuMTM4NTU0XSAgWzxmZmZm
ZmZmZjgxNmQyMjlkPl0gX190Y3BfcHVzaF9wZW5kaW5nX2ZyYW1lcysweDJkLzB4OTANClsg
IDM2OS4xMzg1NjBdICBbPGZmZmZmZmZmODE2YzI2OTM+XSB0Y3Bfc2VuZG1zZysweDE4My8w
eGUyMA0KWyAgMzY5LjEzODU2Nl0gIFs8ZmZmZmZmZmY4MTZlOGYxOT5dIGluZXRfc2VuZG1z
ZysweGE5LzB4MTAwDQpbICAzNjkuMTM4NTcxXSAgWzxmZmZmZmZmZjgxNmU4ZTcwPl0gPyBp
bmV0X2F1dG9iaW5kKzB4NzAvMHg3MA0KWyAgMzY5LjEzODU3N10gIFs8ZmZmZmZmZmY4MTBi
MGY4OD5dID8gbG9ja19hY3F1aXJlKzB4ZDgvMHgxMDANClsgIDM2OS4xMzg1ODNdICBbPGZm
ZmZmZmZmODE2MDYzMGQ+XSBzb2NrX2Fpb193cml0ZSsweDEyZC8weDE0MA0KWyAgMzY5LjEz
ODU4OV0gIFs8ZmZmZmZmZmY4MTE0MzViMj5dIGRvX3N5bmNfd3JpdGUrMHhhMi8weGUwDQpb
ICAzNjkuMTM4NTk0XSAgWzxmZmZmZmZmZjgxMGFkMjJkPl0gPyB0cmFjZV9oYXJkaXJxc19v
bisweGQvMHgxMA0KWyAgMzY5LjEzODYwMF0gIFs8ZmZmZmZmZmY4MTE0NDFkND5dIHZmc193
cml0ZSsweDE3NC8weDE5MA0KWyAgMzY5LjEzODYwNV0gIFs8ZmZmZmZmZmY4MTE0NDJmYT5d
IHN5c193cml0ZSsweDVhLzB4YTANClsgIDM2OS4xMzg2MTFdICBbPGZmZmZmZmZmODEyYjMz
ZGU+XSA/IHRyYWNlX2hhcmRpcnFzX29uX3RodW5rKzB4M2EvMHgzZg0KWyAgMzY5LjEzODYx
N10gIFs8ZmZmZmZmZmY4MTc0OTFjYz5dIGNzdGFyX2Rpc3BhdGNoKzB4Ny8weDI2DQpbICAz
NjkuMTM4NjIxXSAtLS1bIGVuZCB0cmFjZSAyZTI4ZWVjOTNiN2E4Yjk0IF0tLS0NClsgIDM2
OS4xMzg2NDhdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQ0KWyAgMzY5
LjEzODY1M10gV0FSTklORzogYXQgZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmM6NDY1IHhl
bm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwKCkNClsgIDM2OS4xMzg2NTldIE1vZHVsZXMg
bGlua2VkIGluOg0KWyAgMzY5LjEzODY2NF0gUGlkOiAyMTY5LCBjb21tOiBzc2hkIFRhaW50
ZWQ6IEcgICAgICAgIFcgICAgMy42LjBwcmUtcmMxLTIwMTIxMDExICMxDQpbICAzNjkuMTM4
NjcwXSBDYWxsIFRyYWNlOg0KWyAgMzY5LjEzODY3NF0gIFs8ZmZmZmZmZmY4MTA2NjRlYT5d
IHdhcm5fc2xvd3BhdGhfY29tbW9uKzB4N2EvMHhiMA0KWyAgMzY5LjEzODY4MF0gIFs8ZmZm
ZmZmZmY4MTA2NjUzNT5dIHdhcm5fc2xvd3BhdGhfbnVsbCsweDE1LzB4MjANClsgIDM2OS4x
Mzg2ODZdICBbPGZmZmZmZmZmODE0NmQ4OWU+XSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8w
eDg2MA0KWyAgMzY5LjEzODY5Ml0gIFs8ZmZmZmZmZmY4MTYxZjM0OT5dIGRldl9oYXJkX3N0
YXJ0X3htaXQrMHgyMDkvMHg0NjANClsgIDM2OS4xMzg2OThdICBbPGZmZmZmZmZmODE2M2Iw
MzY+XSBzY2hfZGlyZWN0X3htaXQrMHhmNi8weDI5MA0KWyAgMzY5LjEzODcwNF0gIFs8ZmZm
ZmZmZmY4MTYxZjc0Nj5dIGRldl9xdWV1ZV94bWl0KzB4MWE2LzB4NWEwDQpbICAzNjkuMTM4
NzA5XSAgWzxmZmZmZmZmZjgxNjFmNWEwPl0gPyBkZXZfaGFyZF9zdGFydF94bWl0KzB4NDYw
LzB4NDYwDQpbICAzNjkuMTM4NzE1XSAgWzxmZmZmZmZmZjgxMGFhOGU1Pl0gPyB0cmFjZV9z
b2Z0aXJxc19vZmYrMHg4NS8weDFiMA0KWyAgMzY5LjEzODcyMV0gIFs8ZmZmZmZmZmY4MTZi
OTUzNj5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgyMjYvMHg1MzANClsgIDM2OS4xMzg3MjddICBb
PGZmZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9vdXRwdXQrMHhjZC8weDUzMA0KWyAg
MzY5LjEzODczM10gIFs8ZmZmZmZmZmY4MTZiOTg5OT5dIGlwX291dHB1dCsweDU5LzB4ZTAN
ClsgIDM2OS4xMzg3MzldICBbPGZmZmZmZmZmODE2YjgzYjg+XSBpcF9sb2NhbF9vdXQrMHgy
OC8weDkwDQpbICAzNjkuMTM4NzQ0XSAgWzxmZmZmZmZmZjgxNmI4OTZmPl0gaXBfcXVldWVf
eG1pdCsweDE3Zi8weDRhMA0KWyAgMzY5LjEzODc1MF0gIFs8ZmZmZmZmZmY4MTZiODdmMD5d
ID8gaXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4MzQwDQpbICAzNjkuMTM4NzU2XSAg
WzxmZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVvZmRheSsweDQ3LzB4ZTANClsgIDM2
OS4xMzg3NjJdICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/IF9fc2tiX2Nsb25lKzB4MjkvMHgx
MjANClsgIDM2OS4xMzg3NjddICBbPGZmZmZmZmZmODE2Y2VhMjA+XSB0Y3BfdHJhbnNtaXRf
c2tiKzB4NDAwLzB4OGQwDQpbICAzNjkuMTM4NzczXSAgWzxmZmZmZmZmZjgxNmQxOWZhPl0g
dGNwX3dyaXRlX3htaXQrMHgyMWEvMHhhNTANClsgIDM2OS4xMzg3NzldICBbPGZmZmZmZmZm
ODE2ZDIyOWQ+XSBfX3RjcF9wdXNoX3BlbmRpbmdfZnJhbWVzKzB4MmQvMHg5MA0KWyAgMzY5
LjEzODc4NV0gIFs8ZmZmZmZmZmY4MTZjMjY5Mz5dIHRjcF9zZW5kbXNnKzB4MTgzLzB4ZTIw
DQpbICAzNjkuMTM4NzkxXSAgWzxmZmZmZmZmZjgxNmU4ZjE5Pl0gaW5ldF9zZW5kbXNnKzB4
YTkvMHgxMDANClsgIDM2OS4xMzg3OTZdICBbPGZmZmZmZmZmODE2ZThlNzA+XSA/IGluZXRf
YXV0b2JpbmQrMHg3MC8weDcwDQpbICAzNjkuMTM4ODAyXSAgWzxmZmZmZmZmZjgxMGIwZjg4
Pl0gPyBsb2NrX2FjcXVpcmUrMHhkOC8weDEwMA0KWyAgMzY5LjEzODgwOF0gIFs8ZmZmZmZm
ZmY4MTYwNjMwZD5dIHNvY2tfYWlvX3dyaXRlKzB4MTJkLzB4MTQwDQpbICAzNjkuMTM4ODE0
XSAgWzxmZmZmZmZmZjgxMTQzNWIyPl0gZG9fc3luY193cml0ZSsweGEyLzB4ZTANClsgIDM2
OS4xMzg4MTldICBbPGZmZmZmZmZmODEwYWQyMmQ+XSA/IHRyYWNlX2hhcmRpcnFzX29uKzB4
ZC8weDEwDQpbICAzNjkuMTM4ODI1XSAgWzxmZmZmZmZmZjgxMTQ0MWQ0Pl0gdmZzX3dyaXRl
KzB4MTc0LzB4MTkwDQpbICAzNjkuMTM4ODMwXSAgWzxmZmZmZmZmZjgxMTQ0MmZhPl0gc3lz
X3dyaXRlKzB4NWEvMHhhMA0KWyAgMzY5LjEzODgzNl0gIFs8ZmZmZmZmZmY4MTJiMzNkZT5d
ID8gdHJhY2VfaGFyZGlycXNfb25fdGh1bmsrMHgzYS8weDNmDQpbICAzNjkuMTM4ODQyXSAg
WzxmZmZmZmZmZjgxNzQ5MWNjPl0gY3N0YXJfZGlzcGF0Y2grMHg3LzB4MjYNClsgIDM2OS4x
Mzg4NDddIC0tLVsgZW5kIHRyYWNlIDJlMjhlZWM5M2I3YThiOTUgXS0tLQ0KWyAgMzY5LjU3
MTc4NV0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tDQpbICAzNjkuNTcx
ODExXSBXQVJOSU5HOiBhdCBkcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYzo0NjUgeGVubmV0
X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjAoKQ0KWyAgMzY5LjU3MTgxOF0gTW9kdWxlcyBsaW5r
ZWQgaW46DQpbICAzNjkuNTcxODI1XSBQaWQ6IDAsIGNvbW06IHN3YXBwZXIvMCBUYWludGVk
OiBHICAgICAgICBXICAgIDMuNi4wcHJlLXJjMS0yMDEyMTAxMSAjMQ0KWyAgMzY5LjU3MTgz
Ml0gQ2FsbCBUcmFjZToNClsgIDM2OS41NzE4MzVdICA8SVJRPiAgWzxmZmZmZmZmZjgxMDY2
NGVhPl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8weGIwDQpbICAzNjkuNTcxODQ4XSAg
WzxmZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0aF9udWxsKzB4MTUvMHgyMA0KWyAg
MzY5LjU3MTg1NF0gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5dIHhlbm5ldF9zdGFydF94bWl0KzB4
N2ZlLzB4ODYwDQpbICAzNjkuNTcxODYzXSAgWzxmZmZmZmZmZjgxNjFmMzQ5Pl0gZGV2X2hh
cmRfc3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgMzY5LjU3MTg3MV0gIFs8ZmZmZmZmZmY4
MTYzYjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4MjkwDQpbICAzNjkuNTcxODc3XSAg
WzxmZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3htaXQrMHgxYTYvMHg1YTANClsgIDM2
OS41NzE4ODNdICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/IGRldl9oYXJkX3N0YXJ0X3htaXQr
MHg0NjAvMHg0NjANClsgIDM2OS41NzE4OTBdICBbPGZmZmZmZmZmODEwYjE0MTc+XSA/IGxv
Y2tfcmVsZWFzZSsweDExNy8weDI1MA0KWyAgMzY5LjU3MTg5OF0gIFs8ZmZmZmZmZmY4MTZi
OTUzNj5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgyMjYvMHg1MzANClsgIDM2OS41NzE5MDNdICBb
PGZmZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9vdXRwdXQrMHhjZC8weDUzMA0KWyAg
MzY5LjU3MTkwOV0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5dIGlwX291dHB1dCsweDU5LzB4ZTAN
ClsgIDM2OS41NzE5MTVdICBbPGZmZmZmZmZmODE2YjgzYjg+XSBpcF9sb2NhbF9vdXQrMHgy
OC8weDkwDQpbICAzNjkuNTcxOTIyXSAgWzxmZmZmZmZmZjgxNmI4OTZmPl0gaXBfcXVldWVf
eG1pdCsweDE3Zi8weDRhMA0KWyAgMzY5LjU3MTkyN10gIFs8ZmZmZmZmZmY4MTZiODdmMD5d
ID8gaXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4MzQwDQpbICAzNjkuNTcxOTM0XSAg
WzxmZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVvZmRheSsweDQ3LzB4ZTANClsgIDM2
OS41NzE5NDFdICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/IF9fc2tiX2Nsb25lKzB4MjkvMHgx
MjANClsgIDM2OS41NzE5NDddICBbPGZmZmZmZmZmODE2Y2VhMjA+XSB0Y3BfdHJhbnNtaXRf
c2tiKzB4NDAwLzB4OGQwDQpbICAzNjkuNTcxOTUzXSAgWzxmZmZmZmZmZjgxNmQxMTA2Pl0g
dGNwX3JldHJhbnNtaXRfc2tiKzB4MWM2LzB4NWEwDQpbICAzNjkuNTcxOTU5XSAgWzxmZmZm
ZmZmZjgxNmQxNjdlPl0gdGNwX3htaXRfcmV0cmFuc21pdF9xdWV1ZSsweDE5ZS8weDMwMA0K
WyAgMzY5LjU3MTk2NV0gIFs8ZmZmZmZmZmY4MTZjOTlmZj5dIHRjcF9mYXN0cmV0cmFuc19h
bGVydCsweDk0Zi8weGNiMA0KWyAgMzY5LjU3MTk3MV0gIFs8ZmZmZmZmZmY4MTZjYTcwYz5d
IHRjcF9hY2srMHg5YWMvMHgxMTUwDQpbICAzNjkuNTcxOTc3XSAgWzxmZmZmZmZmZjgxNmNk
ODU4Pl0gdGNwX3Jjdl9lc3RhYmxpc2hlZCsweDMxOC8weDY0MA0KWyAgMzY5LjU3MTk4M10g
IFs8ZmZmZmZmZmY4MTZkNWVlZj5dID8gdGNwX3Y0X3JjdisweDZjZi8weGIxMA0KWyAgMzY5
LjU3MTk4OV0gIFs8ZmZmZmZmZmY4MTZkNTRkNT5dIHRjcF92NF9kb19yY3YrMHgxMzUvMHg0
ODANClsgIDM2OS41NzE5OTZdICBbPGZmZmZmZmZmODE3NDYxZDI+XSA/IF9yYXdfc3Bpbl9s
b2NrX25lc3RlZCsweDQyLzB4NTANClsgIDM2OS41NzIwMDJdICBbPGZmZmZmZmZmODE2ZDVl
ZWY+XSA/IHRjcF92NF9yY3YrMHg2Y2YvMHhiMTANClsgIDM2OS41NzIwMDddICBbPGZmZmZm
ZmZmODE2ZDYxN2Q+XSB0Y3BfdjRfcmN2KzB4OTVkLzB4YjEwDQpbICAzNjkuNTcyMDEzXSAg
WzxmZmZmZmZmZjgxMGIwZjg4Pl0gPyBsb2NrX2FjcXVpcmUrMHhkOC8weDEwMA0KWyAgMzY5
LjU3MjAxOV0gIFs8ZmZmZmZmZmY4MTZiMjk5NT5dID8gaXBfbG9jYWxfZGVsaXZlcl9maW5p
c2grMHg0NS8weDIzMA0KWyAgMzY5LjU3MjAyNl0gIFs8ZmZmZmZmZmY4MTZiMmE2YT5dIGlw
X2xvY2FsX2RlbGl2ZXJfZmluaXNoKzB4MTFhLzB4MjMwDQpbICAzNjkuNTcyMDMxXSAgWzxm
ZmZmZmZmZjgxNmIyOTk1Pl0gPyBpcF9sb2NhbF9kZWxpdmVyX2ZpbmlzaCsweDQ1LzB4MjMw
DQpbICAzNjkuNTcyMDM3XSAgWzxmZmZmZmZmZjgxNmIyYmI4Pl0gaXBfbG9jYWxfZGVsaXZl
cisweDM4LzB4ODANClsgIDM2OS41NzIwNDNdICBbPGZmZmZmZmZmODE2YjIxN2E+XSBpcF9y
Y3ZfZmluaXNoKzB4MTVhLzB4NjMwDQpbICAzNjkuNTcyMDQ4XSAgWzxmZmZmZmZmZjgxNmIy
ODY4Pl0gaXBfcmN2KzB4MjE4LzB4MzAwDQpbICAzNjkuNTcyMDU0XSAgWzxmZmZmZmZmZjgx
NjFhYzhkPl0gX19uZXRpZl9yZWNlaXZlX3NrYisweDY1ZC8weDhkMA0KWyAgMzY5LjU3MjA2
MF0gIFs8ZmZmZmZmZmY4MTYxYTc3NT5dID8gX19uZXRpZl9yZWNlaXZlX3NrYisweDE0NS8w
eDhkMA0KWyAgMzY5LjU3MjA2Nl0gIFs8ZmZmZmZmZmY4MTBhZDIyZD5dID8gdHJhY2VfaGFy
ZGlycXNfb24rMHhkLzB4MTANClsgIDM2OS41NzIwNzNdICBbPGZmZmZmZmZmODEwZjk5NzM+
XSA/IGZyZWVfaG90X2NvbGRfcGFnZSsweDFiMy8weDFlMA0KWyAgMzY5LjU3MjA4MF0gIFs8
ZmZmZmZmZmY4MTYxZDFmOD5dIG5ldGlmX3JlY2VpdmVfc2tiKzB4MjgvMHhmMA0KWyAgMzY5
LjU3MjA4Nl0gIFs8ZmZmZmZmZmY4MTYxMmQwMz5dID8gX19wc2tiX3B1bGxfdGFpbCsweDI1
My8weDM0MA0KWyAgMzY5LjU3MjA5Ml0gIFs8ZmZmZmZmZmY4MTQ2ZTRjNT5dIHhlbm5ldF9w
b2xsKzB4YWQ1LzB4ZTEwDQpbICAzNjkuNTcyMDk4XSAgWzxmZmZmZmZmZjgxNjFkZmE2Pl0g
bmV0X3J4X2FjdGlvbisweDEzNi8weDI2MA0KWyAgMzY5LjU3MjEwNV0gIFs8ZmZmZmZmZmY4
MTA2ZTM4MT5dID8gX19kb19zb2Z0aXJxKzB4NzEvMHgxYTANClsgIDM2OS41NzIxMTBdICBb
PGZmZmZmZmZmODEwNmUzZDk+XSBfX2RvX3NvZnRpcnErMHhjOS8weDFhMA0KWyAgMzY5LjU3
MjExNl0gIFs8ZmZmZmZmZmY4MTc0OGQzYz5dIGNhbGxfc29mdGlycSsweDFjLzB4MzANClsg
IDM2OS41NzIxMjRdICBbPGZmZmZmZmZmODEwMGVkYjU+XSBkb19zb2Z0aXJxKzB4ODUvMHhm
MA0KWyAgMzY5LjU3MjEyOV0gIFs8ZmZmZmZmZmY4MTA2ZTI0ZT5dIGlycV9leGl0KzB4OWUv
MHhkMA0KWyAgMzY5LjU3MjEzN10gIFs8ZmZmZmZmZmY4MTMzOWY1Zj5dIHhlbl9ldnRjaG5f
ZG9fdXBjYWxsKzB4MmYvMHg0MA0KWyAgMzY5LjU3MjE0M10gIFs8ZmZmZmZmZmY4MTc0OGQ5
ZT5dIHhlbl9kb19oeXBlcnZpc29yX2NhbGxiYWNrKzB4MWUvMHgzMA0KWyAgMzY5LjU3MjE0
N10gIDxFT0k+ICBbPGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBlcmNhbGxfc2NoZWRf
b3ArMHhhLzB4MjANClsgIDM2OS41NzIxNThdICBbPGZmZmZmZmZmODEwMDEzYWE+XSA/IHhl
bl9oeXBlcmNhbGxfc2NoZWRfb3ArMHhhLzB4MjANClsgIDM2OS41NzIxNjVdICBbPGZmZmZm
ZmZmODEwMDg2OTA+XSA/IHhlbl9zYWZlX2hhbHQrMHgxMC8weDIwDQpbICAzNjkuNTcyMTcx
XSAgWzxmZmZmZmZmZjgxMDE2MGQwPl0gPyBkZWZhdWx0X2lkbGUrMHg0MC8weDkwDQpbICAz
NjkuNTcyMTc2XSAgWzxmZmZmZmZmZjgxMDE2NDg2Pl0gPyBjcHVfaWRsZSsweDk2LzB4ZjAN
ClsgIDM2OS41NzIxODZdICBbPGZmZmZmZmZmODE3MjJkM2M+XSA/IHJlc3RfaW5pdCsweGJj
LzB4ZDANClsgIDM2OS41NzIxOTJdICBbPGZmZmZmZmZmODE3MjJjODA+XSA/IGNzdW1fcGFy
dGlhbF9jb3B5X2dlbmVyaWMrMHgxNzAvMHgxNzANClsgIDM2OS41NzIyMDBdICBbPGZmZmZm
ZmZmODFjZTBkZjI+XSA/IHN0YXJ0X2tlcm5lbCsweDM5MC8weDM5ZA0KWyAgMzY5LjU3MjIw
Nl0gIFs8ZmZmZmZmZmY4MWNlMDg4Mj5dID8ga2VybmVsX2luaXQrMHgyMGIvMHgyMGINClsg
IDM2OS41NzIyMTJdICBbPGZmZmZmZmZmODFjZTAzNTY+XSA/IHg4Nl82NF9zdGFydF9yZXNl
cnZhdGlvbnMrMHgxMzEvMHgxMzYNClsgIDM2OS41NzIyMThdICBbPGZmZmZmZmZmODFjZTNk
NjA+XSA/IHhlbl9zdGFydF9rZXJuZWwrMHg3MGQvMHg3MGYNClsgIDM2OS41NzIyMjRdIC0t
LVsgZW5kIHRyYWNlIDJlMjhlZWM5M2I3YThiOTYgXS0tLQ0KWyAgMzY5LjU3MjI1MV0gLS0t
LS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tDQpbICAzNjkuNTcyMjU3XSBXQVJO
SU5HOiBhdCBkcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYzo0NjUgeGVubmV0X3N0YXJ0X3ht
aXQrMHg3ZmUvMHg4NjAoKQ0KWyAgMzY5LjU3MjI2NF0gTW9kdWxlcyBsaW5rZWQgaW46DQpb
ICAzNjkuNTcyMjY4XSBQaWQ6IDAsIGNvbW06IHN3YXBwZXIvMCBUYWludGVkOiBHICAgICAg
ICBXICAgIDMuNi4wcHJlLXJjMS0yMDEyMTAxMSAjMQ0KWyAgMzY5LjU3MjI3NF0gQ2FsbCBU
cmFjZToNClsgIDM2OS41NzIyNzddICA8SVJRPiAgWzxmZmZmZmZmZjgxMDY2NGVhPl0gd2Fy
bl9zbG93cGF0aF9jb21tb24rMHg3YS8weGIwDQpbICAzNjkuNTcyMjg2XSAgWzxmZmZmZmZm
ZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0aF9udWxsKzB4MTUvMHgyMA0KWyAgMzY5LjU3MjI5
MV0gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5dIHhlbm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYw
DQpbICAzNjkuNTcyMjk4XSAgWzxmZmZmZmZmZjgxNjFmMzQ5Pl0gZGV2X2hhcmRfc3RhcnRf
eG1pdCsweDIwOS8weDQ2MA0KWyAgMzY5LjU3MjMwNF0gIFs8ZmZmZmZmZmY4MTYzYjAzNj5d
IHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4MjkwDQpbICAzNjkuNTcyMzA5XSAgWzxmZmZmZmZm
ZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3htaXQrMHgxYTYvMHg1YTANClsgIDM2OS41NzIzMTVd
ICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/IGRldl9oYXJkX3N0YXJ0X3htaXQrMHg0NjAvMHg0
NjANClsgIDM2OS41NzIzMjFdICBbPGZmZmZmZmZmODEwYjE0MTc+XSA/IGxvY2tfcmVsZWFz
ZSsweDExNy8weDI1MA0KWyAgMzY5LjU3MjMyN10gIFs8ZmZmZmZmZmY4MTZiOTUzNj5dIGlw
X2ZpbmlzaF9vdXRwdXQrMHgyMjYvMHg1MzANClsgIDM2OS41NzIzMzNdICBbPGZmZmZmZmZm
ODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9vdXRwdXQrMHhjZC8weDUzMA0KWyAgMzY5LjU3MjMz
OV0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5dIGlwX291dHB1dCsweDU5LzB4ZTANClsgIDM2OS41
NzIzNDRdICBbPGZmZmZmZmZmODE2YjgzYjg+XSBpcF9sb2NhbF9vdXQrMHgyOC8weDkwDQpb
ICAzNjkuNTcyMzUwXSAgWzxmZmZmZmZmZjgxNmI4OTZmPl0gaXBfcXVldWVfeG1pdCsweDE3
Zi8weDRhMA0KWyAgMzY5LjU3MjM1NV0gIFs8ZmZmZmZmZmY4MTZiODdmMD5dID8gaXBfc2Vu
ZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4MzQwDQpbICAzNjkuNTcyMzYxXSAgWzxmZmZmZmZm
ZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVvZmRheSsweDQ3LzB4ZTANClsgIDM2OS41NzIzNzBd
ICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/IF9fc2tiX2Nsb25lKzB4MjkvMHgxMjANClsgIDM2
OS41NzIzNzZdICBbPGZmZmZmZmZmODE2Y2VhMjA+XSB0Y3BfdHJhbnNtaXRfc2tiKzB4NDAw
LzB4OGQwDQpbICAzNjkuNTcyMzgyXSAgWzxmZmZmZmZmZjgxNmQxMTA2Pl0gdGNwX3JldHJh
bnNtaXRfc2tiKzB4MWM2LzB4NWEwDQpbICAzNjkuNTcyMzg4XSAgWzxmZmZmZmZmZjgxNmQx
NjdlPl0gdGNwX3htaXRfcmV0cmFuc21pdF9xdWV1ZSsweDE5ZS8weDMwMA0KWyAgMzY5LjU3
MjM5NF0gIFs8ZmZmZmZmZmY4MTZjOTlmZj5dIHRjcF9mYXN0cmV0cmFuc19hbGVydCsweDk0
Zi8weGNiMA0KWyAgMzY5LjU3MjQwMF0gIFs8ZmZmZmZmZmY4MTZjYTcwYz5dIHRjcF9hY2sr
MHg5YWMvMHgxMTUwDQpbICAzNjkuNTcyNDA2XSAgWzxmZmZmZmZmZjgxNmNkODU4Pl0gdGNw
X3Jjdl9lc3RhYmxpc2hlZCsweDMxOC8weDY0MA0KWyAgMzY5LjU3MjQxMV0gIFs8ZmZmZmZm
ZmY4MTZkNWVlZj5dID8gdGNwX3Y0X3JjdisweDZjZi8weGIxMA0KWyAgMzY5LjU3MjQxN10g
IFs8ZmZmZmZmZmY4MTZkNTRkNT5dIHRjcF92NF9kb19yY3YrMHgxMzUvMHg0ODANClsgIDM2
OS41NzI0MjNdICBbPGZmZmZmZmZmODE3NDYxZDI+XSA/IF9yYXdfc3Bpbl9sb2NrX25lc3Rl
ZCsweDQyLzB4NTANClsgIDM2OS41NzI0MjldICBbPGZmZmZmZmZmODE2ZDVlZWY+XSA/IHRj
cF92NF9yY3YrMHg2Y2YvMHhiMTANClsgIDM2OS41NzI0MzRdICBbPGZmZmZmZmZmODE2ZDYx
N2Q+XSB0Y3BfdjRfcmN2KzB4OTVkLzB4YjEwDQpbICAzNjkuNTcyNDM5XSAgWzxmZmZmZmZm
ZjgxMGIwZjg4Pl0gPyBsb2NrX2FjcXVpcmUrMHhkOC8weDEwMA0KWyAgMzY5LjU3MjQ0NV0g
IFs8ZmZmZmZmZmY4MTZiMjk5NT5dID8gaXBfbG9jYWxfZGVsaXZlcl9maW5pc2grMHg0NS8w
eDIzMA0KWyAgMzY5LjU3MjQ1MV0gIFs8ZmZmZmZmZmY4MTZiMmE2YT5dIGlwX2xvY2FsX2Rl
bGl2ZXJfZmluaXNoKzB4MTFhLzB4MjMwDQpbICAzNjkuNTcyNDU3XSAgWzxmZmZmZmZmZjgx
NmIyOTk1Pl0gPyBpcF9sb2NhbF9kZWxpdmVyX2ZpbmlzaCsweDQ1LzB4MjMwDQpbICAzNjku
NTcyNDYzXSAgWzxmZmZmZmZmZjgxNmIyYmI4Pl0gaXBfbG9jYWxfZGVsaXZlcisweDM4LzB4
ODANClsgIDM2OS41NzI0NjldICBbPGZmZmZmZmZmODE2YjIxN2E+XSBpcF9yY3ZfZmluaXNo
KzB4MTVhLzB4NjMwDQpbICAzNjkuNTcyNDc0XSAgWzxmZmZmZmZmZjgxNmIyODY4Pl0gaXBf
cmN2KzB4MjE4LzB4MzAwDQpbICAzNjkuNTcyNDgwXSAgWzxmZmZmZmZmZjgxNjFhYzhkPl0g
X19uZXRpZl9yZWNlaXZlX3NrYisweDY1ZC8weDhkMA0KWyAgMzY5LjU3MjQ4Nl0gIFs8ZmZm
ZmZmZmY4MTYxYTc3NT5dID8gX19uZXRpZl9yZWNlaXZlX3NrYisweDE0NS8weDhkMA0KWyAg
MzY5LjU3MjQ5Ml0gIFs8ZmZmZmZmZmY4MTBhZDIyZD5dID8gdHJhY2VfaGFyZGlycXNfb24r
MHhkLzB4MTANClsgIDM2OS41NzI0OTddICBbPGZmZmZmZmZmODEwZjk5NzM+XSA/IGZyZWVf
aG90X2NvbGRfcGFnZSsweDFiMy8weDFlMA0KWyAgMzY5LjU3MjUwM10gIFs8ZmZmZmZmZmY4
MTYxZDFmOD5dIG5ldGlmX3JlY2VpdmVfc2tiKzB4MjgvMHhmMA0KWyAgMzY5LjU3MjUwOV0g
IFs8ZmZmZmZmZmY4MTYxMmQwMz5dID8gX19wc2tiX3B1bGxfdGFpbCsweDI1My8weDM0MA0K
WyAgMzY5LjU3MjUxNV0gIFs8ZmZmZmZmZmY4MTQ2ZTRjNT5dIHhlbm5ldF9wb2xsKzB4YWQ1
LzB4ZTEwDQpbICAzNjkuNTcyNTIxXSAgWzxmZmZmZmZmZjgxNjFkZmE2Pl0gbmV0X3J4X2Fj
dGlvbisweDEzNi8weDI2MA0KWyAgMzY5LjU3MjUyN10gIFs8ZmZmZmZmZmY4MTA2ZTM4MT5d
ID8gX19kb19zb2Z0aXJxKzB4NzEvMHgxYTANClsgIDM2OS41NzI1MzNdICBbPGZmZmZmZmZm
ODEwNmUzZDk+XSBfX2RvX3NvZnRpcnErMHhjOS8weDFhMA0KWyAgMzY5LjU3MjUzOF0gIFs8
ZmZmZmZmZmY4MTc0OGQzYz5dIGNhbGxfc29mdGlycSsweDFjLzB4MzANClsgIDM2OS41NzI1
NDNdICBbPGZmZmZmZmZmODEwMGVkYjU+XSBkb19zb2Z0aXJxKzB4ODUvMHhmMA0KWyAgMzY5
LjU3MjU0OV0gIFs8ZmZmZmZmZmY4MTA2ZTI0ZT5dIGlycV9leGl0KzB4OWUvMHhkMA0KWyAg
MzY5LjU3MjU1NV0gIFs8ZmZmZmZmZmY4MTMzOWY1Zj5dIHhlbl9ldnRjaG5fZG9fdXBjYWxs
KzB4MmYvMHg0MA0KWyAgMzY5LjU3MjU2MF0gIFs8ZmZmZmZmZmY4MTc0OGQ5ZT5dIHhlbl9k
b19oeXBlcnZpc29yX2NhbGxiYWNrKzB4MWUvMHgzMA0KWyAgMzY5LjU3MjU2Nl0gIDxFT0k+
ICBbPGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBlcmNhbGxfc2NoZWRfb3ArMHhhLzB4
MjANClsgIDM2OS41NzI1NzVdICBbPGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBlcmNh
bGxfc2NoZWRfb3ArMHhhLzB4MjANClsgIDM2OS41NzI1ODFdICBbPGZmZmZmZmZmODEwMDg2
OTA+XSA/IHhlbl9zYWZlX2hhbHQrMHgxMC8weDIwDQpbICAzNjkuNTcyNTg2XSAgWzxmZmZm
ZmZmZjgxMDE2MGQwPl0gPyBkZWZhdWx0X2lkbGUrMHg0MC8weDkwDQpbICAzNjkuNTcyNTky
XSAgWzxmZmZmZmZmZjgxMDE2NDg2Pl0gPyBjcHVfaWRsZSsweDk2LzB4ZjANClsgIDM2OS41
NzI1OTddICBbPGZmZmZmZmZmODE3MjJkM2M+XSA/IHJlc3RfaW5pdCsweGJjLzB4ZDANClsg
IDM2OS41NzI2MDJdICBbPGZmZmZmZmZmODE3MjJjODA+XSA/IGNzdW1fcGFydGlhbF9jb3B5
X2dlbmVyaWMrMHgxNzAvMHgxNzANClsgIDM2OS41NzI2MDhdICBbPGZmZmZmZmZmODFjZTBk
ZjI+XSA/IHN0YXJ0X2tlcm5lbCsweDM5MC8weDM5ZA0KWyAgMzY5LjU3MjYxNF0gIFs8ZmZm
ZmZmZmY4MWNlMDg4Mj5dID8ga2VybmVsX2luaXQrMHgyMGIvMHgyMGINClsgIDM2OS41NzI2
MTldICBbPGZmZmZmZmZmODFjZTAzNTY+XSA/IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMr
MHgxMzEvMHgxMzYNClsgIDM2OS41NzI2MjZdICBbPGZmZmZmZmZmODFjZTNkNjA+XSA/IHhl
bl9zdGFydF9rZXJuZWwrMHg3MGQvMHg3MGYNClsgIDM2OS41NzI2MzFdIC0tLVsgZW5kIHRy
YWNlIDJlMjhlZWM5M2I3YThiOTcgXS0tLQ0KWyAgMzY5LjU3NDU3OV0gLS0tLS0tLS0tLS0t
WyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tDQpbICAzNjkuNTc0NTk5XSBXQVJOSU5HOiBhdCBk
cml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYzo0NjUgeGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUv
MHg4NjAoKQ0KWyAgMzY5LjU3NDYwNV0gTW9kdWxlcyBsaW5rZWQgaW46DQpbICAzNjkuNTc0
NjExXSBQaWQ6IDE1MjMsIGNvbW06IHN5c2xvZ2QgVGFpbnRlZDogRyAgICAgICAgVyAgICAz
LjYuMHByZS1yYzEtMjAxMjEwMTEgIzENClsgIDM2OS41NzQ2MTddIENhbGwgVHJhY2U6DQpb
ICAzNjkuNTc0NjIwXSAgPElSUT4gIFs8ZmZmZmZmZmY4MTA2NjRlYT5dIHdhcm5fc2xvd3Bh
dGhfY29tbW9uKzB4N2EvMHhiMA0KWyAgMzY5LjU3NDYyOV0gIFs8ZmZmZmZmZmY4MTA2NjUz
NT5dIHdhcm5fc2xvd3BhdGhfbnVsbCsweDE1LzB4MjANClsgIDM2OS41NzQ2MzVdICBbPGZm
ZmZmZmZmODE0NmQ4OWU+XSB4ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MA0KWyAgMzY5
LjU3NDY0Ml0gIFs8ZmZmZmZmZmY4MTYxZjM0OT5dIGRldl9oYXJkX3N0YXJ0X3htaXQrMHgy
MDkvMHg0NjANClsgIDM2OS41NzQ2NDhdICBbPGZmZmZmZmZmODE2M2IwMzY+XSBzY2hfZGly
ZWN0X3htaXQrMHhmNi8weDI5MA0KWyAgMzY5LjU3NDY1M10gIFs8ZmZmZmZmZmY4MTYxZjc0
Nj5dIGRldl9xdWV1ZV94bWl0KzB4MWE2LzB4NWEwDQpbICAzNjkuNTc0NjU5XSAgWzxmZmZm
ZmZmZjgxNjFmNWEwPl0gPyBkZXZfaGFyZF9zdGFydF94bWl0KzB4NDYwLzB4NDYwDQpbICAz
NjkuNTc0NjY1XSAgWzxmZmZmZmZmZjgxMGIxNDE3Pl0gPyBsb2NrX3JlbGVhc2UrMHgxMTcv
MHgyNTANClsgIDM2OS41NzQ2NzFdICBbPGZmZmZmZmZmODE2Yjk1MzY+XSBpcF9maW5pc2hf
b3V0cHV0KzB4MjI2LzB4NTMwDQpbICAzNjkuNTc0Njc3XSAgWzxmZmZmZmZmZjgxNmI5M2Rk
Pl0gPyBpcF9maW5pc2hfb3V0cHV0KzB4Y2QvMHg1MzANClsgIDM2OS41NzQ2ODNdICBbPGZm
ZmZmZmZmODE2Yjk4OTk+XSBpcF9vdXRwdXQrMHg1OS8weGUwDQpbICAzNjkuNTc0Njg4XSAg
WzxmZmZmZmZmZjgxNmI4M2I4Pl0gaXBfbG9jYWxfb3V0KzB4MjgvMHg5MA0KWyAgMzY5LjU3
NDY5NF0gIFs8ZmZmZmZmZmY4MTZiODk2Zj5dIGlwX3F1ZXVlX3htaXQrMHgxN2YvMHg0YTAN
ClsgIDM2OS41NzQ2OTldICBbPGZmZmZmZmZmODE2Yjg3ZjA+XSA/IGlwX3NlbmRfdW5pY2Fz
dF9yZXBseSsweDM0MC8weDM0MA0KWyAgMzY5LjU3NDcwNl0gIFs8ZmZmZmZmZmY4MTBhMGJh
Nz5dID8gZ2V0bnN0aW1lb2ZkYXkrMHg0Ny8weGUwDQpbICAzNjkuNTc0NzEyXSAgWzxmZmZm
ZmZmZjgxNjBmNGM5Pl0gPyBfX3NrYl9jbG9uZSsweDI5LzB4MTIwDQpbICAzNjkuNTc0NzE4
XSAgWzxmZmZmZmZmZjgxNmNlYTIwPl0gdGNwX3RyYW5zbWl0X3NrYisweDQwMC8weDhkMA0K
WyAgMzY5LjU3NDcyOF0gIFs8ZmZmZmZmZmY4MTZkMTEwNj5dIHRjcF9yZXRyYW5zbWl0X3Nr
YisweDFjNi8weDVhMA0KWyAgMzY5LjU3NDczNF0gIFs8ZmZmZmZmZmY4MTc0NmNiNT5dID8g
X3Jhd19zcGluX3VubG9ja19pcnFyZXN0b3JlKzB4NzUvMHhhMA0KWyAgMzY5LjU3NDc0MF0g
IFs8ZmZmZmZmZmY4MTZkMTY3ZT5dIHRjcF94bWl0X3JldHJhbnNtaXRfcXVldWUrMHgxOWUv
MHgzMDANClsgIDM2OS41NzQ3NDZdICBbPGZmZmZmZmZmODE2Yzk5ZmY+XSB0Y3BfZmFzdHJl
dHJhbnNfYWxlcnQrMHg5NGYvMHhjYjANClsgIDM2OS41NzQ3NTJdICBbPGZmZmZmZmZmODE2
Y2E3MGM+XSB0Y3BfYWNrKzB4OWFjLzB4MTE1MA0KWyAgMzY5LjU3NDc1OF0gIFs8ZmZmZmZm
ZmY4MTZjZDhjZT5dIHRjcF9yY3ZfZXN0YWJsaXNoZWQrMHgzOGUvMHg2NDANClsgIDM2OS41
NzQ3NjNdICBbPGZmZmZmZmZmODE2ZDVlZWY+XSA/IHRjcF92NF9yY3YrMHg2Y2YvMHhiMTAN
ClsgIDM2OS41NzQ3NjldICBbPGZmZmZmZmZmODE2ZDU0ZDU+XSB0Y3BfdjRfZG9fcmN2KzB4
MTM1LzB4NDgwDQpbICAzNjkuNTc0Nzc1XSAgWzxmZmZmZmZmZjgxNzQ2MWQyPl0gPyBfcmF3
X3NwaW5fbG9ja19uZXN0ZWQrMHg0Mi8weDUwDQpbICAzNjkuNTc0NzgxXSAgWzxmZmZmZmZm
ZjgxNmQ1ZWVmPl0gPyB0Y3BfdjRfcmN2KzB4NmNmLzB4YjEwDQpbICAzNjkuNTc0Nzg2XSAg
WzxmZmZmZmZmZjgxNmQ2MTdkPl0gdGNwX3Y0X3JjdisweDk1ZC8weGIxMA0KWyAgMzY5LjU3
NDc5Ml0gIFs8ZmZmZmZmZmY4MTBiMGY4OD5dID8gbG9ja19hY3F1aXJlKzB4ZDgvMHgxMDAN
ClsgIDM2OS41NzQ3OTddICBbPGZmZmZmZmZmODE2YjI5OTU+XSA/IGlwX2xvY2FsX2RlbGl2
ZXJfZmluaXNoKzB4NDUvMHgyMzANClsgIDM2OS41NzQ4MDRdICBbPGZmZmZmZmZmODE2YjJh
NmE+XSBpcF9sb2NhbF9kZWxpdmVyX2ZpbmlzaCsweDExYS8weDIzMA0KWyAgMzY5LjU3NDgx
MF0gIFs8ZmZmZmZmZmY4MTZiMjk5NT5dID8gaXBfbG9jYWxfZGVsaXZlcl9maW5pc2grMHg0
NS8weDIzMA0KWyAgMzY5LjU3NDgxNl0gIFs8ZmZmZmZmZmY4MTZiMmJiOD5dIGlwX2xvY2Fs
X2RlbGl2ZXIrMHgzOC8weDgwDQpbICAzNjkuNTc0ODIxXSAgWzxmZmZmZmZmZjgxNmIyMTdh
Pl0gaXBfcmN2X2ZpbmlzaCsweDE1YS8weDYzMA0KWyAgMzY5LjU3NDgyN10gIFs8ZmZmZmZm
ZmY4MTZiMjg2OD5dIGlwX3JjdisweDIxOC8weDMwMA0KWyAgMzY5LjU3NDgzMl0gIFs8ZmZm
ZmZmZmY4MTYxYWM4ZD5dIF9fbmV0aWZfcmVjZWl2ZV9za2IrMHg2NWQvMHg4ZDANClsgIDM2
OS41NzQ4MzhdICBbPGZmZmZmZmZmODE2MWE3NzU+XSA/IF9fbmV0aWZfcmVjZWl2ZV9za2Ir
MHgxNDUvMHg4ZDANClsgIDM2OS41NzQ4NDNdICBbPGZmZmZmZmZmODEwYWQyMmQ+XSA/IHRy
YWNlX2hhcmRpcnFzX29uKzB4ZC8weDEwDQpbICAzNjkuNTc0ODUwXSAgWzxmZmZmZmZmZjgx
MGY5OTczPl0gPyBmcmVlX2hvdF9jb2xkX3BhZ2UrMHgxYjMvMHgxZTANClsgIDM2OS41NzQ4
NTZdICBbPGZmZmZmZmZmODE2MWQxZjg+XSBuZXRpZl9yZWNlaXZlX3NrYisweDI4LzB4ZjAN
ClsgIDM2OS41NzQ4NjJdICBbPGZmZmZmZmZmODE2MTJkMDM+XSA/IF9fcHNrYl9wdWxsX3Rh
aWwrMHgyNTMvMHgzNDANClsgIDM2OS41NzQ4NjddICBbPGZmZmZmZmZmODE0NmU0YzU+XSB4
ZW5uZXRfcG9sbCsweGFkNS8weGUxMA0KWyAgMzY5LjU3NDg3NF0gIFs8ZmZmZmZmZmY4MTYx
ZGZhNj5dIG5ldF9yeF9hY3Rpb24rMHgxMzYvMHgyNjANClsgIDM2OS41NzQ4NzldICBbPGZm
ZmZmZmZmODEwNmUzODE+XSA/IF9fZG9fc29mdGlycSsweDcxLzB4MWEwDQpbICAzNjkuNTc0
ODg1XSAgWzxmZmZmZmZmZjgxMDZlM2Q5Pl0gX19kb19zb2Z0aXJxKzB4YzkvMHgxYTANClsg
IDM2OS41NzQ4OTFdICBbPGZmZmZmZmZmODE3NDhkM2M+XSBjYWxsX3NvZnRpcnErMHgxYy8w
eDMwDQpbICAzNjkuNTc0ODk2XSAgWzxmZmZmZmZmZjgxMDBlZGI1Pl0gZG9fc29mdGlycSsw
eDg1LzB4ZjANClsgIDM2OS41NzQ5MDFdICBbPGZmZmZmZmZmODEwNmUyNGU+XSBpcnFfZXhp
dCsweDllLzB4ZDANClsgIDM2OS41NzQ5MDddICBbPGZmZmZmZmZmODEzMzlmNWY+XSB4ZW5f
ZXZ0Y2huX2RvX3VwY2FsbCsweDJmLzB4NDANClsgIDM2OS41NzQ5MTNdICBbPGZmZmZmZmZm
ODE3NDhkOWU+XSB4ZW5fZG9faHlwZXJ2aXNvcl9jYWxsYmFjaysweDFlLzB4MzANClsgIDM2
OS41NzQ5MThdICA8RU9JPiAgWzxmZmZmZmZmZjgxMDAxMjJhPl0gPyB4ZW5faHlwZXJjYWxs
X3hlbl92ZXJzaW9uKzB4YS8weDIwDQpbICAzNjkuNTc0OTI4XSAgWzxmZmZmZmZmZjgxMDAx
MjJhPl0gPyB4ZW5faHlwZXJjYWxsX3hlbl92ZXJzaW9uKzB4YS8weDIwDQpbICAzNjkuNTc0
OTM0XSAgWzxmZmZmZmZmZjgxMDA4NjRkPl0gPyB4ZW5fZm9yY2VfZXZ0Y2huX2NhbGxiYWNr
KzB4ZC8weDEwDQpbICAzNjkuNTc0OTQwXSAgWzxmZmZmZmZmZjgxMDA4ZmYyPl0gPyBjaGVj
a19ldmVudHMrMHgxMi8weDIwDQpbICAzNjkuNTc0OTQ2XSAgWzxmZmZmZmZmZjgxMDA4ZmRm
Pl0gPyB4ZW5fcmVzdG9yZV9mbF9kaXJlY3RfcmVsb2MrMHg0LzB4NA0KWyAgMzY5LjU3NDk1
Ml0gIFs8ZmZmZmZmZmY4MTBiMGY4OD5dID8gbG9ja19hY3F1aXJlKzB4ZDgvMHgxMDANClsg
IDM2OS41NzQ5NThdICBbPGZmZmZmZmZmODEwZjJhNDA+XSA/IGZpbmRfZ2V0X3BhZ2VzKzB4
MTkwLzB4MTkwDQpbICAzNjkuNTc0OTY0XSAgWzxmZmZmZmZmZjgxMGYyYTgyPl0gPyBmaW5k
X2dldF9wYWdlKzB4NDIvMHgxMDANClsgIDM2OS41NzQ5NjldICBbPGZmZmZmZmZmODEwZjJh
NDA+XSA/IGZpbmRfZ2V0X3BhZ2VzKzB4MTkwLzB4MTkwDQpbICAzNjkuNTc0OTc1XSAgWzxm
ZmZmZmZmZjgxMGYyZGMxPl0gPyBmaW5kX2xvY2tfcGFnZSsweDIxLzB4ODANClsgIDM2OS41
NzQ5ODBdICBbPGZmZmZmZmZmODEwZjMzMWE+XSA/IGdyYWJfY2FjaGVfcGFnZV93cml0ZV9i
ZWdpbisweDZhLzB4ZTANClsgIDM2OS41NzQ5ODhdICBbPGZmZmZmZmZmODExZDZkZjc+XSA/
IGV4dDRfZGFfd3JpdGVfYmVnaW4rMHg5Ny8weDFhMA0KWyAgMzY5LjU3NDk5M10gIFs8ZmZm
ZmZmZmY4MTBiMDU0Yj5dID8gX19sb2NrX2FjcXVpcmUrMHg0NmIvMHhkZDANClsgIDM2OS41
NzQ5OTldICBbPGZmZmZmZmZmODE2MTAzNGM+XSA/IHNrYl9mcmVlX2hlYWQrMHg0Yy8weDYw
DQpbICAzNjkuNTc1MDA1XSAgWzxmZmZmZmZmZjgxMGYxZWJiPl0gPyBnZW5lcmljX2ZpbGVf
YnVmZmVyZWRfd3JpdGUrMHgxMGIvMHgyYjANClsgIDM2OS41NzUwMTJdICBbPGZmZmZmZmZm
ODEwNmQ3NDI+XSA/IGN1cnJlbnRfZnNfdGltZSsweDIyLzB4MzANClsgIDM2OS41NzUwMTdd
ICBbPGZmZmZmZmZmODEwZjQwOWI+XSA/IF9fZ2VuZXJpY19maWxlX2Fpb193cml0ZSsweDFi
Yi8weDNjMA0KWyAgMzY5LjU3NTAyM10gIFs8ZmZmZmZmZmY4MTBmNDMxYz5dID8gZ2VuZXJp
Y19maWxlX2Fpb193cml0ZSsweDdjLzB4ZjANClsgIDM2OS41NzUwMjldICBbPGZmZmZmZmZm
ODExZDA0YzQ+XSA/IGV4dDRfZmlsZV93cml0ZSsweDY0LzB4NGMwDQpbICAzNjkuNTc1MDM2
XSAgWzxmZmZmZmZmZjgxMDhlYjFkPl0gPyBsZ19sb2NhbF91bmxvY2srMHgzZC8weDcwDQpb
ICAzNjkuNTc1MDQyXSAgWzxmZmZmZmZmZjgxMWQwNDYwPl0gPyBleHQ0X3Vud3JpdHRlbl93
YWl0KzB4YzAvMHhjMA0KWyAgMzY5LjU3NTA0OV0gIFs8ZmZmZmZmZmY4MTE0MzRjYj5dID8g
ZG9fc3luY19yZWFkdl93cml0ZXYrMHg5Yi8weGUwDQpbICAzNjkuNTc1MDU2XSAgWzxmZmZm
ZmZmZjgxMThkMDdjPl0gPyBjb21wYXRfZG9fcmVhZHZfd3JpdGV2KzB4MWNjLzB4MjEwDQpb
ICAzNjkuNTc1MDYyXSAgWzxmZmZmZmZmZjgxNzQ5MjE5Pl0gPyBzeXNyZXRsX2Zyb21fc3lz
X2NhbGwrMHgyZS8weDM4DQpbICAzNjkuNTc1MDY4XSAgWzxmZmZmZmZmZjgxMThkMGY3Pl0g
PyBjb21wYXRfd3JpdGV2KzB4MzcvMHg3MA0KWyAgMzY5LjU3NTA3NF0gIFs8ZmZmZmZmZmY4
MTE4ZDJiND5dID8gY29tcGF0X3N5c193cml0ZXYrMHg1NC8weDkwDQpbICAzNjkuNTc1MDc5
XSAgWzxmZmZmZmZmZjgxNzQ5MWNjPl0gPyBjc3Rhcl9kaXNwYXRjaCsweDcvMHgyNg0KWyAg
MzY5LjU3NTA4NF0gLS0tWyBlbmQgdHJhY2UgMmUyOGVlYzkzYjdhOGI5OCBdLS0tDQpbICAz
NjkuNTc1MTA1XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0NClsgIDM2
OS41NzUxMTFdIFdBUk5JTkc6IGF0IGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jOjQ2NSB4
ZW5uZXRfc3RhcnRfeG1pdCsweDdmZS8weDg2MCgpDQpbICAzNjkuNTc1MTE3XSBNb2R1bGVz
IGxpbmtlZCBpbjoNClsgIDM2OS41NzUxMjJdIFBpZDogMTUyMywgY29tbTogc3lzbG9nZCBU
YWludGVkOiBHICAgICAgICBXICAgIDMuNi4wcHJlLXJjMS0yMDEyMTAxMSAjMQ0KWyAgMzY5
LjU3NTEyOF0gQ2FsbCBUcmFjZToNClsgIDM2OS41NzUxMzBdICA8SVJRPiAgWzxmZmZmZmZm
ZjgxMDY2NGVhPl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8weGIwDQpbICAzNjkuNTc1
MTM5XSAgWzxmZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0aF9udWxsKzB4MTUvMHgy
MA0KWyAgMzY5LjU3NTE0NV0gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5dIHhlbm5ldF9zdGFydF94
bWl0KzB4N2ZlLzB4ODYwDQpbICAzNjkuNTc1MTUxXSAgWzxmZmZmZmZmZjgxNjFmMzQ5Pl0g
ZGV2X2hhcmRfc3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgMzY5LjU3NTE1N10gIFs8ZmZm
ZmZmZmY4MTYzYjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4MjkwDQpbICAzNjkuNTc1
MTY2XSAgWzxmZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3htaXQrMHgxYTYvMHg1YTAN
ClsgIDM2OS41NzUxNzJdICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/IGRldl9oYXJkX3N0YXJ0
X3htaXQrMHg0NjAvMHg0NjANClsgIDM2OS41NzUxNzhdICBbPGZmZmZmZmZmODEwYjE0MTc+
XSA/IGxvY2tfcmVsZWFzZSsweDExNy8weDI1MA0KWyAgMzY5LjU3NTE4NF0gIFs8ZmZmZmZm
ZmY4MTZiOTUzNj5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgyMjYvMHg1MzANClsgIDM2OS41NzUx
OTBdICBbPGZmZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9vdXRwdXQrMHhjZC8weDUz
MA0KWyAgMzY5LjU3NTE5Nl0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5dIGlwX291dHB1dCsweDU5
LzB4ZTANClsgIDM2OS41NzUyMDJdICBbPGZmZmZmZmZmODE2YjgzYjg+XSBpcF9sb2NhbF9v
dXQrMHgyOC8weDkwDQpbICAzNjkuNTc1MjA3XSAgWzxmZmZmZmZmZjgxNmI4OTZmPl0gaXBf
cXVldWVfeG1pdCsweDE3Zi8weDRhMA0KWyAgMzY5LjU3NTIxM10gIFs8ZmZmZmZmZmY4MTZi
ODdmMD5dID8gaXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4MzQwDQpbICAzNjkuNTc1
MjE5XSAgWzxmZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVvZmRheSsweDQ3LzB4ZTAN
ClsgIDM2OS41NzUyMjVdICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/IF9fc2tiX2Nsb25lKzB4
MjkvMHgxMjANClsgIDM2OS41NzUyMzBdICBbPGZmZmZmZmZmODE2Y2VhMjA+XSB0Y3BfdHJh
bnNtaXRfc2tiKzB4NDAwLzB4OGQwDQpbICAzNjkuNTc1MjM2XSAgWzxmZmZmZmZmZjgxNmQx
MTA2Pl0gdGNwX3JldHJhbnNtaXRfc2tiKzB4MWM2LzB4NWEwDQpbICAzNjkuNTc1MjQyXSAg
WzxmZmZmZmZmZjgxNzQ2Y2I1Pl0gPyBfcmF3X3NwaW5fdW5sb2NrX2lycXJlc3RvcmUrMHg3
NS8weGEwDQpbICAzNjkuNTc1MjQ4XSAgWzxmZmZmZmZmZjgxNmQxNjdlPl0gdGNwX3htaXRf
cmV0cmFuc21pdF9xdWV1ZSsweDE5ZS8weDMwMA0KWyAgMzY5LjU3NTI1NV0gIFs8ZmZmZmZm
ZmY4MTZjOTlmZj5dIHRjcF9mYXN0cmV0cmFuc19hbGVydCsweDk0Zi8weGNiMA0KWyAgMzY5
LjU3NTI2MF0gIFs8ZmZmZmZmZmY4MTZjYTcwYz5dIHRjcF9hY2srMHg5YWMvMHgxMTUwDQpb
ICAzNjkuNTc1MjY2XSAgWzxmZmZmZmZmZjgxNmNkOGNlPl0gdGNwX3Jjdl9lc3RhYmxpc2hl
ZCsweDM4ZS8weDY0MA0KWyAgMzY5LjU3NTI3Ml0gIFs8ZmZmZmZmZmY4MTZkNWVlZj5dID8g
dGNwX3Y0X3JjdisweDZjZi8weGIxMA0KWyAgMzY5LjU3NTI3OF0gIFs8ZmZmZmZmZmY4MTZk
NTRkNT5dIHRjcF92NF9kb19yY3YrMHgxMzUvMHg0ODANClsgIDM2OS41NzUyODRdICBbPGZm
ZmZmZmZmODE3NDYxZDI+XSA/IF9yYXdfc3Bpbl9sb2NrX25lc3RlZCsweDQyLzB4NTANClsg
IDM2OS41NzUyODldICBbPGZmZmZmZmZmODE2ZDVlZWY+XSA/IHRjcF92NF9yY3YrMHg2Y2Yv
MHhiMTANClsgIDM2OS41NzUyOTVdICBbPGZmZmZmZmZmODE2ZDYxN2Q+XSB0Y3BfdjRfcmN2
KzB4OTVkLzB4YjEwDQpbICAzNjkuNTc1MzAwXSAgWzxmZmZmZmZmZjgxMGIwZjg4Pl0gPyBs
b2NrX2FjcXVpcmUrMHhkOC8weDEwMA0KWyAgMzY5LjU3NTMwOV0gIFs8ZmZmZmZmZmY4MTZi
Mjk5NT5dID8gaXBfbG9jYWxfZGVsaXZlcl9maW5pc2grMHg0NS8weDIzMA0KWyAgMzY5LjU3
NTMxNl0gIFs8ZmZmZmZmZmY4MTZiMmE2YT5dIGlwX2xvY2FsX2RlbGl2ZXJfZmluaXNoKzB4
MTFhLzB4MjMwDQpbICAzNjkuNTc1MzIyXSAgWzxmZmZmZmZmZjgxNmIyOTk1Pl0gPyBpcF9s
b2NhbF9kZWxpdmVyX2ZpbmlzaCsweDQ1LzB4MjMwDQpbICAzNjkuNTc1MzI4XSAgWzxmZmZm
ZmZmZjgxNmIyYmI4Pl0gaXBfbG9jYWxfZGVsaXZlcisweDM4LzB4ODANClsgIDM2OS41NzUz
MzRdICBbPGZmZmZmZmZmODE2YjIxN2E+XSBpcF9yY3ZfZmluaXNoKzB4MTVhLzB4NjMwDQpb
ICAzNjkuNTc1MzM5XSAgWzxmZmZmZmZmZjgxNmIyODY4Pl0gaXBfcmN2KzB4MjE4LzB4MzAw
DQpbICAzNjkuNTc1MzQ0XSAgWzxmZmZmZmZmZjgxNjFhYzhkPl0gX19uZXRpZl9yZWNlaXZl
X3NrYisweDY1ZC8weDhkMA0KWyAgMzY5LjU3NTM1MF0gIFs8ZmZmZmZmZmY4MTYxYTc3NT5d
ID8gX19uZXRpZl9yZWNlaXZlX3NrYisweDE0NS8weDhkMA0KWyAgMzY5LjU3NTM1Nl0gIFs8
ZmZmZmZmZmY4MTBhZDIyZD5dID8gdHJhY2VfaGFyZGlycXNfb24rMHhkLzB4MTANClsgIDM2
OS41NzUzNjJdICBbPGZmZmZmZmZmODEwZjk5NzM+XSA/IGZyZWVfaG90X2NvbGRfcGFnZSsw
eDFiMy8weDFlMA0KWyAgMzY5LjU3NTM2OV0gIFs8ZmZmZmZmZmY4MTYxZDFmOD5dIG5ldGlm
X3JlY2VpdmVfc2tiKzB4MjgvMHhmMA0KWyAgMzY5LjU3NTM3NV0gIFs8ZmZmZmZmZmY4MTYx
MmQwMz5dID8gX19wc2tiX3B1bGxfdGFpbCsweDI1My8weDM0MA0KWyAgMzY5LjU3NTM4NF0g
IFs8ZmZmZmZmZmY4MTQ2ZTRjNT5dIHhlbm5ldF9wb2xsKzB4YWQ1LzB4ZTEwDQpbICAzNjku
NTc1MzkxXSAgWzxmZmZmZmZmZjgxNjFkZmE2Pl0gbmV0X3J4X2FjdGlvbisweDEzNi8weDI2
MA0KWyAgMzY5LjU3NTM5N10gIFs8ZmZmZmZmZmY4MTA2ZTM4MT5dID8gX19kb19zb2Z0aXJx
KzB4NzEvMHgxYTANClsgIDM2OS41NzU0MDJdICBbPGZmZmZmZmZmODEwNmUzZDk+XSBfX2Rv
X3NvZnRpcnErMHhjOS8weDFhMA0KWyAgMzY5LjU3NTQwOF0gIFs8ZmZmZmZmZmY4MTc0OGQz
Yz5dIGNhbGxfc29mdGlycSsweDFjLzB4MzANClsgIDM2OS41NzU0MTNdICBbPGZmZmZmZmZm
ODEwMGVkYjU+XSBkb19zb2Z0aXJxKzB4ODUvMHhmMA0KWyAgMzY5LjU3NTQxOV0gIFs8ZmZm
ZmZmZmY4MTA2ZTI0ZT5dIGlycV9leGl0KzB4OWUvMHhkMA0KWyAgMzY5LjU3NTQyOF0gIFs8
ZmZmZmZmZmY4MTMzOWY1Zj5dIHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4MmYvMHg0MA0KWyAg
MzY5LjU3NTQzNF0gIFs8ZmZmZmZmZmY4MTc0OGQ5ZT5dIHhlbl9kb19oeXBlcnZpc29yX2Nh
bGxiYWNrKzB4MWUvMHgzMA0KWyAgMzY5LjU3NTQzOV0gIDxFT0k+ICBbPGZmZmZmZmZmODEw
MDEyMmE+XSA/IHhlbl9oeXBlcmNhbGxfeGVuX3ZlcnNpb24rMHhhLzB4MjANClsgIDM2OS41
NzU0NDhdICBbPGZmZmZmZmZmODEwMDEyMmE+XSA/IHhlbl9oeXBlcmNhbGxfeGVuX3ZlcnNp
b24rMHhhLzB4MjANClsgIDM2OS41NzU0NTRdICBbPGZmZmZmZmZmODEwMDg2NGQ+XSA/IHhl
bl9mb3JjZV9ldnRjaG5fY2FsbGJhY2srMHhkLzB4MTANClsgIDM2OS41NzU0NjBdICBbPGZm
ZmZmZmZmODEwMDhmZjI+XSA/IGNoZWNrX2V2ZW50cysweDEyLzB4MjANClsgIDM2OS41NzU0
NjZdICBbPGZmZmZmZmZmODEwMDhmZGY+XSA/IHhlbl9yZXN0b3JlX2ZsX2RpcmVjdF9yZWxv
YysweDQvMHg0DQpbICAzNjkuNTc1NDcyXSAgWzxmZmZmZmZmZjgxMGIwZjg4Pl0gPyBsb2Nr
X2FjcXVpcmUrMHhkOC8weDEwMA0KWyAgMzY5LjU3NTQ3OF0gIFs8ZmZmZmZmZmY4MTBmMmE0
MD5dID8gZmluZF9nZXRfcGFnZXMrMHgxOTAvMHgxOTANClsgIDM2OS41NzU0ODVdICBbPGZm
ZmZmZmZmODEwZjJhODI+XSA/IGZpbmRfZ2V0X3BhZ2UrMHg0Mi8weDEwMA0KWyAgMzY5LjU3
NTQ5MV0gIFs8ZmZmZmZmZmY4MTBmMmE0MD5dID8gZmluZF9nZXRfcGFnZXMrMHgxOTAvMHgx
OTANClsgIDM2OS41NzU0OTddICBbPGZmZmZmZmZmODEwZjJkYzE+XSA/IGZpbmRfbG9ja19w
YWdlKzB4MjEvMHg4MA0KWyAgMzY5LjU3NTUwMl0gIFs8ZmZmZmZmZmY4MTBmMzMxYT5dID8g
Z3JhYl9jYWNoZV9wYWdlX3dyaXRlX2JlZ2luKzB4NmEvMHhlMA0KWyAgMzY5LjU3NTUwOF0g
IFs8ZmZmZmZmZmY4MTFkNmRmNz5dID8gZXh0NF9kYV93cml0ZV9iZWdpbisweDk3LzB4MWEw
DQpbICAzNjkuNTc1NTE0XSAgWzxmZmZmZmZmZjgxMGIwNTRiPl0gPyBfX2xvY2tfYWNxdWly
ZSsweDQ2Yi8weGRkMA0KWyAgMzY5LjU3NTUyMF0gIFs8ZmZmZmZmZmY4MTYxMDM0Yz5dID8g
c2tiX2ZyZWVfaGVhZCsweDRjLzB4NjANClsgIDM2OS41NzU1MjZdICBbPGZmZmZmZmZmODEw
ZjFlYmI+XSA/IGdlbmVyaWNfZmlsZV9idWZmZXJlZF93cml0ZSsweDEwYi8weDJiMA0KWyAg
MzY5LjU3NTUzMl0gIFs8ZmZmZmZmZmY4MTA2ZDc0Mj5dID8gY3VycmVudF9mc190aW1lKzB4
MjIvMHgzMA0KWyAgMzY5LjU3NTUzOF0gIFs8ZmZmZmZmZmY4MTBmNDA5Yj5dID8gX19nZW5l
cmljX2ZpbGVfYWlvX3dyaXRlKzB4MWJiLzB4M2MwDQpbICAzNjkuNTc1NTQ0XSAgWzxmZmZm
ZmZmZjgxMGY0MzFjPl0gPyBnZW5lcmljX2ZpbGVfYWlvX3dyaXRlKzB4N2MvMHhmMA0KWyAg
MzY5LjU3NTU1MF0gIFs8ZmZmZmZmZmY4MTFkMDRjND5dID8gZXh0NF9maWxlX3dyaXRlKzB4
NjQvMHg0YzANClsgIDM2OS41NzU1NTZdICBbPGZmZmZmZmZmODEwOGViMWQ+XSA/IGxnX2xv
Y2FsX3VubG9jaysweDNkLzB4NzANClsgIDM2OS41NzU1NjJdICBbPGZmZmZmZmZmODExZDA0
NjA+XSA/IGV4dDRfdW53cml0dGVuX3dhaXQrMHhjMC8weGMwDQpbICAzNjkuNTc1NTY3XSAg
WzxmZmZmZmZmZjgxMTQzNGNiPl0gPyBkb19zeW5jX3JlYWR2X3dyaXRldisweDliLzB4ZTAN
ClsgIDM2OS41NzU1NzRdICBbPGZmZmZmZmZmODExOGQwN2M+XSA/IGNvbXBhdF9kb19yZWFk
dl93cml0ZXYrMHgxY2MvMHgyMTANClsgIDM2OS41NzU1ODJdICBbPGZmZmZmZmZmODE3NDky
MTk+XSA/IHN5c3JldGxfZnJvbV9zeXNfY2FsbCsweDJlLzB4MzgNClsgIDM2OS41NzU1ODhd
ICBbPGZmZmZmZmZmODExOGQwZjc+XSA/IGNvbXBhdF93cml0ZXYrMHgzNy8weDcwDQpbICAz
NjkuNTc1NTk0XSAgWzxmZmZmZmZmZjgxMThkMmI0Pl0gPyBjb21wYXRfc3lzX3dyaXRldisw
eDU0LzB4OTANClsgIDM2OS41NzU2MDBdICBbPGZmZmZmZmZmODE3NDkxY2M+XSA/IGNzdGFy
X2Rpc3BhdGNoKzB4Ny8weDI2DQpbICAzNjkuNTc1NjA0XSAtLS1bIGVuZCB0cmFjZSAyZTI4
ZWVjOTNiN2E4Yjk5IF0tLS0NClsgIDM2OS41NzU2MjZdIC0tLS0tLS0tLS0tLVsgY3V0IGhl
cmUgXS0tLS0tLS0tLS0tLQ0KWyAgMzY5LjU3NTYzMl0gV0FSTklORzogYXQgZHJpdmVycy9u
ZXQveGVuLW5ldGZyb250LmM6NDY1IHhlbm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwKCkN
ClsgIDM2OS41NzU2MzhdIE1vZHVsZXMgbGlua2VkIGluOg0KWyAgMzY5LjU3NTY0Ml0gUGlk
OiAxNTIzLCBjb21tOiBzeXNsb2dkIFRhaW50ZWQ6IEcgICAgICAgIFcgICAgMy42LjBwcmUt
cmMxLTIwMTIxMDExICMxDQpbICAzNjkuNTc1NjQ4XSBDYWxsIFRyYWNlOg0KWyAgMzY5LjU3
NTY1MV0gIDxJUlE+ICBbPGZmZmZmZmZmODEwNjY0ZWE+XSB3YXJuX3Nsb3dwYXRoX2NvbW1v
bisweDdhLzB4YjANClsgIDM2OS41NzU2NjBdICBbPGZmZmZmZmZmODEwNjY1MzU+XSB3YXJu
X3Nsb3dwYXRoX251bGwrMHgxNS8weDIwDQpbICAzNjkuNTc1NjY1XSAgWzxmZmZmZmZmZjgx
NDZkODllPl0geGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjANClsgIDM2OS41NzU2NzJd
ICBbPGZmZmZmZmZmODE2MWYzNDk+XSBkZXZfaGFyZF9zdGFydF94bWl0KzB4MjA5LzB4NDYw
DQpbICAzNjkuNTc1Njc4XSAgWzxmZmZmZmZmZjgxNjNiMDM2Pl0gc2NoX2RpcmVjdF94bWl0
KzB4ZjYvMHgyOTANClsgIDM2OS41NzU2ODRdICBbPGZmZmZmZmZmODE2MWY3NDY+XSBkZXZf
cXVldWVfeG1pdCsweDFhNi8weDVhMA0KWyAgMzY5LjU3NTY5MF0gIFs8ZmZmZmZmZmY4MTYx
ZjVhMD5dID8gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDQ2MC8weDQ2MA0KWyAgMzY5LjU3NTY5
Nl0gIFs8ZmZmZmZmZmY4MTBiMTQxNz5dID8gbG9ja19yZWxlYXNlKzB4MTE3LzB4MjUwDQpb
ICAzNjkuNTc1NzAyXSAgWzxmZmZmZmZmZjgxNmI5NTM2Pl0gaXBfZmluaXNoX291dHB1dCsw
eDIyNi8weDUzMA0KWyAgMzY5LjU3NTcwN10gIFs8ZmZmZmZmZmY4MTZiOTNkZD5dID8gaXBf
ZmluaXNoX291dHB1dCsweGNkLzB4NTMwDQpbICAzNjkuNTc1NzE0XSAgWzxmZmZmZmZmZjgx
NmI5ODk5Pl0gaXBfb3V0cHV0KzB4NTkvMHhlMA0KWyAgMzY5LjU3NTcxOV0gIFs8ZmZmZmZm
ZmY4MTZiODNiOD5dIGlwX2xvY2FsX291dCsweDI4LzB4OTANClsgIDM2OS41NzU3MjVdICBb
PGZmZmZmZmZmODE2Yjg5NmY+XSBpcF9xdWV1ZV94bWl0KzB4MTdmLzB4NGEwDQpbICAzNjku
NTc1NzMwXSAgWzxmZmZmZmZmZjgxNmI4N2YwPl0gPyBpcF9zZW5kX3VuaWNhc3RfcmVwbHkr
MHgzNDAvMHgzNDANClsgIDM2OS41NzU3MzZdICBbPGZmZmZmZmZmODEwYTBiYTc+XSA/IGdl
dG5zdGltZW9mZGF5KzB4NDcvMHhlMA0KWyAgMzY5LjU3NTc0Ml0gIFs8ZmZmZmZmZmY4MTYw
ZjRjOT5dID8gX19za2JfY2xvbmUrMHgyOS8weDEyMA0KWyAgMzY5LjU3NTc0OF0gIFs8ZmZm
ZmZmZmY4MTZjZWEyMD5dIHRjcF90cmFuc21pdF9za2IrMHg0MDAvMHg4ZDANClsgIDM2OS41
NzU3NTRdICBbPGZmZmZmZmZmODE2ZDExMDY+XSB0Y3BfcmV0cmFuc21pdF9za2IrMHgxYzYv
MHg1YTANClsgIDM2OS41NzU3NTldICBbPGZmZmZmZmZmODE3NDZjYjU+XSA/IF9yYXdfc3Bp
bl91bmxvY2tfaXJxcmVzdG9yZSsweDc1LzB4YTANClsgIDM2OS41NzU3NjZdICBbPGZmZmZm
ZmZmODE2ZDE2N2U+XSB0Y3BfeG1pdF9yZXRyYW5zbWl0X3F1ZXVlKzB4MTllLzB4MzAwDQpb
ICAzNjkuNTc1NzcyXSAgWzxmZmZmZmZmZjgxNmM5OWZmPl0gdGNwX2Zhc3RyZXRyYW5zX2Fs
ZXJ0KzB4OTRmLzB4Y2IwDQpbICAzNjkuNTc1Nzc4XSAgWzxmZmZmZmZmZjgxNmNhNzBjPl0g
dGNwX2FjaysweDlhYy8weDExNTANClsgIDM2OS41NzU3ODNdICBbPGZmZmZmZmZmODE2Y2Q4
Y2U+XSB0Y3BfcmN2X2VzdGFibGlzaGVkKzB4MzhlLzB4NjQwDQpbICAzNjkuNTc1Nzg5XSAg
WzxmZmZmZmZmZjgxNmQ1ZWVmPl0gPyB0Y3BfdjRfcmN2KzB4NmNmLzB4YjEwDQpbICAzNjku
NTc1Nzk1XSAgWzxmZmZmZmZmZjgxNmQ1NGQ1Pl0gdGNwX3Y0X2RvX3JjdisweDEzNS8weDQ4
MA0KWyAgMzY5LjU3NTgwM10gIFs8ZmZmZmZmZmY4MTc0NjFkMj5dID8gX3Jhd19zcGluX2xv
Y2tfbmVzdGVkKzB4NDIvMHg1MA0KWyAgMzY5LjU3NTgwOV0gIFs8ZmZmZmZmZmY4MTZkNWVl
Zj5dID8gdGNwX3Y0X3JjdisweDZjZi8weGIxMA0KWyAgMzY5LjU3NTgxNV0gIFs8ZmZmZmZm
ZmY4MTZkNjE3ZD5dIHRjcF92NF9yY3YrMHg5NWQvMHhiMTANClsgIDM2OS41NzU4MjNdICBb
PGZmZmZmZmZmODEwYjBmODg+XSA/IGxvY2tfYWNxdWlyZSsweGQ4LzB4MTAwDQpbICAzNjku
NTc1ODI4XSAgWzxmZmZmZmZmZjgxNmIyOTk1Pl0gPyBpcF9sb2NhbF9kZWxpdmVyX2Zpbmlz
aCsweDQ1LzB4MjMwDQpbICAzNjkuNTc1ODM1XSAgWzxmZmZmZmZmZjgxNmIyYTZhPl0gaXBf
bG9jYWxfZGVsaXZlcl9maW5pc2grMHgxMWEvMHgyMzANClsgIDM2OS41NzU4NDFdICBbPGZm
ZmZmZmZmODE2YjI5OTU+XSA/IGlwX2xvY2FsX2RlbGl2ZXJfZmluaXNoKzB4NDUvMHgyMzAN
ClsgIDM2OS41NzU4NDddICBbPGZmZmZmZmZmODE2YjJiYjg+XSBpcF9sb2NhbF9kZWxpdmVy
KzB4MzgvMHg4MA0KWyAgMzY5LjU3NTg1Ml0gIFs8ZmZmZmZmZmY4MTZiMjE3YT5dIGlwX3Jj
dl9maW5pc2grMHgxNWEvMHg2MzANClsgIDM2OS41NzU4NThdICBbPGZmZmZmZmZmODE2YjI4
Njg+XSBpcF9yY3YrMHgyMTgvMHgzMDANClsgIDM2OS41NzU4NjNdICBbPGZmZmZmZmZmODE2
MWFjOGQ+XSBfX25ldGlmX3JlY2VpdmVfc2tiKzB4NjVkLzB4OGQwDQpbICAzNjkuNTc1ODY5
XSAgWzxmZmZmZmZmZjgxNjFhNzc1Pl0gPyBfX25ldGlmX3JlY2VpdmVfc2tiKzB4MTQ1LzB4
OGQwDQpbICAzNjkuNTc1ODc1XSAgWzxmZmZmZmZmZjgxMGFkMjJkPl0gPyB0cmFjZV9oYXJk
aXJxc19vbisweGQvMHgxMA0KWyAgMzY5LjU3NTg4MV0gIFs8ZmZmZmZmZmY4MTBmOTk3Mz5d
ID8gZnJlZV9ob3RfY29sZF9wYWdlKzB4MWIzLzB4MWUwDQpbICAzNjkuNTc1ODg3XSAgWzxm
ZmZmZmZmZjgxNjFkMWY4Pl0gbmV0aWZfcmVjZWl2ZV9za2IrMHgyOC8weGYwDQpbICAzNjku
NTc1ODkzXSAgWzxmZmZmZmZmZjgxNjEyZDAzPl0gPyBfX3Bza2JfcHVsbF90YWlsKzB4MjUz
LzB4MzQwDQpbICAzNjkuNTc2NzI2XSAgWzxmZmZmZmZmZjgxNDZlNGM1Pl0geGVubmV0X3Bv
bGwrMHhhZDUvMHhlMTANClsgIDM2OS41NzY3MjZdICBbPGZmZmZmZmZmODE2MWRmYTY+XSBu
ZXRfcnhfYWN0aW9uKzB4MTM2LzB4MjYwDQpbICAzNjkuNTc2NzI2XSAgWzxmZmZmZmZmZjgx
MDZlMzgxPl0gPyBfX2RvX3NvZnRpcnErMHg3MS8weDFhMA0KWyAgMzY5LjU3NjcyNl0gIFs8
ZmZmZmZmZmY4MTA2ZTNkOT5dIF9fZG9fc29mdGlycSsweGM5LzB4MWEwDQpbICAzNjkuNTc2
NzI2XSAgWzxmZmZmZmZmZjgxNzQ4ZDNjPl0gY2FsbF9zb2Z0aXJxKzB4MWMvMHgzMA0KWyAg
MzY5LjU3NjcyNl0gIFs8ZmZmZmZmZmY4MTAwZWRiNT5dIGRvX3NvZnRpcnErMHg4NS8weGYw
DQpbICAzNjkuNTc2NzI2XSAgWzxmZmZmZmZmZjgxMDZlMjRlPl0gaXJxX2V4aXQrMHg5ZS8w
eGQwDQpbICAzNjkuNTc2NzI2XSAgWzxmZmZmZmZmZjgxMzM5ZjVmPl0geGVuX2V2dGNobl9k
b191cGNhbGwrMHgyZi8weDQwDQpbICAzNjkuNTc2NzI2XSAgWzxmZmZmZmZmZjgxNzQ4ZDll
Pl0geGVuX2RvX2h5cGVydmlzb3JfY2FsbGJhY2srMHgxZS8weDMwDQpbICAzNjkuNTc2NzI2
XSAgPEVPST4gIFs8ZmZmZmZmZmY4MTAwMTIyYT5dID8geGVuX2h5cGVyY2FsbF94ZW5fdmVy
c2lvbisweGEvMHgyMA0KWyAgMzY5LjU3NjcyNl0gIFs8ZmZmZmZmZmY4MTAwMTIyYT5dID8g
eGVuX2h5cGVyY2FsbF94ZW5fdmVyc2lvbisweGEvMHgyMA0KWyAgMzY5LjU3NjcyNl0gIFs8
ZmZmZmZmZmY4MTAwODY0ZD5dID8geGVuX2ZvcmNlX2V2dGNobl9jYWxsYmFjaysweGQvMHgx
MA0KWyAgMzY5LjU3NjcyNl0gIFs8ZmZmZmZmZmY4MTAwOGZmMj5dID8gY2hlY2tfZXZlbnRz
KzB4MTIvMHgyMA0KWyAgMzY5LjU3NjcyNl0gIFs8ZmZmZmZmZmY4MTAwOGZkZj5dID8geGVu
X3Jlc3RvcmVfZmxfZGlyZWN0X3JlbG9jKzB4NC8weDQNClsgIDM2OS41NzY3MjZdICBbPGZm
ZmZmZmZmODEwYjBmODg+XSA/IGxvY2tfYWNxdWlyZSsweGQ4LzB4MTAwDQpbICAzNjkuNTc2
NzI2XSAgWzxmZmZmZmZmZjgxMGYyYTQwPl0gPyBmaW5kX2dldF9wYWdlcysweDE5MC8weDE5
MA0KWyAgMzY5LjU3NjcyNl0gIFs8ZmZmZmZmZmY4MTBmMmE4Mj5dID8gZmluZF9nZXRfcGFn
ZSsweDQyLzB4MTAwDQpbICAzNjkuNTc2NzI2XSAgWzxmZmZmZmZmZjgxMGYyYTQwPl0gPyBm
aW5kX2dldF9wYWdlcysweDE5MC8weDE5MA0KWyAgMzY5LjU3NjcyNl0gIFs8ZmZmZmZmZmY4
MTBmMmRjMT5dID8gZmluZF9sb2NrX3BhZ2UrMHgyMS8weDgwDQpbICAzNjkuNTc2NzI2XSAg
WzxmZmZmZmZmZjgxMGYzMzFhPl0gPyBncmFiX2NhY2hlX3BhZ2Vfd3JpdGVfYmVnaW4rMHg2
YS8weGUwDQpbICAzNjkuNTc2NzI2XSAgWzxmZmZmZmZmZjgxMWQ2ZGY3Pl0gPyBleHQ0X2Rh
X3dyaXRlX2JlZ2luKzB4OTcvMHgxYTANClsgIDM2OS41NzY3MjZdICBbPGZmZmZmZmZmODEw
YjA1NGI+XSA/IF9fbG9ja19hY3F1aXJlKzB4NDZiLzB4ZGQwDQpbICAzNjkuNTc2NzI2XSAg
WzxmZmZmZmZmZjgxNjEwMzRjPl0gPyBza2JfZnJlZV9oZWFkKzB4NGMvMHg2MA0KWyAgMzY5
LjU3NjcyNl0gIFs8ZmZmZmZmZmY4MTBmMWViYj5dID8gZ2VuZXJpY19maWxlX2J1ZmZlcmVk
X3dyaXRlKzB4MTBiLzB4MmIwDQpbICAzNjkuNTc2NzI2XSAgWzxmZmZmZmZmZjgxMDZkNzQy
Pl0gPyBjdXJyZW50X2ZzX3RpbWUrMHgyMi8weDMwDQpbICAzNjkuNTc2NzI2XSAgWzxmZmZm
ZmZmZjgxMGY0MDliPl0gPyBfX2dlbmVyaWNfZmlsZV9haW9fd3JpdGUrMHgxYmIvMHgzYzAN
ClsgIDM2OS41NzY3MjZdICBbPGZmZmZmZmZmODEwZjQzMWM+XSA/IGdlbmVyaWNfZmlsZV9h
aW9fd3JpdGUrMHg3Yy8weGYwDQpbICAzNjkuNTc2NzI2XSAgWzxmZmZmZmZmZjgxMWQwNGM0
Pl0gPyBleHQ0X2ZpbGVfd3JpdGUrMHg2NC8weDRjMA0KWyAgMzY5LjU3NjcyNl0gIFs8ZmZm
ZmZmZmY4MTA4ZWIxZD5dID8gbGdfbG9jYWxfdW5sb2NrKzB4M2QvMHg3MA0KWyAgMzY5LjU3
NjcyNl0gIFs8ZmZmZmZmZmY4MTFkMDQ2MD5dID8gZXh0NF91bndyaXR0ZW5fd2FpdCsweGMw
LzB4YzANClsgIDM2OS41NzY3MjZdICBbPGZmZmZmZmZmODExNDM0Y2I+XSA/IGRvX3N5bmNf
cmVhZHZfd3JpdGV2KzB4OWIvMHhlMA0KWyAgMzY5LjU3NjcyNl0gIFs8ZmZmZmZmZmY4MTE4
ZDA3Yz5dID8gY29tcGF0X2RvX3JlYWR2X3dyaXRldisweDFjYy8weDIxMA0KWyAgMzY5LjU3
NjcyNl0gIFs8ZmZmZmZmZmY4MTc0OTIxOT5dID8gc3lzcmV0bF9mcm9tX3N5c19jYWxsKzB4
MmUvMHgzOA0KWyAgMzY5LjU3NjcyNl0gIFs8ZmZmZmZmZmY4MTE4ZDBmNz5dID8gY29tcGF0
X3dyaXRldisweDM3LzB4NzANClsgIDM2OS41NzY3MjZdICBbPGZmZmZmZmZmODExOGQyYjQ+
XSA/IGNvbXBhdF9zeXNfd3JpdGV2KzB4NTQvMHg5MA0KWyAgMzY5LjU3NjcyNl0gIFs8ZmZm
ZmZmZmY4MTc0OTFjYz5dID8gY3N0YXJfZGlzcGF0Y2grMHg3LzB4MjYNClsgIDM2OS41NzY3
MjZdIC0tLVsgZW5kIHRyYWNlIDJlMjhlZWM5M2I3YThiOWEgXS0tLQ0KWyAgMzcwLjA0Njg4
MF0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tDQpbICAzNzAuMDQ2OTA0
XSBXQVJOSU5HOiBhdCBkcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYzo0NjUgeGVubmV0X3N0
YXJ0X3htaXQrMHg3ZmUvMHg4NjAoKQ0KWyAgMzcwLjA0NjkxMF0gTW9kdWxlcyBsaW5rZWQg
aW46DQpbICAzNzAuMDQ2OTE3XSBQaWQ6IDAsIGNvbW06IHN3YXBwZXIvMCBUYWludGVkOiBH
ICAgICAgICBXICAgIDMuNi4wcHJlLXJjMS0yMDEyMTAxMSAjMQ0KWyAgMzcwLjA0NjkyM10g
Q2FsbCBUcmFjZToNClsgIDM3MC4wNDY5MjddICA8SVJRPiAgWzxmZmZmZmZmZjgxMDY2NGVh
Pl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8weGIwDQpbICAzNzAuMDQ2OTM5XSAgWzxm
ZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0aF9udWxsKzB4MTUvMHgyMA0KWyAgMzcw
LjA0Njk0NV0gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5dIHhlbm5ldF9zdGFydF94bWl0KzB4N2Zl
LzB4ODYwDQpbICAzNzAuMDQ2OTU0XSAgWzxmZmZmZmZmZjgxNjFmMzQ5Pl0gZGV2X2hhcmRf
c3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgMzcwLjA0Njk2MV0gIFs8ZmZmZmZmZmY4MTYz
YjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4MjkwDQpbICAzNzAuMDQ2OTY2XSAgWzxm
ZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3htaXQrMHgxYTYvMHg1YTANClsgIDM3MC4w
NDY5NzJdICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/IGRldl9oYXJkX3N0YXJ0X3htaXQrMHg0
NjAvMHg0NjANClsgIDM3MC4wNDY5NzldICBbPGZmZmZmZmZmODEwYjE0MTc+XSA/IGxvY2tf
cmVsZWFzZSsweDExNy8weDI1MA0KWyAgMzcwLjA0Njk4Nl0gIFs8ZmZmZmZmZmY4MTZiOTUz
Nj5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgyMjYvMHg1MzANClsgIDM3MC4wNDY5OTJdICBbPGZm
ZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9vdXRwdXQrMHhjZC8weDUzMA0KWyAgMzcw
LjA0Njk5OF0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5dIGlwX291dHB1dCsweDU5LzB4ZTANClsg
IDM3MC4wNDcwMDNdICBbPGZmZmZmZmZmODE2YjgzYjg+XSBpcF9sb2NhbF9vdXQrMHgyOC8w
eDkwDQpbICAzNzAuMDQ3MDA5XSAgWzxmZmZmZmZmZjgxNmI4OTZmPl0gaXBfcXVldWVfeG1p
dCsweDE3Zi8weDRhMA0KWyAgMzcwLjA0NzAxNF0gIFs8ZmZmZmZmZmY4MTZiODdmMD5dID8g
aXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4MzQwDQpbICAzNzAuMDQ3MDIwXSAgWzxm
ZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVvZmRheSsweDQ3LzB4ZTANClsgIDM3MC4w
NDcwMjddICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/IF9fc2tiX2Nsb25lKzB4MjkvMHgxMjAN
ClsgIDM3MC4wNDcwMzNdICBbPGZmZmZmZmZmODE2Y2VhMjA+XSB0Y3BfdHJhbnNtaXRfc2ti
KzB4NDAwLzB4OGQwDQpbICAzNzAuMDQ3MDM5XSAgWzxmZmZmZmZmZjgxNmQxMTA2Pl0gdGNw
X3JldHJhbnNtaXRfc2tiKzB4MWM2LzB4NWEwDQpbICAzNzAuMDQ3MDQ1XSAgWzxmZmZmZmZm
ZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFhMA0KWyAg
MzcwLjA0NzA1MV0gIFs8ZmZmZmZmZmY4MTZkMmYzOD5dIHRjcF9yZXRyYW5zbWl0X3RpbWVy
KzB4MzU4LzB4NjMwDQpbICAzNzAuMDQ3MDU3XSAgWzxmZmZmZmZmZjgxNmQzMzRkPl0gdGNw
X3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxM2QvMHgxYTANClsgIDM3MC4wNDcwNjNdICBbPGZm
ZmZmZmZmODE2ZDM0Mjg+XSB0Y3Bfd3JpdGVfdGltZXIrMHg3OC8weDgwDQpbICAzNzAuMDQ3
MDY4XSAgWzxmZmZmZmZmZjgxMDczZjdjPl0gY2FsbF90aW1lcl9mbisweDdjLzB4MTAwDQpb
ICAzNzAuMDQ3MDczXSAgWzxmZmZmZmZmZjgxMDczZjAwPl0gPyBjYXNjYWRlKzB4YTAvMHhh
MA0KWyAgMzcwLjA0NzA3OV0gIFs8ZmZmZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dyaXRlX3Rp
bWVyX2hhbmRsZXIrMHgxYTAvMHgxYTANClsgIDM3MC4wNDcwODVdICBbPGZmZmZmZmZmODE2
ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MWEwLzB4MWEwDQpbICAzNzAu
MDQ3MjM0XSAgWzxmZmZmZmZmZjgxMDc0MjE3Pl0gcnVuX3RpbWVyX3NvZnRpcnErMHgyMTcv
MHgyNTANClsgIDM3MC4wNDcyNDFdICBbPGZmZmZmZmZmODEwNmUzZDk+XSBfX2RvX3NvZnRp
cnErMHhjOS8weDFhMA0KWyAgMzcwLjA0NzI0OF0gIFs8ZmZmZmZmZmY4MTc0OGQzYz5dIGNh
bGxfc29mdGlycSsweDFjLzB4MzANClsgIDM3MC4wNDcyNTRdICBbPGZmZmZmZmZmODEwMGVk
YjU+XSBkb19zb2Z0aXJxKzB4ODUvMHhmMA0KWyAgMzcwLjA0NzI1OV0gIFs8ZmZmZmZmZmY4
MTA2ZTI0ZT5dIGlycV9leGl0KzB4OWUvMHhkMA0KWyAgMzcwLjA0NzI2Nl0gIFs8ZmZmZmZm
ZmY4MTMzOWY1Zj5dIHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4MmYvMHg0MA0KWyAgMzcwLjA0
NzI3Ml0gIFs8ZmZmZmZmZmY4MTc0OGQ5ZT5dIHhlbl9kb19oeXBlcnZpc29yX2NhbGxiYWNr
KzB4MWUvMHgzMA0KWyAgMzcwLjA0NzI3N10gIDxFT0k+ICBbPGZmZmZmZmZmODEwMDEzYWE+
XSA/IHhlbl9oeXBlcmNhbGxfc2NoZWRfb3ArMHhhLzB4MjANClsgIDM3MC4wNDcyODddICBb
PGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBlcmNhbGxfc2NoZWRfb3ArMHhhLzB4MjAN
ClsgIDM3MC4wNDcyOTNdICBbPGZmZmZmZmZmODEwMDg2OTA+XSA/IHhlbl9zYWZlX2hhbHQr
MHgxMC8weDIwDQpbICAzNzAuMDQ3MzAwXSAgWzxmZmZmZmZmZjgxMDE2MGQwPl0gPyBkZWZh
dWx0X2lkbGUrMHg0MC8weDkwDQpbICAzNzAuMDQ3MzA1XSAgWzxmZmZmZmZmZjgxMDE2NDg2
Pl0gPyBjcHVfaWRsZSsweDk2LzB4ZjANClsgIDM3MC4wNDczMTFdICBbPGZmZmZmZmZmODE3
MjJkM2M+XSA/IHJlc3RfaW5pdCsweGJjLzB4ZDANClsgIDM3MC4wNDczMTZdICBbPGZmZmZm
ZmZmODE3MjJjODA+XSA/IGNzdW1fcGFydGlhbF9jb3B5X2dlbmVyaWMrMHgxNzAvMHgxNzAN
ClsgIDM3MC4wNDczMjVdICBbPGZmZmZmZmZmODFjZTBkZjI+XSA/IHN0YXJ0X2tlcm5lbCsw
eDM5MC8weDM5ZA0KWyAgMzcwLjA0NzMzMV0gIFs8ZmZmZmZmZmY4MWNlMDg4Mj5dID8ga2Vy
bmVsX2luaXQrMHgyMGIvMHgyMGINClsgIDM3MC4wNDczMzddICBbPGZmZmZmZmZmODFjZTAz
NTY+XSA/IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHgxMzEvMHgxMzYNClsgIDM3MC4w
NDczNDNdICBbPGZmZmZmZmZmODFjZTNkNjA+XSA/IHhlbl9zdGFydF9rZXJuZWwrMHg3MGQv
MHg3MGYNClsgIDM3MC4wNDczNDldIC0tLVsgZW5kIHRyYWNlIDJlMjhlZWM5M2I3YThiOWIg
XS0tLQ0KWyAgMzcwLjk5Njc4OV0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0t
LS0tDQpbICAzNzAuOTk2ODA3XSBXQVJOSU5HOiBhdCBkcml2ZXJzL25ldC94ZW4tbmV0ZnJv
bnQuYzo0NjUgeGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjAoKQ0KWyAgMzcwLjk5Njgx
NF0gTW9kdWxlcyBsaW5rZWQgaW46DQpbICAzNzAuOTk2ODIwXSBQaWQ6IDAsIGNvbW06IHN3
YXBwZXIvMCBUYWludGVkOiBHICAgICAgICBXICAgIDMuNi4wcHJlLXJjMS0yMDEyMTAxMSAj
MQ0KWyAgMzcwLjk5NjgyNl0gQ2FsbCBUcmFjZToNClsgIDM3MC45OTY4MjldICA8SVJRPiAg
WzxmZmZmZmZmZjgxMDY2NGVhPl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8weGIwDQpb
ICAzNzAuOTk2ODQwXSAgWzxmZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0aF9udWxs
KzB4MTUvMHgyMA0KWyAgMzcwLjk5Njg0NV0gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5dIHhlbm5l
dF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwDQpbICAzNzAuOTk2ODUyXSAgWzxmZmZmZmZmZjgx
NjFmMzQ5Pl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgMzcwLjk5Njg1
OF0gIFs8ZmZmZmZmZmY4MTYzYjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4MjkwDQpb
ICAzNzAuOTk2ODYzXSAgWzxmZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3htaXQrMHgx
YTYvMHg1YTANClsgIDM3MC45OTY4NjhdICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/IGRldl9o
YXJkX3N0YXJ0X3htaXQrMHg0NjAvMHg0NjANClsgIDM3MC45OTY4NzVdICBbPGZmZmZmZmZm
ODEwYjE0MTc+XSA/IGxvY2tfcmVsZWFzZSsweDExNy8weDI1MA0KWyAgMzcwLjk5Njg4MV0g
IFs8ZmZmZmZmZmY4MTZiOTUzNj5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgyMjYvMHg1MzANClsg
IDM3MC45OTY4ODZdICBbPGZmZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9vdXRwdXQr
MHhjZC8weDUzMA0KWyAgMzcwLjk5Njg5Ml0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5dIGlwX291
dHB1dCsweDU5LzB4ZTANClsgIDM3MC45OTY4OTZdICBbPGZmZmZmZmZmODE2YjgzYjg+XSBp
cF9sb2NhbF9vdXQrMHgyOC8weDkwDQpbICAzNzAuOTk2OTAxXSAgWzxmZmZmZmZmZjgxNmI4
OTZmPl0gaXBfcXVldWVfeG1pdCsweDE3Zi8weDRhMA0KWyAgMzcwLjk5NjkwNl0gIFs8ZmZm
ZmZmZmY4MTZiODdmMD5dID8gaXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4MzQwDQpb
ICAzNzAuOTk2OTEyXSAgWzxmZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVvZmRheSsw
eDQ3LzB4ZTANClsgIDM3MC45OTY5MjZdICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/IF9fc2ti
X2Nsb25lKzB4MjkvMHgxMjANClsgIDM3MC45OTY5NDFdICBbPGZmZmZmZmZmODE2Y2VhMjA+
XSB0Y3BfdHJhbnNtaXRfc2tiKzB4NDAwLzB4OGQwDQpbICAzNzAuOTk2OTQ3XSAgWzxmZmZm
ZmZmZjgxNmQxMTA2Pl0gdGNwX3JldHJhbnNtaXRfc2tiKzB4MWM2LzB4NWEwDQpbICAzNzAu
OTk2OTUzXSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxl
cisweDFhMC8weDFhMA0KWyAgMzcwLjk5Njk1OV0gIFs8ZmZmZmZmZmY4MTZkMmYzOD5dIHRj
cF9yZXRyYW5zbWl0X3RpbWVyKzB4MzU4LzB4NjMwDQpbICAzNzAuOTk2OTY1XSAgWzxmZmZm
ZmZmZjgxNmQzMzRkPl0gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxM2QvMHgxYTANClsg
IDM3MC45OTY5NzFdICBbPGZmZmZmZmZmODE2ZDM0Mjg+XSB0Y3Bfd3JpdGVfdGltZXIrMHg3
OC8weDgwDQpbICAzNzAuOTk2OTc3XSAgWzxmZmZmZmZmZjgxMDczZjdjPl0gY2FsbF90aW1l
cl9mbisweDdjLzB4MTAwDQpbICAzNzAuOTk2OTgzXSAgWzxmZmZmZmZmZjgxMDczZjAwPl0g
PyBjYXNjYWRlKzB4YTAvMHhhMA0KWyAgMzcwLjk5Njk4OF0gIFs8ZmZmZmZmZmY4MTZkMzNi
MD5dID8gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAvMHgxYTANClsgIDM3MC45OTY5
OThdICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4
MWEwLzB4MWEwDQpbICAzNzAuOTk3MDA0XSAgWzxmZmZmZmZmZjgxMDc0MjE3Pl0gcnVuX3Rp
bWVyX3NvZnRpcnErMHgyMTcvMHgyNTANClsgIDM3MC45OTcwMTFdICBbPGZmZmZmZmZmODEw
NmUzZDk+XSBfX2RvX3NvZnRpcnErMHhjOS8weDFhMA0KWyAgMzcwLjk5NzAxN10gIFs8ZmZm
ZmZmZmY4MTc0OGQzYz5dIGNhbGxfc29mdGlycSsweDFjLzB4MzANClsgIDM3MC45OTcwMjNd
ICBbPGZmZmZmZmZmODEwMGVkYjU+XSBkb19zb2Z0aXJxKzB4ODUvMHhmMA0KWyAgMzcwLjk5
NzAyOV0gIFs8ZmZmZmZmZmY4MTA2ZTI0ZT5dIGlycV9leGl0KzB4OWUvMHhkMA0KWyAgMzcw
Ljk5NzAzNl0gIFs8ZmZmZmZmZmY4MTMzOWY1Zj5dIHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4
MmYvMHg0MA0KWyAgMzcwLjk5NzA0Ml0gIFs8ZmZmZmZmZmY4MTc0OGQ5ZT5dIHhlbl9kb19o
eXBlcnZpc29yX2NhbGxiYWNrKzB4MWUvMHgzMA0KWyAgMzcwLjk5NzA0Nl0gIDxFT0k+ICBb
PGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBlcmNhbGxfc2NoZWRfb3ArMHhhLzB4MjAN
ClsgIDM3MC45OTcwNTddICBbPGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBlcmNhbGxf
c2NoZWRfb3ArMHhhLzB4MjANClsgIDM3MC45OTcwNjRdICBbPGZmZmZmZmZmODEwMDg2OTA+
XSA/IHhlbl9zYWZlX2hhbHQrMHgxMC8weDIwDQpbICAzNzAuOTk3MDcwXSAgWzxmZmZmZmZm
ZjgxMDE2MGQwPl0gPyBkZWZhdWx0X2lkbGUrMHg0MC8weDkwDQpbICAzNzAuOTk3MDc1XSAg
WzxmZmZmZmZmZjgxMDE2NDg2Pl0gPyBjcHVfaWRsZSsweDk2LzB4ZjANClsgIDM3MC45OTcw
ODFdICBbPGZmZmZmZmZmODE3MjJkM2M+XSA/IHJlc3RfaW5pdCsweGJjLzB4ZDANClsgIDM3
MC45OTcwOTNdICBbPGZmZmZmZmZmODE3MjJjODA+XSA/IGNzdW1fcGFydGlhbF9jb3B5X2dl
bmVyaWMrMHgxNzAvMHgxNzANClsgIDM3MC45OTcxMDJdICBbPGZmZmZmZmZmODFjZTBkZjI+
XSA/IHN0YXJ0X2tlcm5lbCsweDM5MC8weDM5ZA0KWyAgMzcwLjk5NzEwOF0gIFs8ZmZmZmZm
ZmY4MWNlMDg4Mj5dID8ga2VybmVsX2luaXQrMHgyMGIvMHgyMGINClsgIDM3MC45OTcxMTRd
ICBbPGZmZmZmZmZmODFjZTAzNTY+XSA/IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHgx
MzEvMHgxMzYNClsgIDM3MC45OTcxMjBdICBbPGZmZmZmZmZmODFjZTNkNjA+XSA/IHhlbl9z
dGFydF9rZXJuZWwrMHg3MGQvMHg3MGYNClsgIDM3MC45OTcxMjZdIC0tLVsgZW5kIHRyYWNl
IDJlMjhlZWM5M2I3YThiOWMgXS0tLQ0KWyAgMzcyLjg5MzU3MF0gLS0tLS0tLS0tLS0tWyBj
dXQgaGVyZSBdLS0tLS0tLS0tLS0tDQpbICAzNzIuODkzNTk0XSBXQVJOSU5HOiBhdCBkcml2
ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYzo0NjUgeGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4
NjAoKQ0KWyAgMzcyLjg5MzYwMV0gTW9kdWxlcyBsaW5rZWQgaW46DQpbICAzNzIuODkzNjA3
XSBQaWQ6IDAsIGNvbW06IHN3YXBwZXIvMCBUYWludGVkOiBHICAgICAgICBXICAgIDMuNi4w
cHJlLXJjMS0yMDEyMTAxMSAjMQ0KWyAgMzcyLjg5MzYxM10gQ2FsbCBUcmFjZToNClsgIDM3
Mi44OTM2MTddICA8SVJRPiAgWzxmZmZmZmZmZjgxMDY2NGVhPl0gd2Fybl9zbG93cGF0aF9j
b21tb24rMHg3YS8weGIwDQpbICAzNzIuODkzNjMwXSAgWzxmZmZmZmZmZjgxMDY2NTM1Pl0g
d2Fybl9zbG93cGF0aF9udWxsKzB4MTUvMHgyMA0KWyAgMzcyLjg5MzYzNl0gIFs8ZmZmZmZm
ZmY4MTQ2ZDg5ZT5dIHhlbm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwDQpbICAzNzIuODkz
NjQ0XSAgWzxmZmZmZmZmZjgxNjFmMzQ5Pl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDIwOS8w
eDQ2MA0KWyAgMzcyLjg5MzY1MV0gIFs8ZmZmZmZmZmY4MTYzYjAzNj5dIHNjaF9kaXJlY3Rf
eG1pdCsweGY2LzB4MjkwDQpbICAzNzIuODkzNjU3XSAgWzxmZmZmZmZmZjgxNjFmNzQ2Pl0g
ZGV2X3F1ZXVlX3htaXQrMHgxYTYvMHg1YTANClsgIDM3Mi44OTM2NjNdICBbPGZmZmZmZmZm
ODE2MWY1YTA+XSA/IGRldl9oYXJkX3N0YXJ0X3htaXQrMHg0NjAvMHg0NjANClsgIDM3Mi44
OTM2NjldICBbPGZmZmZmZmZmODEwYjE0MTc+XSA/IGxvY2tfcmVsZWFzZSsweDExNy8weDI1
MA0KWyAgMzcyLjg5MzY3Nl0gIFs8ZmZmZmZmZmY4MTZiOTUzNj5dIGlwX2ZpbmlzaF9vdXRw
dXQrMHgyMjYvMHg1MzANClsgIDM3Mi44OTM2ODJdICBbPGZmZmZmZmZmODE2YjkzZGQ+XSA/
IGlwX2ZpbmlzaF9vdXRwdXQrMHhjZC8weDUzMA0KWyAgMzcyLjg5MzY4OF0gIFs8ZmZmZmZm
ZmY4MTZiOTg5OT5dIGlwX291dHB1dCsweDU5LzB4ZTANClsgIDM3Mi44OTM2OTRdICBbPGZm
ZmZmZmZmODE2YjgzYjg+XSBpcF9sb2NhbF9vdXQrMHgyOC8weDkwDQpbICAzNzIuODkzNjk5
XSAgWzxmZmZmZmZmZjgxNmI4OTZmPl0gaXBfcXVldWVfeG1pdCsweDE3Zi8weDRhMA0KWyAg
MzcyLjg5MzcwNV0gIFs8ZmZmZmZmZmY4MTZiODdmMD5dID8gaXBfc2VuZF91bmljYXN0X3Jl
cGx5KzB4MzQwLzB4MzQwDQpbICAzNzIuODkzNzExXSAgWzxmZmZmZmZmZjgxMGEwYmE3Pl0g
PyBnZXRuc3RpbWVvZmRheSsweDQ3LzB4ZTANClsgIDM3Mi44OTM3MThdICBbPGZmZmZmZmZm
ODE2MGY0Yzk+XSA/IF9fc2tiX2Nsb25lKzB4MjkvMHgxMjANClsgIDM3Mi44OTM3MjRdICBb
PGZmZmZmZmZmODE2Y2VhMjA+XSB0Y3BfdHJhbnNtaXRfc2tiKzB4NDAwLzB4OGQwDQpbICAz
NzIuODkzNzMwXSAgWzxmZmZmZmZmZjgxNmQxMTA2Pl0gdGNwX3JldHJhbnNtaXRfc2tiKzB4
MWM2LzB4NWEwDQpbICAzNzIuODkzNzM3XSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bf
d3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFhMA0KWyAgMzcyLjg5Mzc0M10gIFs8ZmZm
ZmZmZmY4MTZkMmYzOD5dIHRjcF9yZXRyYW5zbWl0X3RpbWVyKzB4MzU4LzB4NjMwDQpbICAz
NzIuODkzNzQ4XSAgWzxmZmZmZmZmZjgxNmQzMzRkPl0gdGNwX3dyaXRlX3RpbWVyX2hhbmRs
ZXIrMHgxM2QvMHgxYTANClsgIDM3Mi44OTM3NTRdICBbPGZmZmZmZmZmODE2ZDM0Mjg+XSB0
Y3Bfd3JpdGVfdGltZXIrMHg3OC8weDgwDQpbICAzNzIuODkzNzYwXSAgWzxmZmZmZmZmZjgx
MDczZjdjPl0gY2FsbF90aW1lcl9mbisweDdjLzB4MTAwDQpbICAzNzIuODkzNzY1XSAgWzxm
ZmZmZmZmZjgxMDczZjAwPl0gPyBjYXNjYWRlKzB4YTAvMHhhMA0KWyAgMzcyLjg5Mzc3MV0g
IFs8ZmZmZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAv
MHgxYTANClsgIDM3Mi44OTM3NzddICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0
ZV90aW1lcl9oYW5kbGVyKzB4MWEwLzB4MWEwDQpbICAzNzIuODkzOTM5XSAgWzxmZmZmZmZm
ZjgxMDc0MjE3Pl0gcnVuX3RpbWVyX3NvZnRpcnErMHgyMTcvMHgyNTANClsgIDM3Mi44OTM5
NDZdICBbPGZmZmZmZmZmODEwNmUzZDk+XSBfX2RvX3NvZnRpcnErMHhjOS8weDFhMA0KWyAg
MzcyLjg5Mzk1Ml0gIFs8ZmZmZmZmZmY4MTc0OGQzYz5dIGNhbGxfc29mdGlycSsweDFjLzB4
MzANClsgIDM3Mi44OTM5NThdICBbPGZmZmZmZmZmODEwMGVkYjU+XSBkb19zb2Z0aXJxKzB4
ODUvMHhmMA0KWyAgMzcyLjg5Mzk2M10gIFs8ZmZmZmZmZmY4MTA2ZTI0ZT5dIGlycV9leGl0
KzB4OWUvMHhkMA0KWyAgMzcyLjg5Mzk3MF0gIFs8ZmZmZmZmZmY4MTMzOWY1Zj5dIHhlbl9l
dnRjaG5fZG9fdXBjYWxsKzB4MmYvMHg0MA0KWyAgMzcyLjg5Mzk3Nl0gIFs8ZmZmZmZmZmY4
MTc0OGQ5ZT5dIHhlbl9kb19oeXBlcnZpc29yX2NhbGxiYWNrKzB4MWUvMHgzMA0KWyAgMzcy
Ljg5Mzk4MF0gIDxFT0k+ICBbPGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBlcmNhbGxf
c2NoZWRfb3ArMHhhLzB4MjANClsgIDM3Mi44OTM5OTBdICBbPGZmZmZmZmZmODEwMDEzYWE+
XSA/IHhlbl9oeXBlcmNhbGxfc2NoZWRfb3ArMHhhLzB4MjANClsgIDM3Mi44OTM5OTddICBb
PGZmZmZmZmZmODEwMDg2OTA+XSA/IHhlbl9zYWZlX2hhbHQrMHgxMC8weDIwDQpbICAzNzIu
ODk0MDAzXSAgWzxmZmZmZmZmZjgxMDE2MGQwPl0gPyBkZWZhdWx0X2lkbGUrMHg0MC8weDkw
DQpbICAzNzIuODk0MDA4XSAgWzxmZmZmZmZmZjgxMDE2NDg2Pl0gPyBjcHVfaWRsZSsweDk2
LzB4ZjANClsgIDM3Mi44OTQwMTRdICBbPGZmZmZmZmZmODE3MjJkM2M+XSA/IHJlc3RfaW5p
dCsweGJjLzB4ZDANClsgIDM3Mi44OTQwMTldICBbPGZmZmZmZmZmODE3MjJjODA+XSA/IGNz
dW1fcGFydGlhbF9jb3B5X2dlbmVyaWMrMHgxNzAvMHgxNzANClsgIDM3Mi44OTQwMjddICBb
PGZmZmZmZmZmODFjZTBkZjI+XSA/IHN0YXJ0X2tlcm5lbCsweDM5MC8weDM5ZA0KWyAgMzcy
Ljg5NDAzNl0gIFs8ZmZmZmZmZmY4MWNlMDg4Mj5dID8ga2VybmVsX2luaXQrMHgyMGIvMHgy
MGINClsgIDM3Mi44OTQwNDJdICBbPGZmZmZmZmZmODFjZTAzNTY+XSA/IHg4Nl82NF9zdGFy
dF9yZXNlcnZhdGlvbnMrMHgxMzEvMHgxMzYNClsgIDM3Mi44OTQwNDhdICBbPGZmZmZmZmZm
ODFjZTNkNjA+XSA/IHhlbl9zdGFydF9rZXJuZWwrMHg3MGQvMHg3MGYNClsgIDM3Mi44OTQw
NTRdIC0tLVsgZW5kIHRyYWNlIDJlMjhlZWM5M2I3YThiOWQgXS0tLQ0KWyAgMzc0Ljk4Njc3
MF0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tDQpbICAzNzQuOTg2Nzk1
XSBXQVJOSU5HOiBhdCBkcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYzo0NjUgeGVubmV0X3N0
YXJ0X3htaXQrMHg3ZmUvMHg4NjAoKQ0KWyAgMzc0Ljk4NjgwMl0gTW9kdWxlcyBsaW5rZWQg
aW46DQpbICAzNzQuOTg2ODEwXSBQaWQ6IDAsIGNvbW06IHN3YXBwZXIvMCBUYWludGVkOiBH
ICAgICAgICBXICAgIDMuNi4wcHJlLXJjMS0yMDEyMTAxMSAjMQ0KWyAgMzc0Ljk4NjgxNl0g
Q2FsbCBUcmFjZToNClsgIDM3NC45ODY4MTldICA8SVJRPiAgWzxmZmZmZmZmZjgxMDY2NGVh
Pl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8weGIwDQpbICAzNzQuOTg2ODMzXSAgWzxm
ZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0aF9udWxsKzB4MTUvMHgyMA0KWyAgMzc0
Ljk4NjgzOF0gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5dIHhlbm5ldF9zdGFydF94bWl0KzB4N2Zl
LzB4ODYwDQpbICAzNzQuOTg2ODQ3XSAgWzxmZmZmZmZmZjgxNjFmMzQ5Pl0gZGV2X2hhcmRf
c3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgMzc0Ljk4Njg1NF0gIFs8ZmZmZmZmZmY4MTYz
YjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4MjkwDQpbICAzNzQuOTg2ODU5XSAgWzxm
ZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3htaXQrMHgxYTYvMHg1YTANClsgIDM3NC45
ODY4NjRdICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/IGRldl9oYXJkX3N0YXJ0X3htaXQrMHg0
NjAvMHg0NjANClsgIDM3NC45ODY4NzFdICBbPGZmZmZmZmZmODEwYjE0MTc+XSA/IGxvY2tf
cmVsZWFzZSsweDExNy8weDI1MA0KWyAgMzc0Ljk4Njg3OV0gIFs8ZmZmZmZmZmY4MTZiOTUz
Nj5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgyMjYvMHg1MzANClsgIDM3NC45ODY4ODRdICBbPGZm
ZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9vdXRwdXQrMHhjZC8weDUzMA0KWyAgMzc0
Ljk4Njg5MF0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5dIGlwX291dHB1dCsweDU5LzB4ZTANClsg
IDM3NC45ODY4OTRdICBbPGZmZmZmZmZmODE2YjgzYjg+XSBpcF9sb2NhbF9vdXQrMHgyOC8w
eDkwDQpbICAzNzQuOTg2ODk5XSAgWzxmZmZmZmZmZjgxNmI4OTZmPl0gaXBfcXVldWVfeG1p
dCsweDE3Zi8weDRhMA0KWyAgMzc0Ljk4NjkwNF0gIFs8ZmZmZmZmZmY4MTZiODdmMD5dID8g
aXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4MzQwDQpbICAzNzQuOTg2OTExXSAgWzxm
ZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVvZmRheSsweDQ3LzB4ZTANClsgIDM3NC45
ODY5MThdICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/IF9fc2tiX2Nsb25lKzB4MjkvMHgxMjAN
ClsgIDM3NC45ODY5MjZdICBbPGZmZmZmZmZmODE2Y2VhMjA+XSB0Y3BfdHJhbnNtaXRfc2ti
KzB4NDAwLzB4OGQwDQpbICAzNzQuOTg2OTMxXSAgWzxmZmZmZmZmZjgxNmQxMTA2Pl0gdGNw
X3JldHJhbnNtaXRfc2tiKzB4MWM2LzB4NWEwDQpbICAzNzQuOTg2OTM3XSAgWzxmZmZmZmZm
ZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFhMA0KWyAg
Mzc0Ljk4Njk0Ml0gIFs8ZmZmZmZmZmY4MTZkMmYzOD5dIHRjcF9yZXRyYW5zbWl0X3RpbWVy
KzB4MzU4LzB4NjMwDQpbICAzNzQuOTg2OTQ3XSAgWzxmZmZmZmZmZjgxNmQzMzRkPl0gdGNw
X3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxM2QvMHgxYTANClsgIDM3NC45ODY5NTNdICBbPGZm
ZmZmZmZmODE2ZDM0Mjg+XSB0Y3Bfd3JpdGVfdGltZXIrMHg3OC8weDgwDQpbICAzNzQuOTg2
OTU4XSAgWzxmZmZmZmZmZjgxMDczZjdjPl0gY2FsbF90aW1lcl9mbisweDdjLzB4MTAwDQpb
ICAzNzQuOTg2OTYzXSAgWzxmZmZmZmZmZjgxMDczZjAwPl0gPyBjYXNjYWRlKzB4YTAvMHhh
MA0KWyAgMzc0Ljk4Njk2N10gIFs8ZmZmZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dyaXRlX3Rp
bWVyX2hhbmRsZXIrMHgxYTAvMHgxYTANClsgIDM3NC45ODY5NzNdICBbPGZmZmZmZmZmODE2
ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MWEwLzB4MWEwDQpbICAzNzQu
OTg2OTc4XSAgWzxmZmZmZmZmZjgxMDc0MjE3Pl0gcnVuX3RpbWVyX3NvZnRpcnErMHgyMTcv
MHgyNTANClsgIDM3NC45ODY5ODVdICBbPGZmZmZmZmZmODEwNmUzZDk+XSBfX2RvX3NvZnRp
cnErMHhjOS8weDFhMA0KWyAgMzc0Ljk4Njk5MV0gIFs8ZmZmZmZmZmY4MTc0OGQzYz5dIGNh
bGxfc29mdGlycSsweDFjLzB4MzANClsgIDM3NC45ODY5OTddICBbPGZmZmZmZmZmODEwMGVk
YjU+XSBkb19zb2Z0aXJxKzB4ODUvMHhmMA0KWyAgMzc0Ljk4NzAwMl0gIFs8ZmZmZmZmZmY4
MTA2ZTI0ZT5dIGlycV9leGl0KzB4OWUvMHhkMA0KWyAgMzc0Ljk4NzAwOV0gIFs8ZmZmZmZm
ZmY4MTMzOWY1Zj5dIHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4MmYvMHg0MA0KWyAgMzc0Ljk4
NzAxNF0gIFs8ZmZmZmZmZmY4MTc0OGQ5ZT5dIHhlbl9kb19oeXBlcnZpc29yX2NhbGxiYWNr
KzB4MWUvMHgzMA0KWyAgMzc0Ljk4NzAxOF0gIDxFT0k+ICBbPGZmZmZmZmZmODEwMDEzYWE+
XSA/IHhlbl9oeXBlcmNhbGxfc2NoZWRfb3ArMHhhLzB4MjANClsgIDM3NC45ODcwMjhdICBb
PGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBlcmNhbGxfc2NoZWRfb3ArMHhhLzB4MjAN
ClsgIDM3NC45ODcwMzldICBbPGZmZmZmZmZmODEwMDg2OTA+XSA/IHhlbl9zYWZlX2hhbHQr
MHgxMC8weDIwDQpbICAzNzQuOTg3MDU5XSAgWzxmZmZmZmZmZjgxMDE2MGQwPl0gPyBkZWZh
dWx0X2lkbGUrMHg0MC8weDkwDQpbICAzNzQuOTg3MDY0XSAgWzxmZmZmZmZmZjgxMDE2NDg2
Pl0gPyBjcHVfaWRsZSsweDk2LzB4ZjANClsgIDM3NC45ODcwNzBdICBbPGZmZmZmZmZmODE3
MjJkM2M+XSA/IHJlc3RfaW5pdCsweGJjLzB4ZDANClsgIDM3NC45ODcwNzVdICBbPGZmZmZm
ZmZmODE3MjJjODA+XSA/IGNzdW1fcGFydGlhbF9jb3B5X2dlbmVyaWMrMHgxNzAvMHgxNzAN
ClsgIDM3NC45ODcwODRdICBbPGZmZmZmZmZmODFjZTBkZjI+XSA/IHN0YXJ0X2tlcm5lbCsw
eDM5MC8weDM5ZA0KWyAgMzc0Ljk4NzA5MV0gIFs8ZmZmZmZmZmY4MWNlMDg4Mj5dID8ga2Vy
bmVsX2luaXQrMHgyMGIvMHgyMGINClsgIDM3NC45ODcwOTddICBbPGZmZmZmZmZmODFjZTAz
NTY+XSA/IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHgxMzEvMHgxMzYNClsgIDM3NC45
ODcxMDRdICBbPGZmZmZmZmZmODFjZTNkNjA+XSA/IHhlbl9zdGFydF9rZXJuZWwrMHg3MGQv
MHg3MGYNClsgIDM3NC45ODcxMTBdIC0tLVsgZW5kIHRyYWNlIDJlMjhlZWM5M2I3YThiOWUg
XS0tLQ0KWyAgMzc2LjY5MzUyOV0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0t
LS0tDQpbICAzNzYuNjkzNTgyXSBXQVJOSU5HOiBhdCBkcml2ZXJzL25ldC94ZW4tbmV0ZnJv
bnQuYzo0NjUgeGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjAoKQ0KWyAgMzc2LjY5MzYw
N10gTW9kdWxlcyBsaW5rZWQgaW46DQpbICAzNzYuNjkzNjMwXSBQaWQ6IDAsIGNvbW06IHN3
YXBwZXIvMCBUYWludGVkOiBHICAgICAgICBXICAgIDMuNi4wcHJlLXJjMS0yMDEyMTAxMSAj
MQ0KWyAgMzc2LjY5MzY1NF0gQ2FsbCBUcmFjZToNClsgIDM3Ni42OTM2NjZdICA8SVJRPiAg
WzxmZmZmZmZmZjgxMDY2NGVhPl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8weGIwDQpb
ICAzNzYuNjkzNzA4XSAgWzxmZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0aF9udWxs
KzB4MTUvMHgyMA0KWyAgMzc2LjY5MzczMV0gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5dIHhlbm5l
dF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwDQpbICAzNzYuNjkzNzU4XSAgWzxmZmZmZmZmZjgx
NjFmMzQ5Pl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgMzc2LjY5Mzc4
M10gIFs8ZmZmZmZmZmY4MTYzYjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4MjkwDQpb
ICAzNzYuNjkzODA2XSAgWzxmZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3htaXQrMHgx
YTYvMHg1YTANClsgIDM3Ni42OTM4MjhdICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/IGRldl9o
YXJkX3N0YXJ0X3htaXQrMHg0NjAvMHg0NjANClsgIDM3Ni42OTM4NTJdICBbPGZmZmZmZmZm
ODEwYjE0MTc+XSA/IGxvY2tfcmVsZWFzZSsweDExNy8weDI1MA0KWyAgMzc2LjY5Mzg3N10g
IFs8ZmZmZmZmZmY4MTZiOTUzNj5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgyMjYvMHg1MzANClsg
IDM3Ni42OTM5MDJdICBbPGZmZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9vdXRwdXQr
MHhjZC8weDUzMA0KWyAgMzc2LjY5MzkyNl0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5dIGlwX291
dHB1dCsweDU5LzB4ZTANClsgIDM3Ni42OTM5NDhdICBbPGZmZmZmZmZmODE2YjgzYjg+XSBp
cF9sb2NhbF9vdXQrMHgyOC8weDkwDQpbICAzNzYuNjkzOTcwXSAgWzxmZmZmZmZmZjgxNmI4
OTZmPl0gaXBfcXVldWVfeG1pdCsweDE3Zi8weDRhMA0KWyAgMzc2LjY5Mzk5MV0gIFs8ZmZm
ZmZmZmY4MTZiODdmMD5dID8gaXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4MzQwDQpb
ICAzNzYuNjk0MDE3XSAgWzxmZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVvZmRheSsw
eDQ3LzB4ZTANClsgIDM3Ni42OTQwNDBdICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/IF9fc2ti
X2Nsb25lKzB4MjkvMHgxMjANClsgIDM3Ni42OTQwNjJdICBbPGZmZmZmZmZmODE2Y2VhMjA+
XSB0Y3BfdHJhbnNtaXRfc2tiKzB4NDAwLzB4OGQwDQpbICAzNzYuNjk0MDg1XSAgWzxmZmZm
ZmZmZjgxNmQxMTA2Pl0gdGNwX3JldHJhbnNtaXRfc2tiKzB4MWM2LzB4NWEwDQpbICAzNzYu
Njk0MTEwXSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxl
cisweDFhMC8weDFhMA0KWyAgMzc2LjY5NDEzM10gIFs8ZmZmZmZmZmY4MTZkMmYzOD5dIHRj
cF9yZXRyYW5zbWl0X3RpbWVyKzB4MzU4LzB4NjMwDQpbICAzNzYuNjk0MTU2XSAgWzxmZmZm
ZmZmZjgxNmQzMzRkPl0gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxM2QvMHgxYTANClsg
IDM3Ni42OTQxNzldICBbPGZmZmZmZmZmODE2ZDM0Mjg+XSB0Y3Bfd3JpdGVfdGltZXIrMHg3
OC8weDgwDQpbICAzNzYuNjk0MjAxXSAgWzxmZmZmZmZmZjgxMDczZjdjPl0gY2FsbF90aW1l
cl9mbisweDdjLzB4MTAwDQpbICAzNzYuNjk0MjIyXSAgWzxmZmZmZmZmZjgxMDczZjAwPl0g
PyBjYXNjYWRlKzB4YTAvMHhhMA0KWyAgMzc2LjY5NDI0Ml0gIFs8ZmZmZmZmZmY4MTZkMzNi
MD5dID8gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAvMHgxYTANClsgIDM3Ni42OTQy
NjddICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4
MWEwLzB4MWEwDQpbICAzNzYuNjk0MjkwXSAgWzxmZmZmZmZmZjgxMDc0MjE3Pl0gcnVuX3Rp
bWVyX3NvZnRpcnErMHgyMTcvMHgyNTANClsgIDM3Ni42OTQzMTVdICBbPGZmZmZmZmZmODEw
NmUzZDk+XSBfX2RvX3NvZnRpcnErMHhjOS8weDFhMA0KWyAgMzc2LjY5NDMzN10gIFs8ZmZm
ZmZmZmY4MTc0OGQzYz5dIGNhbGxfc29mdGlycSsweDFjLzB4MzANClsgIDM3Ni42OTQzNThd
ICBbPGZmZmZmZmZmODEwMGVkYjU+XSBkb19zb2Z0aXJxKzB4ODUvMHhmMA0KWyAgMzc2LjY5
NDM4MF0gIFs8ZmZmZmZmZmY4MTA2ZTI0ZT5dIGlycV9leGl0KzB4OWUvMHhkMA0KWyAgMzc2
LjY5NDQwNF0gIFs8ZmZmZmZmZmY4MTMzOWY1Zj5dIHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4
MmYvMHg0MA0KWyAgMzc2LjY5NDQyN10gIFs8ZmZmZmZmZmY4MTc0OGQ5ZT5dIHhlbl9kb19o
eXBlcnZpc29yX2NhbGxiYWNrKzB4MWUvMHgzMA0KWyAgMzc2LjY5NDQ0Nl0gIDxFT0k+ICBb
PGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBlcmNhbGxfc2NoZWRfb3ArMHhhLzB4MjAN
ClsgIDM3Ni42OTQ0ODRdICBbPGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBlcmNhbGxf
c2NoZWRfb3ArMHhhLzB4MjANClsgIDM3Ni42OTQ1MDldICBbPGZmZmZmZmZmODEwMDg2OTA+
XSA/IHhlbl9zYWZlX2hhbHQrMHgxMC8weDIwDQpbICAzNzYuNjk0NTMxXSAgWzxmZmZmZmZm
ZjgxMDE2MGQwPl0gPyBkZWZhdWx0X2lkbGUrMHg0MC8weDkwDQpbICAzNzYuNjk0NTUyXSAg
WzxmZmZmZmZmZjgxMDE2NDg2Pl0gPyBjcHVfaWRsZSsweDk2LzB4ZjANClsgIDM3Ni42OTQ1
NzNdICBbPGZmZmZmZmZmODE3MjJkM2M+XSA/IHJlc3RfaW5pdCsweGJjLzB4ZDANClsgIDM3
Ni42OTQ1OTRdICBbPGZmZmZmZmZmODE3MjJjODA+XSA/IGNzdW1fcGFydGlhbF9jb3B5X2dl
bmVyaWMrMHgxNzAvMHgxNzANClsgIDM3Ni42OTQ2MjFdICBbPGZmZmZmZmZmODFjZTBkZjI+
XSA/IHN0YXJ0X2tlcm5lbCsweDM5MC8weDM5ZA0KWyAgMzc2LjY5NDY0NF0gIFs8ZmZmZmZm
ZmY4MWNlMDg4Mj5dID8ga2VybmVsX2luaXQrMHgyMGIvMHgyMGINClsgIDM3Ni42OTQ2NjZd
ICBbPGZmZmZmZmZmODFjZTAzNTY+XSA/IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHgx
MzEvMHgxMzYNClsgIDM3Ni42OTQ2OTFdICBbPGZmZmZmZmZmODFjZTNkNjA+XSA/IHhlbl9z
dGFydF9rZXJuZWwrMHg3MGQvMHg3MGYNClsgIDM3Ni42OTQ3MTJdIC0tLVsgZW5kIHRyYWNl
IDJlMjhlZWM5M2I3YThiOWYgXS0tLQ0KWyAgMzg0LjI5MzU5Ml0gLS0tLS0tLS0tLS0tWyBj
dXQgaGVyZSBdLS0tLS0tLS0tLS0tDQpbICAzODQuMjkzNjIyXSBXQVJOSU5HOiBhdCBkcml2
ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYzo0NjUgeGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4
NjAoKQ0KWyAgMzg0LjI5MzYyOV0gTW9kdWxlcyBsaW5rZWQgaW46DQpbICAzODQuMjkzNjM3
XSBQaWQ6IDAsIGNvbW06IHN3YXBwZXIvMCBUYWludGVkOiBHICAgICAgICBXICAgIDMuNi4w
cHJlLXJjMS0yMDEyMTAxMSAjMQ0KWyAgMzg0LjI5MzY0M10gQ2FsbCBUcmFjZToNClsgIDM4
NC4yOTM2NDddICA8SVJRPiAgWzxmZmZmZmZmZjgxMDY2NGVhPl0gd2Fybl9zbG93cGF0aF9j
b21tb24rMHg3YS8weGIwDQpbICAzODQuMjkzNjYyXSAgWzxmZmZmZmZmZjgxMDY2NTM1Pl0g
d2Fybl9zbG93cGF0aF9udWxsKzB4MTUvMHgyMA0KWyAgMzg0LjI5MzY2N10gIFs8ZmZmZmZm
ZmY4MTQ2ZDg5ZT5dIHhlbm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwDQpbICAzODQuMjkz
Njc2XSAgWzxmZmZmZmZmZjgxNjFmMzQ5Pl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDIwOS8w
eDQ2MA0KWyAgMzg0LjI5MzY4M10gIFs8ZmZmZmZmZmY4MTYzYjAzNj5dIHNjaF9kaXJlY3Rf
eG1pdCsweGY2LzB4MjkwDQpbICAzODQuMjkzNjg5XSAgWzxmZmZmZmZmZjgxNjFmNzQ2Pl0g
ZGV2X3F1ZXVlX3htaXQrMHgxYTYvMHg1YTANClsgIDM4NC4yOTM2OTZdICBbPGZmZmZmZmZm
ODE2MWY1YTA+XSA/IGRldl9oYXJkX3N0YXJ0X3htaXQrMHg0NjAvMHg0NjANClsgIDM4NC4y
OTM3MDRdICBbPGZmZmZmZmZmODEwYjE0MTc+XSA/IGxvY2tfcmVsZWFzZSsweDExNy8weDI1
MA0KWyAgMzg0LjI5MzcxMV0gIFs8ZmZmZmZmZmY4MTZiOTUzNj5dIGlwX2ZpbmlzaF9vdXRw
dXQrMHgyMjYvMHg1MzANClsgIDM4NC4yOTM3MTddICBbPGZmZmZmZmZmODE2YjkzZGQ+XSA/
IGlwX2ZpbmlzaF9vdXRwdXQrMHhjZC8weDUzMA0KWyAgMzg0LjI5MzcyNF0gIFs8ZmZmZmZm
ZmY4MTZiOTg5OT5dIGlwX291dHB1dCsweDU5LzB4ZTANClsgIDM4NC4yOTM3MjldICBbPGZm
ZmZmZmZmODE2YjgzYjg+XSBpcF9sb2NhbF9vdXQrMHgyOC8weDkwDQpbICAzODQuMjkzNzM1
XSAgWzxmZmZmZmZmZjgxNmI4OTZmPl0gaXBfcXVldWVfeG1pdCsweDE3Zi8weDRhMA0KWyAg
Mzg0LjI5Mzc0MV0gIFs8ZmZmZmZmZmY4MTZiODdmMD5dID8gaXBfc2VuZF91bmljYXN0X3Jl
cGx5KzB4MzQwLzB4MzQwDQpbICAzODQuMjkzNzQ3XSAgWzxmZmZmZmZmZjgxMGEwYmE3Pl0g
PyBnZXRuc3RpbWVvZmRheSsweDQ3LzB4ZTANClsgIDM4NC4yOTM3NTRdICBbPGZmZmZmZmZm
ODE2MGY0Yzk+XSA/IF9fc2tiX2Nsb25lKzB4MjkvMHgxMjANClsgIDM4NC4yOTM3NjBdICBb
PGZmZmZmZmZmODE2Y2VhMjA+XSB0Y3BfdHJhbnNtaXRfc2tiKzB4NDAwLzB4OGQwDQpbICAz
ODQuMjkzNzY3XSAgWzxmZmZmZmZmZjgxNmQxMTA2Pl0gdGNwX3JldHJhbnNtaXRfc2tiKzB4
MWM2LzB4NWEwDQpbICAzODQuMjkzNzc1XSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bf
d3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFhMA0KWyAgMzg0LjI5Mzc4MV0gIFs8ZmZm
ZmZmZmY4MTZkMmYzOD5dIHRjcF9yZXRyYW5zbWl0X3RpbWVyKzB4MzU4LzB4NjMwDQpbICAz
ODQuMjkzNzg3XSAgWzxmZmZmZmZmZjgxNmQzMzRkPl0gdGNwX3dyaXRlX3RpbWVyX2hhbmRs
ZXIrMHgxM2QvMHgxYTANClsgIDM4NC4yOTM3OTNdICBbPGZmZmZmZmZmODE2ZDM0Mjg+XSB0
Y3Bfd3JpdGVfdGltZXIrMHg3OC8weDgwDQpbICAzODQuMjkzODAwXSAgWzxmZmZmZmZmZjgx
MDczZjdjPl0gY2FsbF90aW1lcl9mbisweDdjLzB4MTAwDQpbICAzODQuMjkzODA1XSAgWzxm
ZmZmZmZmZjgxMDczZjAwPl0gPyBjYXNjYWRlKzB4YTAvMHhhMA0KWyAgMzg0LjI5MzgxMF0g
IFs8ZmZmZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAv
MHgxYTANClsgIDM4NC4yOTM4MjRdICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0
ZV90aW1lcl9oYW5kbGVyKzB4MWEwLzB4MWEwDQpbICAzODQuMjkzODMwXSAgWzxmZmZmZmZm
ZjgxMDc0MjE3Pl0gcnVuX3RpbWVyX3NvZnRpcnErMHgyMTcvMHgyNTANClsgIDM4NC4yOTM4
MzhdICBbPGZmZmZmZmZmODEwNmUzZDk+XSBfX2RvX3NvZnRpcnErMHhjOS8weDFhMA0KWyAg
Mzg0LjI5Mzg0NV0gIFs8ZmZmZmZmZmY4MTc0OGQzYz5dIGNhbGxfc29mdGlycSsweDFjLzB4
MzANClsgIDM4NC4yOTM4NTFdICBbPGZmZmZmZmZmODEwMGVkYjU+XSBkb19zb2Z0aXJxKzB4
ODUvMHhmMA0KWyAgMzg0LjI5Mzg1N10gIFs8ZmZmZmZmZmY4MTA2ZTI0ZT5dIGlycV9leGl0
KzB4OWUvMHhkMA0KWyAgMzg0LjI5Mzg2NF0gIFs8ZmZmZmZmZmY4MTMzOWY1Zj5dIHhlbl9l
dnRjaG5fZG9fdXBjYWxsKzB4MmYvMHg0MA0KWyAgMzg0LjI5Mzg3MF0gIFs8ZmZmZmZmZmY4
MTc0OGQ5ZT5dIHhlbl9kb19oeXBlcnZpc29yX2NhbGxiYWNrKzB4MWUvMHgzMA0KWyAgMzg0
LjI5Mzg3NV0gIDxFT0k+ICBbPGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBlcmNhbGxf
c2NoZWRfb3ArMHhhLzB4MjANClsgIDM4NC4yOTM4ODZdICBbPGZmZmZmZmZmODEwMDEzYWE+
XSA/IHhlbl9oeXBlcmNhbGxfc2NoZWRfb3ArMHhhLzB4MjANClsgIDM4NC4yOTM4OTNdICBb
PGZmZmZmZmZmODEwMDg2OTA+XSA/IHhlbl9zYWZlX2hhbHQrMHgxMC8weDIwDQpbICAzODQu
MjkzOTAwXSAgWzxmZmZmZmZmZjgxMDE2MGQwPl0gPyBkZWZhdWx0X2lkbGUrMHg0MC8weDkw
DQpbICAzODQuMjkzOTA1XSAgWzxmZmZmZmZmZjgxMDE2NDg2Pl0gPyBjcHVfaWRsZSsweDk2
LzB4ZjANClsgIDM4NC4yOTM5MTFdICBbPGZmZmZmZmZmODE3MjJkM2M+XSA/IHJlc3RfaW5p
dCsweGJjLzB4ZDANClsgIDM4NC4yOTM5MTZdICBbPGZmZmZmZmZmODE3MjJjODA+XSA/IGNz
dW1fcGFydGlhbF9jb3B5X2dlbmVyaWMrMHgxNzAvMHgxNzANClsgIDM4NC4yOTM5MjVdICBb
PGZmZmZmZmZmODFjZTBkZjI+XSA/IHN0YXJ0X2tlcm5lbCsweDM5MC8weDM5ZA0KWyAgMzg0
LjI5MzkzMl0gIFs8ZmZmZmZmZmY4MWNlMDg4Mj5dID8ga2VybmVsX2luaXQrMHgyMGIvMHgy
MGINClsgIDM4NC4yOTM5MzhdICBbPGZmZmZmZmZmODFjZTAzNTY+XSA/IHg4Nl82NF9zdGFy
dF9yZXNlcnZhdGlvbnMrMHgxMzEvMHgxMzYNClsgIDM4NC4yOTM5NDVdICBbPGZmZmZmZmZm
ODFjZTNkNjA+XSA/IHhlbl9zdGFydF9rZXJuZWwrMHg3MGQvMHg3MGYNClsgIDM4NC4yOTM5
NTBdIC0tLVsgZW5kIHRyYWNlIDJlMjhlZWM5M2I3YThiYTAgXS0tLQ0KWyAgMzk5LjQ2Njc3
M10gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tDQpbICAzOTkuNDY2Nzkx
XSBXQVJOSU5HOiBhdCBkcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYzo0NjUgeGVubmV0X3N0
YXJ0X3htaXQrMHg3ZmUvMHg4NjAoKQ0KWyAgMzk5LjQ2Njc5OF0gTW9kdWxlcyBsaW5rZWQg
aW46DQpbICAzOTkuNDY2ODA0XSBQaWQ6IDAsIGNvbW06IHN3YXBwZXIvMCBUYWludGVkOiBH
ICAgICAgICBXICAgIDMuNi4wcHJlLXJjMS0yMDEyMTAxMSAjMQ0KWyAgMzk5LjQ2NjgwOV0g
Q2FsbCBUcmFjZToNClsgIDM5OS40NjY4MTNdICA8SVJRPiAgWzxmZmZmZmZmZjgxMDY2NGVh
Pl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8weGIwDQpbICAzOTkuNDY2ODI0XSAgWzxm
ZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0aF9udWxsKzB4MTUvMHgyMA0KWyAgMzk5
LjQ2NjgzMF0gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5dIHhlbm5ldF9zdGFydF94bWl0KzB4N2Zl
LzB4ODYwDQpbICAzOTkuNDY2ODM3XSAgWzxmZmZmZmZmZjgxNjFmMzQ5Pl0gZGV2X2hhcmRf
c3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgMzk5LjQ2Njg0M10gIFs8ZmZmZmZmZmY4MTYz
YjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4MjkwDQpbICAzOTkuNDY2ODQ4XSAgWzxm
ZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3htaXQrMHgxYTYvMHg1YTANClsgIDM5OS40
NjY4NTNdICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/IGRldl9oYXJkX3N0YXJ0X3htaXQrMHg0
NjAvMHg0NjANClsgIDM5OS40NjY4NTldICBbPGZmZmZmZmZmODE2MjlhNzc+XSBuZWlnaF9y
ZXNvbHZlX291dHB1dCsweDEyNy8weDI1MA0KWyAgMzk5LjQ2Njg2NV0gIFs8ZmZmZmZmZmY4
MTZiOTZhZD5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgzOWQvMHg1MzANClsgIDM5OS40NjY4NzFd
ICBbPGZmZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9vdXRwdXQrMHhjZC8weDUzMA0K
WyAgMzk5LjQ2Njg3Nl0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5dIGlwX291dHB1dCsweDU5LzB4
ZTANClsgIDM5OS40NjY4ODFdICBbPGZmZmZmZmZmODE2YjgzYjg+XSBpcF9sb2NhbF9vdXQr
MHgyOC8weDkwDQpbICAzOTkuNDY2ODg2XSAgWzxmZmZmZmZmZjgxNmI4OTZmPl0gaXBfcXVl
dWVfeG1pdCsweDE3Zi8weDRhMA0KWyAgMzk5LjQ2Njg5MV0gIFs8ZmZmZmZmZmY4MTZiODdm
MD5dID8gaXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4MzQwDQpbICAzOTkuNDY2ODk2
XSAgWzxmZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVvZmRheSsweDQ3LzB4ZTANClsg
IDM5OS40NjY5MDNdICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/IF9fc2tiX2Nsb25lKzB4Mjkv
MHgxMjANClsgIDM5OS40NjY5MDldICBbPGZmZmZmZmZmODE2Y2VhMjA+XSB0Y3BfdHJhbnNt
aXRfc2tiKzB4NDAwLzB4OGQwDQpbICAzOTkuNDY2OTE0XSAgWzxmZmZmZmZmZjgxNmQxMTA2
Pl0gdGNwX3JldHJhbnNtaXRfc2tiKzB4MWM2LzB4NWEwDQpbICAzOTkuNDY2OTE5XSAgWzxm
ZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJfaGFuZGxlcisweDFhMC8weDFh
MA0KWyAgMzk5LjQ2NjkyNV0gIFs8ZmZmZmZmZmY4MTZkMmYzOD5dIHRjcF9yZXRyYW5zbWl0
X3RpbWVyKzB4MzU4LzB4NjMwDQpbICAzOTkuNDY2OTMwXSAgWzxmZmZmZmZmZjgxNmQzMzRk
Pl0gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxM2QvMHgxYTANClsgIDM5OS40NjY5MzVd
ICBbPGZmZmZmZmZmODE2ZDM0Mjg+XSB0Y3Bfd3JpdGVfdGltZXIrMHg3OC8weDgwDQpbICAz
OTkuNDY2OTQwXSAgWzxmZmZmZmZmZjgxMDczZjdjPl0gY2FsbF90aW1lcl9mbisweDdjLzB4
MTAwDQpbICAzOTkuNDY2OTQ1XSAgWzxmZmZmZmZmZjgxMDczZjAwPl0gPyBjYXNjYWRlKzB4
YTAvMHhhMA0KWyAgMzk5LjQ2Njk0OV0gIFs8ZmZmZmZmZmY4MTZkMzNiMD5dID8gdGNwX3dy
aXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAvMHgxYTANClsgIDM5OS40NjY5NTVdICBbPGZmZmZm
ZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5kbGVyKzB4MWEwLzB4MWEwDQpb
ICAzOTkuNDY2OTYwXSAgWzxmZmZmZmZmZjgxMDc0MjE3Pl0gcnVuX3RpbWVyX3NvZnRpcnEr
MHgyMTcvMHgyNTANClsgIDM5OS40NjY5NjZdICBbPGZmZmZmZmZmODEwNmUzZDk+XSBfX2Rv
X3NvZnRpcnErMHhjOS8weDFhMA0KWyAgMzk5LjQ2Njk3Ml0gIFs8ZmZmZmZmZmY4MTc0OGQz
Yz5dIGNhbGxfc29mdGlycSsweDFjLzB4MzANClsgIDM5OS40NjY5NzddICBbPGZmZmZmZmZm
ODEwMGVkYjU+XSBkb19zb2Z0aXJxKzB4ODUvMHhmMA0KWyAgMzk5LjQ2Njk4Ml0gIFs8ZmZm
ZmZmZmY4MTA2ZTI0ZT5dIGlycV9leGl0KzB4OWUvMHhkMA0KWyAgMzk5LjQ2Njk4OV0gIFs8
ZmZmZmZmZmY4MTMzOWY1Zj5dIHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4MmYvMHg0MA0KWyAg
Mzk5LjQ2Njk5NF0gIFs8ZmZmZmZmZmY4MTc0OGQ5ZT5dIHhlbl9kb19oeXBlcnZpc29yX2Nh
bGxiYWNrKzB4MWUvMHgzMA0KWyAgMzk5LjQ2Njk5OF0gIDxFT0k+ICBbPGZmZmZmZmZmODEw
MDEzYWE+XSA/IHhlbl9oeXBlcmNhbGxfc2NoZWRfb3ArMHhhLzB4MjANClsgIDM5OS40Njcw
MDhdICBbPGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBlcmNhbGxfc2NoZWRfb3ArMHhh
LzB4MjANClsgIDM5OS40NjcwMTNdICBbPGZmZmZmZmZmODEwMDg2OTA+XSA/IHhlbl9zYWZl
X2hhbHQrMHgxMC8weDIwDQpbICAzOTkuNDY3MDE5XSAgWzxmZmZmZmZmZjgxMDE2MGQwPl0g
PyBkZWZhdWx0X2lkbGUrMHg0MC8weDkwDQpbICAzOTkuNDY3MDI0XSAgWzxmZmZmZmZmZjgx
MDE2NDg2Pl0gPyBjcHVfaWRsZSsweDk2LzB4ZjANClsgIDM5OS40NjcwMjhdICBbPGZmZmZm
ZmZmODE3MjJkM2M+XSA/IHJlc3RfaW5pdCsweGJjLzB4ZDANClsgIDM5OS40NjcwMzNdICBb
PGZmZmZmZmZmODE3MjJjODA+XSA/IGNzdW1fcGFydGlhbF9jb3B5X2dlbmVyaWMrMHgxNzAv
MHgxNzANClsgIDM5OS40NjcwNDBdICBbPGZmZmZmZmZmODFjZTBkZjI+XSA/IHN0YXJ0X2tl
cm5lbCsweDM5MC8weDM5ZA0KWyAgMzk5LjQ2NzA0NV0gIFs8ZmZmZmZmZmY4MWNlMDg4Mj5d
ID8ga2VybmVsX2luaXQrMHgyMGIvMHgyMGINClsgIDM5OS40NjcwNTBdICBbPGZmZmZmZmZm
ODFjZTAzNTY+XSA/IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMrMHgxMzEvMHgxMzYNClsg
IDM5OS40NjcwNTVdICBbPGZmZmZmZmZmODFjZTNkNjA+XSA/IHhlbl9zdGFydF9rZXJuZWwr
MHg3MGQvMHg3MGYNClsgIDM5OS40NjcwNjBdIC0tLVsgZW5kIHRyYWNlIDJlMjhlZWM5M2I3
YThiYTEgXS0tLQ0KWyAgNDI5LjgxMzQ0MF0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0t
LS0tLS0tLS0tDQpbICA0MjkuODEzNDc3XSBXQVJOSU5HOiBhdCBkcml2ZXJzL25ldC94ZW4t
bmV0ZnJvbnQuYzo0NjUgeGVubmV0X3N0YXJ0X3htaXQrMHg3ZmUvMHg4NjAoKQ0KWyAgNDI5
LjgxMzQ4NF0gTW9kdWxlcyBsaW5rZWQgaW46DQpbICA0MjkuODEzNDkxXSBQaWQ6IDAsIGNv
bW06IHN3YXBwZXIvMCBUYWludGVkOiBHICAgICAgICBXICAgIDMuNi4wcHJlLXJjMS0yMDEy
MTAxMSAjMQ0KWyAgNDI5LjgxMzQ5N10gQ2FsbCBUcmFjZToNClsgIDQyOS44MTM1MDFdICA8
SVJRPiAgWzxmZmZmZmZmZjgxMDY2NGVhPl0gd2Fybl9zbG93cGF0aF9jb21tb24rMHg3YS8w
eGIwDQpbICA0MjkuODEzNTEzXSAgWzxmZmZmZmZmZjgxMDY2NTM1Pl0gd2Fybl9zbG93cGF0
aF9udWxsKzB4MTUvMHgyMA0KWyAgNDI5LjgxMzUxOV0gIFs8ZmZmZmZmZmY4MTQ2ZDg5ZT5d
IHhlbm5ldF9zdGFydF94bWl0KzB4N2ZlLzB4ODYwDQpbICA0MjkuODEzNTI3XSAgWzxmZmZm
ZmZmZjgxNjFmMzQ5Pl0gZGV2X2hhcmRfc3RhcnRfeG1pdCsweDIwOS8weDQ2MA0KWyAgNDI5
LjgxMzUzNF0gIFs8ZmZmZmZmZmY4MTYzYjAzNj5dIHNjaF9kaXJlY3RfeG1pdCsweGY2LzB4
MjkwDQpbICA0MjkuODEzNTM5XSAgWzxmZmZmZmZmZjgxNjFmNzQ2Pl0gZGV2X3F1ZXVlX3ht
aXQrMHgxYTYvMHg1YTANClsgIDQyOS44MTM1NDVdICBbPGZmZmZmZmZmODE2MWY1YTA+XSA/
IGRldl9oYXJkX3N0YXJ0X3htaXQrMHg0NjAvMHg0NjANClsgIDQyOS44MTM1NTJdICBbPGZm
ZmZmZmZmODEwYjE0MTc+XSA/IGxvY2tfcmVsZWFzZSsweDExNy8weDI1MA0KWyAgNDI5Ljgx
MzU1OV0gIFs8ZmZmZmZmZmY4MTZiOTUzNj5dIGlwX2ZpbmlzaF9vdXRwdXQrMHgyMjYvMHg1
MzANClsgIDQyOS44MTM1NjVdICBbPGZmZmZmZmZmODE2YjkzZGQ+XSA/IGlwX2ZpbmlzaF9v
dXRwdXQrMHhjZC8weDUzMA0KWyAgNDI5LjgxMzU3MV0gIFs8ZmZmZmZmZmY4MTZiOTg5OT5d
IGlwX291dHB1dCsweDU5LzB4ZTANClsgIDQyOS44MTM1NzZdICBbPGZmZmZmZmZmODE2Yjgz
Yjg+XSBpcF9sb2NhbF9vdXQrMHgyOC8weDkwDQpbICA0MjkuODEzNTgyXSAgWzxmZmZmZmZm
ZjgxNmI4OTZmPl0gaXBfcXVldWVfeG1pdCsweDE3Zi8weDRhMA0KWyAgNDI5LjgxMzU4OF0g
IFs8ZmZmZmZmZmY4MTZiODdmMD5dID8gaXBfc2VuZF91bmljYXN0X3JlcGx5KzB4MzQwLzB4
MzQwDQpbICA0MjkuODEzNTk0XSAgWzxmZmZmZmZmZjgxMGEwYmE3Pl0gPyBnZXRuc3RpbWVv
ZmRheSsweDQ3LzB4ZTANClsgIDQyOS44MTM2MDBdICBbPGZmZmZmZmZmODE2MGY0Yzk+XSA/
IF9fc2tiX2Nsb25lKzB4MjkvMHgxMjANClsgIDQyOS44MTM2MDZdICBbPGZmZmZmZmZmODE2
Y2VhMjA+XSB0Y3BfdHJhbnNtaXRfc2tiKzB4NDAwLzB4OGQwDQpbICA0MjkuODEzNjE0XSAg
WzxmZmZmZmZmZjgxNmQxMTA2Pl0gdGNwX3JldHJhbnNtaXRfc2tiKzB4MWM2LzB4NWEwDQpb
ICA0MjkuODEzNjIzXSAgWzxmZmZmZmZmZjgxNmQzM2IwPl0gPyB0Y3Bfd3JpdGVfdGltZXJf
aGFuZGxlcisweDFhMC8weDFhMA0KWyAgNDI5LjgxMzYzMV0gIFs8ZmZmZmZmZmY4MTZkMmYz
OD5dIHRjcF9yZXRyYW5zbWl0X3RpbWVyKzB4MzU4LzB4NjMwDQpbICA0MjkuODEzNjM3XSAg
WzxmZmZmZmZmZjgxNmQzMzRkPl0gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxM2QvMHgx
YTANClsgIDQyOS44MTM2NDNdICBbPGZmZmZmZmZmODE2ZDM0Mjg+XSB0Y3Bfd3JpdGVfdGlt
ZXIrMHg3OC8weDgwDQpbICA0MjkuODEzNjQ5XSAgWzxmZmZmZmZmZjgxMDczZjdjPl0gY2Fs
bF90aW1lcl9mbisweDdjLzB4MTAwDQpbICA0MjkuODEzNjU0XSAgWzxmZmZmZmZmZjgxMDcz
ZjAwPl0gPyBjYXNjYWRlKzB4YTAvMHhhMA0KWyAgNDI5LjgxMzY1OV0gIFs8ZmZmZmZmZmY4
MTZkMzNiMD5dID8gdGNwX3dyaXRlX3RpbWVyX2hhbmRsZXIrMHgxYTAvMHgxYTANClsgIDQy
OS44MTM2NjVdICBbPGZmZmZmZmZmODE2ZDMzYjA+XSA/IHRjcF93cml0ZV90aW1lcl9oYW5k
bGVyKzB4MWEwLzB4MWEwDQpbICA0MjkuODEzNzI4XSAgWzxmZmZmZmZmZjgxMDc0MjE3Pl0g
cnVuX3RpbWVyX3NvZnRpcnErMHgyMTcvMHgyNTANClsgIDQyOS44MTM3MzVdICBbPGZmZmZm
ZmZmODEwNmUzZDk+XSBfX2RvX3NvZnRpcnErMHhjOS8weDFhMA0KWyAgNDI5LjgxMzc0Ml0g
IFs8ZmZmZmZmZmY4MTc0OGQzYz5dIGNhbGxfc29mdGlycSsweDFjLzB4MzANClsgIDQyOS44
MTM3NDldICBbPGZmZmZmZmZmODEwMGVkYjU+XSBkb19zb2Z0aXJxKzB4ODUvMHhmMA0KWyAg
NDI5LjgxMzc1NF0gIFs8ZmZmZmZmZmY4MTA2ZTI0ZT5dIGlycV9leGl0KzB4OWUvMHhkMA0K
WyAgNDI5LjgxMzc2Ml0gIFs8ZmZmZmZmZmY4MTMzOWY1Zj5dIHhlbl9ldnRjaG5fZG9fdXBj
YWxsKzB4MmYvMHg0MA0KWyAgNDI5LjgxMzc2N10gIFs8ZmZmZmZmZmY4MTc0OGQ5ZT5dIHhl
bl9kb19oeXBlcnZpc29yX2NhbGxiYWNrKzB4MWUvMHgzMA0KWyAgNDI5LjgxMzc3Ml0gIDxF
T0k+ICBbPGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBlcmNhbGxfc2NoZWRfb3ArMHhh
LzB4MjANClsgIDQyOS44MTM3ODNdICBbPGZmZmZmZmZmODEwMDEzYWE+XSA/IHhlbl9oeXBl
cmNhbGxfc2NoZWRfb3ArMHhhLzB4MjANClsgIDQyOS44MTM3ODldICBbPGZmZmZmZmZmODEw
MDg2OTA+XSA/IHhlbl9zYWZlX2hhbHQrMHgxMC8weDIwDQpbICA0MjkuODEzNzk1XSAgWzxm
ZmZmZmZmZjgxMDE2MGQwPl0gPyBkZWZhdWx0X2lkbGUrMHg0MC8weDkwDQpbICA0MjkuODEz
ODAxXSAgWzxmZmZmZmZmZjgxMDE2NDg2Pl0gPyBjcHVfaWRsZSsweDk2LzB4ZjANClsgIDQy
OS44MTM4MDddICBbPGZmZmZmZmZmODE3MjJkM2M+XSA/IHJlc3RfaW5pdCsweGJjLzB4ZDAN
ClsgIDQyOS44MTM4MTNdICBbPGZmZmZmZmZmODE3MjJjODA+XSA/IGNzdW1fcGFydGlhbF9j
b3B5X2dlbmVyaWMrMHgxNzAvMHgxNzANClsgIDQyOS44MTM4MjFdICBbPGZmZmZmZmZmODFj
ZTBkZjI+XSA/IHN0YXJ0X2tlcm5lbCsweDM5MC8weDM5ZA0KWyAgNDI5LjgxMzgyN10gIFs8
ZmZmZmZmZmY4MWNlMDg4Mj5dID8ga2VybmVsX2luaXQrMHgyMGIvMHgyMGINClsgIDQyOS44
MTM4MzNdICBbPGZmZmZmZmZmODFjZTAzNTY+XSA/IHg4Nl82NF9zdGFydF9yZXNlcnZhdGlv
bnMrMHgxMzEvMHgxMzYNClsgIDQyOS44MTM4MzldICBbPGZmZmZmZmZmODFjZTNkNjA+XSA/
IHhlbl9zdGFydF9rZXJuZWwrMHg3MGQvMHg3MGYNClsgIDQyOS44MTM4NDVdIC0tLVsgZW5k
IHRyYWNlIDJlMjhlZWM5M2I3YThiYTIgXS0tLQ0K
------------002085244038F36F8
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

------------002085244038F36F8--



From xen-devel-bounces@lists.xen.org Sat Oct 13 10:16:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Oct 2012 10:16:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TMykw-00085Q-FU; Sat, 13 Oct 2012 10:15:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <blauwirbel@gmail.com>) id 1TMyku-00085L-2g
	for xen-devel@lists.xensource.com; Sat, 13 Oct 2012 10:15:40 +0000
Received: from [85.158.139.211:4027] by server-4.bemta-5.messagelabs.com id
	1A/DF-18688-B4F39705; Sat, 13 Oct 2012 10:15:39 +0000
X-Env-Sender: blauwirbel@gmail.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1350123333!22222383!1
X-Originating-IP: [209.85.223.171]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25508 invoked from network); 13 Oct 2012 10:15:35 -0000
Received: from mail-ie0-f171.google.com (HELO mail-ie0-f171.google.com)
	(209.85.223.171)
	by server-15.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	13 Oct 2012 10:15:35 -0000
Received: by mail-ie0-f171.google.com with SMTP id s9so7200604iec.30
	for <xen-devel@lists.xensource.com>;
	Sat, 13 Oct 2012 03:15:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=opNRFxNopqY9LAxxRKw5lJMid5phKG91OeN8y5sCBas=;
	b=oD4mUiUOqDi2VU+o0CPeqmYFUEc2BR+XCYMMKoRrov2hQbnQwUvJAXBPf+oKZLLLiI
	hsByxQjh8yyvhlui2knKm6m/1qMkXVxz4EaOZ1aJryObvcjFLB/bHiPs3xzJ48NElKjC
	FkHNSlW8341+2pgvg5Kpp/fasnhH8waWtoaHQTwuB/ehnJKMkPTjjsLifEgjxjlN/5QO
	pwRNsghSJFLaH3ZAPwWBN7bGAPxrRktzU0NiZjOoN+qPgbtdUqdNqJ8mW8q0h6Dk+AUN
	rP5uGZff6x1DODfoIzgd/HZrW5nP2UoGcIxVCETYmUQ5mM3FkZQWZCtxSrJkpWk30rmq
	CJGw==
Received: by 10.50.33.169 with SMTP id s9mr4438077igi.19.1350123333435; Sat,
	13 Oct 2012 03:15:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.53.130 with HTTP; Sat, 13 Oct 2012 03:15:13 -0700 (PDT)
In-Reply-To: <1349469866-1542-1-git-send-email-ehabkost@redhat.com>
References: <1349469866-1542-1-git-send-email-ehabkost@redhat.com>
From: Blue Swirl <blauwirbel@gmail.com>
Date: Sat, 13 Oct 2012 10:15:13 +0000
Message-ID: <CAAu8pHsSjdg1WGdgaTO78sbDvnWE9mrLb6RxOi1N8yQwzmvzVw@mail.gmail.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Evgeny Voevodin <e.voevodin@samsung.com>, qemu-devel@nongnu.org,
	Peter Crosthwaite <peter.crosthwaite@petalogix.com>,
	Max Filippov <jcmvbkbc@gmail.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Guan Xuetao <gxt@mprc.pku.edu.cn>, xen-devel@lists.xensource.com,
	Igor Mitsyanko <i.mitsyanko@samsung.com>,
	Magnus Damm <magnus.damm@gmail.com>, Alexander Graf <agraf@suse.de>,
	=?UTF-8?Q?Herv=C3=A9_Poussineau?= <hpoussin@reactos.org>,
	Maksim Kozlov <m.kozlov@samsung.com>,
	Andrzej Zaborowski <balrogg@gmail.com>,
	Fabien Chouteau <chouteau@adacore.com>, Jan Kiszka <jan.kiszka@web.de>,
	Paul Brook <paul@codesourcery.com>, Anthony Liguori <aliguori@us.ibm.com>,
	Michael Walle <michael@walle.cc>, qemu-ppc@nongnu.org,
	Dmitry Solodkiy <d.solodkiy@samsung.com>,
	Aurelien Jarno <aurelien@aurel32.net>
Subject: Re: [Xen-devel] [QEMU PATCH] create struct for machine
	initialization arguments (v3)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Fri, Oct 5, 2012 at 8:44 PM, Eduardo Habkost <ehabkost@redhat.com> wrote:
> This should help us to:
> - More easily add or remove machine initialization arguments without
>   having to change every single machine init function;
> - More easily make mechanical changes involving the machine init
>   functions in the future;
> - Let machine initialization forward the init arguments to other
>   functions more easily.
>
> This change was half-mechanical process: first the struct was added with
> the local ram_size, boot_device, kernel_*, initrd_*, and cpu_model local
> variable initialization to all functions. Then the compiler helped me
> locate the local variables that are unused, so they could be removed.
>
> Changes v2 -> v3:
>  - Fix typo (missing dot) on main()
>  - Fix another mistake on xen_init_pv() (I had forgotten to add local variables
>    to replace the old function arguments)
>
> Changes v1 -> v2:
>  - Fix mistake on the conversion of pc_xen_hvm_init() and xen_init_pv()

Changelog should be below --- line so that it will be clipped by git am.

The patch does not apply (hw/xilinx_zynq.c), please rebase.

>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  hw/alpha_dp264.c              |  12 ++--
>  hw/an5206.c                   |   8 +--
>  hw/axis_dev88.c               |   9 +--
>  hw/boards.h                   |  16 +++--
>  hw/collie.c                   |   9 +--
>  hw/dummy_m68k.c               |   8 +--
>  hw/exynos4_boards.c           |  16 ++---
>  hw/gumstix.c                  |  11 +---
>  hw/highbank.c                 |  10 ++--
>  hw/integratorcp.c             |  10 ++--
>  hw/kzm.c                      |  10 ++--
>  hw/leon3.c                    |  10 ++--
>  hw/lm32_boards.c              |  18 +++---
>  hw/mainstone.c                |  10 ++--
>  hw/mcf5208.c                  |   8 +--
>  hw/milkymist.c                |  10 ++--
>  hw/mips_fulong2e.c            |   9 ++-
>  hw/mips_jazz.c                |  14 ++---
>  hw/mips_malta.c               |  10 ++--
>  hw/mips_mipssim.c             |  10 ++--
>  hw/mips_r4k.c                 |  10 ++--
>  hw/musicpal.c                 |   9 +--
>  hw/nseries.c                  |  22 ++++---
>  hw/null-machine.c             |   7 +--
>  hw/omap_sx1.c                 |  22 ++++---
>  hw/openrisc_sim.c             |  10 ++--
>  hw/palm.c                     |   9 +--
>  hw/pc_piix.c                  |  50 ++++++++--------
>  hw/petalogix_ml605_mmu.c      |   8 +--
>  hw/petalogix_s3adsp1800_mmu.c |   8 +--
>  hw/ppc/e500plat.c             |  13 +++--
>  hw/ppc/mpc8544ds.c            |  13 +++--
>  hw/ppc405_boards.c            |  25 ++++----
>  hw/ppc440_bamboo.c            |  12 ++--
>  hw/ppc_newworld.c             |  13 +++--
>  hw/ppc_oldworld.c             |  13 +++--
>  hw/ppc_prep.c                 |  13 +++--
>  hw/puv3.c                     |   8 ++-
>  hw/r2d.c                      |   9 +--
>  hw/realview.c                 |  44 +++++++++-----
>  hw/s390-virtio.c              |  13 +++--
>  hw/shix.c                     |   6 +-
>  hw/spapr.c                    |  13 +++--
>  hw/spitz.c                    |  40 ++++++++-----
>  hw/stellaris.c                |  14 ++---
>  hw/sun4m.c                    | 133 ++++++++++++++++++++++++++----------------
>  hw/sun4u.c                    |  39 ++++++++-----
>  hw/tosa.c                     |   9 +--
>  hw/versatilepb.c              |  22 ++++---
>  hw/vexpress.c                 |  26 +++++----
>  hw/virtex_ml507.c             |  10 ++--
>  hw/xen_machine_pv.c           |  11 ++--
>  hw/xilinx_zynq.c              |   9 ++-
>  hw/xtensa_lx60.c              |  22 ++++---
>  hw/xtensa_sim.c               |  11 ++--
>  hw/z2.c                       |   9 +--
>  vl.c                          |   9 ++-
>  57 files changed, 518 insertions(+), 414 deletions(-)
>
> diff --git a/hw/alpha_dp264.c b/hw/alpha_dp264.c
> index 9eb939f..2c2e237 100644
> --- a/hw/alpha_dp264.c
> +++ b/hw/alpha_dp264.c
> @@ -42,13 +42,13 @@ static int clipper_pci_map_irq(PCIDevice *d, int irq_num)
>      return (slot + 1) * 4 + irq_num;
>  }
>
> -static void clipper_init(ram_addr_t ram_size,
> -                         const char *boot_device,
> -                         const char *kernel_filename,
> -                         const char *kernel_cmdline,
> -                         const char *initrd_filename,
> -                         const char *cpu_model)
> +static void clipper_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      CPUAlphaState *cpus[4];
>      PCIBus *pci_bus;
>      ISABus *isa_bus;
> diff --git a/hw/an5206.c b/hw/an5206.c
> index 25407c0..042c5fc 100644
> --- a/hw/an5206.c
> +++ b/hw/an5206.c
> @@ -19,11 +19,11 @@
>
>  /* Board init.  */
>
> -static void an5206_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void an5206_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      CPUM68KState *env;
>      int kernel_size;
>      uint64_t elf_entry;
> diff --git a/hw/axis_dev88.c b/hw/axis_dev88.c
> index eab6327..2fd7356 100644
> --- a/hw/axis_dev88.c
> +++ b/hw/axis_dev88.c
> @@ -242,11 +242,12 @@ static const MemoryRegionOps gpio_ops = {
>  static struct cris_load_info li;
>
>  static
> -void axisdev88_init (ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +void axisdev88_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
>      CRISCPU *cpu;
>      CPUCRISState *env;
>      DeviceState *dev;
> diff --git a/hw/boards.h b/hw/boards.h
> index a2e0a54..813d0e5 100644
> --- a/hw/boards.h
> +++ b/hw/boards.h
> @@ -5,12 +5,16 @@
>
>  #include "qdev.h"
>
> -typedef void QEMUMachineInitFunc(ram_addr_t ram_size,
> -                                 const char *boot_device,
> -                                 const char *kernel_filename,
> -                                 const char *kernel_cmdline,
> -                                 const char *initrd_filename,
> -                                 const char *cpu_model);
> +typedef struct QEMUMachineInitArgs {
> +    ram_addr_t ram_size;
> +    const char *boot_device;
> +    const char *kernel_filename;
> +    const char *kernel_cmdline;
> +    const char *initrd_filename;
> +    const char *cpu_model;
> +} QEMUMachineInitArgs;
> +
> +typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
>
>  typedef void QEMUMachineResetFunc(void);
>
> diff --git a/hw/collie.c b/hw/collie.c
> index 56f89a9..695982a 100644
> --- a/hw/collie.c
> +++ b/hw/collie.c
> @@ -23,11 +23,12 @@ static struct arm_boot_info collie_binfo = {
>      .ram_size = 0x20000000,
>  };
>
> -static void collie_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void collie_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      StrongARMState *s;
>      DriveInfo *dinfo;
>      MemoryRegion *sysmem = get_system_memory();
> diff --git a/hw/dummy_m68k.c b/hw/dummy_m68k.c
> index 7cc7a99..f436a0c 100644
> --- a/hw/dummy_m68k.c
> +++ b/hw/dummy_m68k.c
> @@ -16,11 +16,11 @@
>
>  /* Board init.  */
>
> -static void dummy_m68k_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void dummy_m68k_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      CPUM68KState *env;
>      MemoryRegion *address_space_mem =  get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/exynos4_boards.c b/hw/exynos4_boards.c
> index 4bb0a60..4951064 100644
> --- a/hw/exynos4_boards.c
> +++ b/hw/exynos4_boards.c
> @@ -130,22 +130,22 @@ static Exynos4210State *exynos4_boards_init_common(
>              exynos4_board_ram_size[board_type]);
>  }
>
> -static void nuri_init(ram_addr_t ram_size,
> -        const char *boot_device,
> -        const char *kernel_filename, const char *kernel_cmdline,
> -        const char *initrd_filename, const char *cpu_model)
> +static void nuri_init(QEMUMachineInitArgs *args)
>  {
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      exynos4_boards_init_common(kernel_filename, kernel_cmdline,
>                  initrd_filename, EXYNOS4_BOARD_NURI);
>
>      arm_load_kernel(arm_env_get_cpu(first_cpu), &exynos4_board_binfo);
>  }
>
> -static void smdkc210_init(ram_addr_t ram_size,
> -        const char *boot_device,
> -        const char *kernel_filename, const char *kernel_cmdline,
> -        const char *initrd_filename, const char *cpu_model)
> +static void smdkc210_init(QEMUMachineInitArgs *args)
>  {
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      Exynos4210State *s = exynos4_boards_init_common(kernel_filename,
>              kernel_cmdline, initrd_filename, EXYNOS4_BOARD_SMDKC210);
>
> diff --git a/hw/gumstix.c b/hw/gumstix.c
> index 13a36ea..4103a88 100644
> --- a/hw/gumstix.c
> +++ b/hw/gumstix.c
> @@ -45,10 +45,7 @@
>
>  static const int sector_len = 128 * 1024;
>
> -static void connex_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void connex_init(QEMUMachineInitArgs *args)
>  {
>      PXA2xxState *cpu;
>      DriveInfo *dinfo;
> @@ -84,11 +81,9 @@ static void connex_init(ram_addr_t ram_size,
>                      qdev_get_gpio_in(cpu->gpio, 36));
>  }
>
> -static void verdex_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void verdex_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
>      PXA2xxState *cpu;
>      DriveInfo *dinfo;
>      int be;
> diff --git a/hw/highbank.c b/hw/highbank.c
> index 11aa131..15036b6 100644
> --- a/hw/highbank.c
> +++ b/hw/highbank.c
> @@ -187,11 +187,13 @@ static struct arm_boot_info highbank_binfo;
>   * 32-bit host, set the reg value of memory to 0xf7ff00000 in the
>   * device tree and pass -m 2047 to QEMU.
>   */
> -static void highbank_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void highbank_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      DeviceState *dev;
>      SysBusDevice *busdev;
>      qemu_irq *irqp;
> diff --git a/hw/integratorcp.c b/hw/integratorcp.c
> index d0e2e90..ac0ea83 100644
> --- a/hw/integratorcp.c
> +++ b/hw/integratorcp.c
> @@ -438,11 +438,13 @@ static struct arm_boot_info integrator_binfo = {
>      .board_id = 0x113,
>  };
>
> -static void integratorcp_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void integratorcp_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      ARMCPU *cpu;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/kzm.c b/hw/kzm.c
> index 68cd1b4..d1266d9 100644
> --- a/hw/kzm.c
> +++ b/hw/kzm.c
> @@ -70,11 +70,13 @@ static struct arm_boot_info kzm_binfo = {
>      .board_id = 1722,
>  };
>
> -static void kzm_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void kzm_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      ARMCPU *cpu;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/leon3.c b/hw/leon3.c
> index 878d3aa..6486b7b 100644
> --- a/hw/leon3.c
> +++ b/hw/leon3.c
> @@ -94,13 +94,11 @@ static void leon3_set_pil_in(void *opaque, uint32_t pil_in)
>      }
>  }
>
> -static void leon3_generic_hw_init(ram_addr_t  ram_size,
> -                                  const char *boot_device,
> -                                  const char *kernel_filename,
> -                                  const char *kernel_cmdline,
> -                                  const char *initrd_filename,
> -                                  const char *cpu_model)
> +static void leon3_generic_hw_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      SPARCCPU *cpu;
>      CPUSPARCState   *env;
>      MemoryRegion *address_space_mem = get_system_memory();
> diff --git a/hw/lm32_boards.c b/hw/lm32_boards.c
> index b76d800..c5a62c8 100644
> --- a/hw/lm32_boards.c
> +++ b/hw/lm32_boards.c
> @@ -69,12 +69,10 @@ static void main_cpu_reset(void *opaque)
>      env->deba = reset_info->flash_base;
>  }
>
> -static void lm32_evr_init(ram_addr_t ram_size_not_used,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +static void lm32_evr_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      LM32CPU *cpu;
>      CPULM32State *env;
>      DriveInfo *dinfo;
> @@ -159,12 +157,12 @@ static void lm32_evr_init(ram_addr_t ram_size_not_used,
>      qemu_register_reset(main_cpu_reset, reset_info);
>  }
>
> -static void lm32_uclinux_init(ram_addr_t ram_size_not_used,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +static void lm32_uclinux_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      LM32CPU *cpu;
>      CPULM32State *env;
>      DriveInfo *dinfo;
> diff --git a/hw/mainstone.c b/hw/mainstone.c
> index 97687b6..c0d6034 100644
> --- a/hw/mainstone.c
> +++ b/hw/mainstone.c
> @@ -171,11 +171,13 @@ static void mainstone_common_init(MemoryRegion *address_space_mem,
>      arm_load_kernel(mpu->cpu, &mainstone_binfo);
>  }
>
> -static void mainstone_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void mainstone_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      mainstone_common_init(get_system_memory(), ram_size, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, mainstone, 0x196);
>  }
> diff --git a/hw/mcf5208.c b/hw/mcf5208.c
> index ee25b1b..688bc3c 100644
> --- a/hw/mcf5208.c
> +++ b/hw/mcf5208.c
> @@ -187,11 +187,11 @@ static void mcf5208_sys_init(MemoryRegion *address_space, qemu_irq *pic)
>      }
>  }
>
> -static void mcf5208evb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void mcf5208evb_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      CPUM68KState *env;
>      int kernel_size;
>      uint64_t elf_entry;
> diff --git a/hw/milkymist.c b/hw/milkymist.c
> index 2e7235b..ca9ed43 100644
> --- a/hw/milkymist.c
> +++ b/hw/milkymist.c
> @@ -73,12 +73,12 @@ static void main_cpu_reset(void *opaque)
>  }
>
>  static void
> -milkymist_init(ram_addr_t ram_size_not_used,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +milkymist_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      LM32CPU *cpu;
>      CPULM32State *env;
>      int kernel_size;
> diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c
> index 38e4b86..af7bb50 100644
> --- a/hw/mips_fulong2e.c
> +++ b/hw/mips_fulong2e.c
> @@ -256,10 +256,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
>      }
>  }
>
> -static void mips_fulong2e_init(ram_addr_t ram_size, const char *boot_device,
> -                        const char *kernel_filename, const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void mips_fulong2e_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      char *filename;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c
> index db927f1..14df4d7 100644
> --- a/hw/mips_jazz.c
> +++ b/hw/mips_jazz.c
> @@ -302,21 +302,19 @@ static void mips_jazz_init(MemoryRegion *address_space,
>  }
>
>  static
> -void mips_magnum_init (ram_addr_t ram_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> +void mips_magnum_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
>          mips_jazz_init(get_system_memory(), get_system_io(),
>                         ram_size, cpu_model, JAZZ_MAGNUM);
>  }
>
>  static
> -void mips_pica61_init (ram_addr_t ram_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> +void mips_pica61_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
>      mips_jazz_init(get_system_memory(), get_system_io(),
>                     ram_size, cpu_model, JAZZ_PICA61);
>  }
> diff --git a/hw/mips_malta.c b/hw/mips_malta.c
> index ad23f26..14151f9 100644
> --- a/hw/mips_malta.c
> +++ b/hw/mips_malta.c
> @@ -777,11 +777,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
>  }
>
>  static
> -void mips_malta_init (ram_addr_t ram_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +void mips_malta_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      char *filename;
>      pflash_t *fl;
>      MemoryRegion *system_memory = get_system_memory();
> diff --git a/hw/mips_mipssim.c b/hw/mips_mipssim.c
> index 830f635..a1d3945 100644
> --- a/hw/mips_mipssim.c
> +++ b/hw/mips_mipssim.c
> @@ -131,11 +131,13 @@ static void mipsnet_init(int base, qemu_irq irq, NICInfo *nd)
>  }
>
>  static void
> -mips_mipssim_init (ram_addr_t ram_size,
> -                   const char *boot_device,
> -                   const char *kernel_filename, const char *kernel_cmdline,
> -                   const char *initrd_filename, const char *cpu_model)
> +mips_mipssim_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      char *filename;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c
> index 967a76e..b73cdc3 100644
> --- a/hw/mips_r4k.c
> +++ b/hw/mips_r4k.c
> @@ -151,11 +151,13 @@ static void main_cpu_reset(void *opaque)
>
>  static const int sector_len = 32 * 1024;
>  static
> -void mips_r4k_init (ram_addr_t ram_size,
> -                    const char *boot_device,
> -                    const char *kernel_filename, const char *kernel_cmdline,
> -                    const char *initrd_filename, const char *cpu_model)
> +void mips_r4k_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      char *filename;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/musicpal.c b/hw/musicpal.c
> index f305e21..f06814c 100644
> --- a/hw/musicpal.c
> +++ b/hw/musicpal.c
> @@ -1508,11 +1508,12 @@ static struct arm_boot_info musicpal_binfo = {
>      .board_id = 0x20e,
>  };
>
> -static void musicpal_init(ram_addr_t ram_size,
> -               const char *boot_device,
> -               const char *kernel_filename, const char *kernel_cmdline,
> -               const char *initrd_filename, const char *cpu_model)
> +static void musicpal_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      ARMCPU *cpu;
>      qemu_irq *cpu_pic;
>      qemu_irq pic[32];
> diff --git a/hw/nseries.c b/hw/nseries.c
> index 6df71eb..7ada90d 100644
> --- a/hw/nseries.c
> +++ b/hw/nseries.c
> @@ -1397,21 +1397,27 @@ static struct arm_boot_info n810_binfo = {
>      .atag_board = n810_atag_setup,
>  };
>
> -static void n800_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void n800_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      return n8x0_init(ram_size, boot_device,
>                      kernel_filename, kernel_cmdline, initrd_filename,
>                      cpu_model, &n800_binfo, 800);
>  }
>
> -static void n810_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void n810_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      return n8x0_init(ram_size, boot_device,
>                      kernel_filename, kernel_cmdline, initrd_filename,
>                      cpu_model, &n810_binfo, 810);
> diff --git a/hw/null-machine.c b/hw/null-machine.c
> index 69910d3..d813c08 100644
> --- a/hw/null-machine.c
> +++ b/hw/null-machine.c
> @@ -15,12 +15,7 @@
>  #include "hw/hw.h"
>  #include "hw/boards.h"
>
> -static void machine_none_init(ram_addr_t ram_size,
> -                              const char *boot_device,
> -                              const char *kernel_filename,
> -                              const char *kernel_cmdline,
> -                              const char *initrd_filename,
> -                              const char *cpu_model)
> +static void machine_none_init(QEMUMachineInitArgs *args)
>  {
>  }
>
> diff --git a/hw/omap_sx1.c b/hw/omap_sx1.c
> index abca341..ad17487 100644
> --- a/hw/omap_sx1.c
> +++ b/hw/omap_sx1.c
> @@ -209,20 +209,26 @@ static void sx1_init(ram_addr_t ram_size,
>      //~ qemu_console_resize(ds, 640, 480);
>  }
>
> -static void sx1_init_v1(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void sx1_init_v1(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sx1_init(ram_size, boot_device, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, 1);
>  }
>
> -static void sx1_init_v2(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void sx1_init_v2(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sx1_init(ram_size, boot_device, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, 2);
>  }
> diff --git a/hw/openrisc_sim.c b/hw/openrisc_sim.c
> index 55e97f0..e96a944 100644
> --- a/hw/openrisc_sim.c
> +++ b/hw/openrisc_sim.c
> @@ -90,13 +90,11 @@ static void cpu_openrisc_load_kernel(ram_addr_t ram_size,
>      cpu->env.pc = entry;
>  }
>
> -static void openrisc_sim_init(ram_addr_t ram_size,
> -                              const char *boot_device,
> -                              const char *kernel_filename,
> -                              const char *kernel_cmdline,
> -                              const char *initrd_filename,
> -                              const char *cpu_model)
> +static void openrisc_sim_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>     OpenRISCCPU *cpu = NULL;
>      MemoryRegion *ram;
>      int n;
> diff --git a/hw/palm.c b/hw/palm.c
> index bacdc90..032b8d6 100644
> --- a/hw/palm.c
> +++ b/hw/palm.c
> @@ -190,11 +190,12 @@ static struct arm_boot_info palmte_binfo = {
>      .board_id = 0x331,
>  };
>
> -static void palmte_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void palmte_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      MemoryRegion *address_space_mem = get_system_memory();
>      struct omap_mpu_state_s *mpu;
>      int flash_size = 0x00800000;
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index fd5898f..c9fca05 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -287,13 +287,14 @@ static void pc_init1(MemoryRegion *system_memory,
>      }
>  }
>
> -static void pc_init_pci(ram_addr_t ram_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename,
> -                        const char *kernel_cmdline,
> -                        const char *initrd_filename,
> -                        const char *cpu_model)
> +static void pc_init_pci(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      pc_init1(get_system_memory(),
>               get_system_io(),
>               ram_size, boot_device,
> @@ -301,13 +302,14 @@ static void pc_init_pci(ram_addr_t ram_size,
>               initrd_filename, cpu_model, 1, 1);
>  }
>
> -static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
> -                                    const char *boot_device,
> -                                    const char *kernel_filename,
> -                                    const char *kernel_cmdline,
> -                                    const char *initrd_filename,
> -                                    const char *cpu_model)
> +static void pc_init_pci_no_kvmclock(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      pc_init1(get_system_memory(),
>               get_system_io(),
>               ram_size, boot_device,
> @@ -315,13 +317,14 @@ static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
>               initrd_filename, cpu_model, 1, 0);
>  }
>
> -static void pc_init_isa(ram_addr_t ram_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename,
> -                        const char *kernel_cmdline,
> -                        const char *initrd_filename,
> -                        const char *cpu_model)
> +static void pc_init_isa(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      if (cpu_model == NULL)
>          cpu_model = "486";
>      pc_init1(get_system_memory(),
> @@ -332,19 +335,12 @@ static void pc_init_isa(ram_addr_t ram_size,
>  }
>
>  #ifdef CONFIG_XEN
> -static void pc_xen_hvm_init(ram_addr_t ram_size,
> -                            const char *boot_device,
> -                            const char *kernel_filename,
> -                            const char *kernel_cmdline,
> -                            const char *initrd_filename,
> -                            const char *cpu_model)
> +static void pc_xen_hvm_init(QEMUMachineInitArgs *args)
>  {
>      if (xen_hvm_init() != 0) {
>          hw_error("xen hardware virtual machine initialisation failed");
>      }
> -    pc_init_pci_no_kvmclock(ram_size, boot_device,
> -                            kernel_filename, kernel_cmdline,
> -                            initrd_filename, cpu_model);
> +    pc_init_pci_no_kvmclock(args);
>      xen_vcpu_init();
>  }
>  #endif
> diff --git a/hw/petalogix_ml605_mmu.c b/hw/petalogix_ml605_mmu.c
> index dced648..ace0187 100644
> --- a/hw/petalogix_ml605_mmu.c
> +++ b/hw/petalogix_ml605_mmu.c
> @@ -70,12 +70,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
>  }
>
>  static void
> -petalogix_ml605_init(ram_addr_t ram_size,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +petalogix_ml605_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
>      MemoryRegion *address_space_mem = get_system_memory();
>      DeviceState *dev, *dma, *eth0;
>      MicroBlazeCPU *cpu;
> diff --git a/hw/petalogix_s3adsp1800_mmu.c b/hw/petalogix_s3adsp1800_mmu.c
> index 2cf6882..71c32ce 100644
> --- a/hw/petalogix_s3adsp1800_mmu.c
> +++ b/hw/petalogix_s3adsp1800_mmu.c
> @@ -57,12 +57,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
>  }
>
>  static void
> -petalogix_s3adsp1800_init(ram_addr_t ram_size,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +petalogix_s3adsp1800_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
>      DeviceState *dev;
>      MicroBlazeCPU *cpu;
>      CPUMBState *env;
> diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
> index 60a5cb3..4cfb940 100644
> --- a/hw/ppc/e500plat.c
> +++ b/hw/ppc/e500plat.c
> @@ -25,13 +25,14 @@ static void e500plat_fixup_devtree(PPCE500Params *params, void *fdt)
>                           sizeof(compatible));
>  }
>
> -static void e500plat_init(ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void e500plat_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *boot_device = args->boot_device;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      PPCE500Params params = {
>          .ram_size = ram_size,
>          .boot_device = boot_device,
> diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c
> index 984d21c..e651661 100644
> --- a/hw/ppc/mpc8544ds.c
> +++ b/hw/ppc/mpc8544ds.c
> @@ -25,13 +25,14 @@ static void mpc8544ds_fixup_devtree(PPCE500Params *params, void *fdt)
>                           sizeof(compatible));
>  }
>
> -static void mpc8544ds_init(ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void mpc8544ds_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *boot_device = args->boot_device;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      PPCE500Params params = {
>          .ram_size = ram_size,
>          .boot_device = boot_device,
> diff --git a/hw/ppc405_boards.c b/hw/ppc405_boards.c
> index 476775d..e848cb0 100644
> --- a/hw/ppc405_boards.c
> +++ b/hw/ppc405_boards.c
> @@ -158,7 +158,7 @@ static void ref405ep_fpga_reset (void *opaque)
>      fpga->reg1 = 0x0F;
>  }
>
> -static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
> +static void ref405ep_fpga_init(MemoryRegion *sysmem, uint32_t base)
>  {
>      ref405ep_fpga_t *fpga;
>      MemoryRegion *fpga_memory = g_new(MemoryRegion, 1);
> @@ -170,13 +170,12 @@ static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
>      qemu_register_reset(&ref405ep_fpga_reset, fpga);
>  }
>
> -static void ref405ep_init (ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void ref405ep_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      char *filename;
>      ppc4xx_bd_info_t bd;
>      CPUPPCState *env;
> @@ -484,7 +483,7 @@ static void taihu_cpld_reset (void *opaque)
>      cpld->reg1 = 0x80;
>  }
>
> -static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
> +static void taihu_cpld_init(MemoryRegion *sysmem, uint32_t base)
>  {
>      taihu_cpld_t *cpld;
>      MemoryRegion *cpld_memory = g_new(MemoryRegion, 1);
> @@ -495,13 +494,11 @@ static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
>      qemu_register_reset(&taihu_cpld_reset, cpld);
>  }
>
> -static void taihu_405ep_init(ram_addr_t ram_size,
> -                             const char *boot_device,
> -                             const char *kernel_filename,
> -                             const char *kernel_cmdline,
> -                             const char *initrd_filename,
> -                             const char *cpu_model)
> +static void taihu_405ep_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *initrd_filename = args->initrd_filename;
>      char *filename;
>      qemu_irq *pic;
>      MemoryRegion *sysmem = get_system_memory();
> diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c
> index c198071..78e7985 100644
> --- a/hw/ppc440_bamboo.c
> +++ b/hw/ppc440_bamboo.c
> @@ -157,13 +157,13 @@ static void main_cpu_reset(void *opaque)
>      mmubooke_create_initial_mapping(env, 0, 0);
>  }
>
> -static void bamboo_init(ram_addr_t ram_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename,
> -                        const char *kernel_cmdline,
> -                        const char *initrd_filename,
> -                        const char *cpu_model)
> +static void bamboo_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      unsigned int pci_irq_nrs[4] = { 28, 27, 26, 25 };
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ram_memories
> diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c
> index e95cfe8..e7c0747 100644
> --- a/hw/ppc_newworld.c
> +++ b/hw/ppc_newworld.c
> @@ -129,13 +129,14 @@ static void ppc_core99_reset(void *opaque)
>  }
>
>  /* PowerPC Mac99 hardware initialisation */
> -static void ppc_core99_init (ram_addr_t ram_size,
> -                             const char *boot_device,
> -                             const char *kernel_filename,
> -                             const char *kernel_cmdline,
> -                             const char *initrd_filename,
> -                             const char *cpu_model)
> +static void ppc_core99_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      PowerPCCPU *cpu = NULL;
>      CPUPPCState *env = NULL;
>      char *filename;
> diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c
> index 1dcd8a6..d9f76a8 100644
> --- a/hw/ppc_oldworld.c
> +++ b/hw/ppc_oldworld.c
> @@ -72,13 +72,14 @@ static void ppc_heathrow_reset(void *opaque)
>      cpu_reset(CPU(cpu));
>  }
>
> -static void ppc_heathrow_init (ram_addr_t ram_size,
> -                               const char *boot_device,
> -                               const char *kernel_filename,
> -                               const char *kernel_cmdline,
> -                               const char *initrd_filename,
> -                               const char *cpu_model)
> +static void ppc_heathrow_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      MemoryRegion *sysmem = get_system_memory();
>      PowerPCCPU *cpu = NULL;
>      CPUPPCState *env = NULL;
> diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c
> index 592b7b2..f51f78a 100644
> --- a/hw/ppc_prep.c
> +++ b/hw/ppc_prep.c
> @@ -448,13 +448,14 @@ static void ppc_prep_reset(void *opaque)
>  }
>
>  /* PowerPC PREP hardware initialisation */
> -static void ppc_prep_init (ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void ppc_prep_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      MemoryRegion *sysmem = get_system_memory();
>      PowerPCCPU *cpu = NULL;
>      CPUPPCState *env = NULL;
> diff --git a/hw/puv3.c b/hw/puv3.c
> index 43f7216..764799c 100644
> --- a/hw/puv3.c
> +++ b/hw/puv3.c
> @@ -91,10 +91,12 @@ static void puv3_load_kernel(const char *kernel_filename)
>      graphic_console_init(NULL, NULL, NULL, NULL, NULL);
>  }
>
> -static void puv3_init(ram_addr_t ram_size, const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void puv3_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *initrd_filename = args->initrd_filename;
>      CPUUniCore32State *env;
>
>      if (initrd_filename) {
> diff --git a/hw/r2d.c b/hw/r2d.c
> index 0f16e81..5daa42f 100644
> --- a/hw/r2d.c
> +++ b/hw/r2d.c
> @@ -219,11 +219,12 @@ static struct QEMU_PACKED
>      char kernel_cmdline[256];
>  } boot_params;
>
> -static void r2d_init(ram_addr_t ram_size,
> -              const char *boot_device,
> -             const char *kernel_filename, const char *kernel_cmdline,
> -             const char *initrd_filename, const char *cpu_model)
> +static void r2d_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      SuperHCPU *cpu;
>      CPUSH4State *env;
>      ResetData *reset_info;
> diff --git a/hw/realview.c b/hw/realview.c
> index 19db4d0..8dc4be6 100644
> --- a/hw/realview.c
> +++ b/hw/realview.c
> @@ -330,11 +330,14 @@ static void realview_init(ram_addr_t ram_size,
>      arm_load_kernel(arm_env_get_cpu(first_cpu), &realview_binfo);
>  }
>
> -static void realview_eb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void realview_eb_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      if (!cpu_model) {
>          cpu_model = "arm926";
>      }
> @@ -342,11 +345,14 @@ static void realview_eb_init(ram_addr_t ram_size,
>                    initrd_filename, cpu_model, BOARD_EB);
>  }
>
> -static void realview_eb_mpcore_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void realview_eb_mpcore_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      if (!cpu_model) {
>          cpu_model = "arm11mpcore";
>      }
> @@ -354,11 +360,14 @@ static void realview_eb_mpcore_init(ram_addr_t ram_size,
>                    initrd_filename, cpu_model, BOARD_EB_MPCORE);
>  }
>
> -static void realview_pb_a8_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void realview_pb_a8_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      if (!cpu_model) {
>          cpu_model = "cortex-a8";
>      }
> @@ -366,11 +375,14 @@ static void realview_pb_a8_init(ram_addr_t ram_size,
>                    initrd_filename, cpu_model, BOARD_PB_A8);
>  }
>
> -static void realview_pbx_a9_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void realview_pbx_a9_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      if (!cpu_model) {
>          cpu_model = "cortex-a9";
>      }
> diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
> index 47eed35..39ff178 100644
> --- a/hw/s390-virtio.c
> +++ b/hw/s390-virtio.c
> @@ -151,13 +151,14 @@ unsigned s390_del_running_cpu(CPUS390XState *env)
>  }
>
>  /* PC hardware initialisation */
> -static void s390_init(ram_addr_t my_ram_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename,
> -                      const char *kernel_cmdline,
> -                      const char *initrd_filename,
> -                      const char *cpu_model)
> +static void s390_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t my_ram_size = args->ram_size;
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      CPUS390XState *env = NULL;
>      MemoryRegion *sysmem = get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/shix.c b/hw/shix.c
> index dd9ce17..b56dd54 100644
> --- a/hw/shix.c
> +++ b/hw/shix.c
> @@ -37,11 +37,9 @@
>  #define BIOS_FILENAME "shix_bios.bin"
>  #define BIOS_ADDRESS 0xA0000000
>
> -static void shix_init(ram_addr_t ram_size,
> -               const char *boot_device,
> -              const char *kernel_filename, const char *kernel_cmdline,
> -              const char *initrd_filename, const char *cpu_model)
> +static void shix_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
>      int ret;
>      CPUSH4State *env;
>      struct SH7750State *s;
> diff --git a/hw/spapr.c b/hw/spapr.c
> index c34b767..8921c4d 100644
> --- a/hw/spapr.c
> +++ b/hw/spapr.c
> @@ -603,13 +603,14 @@ static int spapr_vga_init(PCIBus *pci_bus)
>  }
>
>  /* pSeries LPAR / sPAPR hardware init */
> -static void ppc_spapr_init(ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void ppc_spapr_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      PowerPCCPU *cpu;
>      CPUPPCState *env;
>      PCIHostState *phb;
> diff --git a/hw/spitz.c b/hw/spitz.c
> index 20e7835..df829b3 100644
> --- a/hw/spitz.c
> +++ b/hw/spitz.c
> @@ -936,38 +936,46 @@ static void spitz_common_init(ram_addr_t ram_size,
>      sl_bootparam_write(SL_PXA_PARAM_BASE);
>  }
>
> -static void spitz_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void spitz_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      spitz_common_init(ram_size, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, spitz, 0x2c9);
>  }
>
> -static void borzoi_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void borzoi_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      spitz_common_init(ram_size, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, borzoi, 0x33f);
>  }
>
> -static void akita_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void akita_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      spitz_common_init(ram_size, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, akita, 0x2e8);
>  }
>
> -static void terrier_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void terrier_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      spitz_common_init(ram_size, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, terrier, 0x33f);
>  }
> diff --git a/hw/stellaris.c b/hw/stellaris.c
> index 562fbbf..b79c7fb 100644
> --- a/hw/stellaris.c
> +++ b/hw/stellaris.c
> @@ -1358,19 +1358,17 @@ static void stellaris_init(const char *kernel_filename, const char *cpu_model,
>  }
>
>  /* FIXME: Figure out how to generate these from stellaris_boards.  */
> -static void lm3s811evb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void lm3s811evb_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      stellaris_init(kernel_filename, cpu_model, &stellaris_boards[0]);
>  }
>
> -static void lm3s6965evb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void lm3s6965evb_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      stellaris_init(kernel_filename, cpu_model, &stellaris_boards[1]);
>  }
>
> diff --git a/hw/sun4m.c b/hw/sun4m.c
> index c98cd5e..22e011f 100644
> --- a/hw/sun4m.c
> +++ b/hw/sun4m.c
> @@ -1303,92 +1303,118 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
>  };
>
>  /* SPARCstation 5 hardware initialisation */
> -static void ss5_init(ram_addr_t RAM_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void ss5_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[0], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCstation 10 hardware initialisation */
> -static void ss10_init(ram_addr_t RAM_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +static void ss10_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[1], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCserver 600MP hardware initialisation */
> -static void ss600mp_init(ram_addr_t RAM_size,
> -                         const char *boot_device,
> -                         const char *kernel_filename,
> -                         const char *kernel_cmdline,
> -                         const char *initrd_filename, const char *cpu_model)
> +static void ss600mp_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[2], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCstation 20 hardware initialisation */
> -static void ss20_init(ram_addr_t RAM_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +static void ss20_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[3], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCstation Voyager hardware initialisation */
> -static void vger_init(ram_addr_t RAM_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +static void vger_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[4], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCstation LX hardware initialisation */
> -static void ss_lx_init(ram_addr_t RAM_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> +static void ss_lx_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[5], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCstation 4 hardware initialisation */
> -static void ss4_init(ram_addr_t RAM_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void ss4_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[6], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCClassic hardware initialisation */
> -static void scls_init(ram_addr_t RAM_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +static void scls_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[7], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCbook hardware initialisation */
> -static void sbook_init(ram_addr_t RAM_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> +static void sbook_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[8], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
> @@ -1651,21 +1677,27 @@ static void sun4d_hw_init(const struct sun4d_hwdef *hwdef, ram_addr_t RAM_size,
>  }
>
>  /* SPARCserver 1000 hardware initialisation */
> -static void ss1000_init(ram_addr_t RAM_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename, const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void ss1000_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4d_hw_init(&sun4d_hwdefs[0], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCcenter 2000 hardware initialisation */
> -static void ss2000_init(ram_addr_t RAM_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename, const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void ss2000_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4d_hw_init(&sun4d_hwdefs[1], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
> @@ -1845,11 +1877,14 @@ static void sun4c_hw_init(const struct sun4c_hwdef *hwdef, ram_addr_t RAM_size,
>  }
>
>  /* SPARCstation 2 hardware initialisation */
> -static void ss2_init(ram_addr_t RAM_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void ss2_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4c_hw_init(&sun4c_hwdefs[0], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
> diff --git a/hw/sun4u.c b/hw/sun4u.c
> index 07cd042..379768c 100644
> --- a/hw/sun4u.c
> +++ b/hw/sun4u.c
> @@ -930,31 +930,40 @@ static const struct hwdef hwdefs[] = {
>  };
>
>  /* Sun4u hardware initialisation */
> -static void sun4u_init(ram_addr_t RAM_size,
> -                       const char *boot_devices,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> -{
> +static void sun4u_init(QEMUMachineInitArgs *args)
> +{
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_devices = args->boot_device;
>      sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, &hwdefs[0]);
>  }
>
>  /* Sun4v hardware initialisation */
> -static void sun4v_init(ram_addr_t RAM_size,
> -                       const char *boot_devices,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> -{
> +static void sun4v_init(QEMUMachineInitArgs *args)
> +{
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_devices = args->boot_device;
>      sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, &hwdefs[1]);
>  }
>
>  /* Niagara hardware initialisation */
> -static void niagara_init(ram_addr_t RAM_size,
> -                         const char *boot_devices,
> -                         const char *kernel_filename, const char *kernel_cmdline,
> -                         const char *initrd_filename, const char *cpu_model)
> -{
> +static void niagara_init(QEMUMachineInitArgs *args)
> +{
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_devices = args->boot_device;
>      sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, &hwdefs[2]);
>  }
> diff --git a/hw/tosa.c b/hw/tosa.c
> index 297a8c2..512278c 100644
> --- a/hw/tosa.c
> +++ b/hw/tosa.c
> @@ -205,11 +205,12 @@ static struct arm_boot_info tosa_binfo = {
>      .ram_size = 0x04000000,
>  };
>
> -static void tosa_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void tosa_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *rom = g_new(MemoryRegion, 1);
>      PXA2xxState *mpu;
> diff --git a/hw/versatilepb.c b/hw/versatilepb.c
> index 7a92034..686dcc7 100644
> --- a/hw/versatilepb.c
> +++ b/hw/versatilepb.c
> @@ -342,22 +342,28 @@ static void versatile_init(ram_addr_t ram_size,
>      arm_load_kernel(cpu, &versatile_binfo);
>  }
>
> -static void vpb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void vpb_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      versatile_init(ram_size,
>                     boot_device,
>                     kernel_filename, kernel_cmdline,
>                     initrd_filename, cpu_model, 0x183);
>  }
>
> -static void vab_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void vab_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      versatile_init(ram_size,
>                     boot_device,
>                     kernel_filename, kernel_cmdline,
> diff --git a/hw/vexpress.c b/hw/vexpress.c
> index 3596d1e..36503d6 100644
> --- a/hw/vexpress.c
> +++ b/hw/vexpress.c
> @@ -467,25 +467,27 @@ static void vexpress_common_init(const VEDBoardInfo *daughterboard,
>      arm_load_kernel(arm_env_get_cpu(first_cpu), &vexpress_binfo);
>  }
>
> -static void vexpress_a9_init(ram_addr_t ram_size,
> -                             const char *boot_device,
> -                             const char *kernel_filename,
> -                             const char *kernel_cmdline,
> -                             const char *initrd_filename,
> -                             const char *cpu_model)
> +static void vexpress_a9_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      vexpress_common_init(&a9_daughterboard,
>                           ram_size, boot_device, kernel_filename,
>                           kernel_cmdline, initrd_filename, cpu_model);
>  }
>
> -static void vexpress_a15_init(ram_addr_t ram_size,
> -                              const char *boot_device,
> -                              const char *kernel_filename,
> -                              const char *kernel_cmdline,
> -                              const char *initrd_filename,
> -                              const char *cpu_model)
> +static void vexpress_a15_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      vexpress_common_init(&a15_daughterboard,
>                           ram_size, boot_device, kernel_filename,
>                           kernel_cmdline, initrd_filename, cpu_model);
> diff --git a/hw/virtex_ml507.c b/hw/virtex_ml507.c
> index 79bc0d1..a09b27a 100644
> --- a/hw/virtex_ml507.c
> +++ b/hw/virtex_ml507.c
> @@ -183,12 +183,12 @@ static int xilinx_load_device_tree(target_phys_addr_t addr,
>      return fdt_size;
>  }
>
> -static void virtex_init(ram_addr_t ram_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename,
> -                        const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void virtex_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
>      MemoryRegion *address_space_mem = get_system_memory();
>      DeviceState *dev;
>      PowerPCCPU *cpu;
> diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
> index 4b72aa7..4264703 100644
> --- a/hw/xen_machine_pv.c
> +++ b/hw/xen_machine_pv.c
> @@ -29,13 +29,12 @@
>  #include "xen_domainbuild.h"
>  #include "blockdev.h"
>
> -static void xen_init_pv(ram_addr_t ram_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename,
> -                       const char *kernel_cmdline,
> -                       const char *initrd_filename,
> -                       const char *cpu_model)
> +static void xen_init_pv(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      X86CPU *cpu;
>      CPUX86State *env;
>      DriveInfo *dinfo;
> diff --git a/hw/xilinx_zynq.c b/hw/xilinx_zynq.c
> index 7e6c273..83f322e 100644
> --- a/hw/xilinx_zynq.c
> +++ b/hw/xilinx_zynq.c
> @@ -46,10 +46,13 @@ static void gem_init(NICInfo *nd, uint32_t base, qemu_irq irq)
>      sysbus_connect_irq(s, 0, irq);
>  }
>
> -static void zynq_init(ram_addr_t ram_size, const char *boot_device,
> -                        const char *kernel_filename, const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void zynq_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      ARMCPU *cpu;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ext_ram = g_new(MemoryRegion, 1);
> diff --git a/hw/xtensa_lx60.c b/hw/xtensa_lx60.c
> index 3653f65..1fd2c47 100644
> --- a/hw/xtensa_lx60.c
> +++ b/hw/xtensa_lx60.c
> @@ -268,11 +268,14 @@ static void lx_init(const LxBoardDesc *board,
>      }
>  }
>
> -static void xtensa_lx60_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void xtensa_lx60_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      static const LxBoardDesc lx60_board = {
>          .flash_size = 0x400000,
>          .flash_sector_size = 0x10000,
> @@ -283,11 +286,14 @@ static void xtensa_lx60_init(ram_addr_t ram_size,
>              initrd_filename, cpu_model);
>  }
>
> -static void xtensa_lx200_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void xtensa_lx200_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      static const LxBoardDesc lx200_board = {
>          .flash_size = 0x1000000,
>          .flash_sector_size = 0x20000,
> diff --git a/hw/xtensa_sim.c b/hw/xtensa_sim.c
> index 831460b..2e846d8 100644
> --- a/hw/xtensa_sim.c
> +++ b/hw/xtensa_sim.c
> @@ -96,11 +96,14 @@ static void sim_init(ram_addr_t ram_size,
>      }
>  }
>
> -static void xtensa_sim_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void xtensa_sim_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      if (!cpu_model) {
>          cpu_model = XTENSA_DEFAULT_CPU_MODEL;
>      }
> diff --git a/hw/z2.c b/hw/z2.c
> index 289cee9..0927bad 100644
> --- a/hw/z2.c
> +++ b/hw/z2.c
> @@ -294,11 +294,12 @@ static TypeInfo aer915_info = {
>      .class_init    = aer915_class_init,
>  };
>
> -static void z2_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void z2_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      MemoryRegion *address_space_mem = get_system_memory();
>      uint32_t sector_len = 0x10000;
>      PXA2xxState *mpu;
> diff --git a/vl.c b/vl.c
> index 8d305ca..b05e224 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -3624,8 +3624,13 @@ int main(int argc, char **argv, char **envp)
>
>      qdev_machine_init();
>
> -    machine->init(ram_size, boot_devices,
> -                  kernel_filename, kernel_cmdline, initrd_filename, cpu_model);
> +    QEMUMachineInitArgs args = { .ram_size = ram_size,
> +                                 .boot_device = boot_devices,
> +                                 .kernel_filename = kernel_filename,
> +                                 .kernel_cmdline = kernel_cmdline,
> +                                 .initrd_filename = initrd_filename,
> +                                 .cpu_model = cpu_model };
> +    machine->init(&args);
>
>      cpu_synchronize_all_post_init();
>
> --
> 1.7.11.4
>

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

From xen-users-bounces@lists.xen.org Sun Oct 14 12:29:58 2012
Return-path: <xen-users-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Oct 2012 12:29:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-users-bounces@lists.xen.org>)
	id 1TNNIg-0005OW-5T; Sun, 14 Oct 2012 12:28:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <alexander@nubosoftware.com>) id 1TNNId-0005OO-Nk
	for xen-users@lists.xen.org; Sun, 14 Oct 2012 12:28:08 +0000
Received: from [85.158.139.211:7982] by server-9.bemta-5.messagelabs.com id
	45/26-31466-6DFAA705; Sun, 14 Oct 2012 12:28:06 +0000
X-Env-Sender: alexander@nubosoftware.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1350217682!22236997!1
X-Originating-IP: [209.85.215.45]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_10_20,HTML_MESSAGE,RCVD_BY_IP
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6304 invoked from network); 14 Oct 2012 12:28:02 -0000
Received: from mail-la0-f45.google.com (HELO mail-la0-f45.google.com)
	(209.85.215.45)
	by server-3.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	14 Oct 2012 12:28:02 -0000
Received: by mail-la0-f45.google.com with SMTP id m13so3567354lah.32
	for <xen-users@lists.xen.org>; Sun, 14 Oct 2012 05:28:01 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type
	:x-gm-message-state;
	bh=2Q1JTMpzU2j08lytR4aqmZug+fJ8dUCranYfwbCXA5w=;
	b=XqnLotlEr0la/XDYndUhCBK/Hx54LZ3WceOPEuINBFQdmHSwZiFYB+SK+NXlPrxx+M
	499EmJV5lYCcxVRvXVUT7TRWwNntmBljZ4KTJbgTnqrUqrfINfelKIfTRptqHkHRnq56
	nWufQ33Ba5T3s+pYtUDFLNi2AZfF0wvsvIhzBu+svbTRTCSQJtEC5lYmGzPx0zBLffAg
	K1MH1hLiLgSW299JhZNBkVYs4D5DZJcd53Z2kGQIYbUMCEbp2yzQ76N37GhvLrsPPFiT
	GP7MUat8+NkHRPaiYAJxzg///8Xq7gijCJS8TBjJaW3DC+da/O06rwJxPJookIlSr9HY
	opsg==
MIME-Version: 1.0
Received: by 10.112.27.70 with SMTP id r6mr753217lbg.51.1350217681585; Sun, 14
	Oct 2012 05:28:01 -0700 (PDT)
Received: by 10.114.21.200 with HTTP; Sun, 14 Oct 2012 05:28:01 -0700 (PDT)
Date: Sun, 14 Oct 2012 14:28:01 +0200
Message-ID: <CAD1qAb1OqCqfnKS9oSDDemnUvYaOr5+iMcko0t_UTo6msBtgcg@mail.gmail.com>
From: Alexander Silenkov <alexander@nubosoftware.com>
To: xen-users@lists.xen.org
X-Gm-Message-State: ALoCoQkzluDKIbpTRlBy5XCDTV2uG7OVeODrct0FykAiwtwv2qrAlaGJKMPBQVRZpZY/ICfb/aD1
Subject: [Xen-users] need help with passthrough of intel igp
X-BeenThere: xen-users@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen user discussion <xen-users.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-users>,
	<mailto:xen-users-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xen.org>
List-Help: <mailto:xen-users-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-users>,
	<mailto:xen-users-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============5189304526892920072=="
Sender: xen-users-bounces@lists.xen.org
Errors-To: xen-users-bounces@lists.xen.org

--===============5189304526892920072==
Content-Type: multipart/alternative; boundary=bcaec554da7a47c8c404cc040d5f

--bcaec554da7a47c8c404cc040d5f
Content-Type: text/plain; charset=ISO-8859-1

Hello.
It is update of my previous message.
I've checked that I can passthrough discrete graphic card, but when I try
use in IGP (without discrete card in the slot) linux come to desktop
without usage in inteldmr driver indeed. Dmesg show that I have some
problem with ioremap.
Is someone tried do pci/vga passthrough of integrated graphic or know way
to solve that problem?
Best regards.

linux: ubuntu 12.04
kernel: 3.2.28
xen: 4.2

Configuration file:
name = "ubuntu"
uuid = "ba2af635-e612-f901-8157-9adb2ad0f9dd"
maxmem = 1024
memory = 1024
vcpus = 1
builder = "hvm"
kernel = "/usr/lib/xen-default/boot/hvmloader"
boot = "cd"
pae = 1
acpi = 1
apic = 1
hap = 0
viridian = 0
localtime = 0
hpet = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
device_model = "/usr/lib/xen-default/bin/qemu-dm"
sdl = 0
vnc = 1
vncunused = 1
keymap = "en-us"
disk = [ "file:/var/lib/libvirt/images/ubuntu-12.04-x86_64.img,hda,w",
",hdc:cdrom,r" ]
vif = [ "mac=00:16:3e:5d:57:93,bridge=virbr0,script=vif-bridge" ]
parallel = "none"
serial = "pty"
soundhw = "es1370"
xen_platform_pci=1
#stdvga=1
#videoram=64
gfx_passthru=1
#pci=['01:00.0']
pci=['00:00.0','00:02.0','00:1a.0','00:1d.0']

dmesg:
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-31-generic (buildd@allspice) (gcc
version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #50-Ubuntu SMP Fri Sep 7
16:16:45 UTC 2012 (Ubuntu 3.2.0-31.50-generic 3.2.28)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-31-generic
root=UUID=38d88295-c619-4e57-b88d-ca382c2b53a8 ro recovery nomodeset
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009e000 (usable)
[    0.000000]  BIOS-e820: 000000000009e000 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000003f800000 (usable)
[    0.000000]  BIOS-e820: 00000000fc000000 - 00000000feff5000 (reserved)
[    0.000000]  BIOS-e820: 00000000feff5000 - 00000000feff7000 (ACPI NVS)
[    0.000000]  BIOS-e820: 00000000feff7000 - 0000000100000000 (reserved)
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI 2.4 present.
[    0.000000] DMI: Xen HVM domU, BIOS 4.2.0 10/03/2012
[    0.000000] Hypervisor detected: Xen HVM
[    0.000000] Xen version 4.2.
[    0.000000] Xen Platform PCI: I/O protocol version 1
[    0.000000] Netfront and the Xen platform PCI driver have been compiled
for this kernel: unplug emulated NICs.
[    0.000000] Blkfront and the Xen platform PCI driver have been compiled
for this kernel: unplug emulated disks.
[    0.000000] You might have to change the root device
[    0.000000] from /dev/hd[a-d] to /dev/xvd[a-d]
[    0.000000] in your root= kernel command line option
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000
(usable) ==> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000
(usable)
[    0.000000] No AGP bridge found
[    0.000000] last_pfn = 0x3f800 max_arch_pfn = 0x400000000
[    0.000000] MTRR default type: write-back
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF write-combining
[    0.000000]   C0000-FFFFF write-back
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 0E0000000 mask FF0000000 uncachable
[    0.000000]   1 base 0F0000000 mask FF8000000 uncachable
[    0.000000]   2 base 0F8000000 mask FFC000000 uncachable
[    0.000000]   3 disabled
[    0.000000]   4 disabled
[    0.000000]   5 disabled
[    0.000000]   6 disabled
[    0.000000]   7 disabled
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new
0x7010600070106
[    0.000000] found SMP MP-table at [ffff8800000fbba0] fbba0
[    0.000000] initial memory mapped : 0 - 20000000
[    0.000000] Base memory trampoline at [ffff880000099000] 99000 size 20480
[    0.000000] init_memory_mapping: 0000000000000000-000000003f800000
[    0.000000]  0000000000 - 003f800000 page 2M
[    0.000000] kernel direct mapping tables up to 3f800000 @
1fffe000-20000000
[    0.000000] RAMDISK: 364d6000 - 37263000
[    0.000000] ACPI: RSDP 00000000000ea020 00024 (v02    Xen)
[    0.000000] ACPI: XSDT 00000000fc010160 00054 (v01    Xen      HVM
00000000 HVML 00000000)
[    0.000000] ACPI: FACP 00000000fc00fe20 000F4 (v04    Xen      HVM
00000000 HVML 00000000)
[    0.000000] ACPI: DSDT 00000000fc0041a0 0BBF6 (v02    Xen      HVM
00000000 INTL 20100528)
[    0.000000] ACPI: FACS 00000000fc004160 00040
[    0.000000] ACPI: APIC 00000000fc00ff20 000D8 (v02    Xen      HVM
00000000 HVML 00000000)
[    0.000000] ACPI: HPET 00000000fc010070 00038 (v01    Xen      HVM
00000000 HVML 00000000)
[    0.000000] ACPI: WAET 00000000fc0100b0 00028 (v01    Xen      HVM
00000000 HVML 00000000)
[    0.000000] ACPI: SSDT 00000000fc0100e0 00031 (v02    Xen      HVM
00000000 INTL 20100528)
[    0.000000] ACPI: SSDT 00000000fc010120 00031 (v02    Xen      HVM
00000000 INTL 20100528)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at 0000000000000000-000000003f800000
[    0.000000] Initmem setup node 0 0000000000000000-000000003f800000
[    0.000000]   NODE_DATA [000000003f7fb000 - 000000003f7fffff]
[    0.000000]  [ffffea0000000000-ffffea0000ffffff] PMD ->
[ffff88003de00000-ffff88003edfffff] on node 0
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   empty
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[2] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x0000009e
[    0.000000]     0: 0x00000100 -> 0x0003f800
[    0.000000] On node 0 totalpages: 259982
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 5 pages reserved
[    0.000000]   DMA zone: 3913 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 4000 pages used for memmap
[    0.000000]   DMA32 zone: 252000 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0xb008
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x02] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x04] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x06] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x08] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x0a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x0c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x0e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x10] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x12] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x14] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x16] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x18] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x1a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x1c] disabled)
[    0.000000] ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI
0-47
[    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 5 global_irq 5 low level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 low level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 low level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ5 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] ACPI: IRQ10 used by override.
[    0.000000] ACPI: IRQ11 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] SMP: Allowing 15 CPUs, 14 hotplug CPUs
[    0.000000] nr_irqs_gsi: 64
[    0.000000] PM: Registered nosave memory: 000000000009e000 -
00000000000a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 -
00000000000e0000
[    0.000000] PM: Registered nosave memory: 00000000000e0000 -
0000000000100000
[    0.000000] Allocating PCI resources starting at 3f800000 (gap:
3f800000:bc800000)
[    0.000000] Booting paravirtualized kernel on Xen HVM
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:15
nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88003f400000 s83136 r8192
d23360 u131072
[    0.000000] pcpu-alloc: s83136 r8192 d23360 u131072 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14
-- 
[    0.000000] Built 1 zonelists in Node order, mobility grouping on.
Total pages: 255913
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line:
BOOT_IMAGE=/boot/vmlinuz-3.2.0-31-generic
root=UUID=38d88295-c619-4e57-b88d-ca382c2b53a8 ro recovery nomodeset
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] xsave/xrstor: enabled xstate_bv 0x7, cntxt size 0x340
[    0.000000] Checking aperture...
[    0.000000] No AGP bridge found
[    0.000000] Calgary: detecting Calgary via BIOS EBDA area
[    0.000000] Calgary: Unable to locate Rio Grande table in EBDA - bailing!
[    0.000000] Memory: 992164k/1040384k available (6558k kernel code, 456k
absent, 47764k reserved, 6642k data, 920k init)
[    0.000000] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0,
CPUs=15, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000]     RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:16640 nr_irqs:1208 16
[    0.000000] Xen HVM callback vector for event delivery is enabled
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] allocated 8388608 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want
memory cgroups
[    0.000000] HPET config register value = 0xFFFFFFFF. Disabling HPET
[    0.000000] Detected 3392.374 MHz processor.
[    0.008000] Calibrating delay loop (skipped), value calculated using
timer frequency.. 6784.74 BogoMIPS (lpj=13569496)
[    0.008000] pid_max: default: 32768 minimum: 301
[    0.008000] Security Framework initialized
[    0.008000] AppArmor: AppArmor initialized
[    0.008000] Yama: becoming mindful.
[    0.008000] Dentry cache hash table entries: 131072 (order: 8, 1048576
bytes)
[    0.008000] Inode-cache hash table entries: 65536 (order: 7, 524288
bytes)
[    0.008000] Mount-cache hash table entries: 256
[    0.008000] Initializing cgroup subsys cpuacct
[    0.008000] Initializing cgroup subsys memory
[    0.008000] Initializing cgroup subsys devices
[    0.008000] Initializing cgroup subsys freezer
[    0.008000] Initializing cgroup subsys blkio
[    0.008000] Initializing cgroup subsys perf_event
[    0.008000] CPU: Physical Processor ID: 0
[    0.008000] CPU: Processor Core ID: 0
[    0.008000] mce: CPU supports 2 MCE banks
[    0.008000] SMP alternatives: switching to UP code
[    0.060168] ACPI: Core revision 20110623
[    0.063038] ftrace: allocating 27008 entries in 106 pages
[    0.080447] x2apic not enabled, IRQ remapping init failed
[    0.080507] Switched APIC routing to physical flat.
[    0.081362] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=0 pin2=0
[    0.121403] CPU0: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz stepping 07
[    0.121543] Xen: using vcpuop timer interface
[    0.121547] installing Xen timer for CPU 0
[    0.121640] cpu 0 spinlock event irq 69
[    0.121695] Performance Events: SandyBridge events, Intel PMU driver.
[    0.121834] PEBS disabled due to CPU errata.
[    0.121893] ... version:                3
[    0.121947] ... bit width:              48
[    0.122002] ... generic registers:      4
[    0.122056] ... value mask:             0000ffffffffffff
[    0.122112] ... max period:             000000007fffffff
[    0.122169] ... fixed-purpose events:   3
[    0.122223] ... event mask:             000000070000000f
[    0.122394] NMI watchdog enabled, takes one hw-pmu counter.
[    0.122467] Brought up 1 CPUs
[    0.122521] Total of 1 processors activated (6784.74 BogoMIPS).
[    0.124589] devtmpfs: initialized
[    0.125107] EVM: security.selinux
[    0.125161] EVM: security.SMACK64
[    0.125215] EVM: security.capability
[    0.125293] PM: Registering ACPI NVS region at feff5000 (8192 bytes)
[    0.125941] print_constraints: dummy:
[    0.126027] RTC time:  9:42:17, date: 10/14/12
[    0.126123] NET: Registered protocol family 16
[    0.126317] ACPI: bus type pci registered
[    0.126890] PCI: Using configuration type 1 for base access
[    0.127518] bio: create slab <bio-0> at 0
[    0.127641] ACPI: Added _OSI(Module Device)
[    0.127697] ACPI: Added _OSI(Processor Device)
[    0.127752] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.127808] ACPI: Added _OSI(Processor Aggregator Device)
[    0.128685] ACPI: EC: Look up EC in DSDT
[    0.130905] ACPI: Interpreter enabled
[    0.130962] ACPI: (supports S0 S3 S4 S5)
[    0.131173] ACPI: Using IOAPIC for interrupt routing
[    0.176676] ACPI: No dock devices found.
[    0.176762] HEST: Table not found.
[    0.176841] PCI: Using host bridge windows from ACPI; if necessary, use
"pci=nocrs" and report a bug
[    0.177020] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.177260] pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7]
[    0.177347] pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff]
[    0.177433] pci_root PNP0A03:00: host bridge window [mem
0x000a0000-0x000bffff]
[    0.177535] pci_root PNP0A03:00: host bridge window [mem
0xe0000000-0xfbffffff]
[    0.177802] pci 0000:00:00.0: [8086:0100] type 0 class 0x000600
[    0.178591] pci 0000:00:01.0: [8086:7000] type 0 class 0x000601
[    0.179874] pci 0000:00:01.1: [8086:7010] type 0 class 0x000101
[    0.180512] pci 0000:00:01.1: reg 20: [io  0xc340-0xc34f]
[    0.181027] pci 0000:00:01.3: [8086:7113] type 0 class 0x000680
[    0.181049] * Found PM-Timer Bug on the chipset. Due to workarounds for
a bug,
[    0.181050] * this clock source is slow. Consider trying other clock
sources
[    0.182273] pci 0000:00:01.3: quirk: [io  0xb000-0xb03f] claimed by
PIIX4 ACPI
[    0.182924] pci 0000:00:02.0: [8086:0102] type 0 class 0x000300
[    0.188139] pci 0000:00:02.0: reg 10: [mem 0xf1000000-0xf13fffff 64bit]
[    0.196110] pci 0000:00:02.0: reg 18: [mem 0xe0000000-0xefffffff 64bit
pref]
[    0.204016] pci 0000:00:02.0: reg 20: [io  0xc300-0xc33f]
[    0.220928] pci 0000:00:03.0: [5853:0001] type 0 class 0x00ff80
[    0.221137] pci 0000:00:03.0: reg 10: [io  0xc000-0xc0ff]
[    0.221270] pci 0000:00:03.0: reg 14: [mem 0xf0000000-0xf0ffffff pref]
[    0.222160] pci 0000:00:05.0: [1274:5000] type 0 class 0x000401
[    0.222349] pci 0000:00:05.0: reg 10: [io  0xc200-0xc2ff]
[    0.223445] pci 0000:00:06.0: [8086:0100] type 0 class 0x000600
[    0.224977] pci 0000:00:07.0: [8086:1c2d] type 0 class 0x000c03
[    0.225325] pci 0000:00:07.0: reg 10: [mem 0xf1400000-0xf1400fff]
[    0.227340] pci 0000:00:08.0: [8086:1c26] type 0 class 0x000c03
[    0.227704] pci 0000:00:08.0: reg 10: [mem 0xf1401000-0xf1401fff]
[    0.229932] pci 0000:00:1f.0: [8086:1c4c] type 1 class 0x000604
[    0.231457] pci 0000:00:1f.0: PCI bridge to [bus 01-ff]
[    0.231700] pci 0000:00:1f.0:   bridge window [mem 0x21400000-0xf14fffff]
[    0.231738] pci 0000:00:1f.0:   bridge window [mem 0x21500000-0xf14fffff
pref]
[    0.231820] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.232350]  pci0000:00: Unable to request _OSC control (_OSC support
mask: 0x1e)
[    0.399187] ACPI: PCI Interrupt Link [LNKA] (IRQs *5 10 11)
[    0.399776] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
[    0.400316] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
[    0.401374] ACPI: PCI Interrupt Link [LNKD] (IRQs *5 10 11)
[    0.401916] xen/balloon: Initialising balloon driver.
[    0.402036] xen-balloon: Initialising balloon driver.
[    0.402422] vgaarb: device added:
PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.402538] vgaarb: loaded
[    0.402616] vgaarb: bridge control possible 0000:00:02.0
[    0.402887] i2c-core: driver [aat2870] using legacy suspend method
[    0.402971] i2c-core: driver [aat2870] using legacy resume method
[    0.403151] SCSI subsystem initialized
[    0.403498] libata version 3.00 loaded.
[    0.403585] usbcore: registered new interface driver usbfs
[    0.403686] usbcore: registered new interface driver hub
[    0.403803] usbcore: registered new device driver usb
[    0.404017] PCI: Using ACPI for IRQ routing
[    0.404038] PCI: pci_cache_line_size set to 64 bytes
[    0.404043] pci 0000:00:1f.0: no compatible bridge window for [mem
0x21400000-0xf14fffff]
[    0.404148] pci 0000:00:1f.0: no compatible bridge window for [mem
0x21500000-0xf14fffff pref]
[    0.405068] reserve RAM buffer: 000000000009e000 - 000000000009ffff
[    0.405070] reserve RAM buffer: 000000003f800000 - 000000003fffffff
[    0.405228] NetLabel: Initializing
[    0.405307] NetLabel:  domain hash size = 128
[    0.405386] NetLabel:  protocols = UNLABELED CIPSOv4
[    0.405478] NetLabel:  unlabeled traffic allowed by default
[    0.405645] Switching to clocksource xen
[    0.411952] AppArmor: AppArmor Filesystem Enabled
[    0.412102] pnp: PnP ACPI init
[    0.412196] ACPI: bus type pnp registered
[    0.412301] pnp 00:00: [mem 0x00000000-0x0009ffff]
[    0.412344] system 00:00: [mem 0x00000000-0x0009ffff] could not be
reserved
[    0.412434] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.412522] pnp 00:01: [bus 00-ff]
[    0.412525] pnp 00:01: [io  0x0cf8-0x0cff]
[    0.412528] pnp 00:01: [io  0x0000-0x0cf7 window]
[    0.412530] pnp 00:01: [io  0x0d00-0xffff window]
[    0.412533] pnp 00:01: [mem 0x000a0000-0x000bffff window]
[    0.412536] pnp 00:01: [mem 0xe0000000-0xfbffffff window]
[    0.412575] pnp 00:01: Plug and Play ACPI device, IDs PNP0a03 (active)
[    0.412612] pnp 00:02: [io  0x0010-0x001f]
[    0.412615] pnp 00:02: [io  0x0022-0x002d]
[    0.412617] pnp 00:02: [io  0x0030-0x003f]
[    0.412619] pnp 00:02: [io  0x0044-0x005f]
[    0.412621] pnp 00:02: [io  0x0062-0x0063]
[    0.412623] pnp 00:02: [io  0x0065-0x006f]
[    0.412627] pnp 00:02: [io  0x0072-0x007f]
[    0.412629] pnp 00:02: [io  0x0080]
[    0.412631] pnp 00:02: [io  0x0084-0x0086]
[    0.412633] pnp 00:02: [io  0x0088]
[    0.412635] pnp 00:02: [io  0x008c-0x008e]
[    0.412637] pnp 00:02: [io  0x0090-0x009f]
[    0.412639] pnp 00:02: [io  0x00a2-0x00bd]
[    0.412641] pnp 00:02: [io  0x00e0-0x00ef]
[    0.412643] pnp 00:02: [io  0x08a0-0x08a3]
[    0.412645] pnp 00:02: [io  0x0cc0-0x0ccf]
[    0.412647] pnp 00:02: [io  0x04d0-0x04d1]
[    0.412686] system 00:02: [io  0x08a0-0x08a3] has been reserved
[    0.412772] system 00:02: [io  0x0cc0-0x0ccf] has been reserved
[    0.412857] system 00:02: [io  0x04d0-0x04d1] has been reserved
[    0.412941] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.412957] pnp 00:03: [dma 4]
[    0.412959] pnp 00:03: [io  0x0000-0x000f]
[    0.412961] pnp 00:03: [io  0x0081-0x0083]
[    0.412963] pnp 00:03: [io  0x0087]
[    0.412965] pnp 00:03: [io  0x0089-0x008b]
[    0.412967] pnp 00:03: [io  0x008f]
[    0.412969] pnp 00:03: [io  0x00c0-0x00df]
[    0.412971] pnp 00:03: [io  0x0480-0x048f]
[    0.412996] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)
[    0.413007] pnp 00:04: [io  0x0070-0x0071]
[    0.413041] xen: --> pirq=18 -> irq=8 (gsi=8)
[    0.413045] pnp 00:04: [irq 8]
[    0.413071] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.413081] pnp 00:05: [io  0x0061]
[    0.413103] pnp 00:05: Plug and Play ACPI device, IDs PNP0800 (active)
[    0.413128] xen: --> pirq=19 -> irq=12 (gsi=12)
[    0.413131] pnp 00:06: [irq 12]
[    0.413158] pnp 00:06: Plug and Play ACPI device, IDs PNP0f13 (active)
[    0.413174] pnp 00:07: [io  0x0060]
[    0.413176] pnp 00:07: [io  0x0064]
[    0.413188] xen: --> pirq=20 -> irq=1 (gsi=1)
[    0.413190] pnp 00:07: [irq 1]
[    0.413222] pnp 00:07: Plug and Play ACPI device, IDs PNP0303 PNP030b
(active)
[    0.413238] pnp 00:08: [io  0x03f0-0x03f5]
[    0.413241] pnp 00:08: [io  0x03f7]
[    0.413249] xen: --> pirq=21 -> irq=6 (gsi=6)
[    0.413252] pnp 00:08: [irq 6]
[    0.413254] pnp 00:08: [dma 2]
[    0.413283] pnp 00:08: Plug and Play ACPI device, IDs PNP0700 (active)
[    0.413302] pnp 00:09: [io  0x03f8-0x03ff]
[    0.413310] xen: --> pirq=22 -> irq=4 (gsi=4)
[    0.413312] pnp 00:09: [irq 4]
[    0.413348] pnp 00:09: Plug and Play ACPI device, IDs PNP0501 (active)
[    0.413381] pnp 00:0a: [io  0x0378-0x037f]
[    0.413390] xen: --> pirq=23 -> irq=7 (gsi=7)
[    0.413393] pnp 00:0a: [irq 7]
[    0.413418] pnp 00:0a: Plug and Play ACPI device, IDs PNP0400 (active)
[    0.413428] pnp 00:0b: [io  0x10c0-0x1141]
[    0.413430] pnp 00:0b: [io  0xb044-0xb047]
[    0.413462] system 00:0b: [io  0x10c0-0x1141] has been reserved
[    0.413548] system 00:0b: [io  0xb044-0xb047] has been reserved
[    0.413632] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.436733] pnp: PnP ACPI: found 12 devices
[    0.436815] ACPI: ACPI bus type pnp unregistered
[    0.443475] PCI: max bus depth: 1 pci_try_num: 2
[    0.443566] pci 0000:00:1f.0: PCI bridge to [bus 01-01]
[    0.444117] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.444121] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.444123] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.444126] pci_bus 0000:00: resource 7 [mem 0xe0000000-0xfbffffff]
[    0.444168] NET: Registered protocol family 2
[    0.444366] IP route cache hash table entries: 32768 (order: 6, 262144
bytes)
[    0.444895] TCP established hash table entries: 131072 (order: 9,
2097152 bytes)
[    0.445922] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    0.446381] TCP: Hash tables configured (established 131072 bind 65536)
[    0.446468] TCP reno registered
[    0.446551] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.446654] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.446839] NET: Registered protocol family 1
[    0.446994] pci 0000:00:01.0: Activating ISA DMA hang workarounds
[    0.448239] pci 0000:00:02.0: Boot video device
[    0.448556] xen: --> pirq=16 -> irq=44 (gsi=44)
[    0.448559] pci 0000:00:07.0: PCI INT A -> GSI 44 (level, low) -> IRQ 44
[    0.448945] pci 0000:00:07.0: PCI INT A disabled
[    0.449219] xen: --> pirq=17 -> irq=17 (gsi=17)
[    0.449222] pci 0000:00:08.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    0.449589] pci 0000:00:08.0: PCI INT A disabled
[    0.449775] PCI: CLS 0 bytes, default 64
[    0.450176] audit: initializing netlink socket (disabled)
[    0.450267] type=2000 audit(1350207737.458:1): initialized
[    0.470710] Trying to unpack rootfs image as initramfs...
[    0.496832] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    0.508197] VFS: Disk quotas dquot_6.5.2
[    0.508287] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.508629] fuse init (API version 7.17)
[    0.508741] msgmni has been set to 1937
[    0.516184] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 253)
[    0.520108] io scheduler noop registered
[    0.520164] io scheduler deadline registered
[    0.520243] io scheduler cfq registered (default)
[    0.520368] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    0.520438] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[    0.520564] input: Power Button as
/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
[    0.520640] ACPI: Power Button [PWRF]
[    0.520720] input: Sleep Button as
/devices/LNXSYSTM:00/LNXSLPBN:00/input/input1
[    0.520794] ACPI: Sleep Button [SLPF]
[    0.566471] ERST: Table is not found!
[    0.566542] GHES: HEST is not enabled!
[    0.566714] xen: --> pirq=55 -> irq=28 (gsi=28)
[    0.566728] xen-platform-pci 0000:00:03.0: PCI INT A -> GSI 28 (level,
low) -> IRQ 28
[    0.566868] Grant table initialized
[    0.582436] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    0.612102] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    0.677883] 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    0.704218] Linux agpgart interface v0.103
[    0.704383] agpgart-intel 0000:00:00.0: Intel Sandybridge Chipset
[    0.704675] agpgart-intel 0000:00:00.0: detected gtt size: 2097152K
total, 262144K mappable
[    0.705835] agpgart-intel 0000:00:00.0: detected 65536K stolen memory
[    0.706175] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xe0000000
[    0.706439] agpgart-intel 0000:00:06.0: Intel Sandybridge Chipset
[    0.706669] agpgart-intel 0000:00:06.0: detected gtt size: 2097152K
total, 262144K mappable
[    0.707625] agpgart-intel 0000:00:06.0: detected 65536K stolen memory
[    0.712747] brd: module loaded
[    0.713276] loop: module loaded
[    0.720074] blkfront device/vbd/768 num-ring-pages 1 nr_ents 32.
[    0.720628] vbd vbd-5632: 19 xenbus_dev_probe on device/vbd/5632
[    0.720855] vbd vbd-5632: failed to write error node for device/vbd/5632
(19 xenbus_dev_probe on device/vbd/5632)
[    0.721371] ata_piix 0000:00:01.1: version 2.13
[    0.721978] ata_piix 0000:00:01.1: setting latency timer to 64
[    0.723421] blkfront: xvda: barrier: enabled
[    0.728175] scsi0 : ata_piix
[    0.728288] scsi1 : ata_piix
[    0.728367] ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0xc340 irq 14
[    0.728427] ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0xc348 irq 15
[    0.728653] Fixed MDIO Bus: probed
[    0.728716] tun: Universal TUN/TAP device driver, 1.6
[    0.728772] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    0.728877] PPP generic driver version 2.4.2
[    0.728953] Initialising Xen virtual ethernet driver.
[    0.732012] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.732377] ehci_hcd 0000:00:07.0: PCI INT A -> GSI 44 (level, low) ->
IRQ 44
[    0.732633] ehci_hcd 0000:00:07.0: setting latency timer to 64
[    0.732694] ehci_hcd 0000:00:07.0: EHCI Host Controller
[    0.732815] ehci_hcd 0000:00:07.0: new USB bus registered, assigned bus
number 1
[    0.737051] ehci_hcd 0000:00:07.0: Enabling legacy PCI PM
[    0.740295]  xvda: xvda1 xvda2 < xvda5 >
[    0.748531] ehci_hcd 0000:00:07.0: irq 44, io mem 0xf1400000
[    0.755242] Freeing initrd memory: 13876k freed
[    0.764106] ehci_hcd 0000:00:07.0: USB 2.0 started, EHCI 1.00
[    0.764342] hub 1-0:1.0: USB hub found
[    0.764400] hub 1-0:1.0: 2 ports detected
[    0.764667] ehci_hcd 0000:00:08.0: PCI INT A -> GSI 17 (level, low) ->
IRQ 17
[    0.764909] ehci_hcd 0000:00:08.0: setting latency timer to 64
[    0.764975] ehci_hcd 0000:00:08.0: EHCI Host Controller
[    0.765096] ehci_hcd 0000:00:08.0: new USB bus registered, assigned bus
number 2
[    0.769291] ehci_hcd 0000:00:08.0: Enabling legacy PCI PM
[    0.769606] ehci_hcd 0000:00:08.0: irq 17, io mem 0xf1401000
[    0.784095] ehci_hcd 0000:00:08.0: USB 2.0 started, EHCI 1.00
[    0.784320] hub 2-0:1.0: USB hub found
[    0.784391] hub 2-0:1.0: 2 ports detected
[    0.784507] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.784599] uhci_hcd: USB Universal Host Controller Interface driver
[    0.784745] usbcore: registered new interface driver libusual
[    0.784868] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at
0x60,0x64 irq 1,12
[    0.786886] serio: i8042 KBD port at 0x60,0x64 irq 1
[    0.786976] serio: i8042 AUX port at 0x60,0x64 irq 12
[    0.787145] mousedev: PS/2 mouse device common for all mice
[    0.788074] input: AT Translated Set 2 keyboard as
/devices/platform/i8042/serio0/input/input2
[    0.788846] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    0.788941] rtc0: alarms up to one day, 114 bytes nvram
[    0.789115] device-mapper: uevent: version 1.0.3
[    0.789250] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised:
dm-devel@redhat.com
[    0.789355] cpuidle: using governor ladder
[    0.789422] cpuidle: using governor menu
[    0.789489] EFI Variables Facility v0.08 2004-May-17
[    0.789736] TCP cubic registered
[    0.789884] NET: Registered protocol family 10
[    0.790542] NET: Registered protocol family 17
[    0.790614] Registering the dns_resolver key type
[    0.790803] PM: Hibernation image not present or could not be loaded.
[    0.790813] registered taskstats version 1
[    0.821522] XENBUS: Device with no driver: device/vbd/5632
[    0.821608] XENBUS: Device with no driver: device/vkbd/0
[    0.821665] XENBUS: Device with no driver: device/console/0
[    0.821722] XENBUS: Device with no driver: device/pci/0
[    0.821784]   Magic number: 0:713:727
[    0.821848] block loop7: hash matches
[    0.821950] rtc_cmos 00:04: setting system clock to 2012-10-14 09:42:17
UTC (1350207737)
[    0.822032] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    0.822089] EDD information not available.
[    0.897497] ata2.01: NODEV after polling detection
[    0.904651] ata2.00: ATAPI: QEMU DVD-ROM, 0.10.2, max UDMA/100
[    0.906215] ata2.00: configured for MWDMA2
[    0.913894] scsi 1:0:0:0: CD-ROM            QEMU     QEMU DVD-ROM
0.10 PQ: 0 ANSI: 5
[    0.916538] sr0: scsi3-mmc drive: 4x/4x xa/form2 tray
[    0.916622] cdrom: Uniform CD-ROM driver Revision: 3.20
[    0.917156] sr 1:0:0:0: Attached scsi CD-ROM sr0
[    0.917421] sr 1:0:0:0: Attached scsi generic sg0 type 5
[    0.919579] Freeing unused kernel memory: 920k freed
[    0.919987] Write protecting the kernel read-only data: 12288k
[    0.929529] Freeing unused kernel memory: 1616k freed
[    0.936589] Freeing unused kernel memory: 1200k freed
[    0.973570] udevd[86]: starting version 175
[    1.076089] usb 1-1: new high-speed USB device number 2 using ehci_hcd
[    1.173132] FDC 0 is a S82078B
[    1.208542] hub 1-1:1.0: USB hub found
[    1.208634] hub 1-1:1.0: 6 ports detected
[    1.280104] EXT4-fs (xvda1): mounted filesystem with ordered data mode.
Opts: (null)
[    1.320097] usb 2-1: new high-speed USB device number 2 using ehci_hcd
[    1.452824] hub 2-1:1.0: USB hub found
[    1.453022] hub 2-1:1.0: 8 ports detected
[    1.468096] Refined TSC clocksource calibration: 3392.297 MHz.
[    1.524318] usb 1-1.3: new low-speed USB device number 3 using ehci_hcd
[    1.724269] usb 2-1.8: new low-speed USB device number 3 using ehci_hcd
[    2.428384] udevd[256]: starting version 175
[    2.936775] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    2.981330] piix4_smbus 0000:00:01.3: SMBus base address uninitialized -
upgrade BIOS or use force_addr=0xaddr
[    3.048987] input: Microsoft Microsoft 3-Button Mouse with
IntelliEye(TM) as
/devices/pci0000:00/0000:00:07.0/usb1/1-1/1-1.3/1-1.3:1.0/input/input3
[    3.051683] parport_pc 00:0a: reported by Plug and Play ACPI
[    3.052480] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[    3.058984] generic-usb 0003:045E:0040.0001: input,hidraw0: USB HID
v1.10 Mouse [Microsoft Microsoft 3-Button Mouse with IntelliEye(TM)] on
usb-0000:00:07.0-1.3/input0
[    3.081807] input: Dell Dell QuietKey Keyboard as
/devices/pci0000:00/0000:00:08.0/usb2/2-1/2-1.8/2-1.8:1.0/input/input4
[    3.084933] generic-usb 0003:413C:2106.0002: input,hidraw1: USB HID
v1.10 Keyboard [Dell Dell QuietKey Keyboard] on usb-0000:00:08.0-1.8/input0
[    3.085025] usbcore: registered new interface driver usbhid
[    3.085081] usbhid: USB HID core driver
[    3.155218] [drm] Initialized drm 1.1.0 20060810
[    3.155723] input: Xen Virtual Keyboard as /devices/virtual/input/input5
[    3.155844] input: Xen Virtual Pointer as /devices/virtual/input/input6
[    3.319132] ADDRCONF(NETDEV_UP): eth0: link is not ready
[    3.323956] xen: --> pirq=16 -> irq=24 (gsi=24)
[    3.323963] pci 0000:00:02.0: PCI INT A -> GSI 24 (level, low) -> IRQ 24
[    3.324131] pci 0000:00:02.0: setting latency timer to 64
[    3.346769] ppdev: user-space parallel port driver
[    3.389524] resource map sanity check conflict: 0xfeff5018 0xfeff7017
0xfeff7000 0xffffffff reserved
[    3.389529] ------------[ cut here ]------------
[    3.389595] WARNING: at
/build/buildd/linux-3.2.0/arch/x86/mm/ioremap.c:171
__ioremap_caller+0x382/0x390()
[    3.389604] Hardware name: HVM domU
[    3.389605] Info: mapping multiple BARs. Your kernel is fine.
[    3.389606] Modules linked in: snd_seq_device ppdev i915(+) snd joydev
drm_kms_helper drm xen_kbdfront psmouse parport_pc i2c_algo_bit parport
usbhid video serio_raw mac_hid hid soundcore i2c_piix4 snd_page_alloc
shpchp floppy
[    3.389614] Pid: 273, comm: modprobe Not tainted 3.2.0-31-generic
#50-Ubuntu
[    3.389615] Call Trace:
[    3.389620]  [<ffffffff81066d7f>] warn_slowpath_common+0x7f/0xc0
[    3.389622]  [<ffffffff81066e76>] warn_slowpath_fmt+0x46/0x50
[    3.389624]  [<ffffffff81041142>] __ioremap_caller+0x382/0x390
[    3.389642]  [<ffffffffa0171daa>] ? intel_opregion_setup+0x7a/0x220
[i915]
[    3.389644]  [<ffffffff81041184>] ioremap_cache+0x14/0x20
[    3.389653]  [<ffffffffa0171daa>] intel_opregion_setup+0x7a/0x220 [i915]
[    3.389660]  [<ffffffffa013381e>] i915_driver_load+0x22e/0x7a0 [i915]
[    3.389666]  [<ffffffffa00c6fb9>] drm_get_pci_dev+0x199/0x300 [drm]
[    3.389687]  [<ffffffff8130d36a>] ? kobject_get+0x1a/0x30
[    3.389692]  [<ffffffffa00c71ee>] drm_pci_init+0xce/0x130 [drm]
[    3.389694]  [<ffffffffa01a4000>] ? 0xffffffffa01a3fff
[    3.389700]  [<ffffffffa01a408b>] i915_init+0x8b/0x8d [i915]
[    3.389703]  [<ffffffff81002040>] do_one_initcall+0x40/0x180
[    3.389705]  [<ffffffff810a83ee>] sys_init_module+0xbe/0x230
[    3.389721]  [<ffffffff81662b02>] system_call_fastpath+0x16/0x1b
[    3.389723] ---[ end trace d42e3488ecff185c ]---
[    3.391140] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    3.391145] [drm] No driver support for vblank timestamp query.
[    3.391225] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on
minor 0
[    3.460468] xen: --> pirq=53 -> irq=36 (gsi=36)
[    3.460478] snd_ens1370 0000:00:05.0: PCI INT A -> GSI 36 (level, low)
-> IRQ 36
[    3.460650] snd_ens1370 0000:00:05.0: setting latency timer to 64
[    3.576090] input: ImExPS/2 Generic Explorer Mouse as
/devices/platform/i8042/serio1/input/input7
[    8.710797] lp0: using parport0 (interrupt-driven).
[    9.452357] Adding 8390652k swap on /dev/xvda5.  Priority:-1 extents:1
across:8390652k SS
[    9.645607] EXT4-fs (xvda1): re-mounted. Opts: errors=remount-ro
[    9.903837] init: failsafe main process (967) killed by TERM signal
[   10.013561] Bluetooth: Core ver 2.16
[   10.013596] NET: Registered protocol family 31
[   10.013597] Bluetooth: HCI device and connection manager initialized
[   10.013599] Bluetooth: HCI socket layer initialized
[   10.013600] Bluetooth: L2CAP socket layer initialized
[   10.013762] Bluetooth: SCO socket layer initialized
[   10.016323] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   10.016325] Bluetooth: BNEP filters: protocol multicast
[   10.161279] type=1400 audit(1350207746.837:2): apparmor="STATUS"
operation="profile_load" name="/usr/lib/cups/backend/cups-pdf" pid=1031
comm="apparmor_parser"
[   10.161563] type=1400 audit(1350207746.837:3): apparmor="STATUS"
operation="profile_load" name="/usr/sbin/cupsd" pid=1031
comm="apparmor_parser"
[   10.193193] Bluetooth: RFCOMM TTY layer initialized
[   10.193196] Bluetooth: RFCOMM socket layer initialized
[   10.193197] Bluetooth: RFCOMM ver 1.11
[   10.197650] type=1400 audit(1350207746.873:4): apparmor="STATUS"
operation="profile_load"
name="/usr/lib/lightdm/lightdm/lightdm-guest-session-wrapper" pid=1055
comm="apparmor_parser"
[   10.200423] type=1400 audit(1350207746.877:5): apparmor="STATUS"
operation="profile_load" name="/sbin/dhclient" pid=1056
comm="apparmor_parser"
[   10.200660] type=1400 audit(1350207746.877:6): apparmor="STATUS"
operation="profile_load"
name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=1056
comm="apparmor_parser"
[   10.200790] type=1400 audit(1350207746.877:7): apparmor="STATUS"
operation="profile_load" name="/usr/lib/connman/scripts/dhclient-script"
pid=1056 comm="apparmor_parser"
[   10.404221] type=1400 audit(1350207747.081:8): apparmor="STATUS"
operation="profile_load" name="/usr/bin/evince" pid=1057
comm="apparmor_parser"
[   10.411277] type=1400 audit(1350207747.085:9): apparmor="STATUS"
operation="profile_load" name="/usr/bin/evince//launchpad_integration"
pid=1057 comm="apparmor_parser"
[   10.412809] type=1400 audit(1350207747.089:10): apparmor="STATUS"
operation="profile_load" name="/usr/bin/evince//sanitized_helper" pid=1057
comm="apparmor_parser"
[   10.413904] type=1400 audit(1350207747.089:11): apparmor="STATUS"
operation="profile_load" name="/usr/bin/evince-previewer" pid=1057
comm="apparmor_parser"
[   12.358605] init: udev-fallback-graphics main process (1291) terminated
with status 1
[   12.370965] init: Failed to spawn hybrid-gfx main process: unable to
execute: No such file or directory
[   12.384583] init: friendly-recovery post-stop process (661) terminated
with status 1
[   12.385009] init: plymouth-splash main process (1316) terminated with
status 1
[   22.112100] eth0: no IPv6 routers present

--bcaec554da7a47c8c404cc040d5f
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello.<br>It is update of my previous message.<br>I&#39;ve=
 checked that I can passthrough discrete graphic card, but when I try use i=
n IGP (without discrete card in the slot) linux come to desktop without usa=
ge in inteldmr driver indeed. Dmesg show that I have some problem with iore=
map.<br>

Is someone tried do pci/vga passthrough of integrated graphic or know way t=
o solve that problem?<br>Best regards.<br><br>linux: ubuntu 12.04<br>kernel=
: 3.2.28<br>xen: 4.2<br><br>Configuration file:<br>name =3D &quot;ubuntu&qu=
ot;<br>
uuid =3D &quot;ba2af635-e612-f901-8157-9adb2ad0f9dd&quot;<br>maxmem =3D 102=
4<br>memory =3D 1024<br>vcpus =3D 1<br>builder =3D &quot;hvm&quot;<br>
kernel =3D &quot;/usr/lib/xen-default/boot/hvmloader&quot;<br>boot =3D &quo=
t;cd&quot;<br>pae =3D 1<br>acpi =3D 1<br>apic =3D 1<br>hap =3D 0<br>viridia=
n =3D 0<br>localtime =3D 0<br>hpet =3D 0<br>on_poweroff =3D &quot;destroy&q=
uot;<br>on_reboot =3D &quot;restart&quot;<br>

on_crash =3D &quot;restart&quot;<br>device_model =3D &quot;/usr/lib/xen-def=
ault/bin/qemu-dm&quot;<br>sdl =3D 0<br>vnc =3D 1<br>vncunused =3D 1<br>keym=
ap =3D &quot;en-us&quot;<br>disk =3D [ &quot;file:/var/lib/libvirt/images/u=
buntu-12.04-x86_64.img,hda,w&quot;, &quot;,hdc:cdrom,r&quot; ]<br>

vif =3D [ &quot;mac=3D00:16:3e:5d:57:93,bridge=3Dvirbr0,script=3Dvif-bridge=
&quot; ]<br>parallel =3D &quot;none&quot;<br>serial =3D &quot;pty&quot;<br>=
soundhw =3D &quot;es1370&quot;<br>xen_platform_pci=3D1<br>#stdvga=3D1<br>#v=
ideoram=3D64<br>

gfx_passthru=3D1<br>#pci=3D[&#39;01:00.0&#39;]<br>pci=3D[&#39;00:00.0&#39;,=
&#39;00:02.0&#39;,&#39;00:1a.0&#39;,&#39;00:1d.0&#39;]<br><br>dmesg:<br>[=
=A0=A0=A0 0.000000] Initializing cgroup subsys cpuset<br>[=A0=A0=A0 0.00000=
0] Initializing cgroup subsys cpu<br>

[=A0=A0=A0 0.000000] Linux version 3.2.0-31-generic (buildd@allspice) (gcc =
version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #50-Ubuntu SMP Fri Sep 7 16:=
16:45 UTC 2012 (Ubuntu 3.2.0-31.50-generic 3.2.28)<br>
[=A0=A0=A0 0.000000] Command line: BOOT_IMAGE=3D/boot/vmlinuz-3.2.0-31-gene=
ric root=3DUUID=3D38d88295-c619-4e57-b88d-ca382c2b53a8 ro recovery nomodese=
t<br>[=A0=A0=A0 0.000000] KERNEL supported cpus:<br>[=A0=A0=A0 0.000000]=A0=
=A0 Intel GenuineIntel<br>


[=A0=A0=A0 0.000000]=A0=A0 AMD AuthenticAMD<br>[=A0=A0=A0 0.000000]=A0=A0 C=
entaur CentaurHauls<br>[=A0=A0=A0 0.000000] BIOS-provided physical RAM map:=
<br>[=A0=A0=A0 0.000000]=A0 BIOS-e820: 0000000000000000 - 000000000009e000 =
(usable)<br>[=A0=A0=A0 0.000000]=A0 BIOS-e820: 000000000009e000 - 000000000=
00a0000 (reserved)<br>


[=A0=A0=A0 0.000000]=A0 BIOS-e820: 00000000000e0000 - 0000000000100000 (res=
erved)<br>[=A0=A0=A0 0.000000]=A0 BIOS-e820: 0000000000100000 - 000000003f8=
00000 (usable)<br>[=A0=A0=A0 0.000000]=A0 BIOS-e820: 00000000fc000000 - 000=
00000feff5000 (reserved)<br>


[=A0=A0=A0 0.000000]=A0 BIOS-e820: 00000000feff5000 - 00000000feff7000 (ACP=
I NVS)<br>[=A0=A0=A0 0.000000]=A0 BIOS-e820: 00000000feff7000 - 00000001000=
00000 (reserved)<br>[=A0=A0=A0 0.000000] NX (Execute Disable) protection: a=
ctive<br>[=A0=A0=A0 0.000000] DMI 2.4 present.<br>


[=A0=A0=A0 0.000000] DMI: Xen HVM domU, BIOS 4.2.0 10/03/2012<br>[=A0=A0=A0=
 0.000000] Hypervisor detected: Xen HVM<br>[=A0=A0=A0 0.000000] Xen version=
 4.2.<br>[=A0=A0=A0 0.000000] Xen Platform PCI: I/O protocol version 1<br>[=
=A0=A0=A0 0.000000] Netfront and the Xen platform PCI driver have been comp=
iled for this kernel: unplug emulated NICs.<br>


[=A0=A0=A0 0.000000] Blkfront and the Xen platform PCI driver have been com=
piled for this kernel: unplug emulated disks.<br>[=A0=A0=A0 0.000000] You m=
ight have to change the root device<br>[=A0=A0=A0 0.000000] from /dev/hd[a-=
d] to /dev/xvd[a-d]<br>


[=A0=A0=A0 0.000000] in your root=3D kernel command line option<br>[=A0=A0=
=A0 0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usabl=
e) =3D=3D&gt; (reserved)<br>[=A0=A0=A0 0.000000] e820 remove range: 0000000=
0000a0000 - 0000000000100000 (usable)<br>


[=A0=A0=A0 0.000000] No AGP bridge found<br>[=A0=A0=A0 0.000000] last_pfn =
=3D 0x3f800 max_arch_pfn =3D 0x400000000<br>[=A0=A0=A0 0.000000] MTRR defau=
lt type: write-back<br>[=A0=A0=A0 0.000000] MTRR fixed ranges enabled:<br>[=
=A0=A0=A0 0.000000]=A0=A0 00000-9FFFF write-back<br>


[=A0=A0=A0 0.000000]=A0=A0 A0000-BFFFF write-combining<br>[=A0=A0=A0 0.0000=
00]=A0=A0 C0000-FFFFF write-back<br>[=A0=A0=A0 0.000000] MTRR variable rang=
es enabled:<br>[=A0=A0=A0 0.000000]=A0=A0 0 base 0E0000000 mask FF0000000 u=
ncachable<br>[=A0=A0=A0 0.000000]=A0=A0 1 base 0F0000000 mask FF8000000 unc=
achable<br>


[=A0=A0=A0 0.000000]=A0=A0 2 base 0F8000000 mask FFC000000 uncachable<br>[=
=A0=A0=A0 0.000000]=A0=A0 3 disabled<br>[=A0=A0=A0 0.000000]=A0=A0 4 disabl=
ed<br>[=A0=A0=A0 0.000000]=A0=A0 5 disabled<br>[=A0=A0=A0 0.000000]=A0=A0 6=
 disabled<br>[=A0=A0=A0 0.000000]=A0=A0 7 disabled<br>[=A0=A0=A0 0.000000] =
x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106<br>


[=A0=A0=A0 0.000000] found SMP MP-table at [ffff8800000fbba0] fbba0<br>[=A0=
=A0=A0 0.000000] initial memory mapped : 0 - 20000000<br>[=A0=A0=A0 0.00000=
0] Base memory trampoline at [ffff880000099000] 99000 size 20480<br>[=A0=A0=
=A0 0.000000] init_memory_mapping: 0000000000000000-000000003f800000<br>


[=A0=A0=A0 0.000000]=A0 0000000000 - 003f800000 page 2M<br>[=A0=A0=A0 0.000=
000] kernel direct mapping tables up to 3f800000 @ 1fffe000-20000000<br>[=
=A0=A0=A0 0.000000] RAMDISK: 364d6000 - 37263000<br>[=A0=A0=A0 0.000000] AC=
PI: RSDP 00000000000ea020 00024 (v02=A0=A0=A0 Xen)<br>


[=A0=A0=A0 0.000000] ACPI: XSDT 00000000fc010160 00054 (v01=A0=A0=A0 Xen=A0=
=A0=A0=A0=A0 HVM 00000000 HVML 00000000)<br>[=A0=A0=A0 0.000000] ACPI: FACP=
 00000000fc00fe20 000F4 (v04=A0=A0=A0 Xen=A0=A0=A0=A0=A0 HVM 00000000 HVML =
00000000)<br>[=A0=A0=A0 0.000000] ACPI: DSDT 00000000fc0041a0 0BBF6 (v02=A0=
=A0=A0 Xen=A0=A0=A0=A0=A0 HVM 00000000 INTL 20100528)<br>


[=A0=A0=A0 0.000000] ACPI: FACS 00000000fc004160 00040<br>[=A0=A0=A0 0.0000=
00] ACPI: APIC 00000000fc00ff20 000D8 (v02=A0=A0=A0 Xen=A0=A0=A0=A0=A0 HVM =
00000000 HVML 00000000)<br>[=A0=A0=A0 0.000000] ACPI: HPET 00000000fc010070=
 00038 (v01=A0=A0=A0 Xen=A0=A0=A0=A0=A0 HVM 00000000 HVML 00000000)<br>


[=A0=A0=A0 0.000000] ACPI: WAET 00000000fc0100b0 00028 (v01=A0=A0=A0 Xen=A0=
=A0=A0=A0=A0 HVM 00000000 HVML 00000000)<br>[=A0=A0=A0 0.000000] ACPI: SSDT=
 00000000fc0100e0 00031 (v02=A0=A0=A0 Xen=A0=A0=A0=A0=A0 HVM 00000000 INTL =
20100528)<br>[=A0=A0=A0 0.000000] ACPI: SSDT 00000000fc010120 00031 (v02=A0=
=A0=A0 Xen=A0=A0=A0=A0=A0 HVM 00000000 INTL 20100528)<br>


[=A0=A0=A0 0.000000] ACPI: Local APIC address 0xfee00000<br>[=A0=A0=A0 0.00=
0000] No NUMA configuration found<br>[=A0=A0=A0 0.000000] Faking a node at =
0000000000000000-000000003f800000<br>[=A0=A0=A0 0.000000] Initmem setup nod=
e 0 0000000000000000-000000003f800000<br>


[=A0=A0=A0 0.000000]=A0=A0 NODE_DATA [000000003f7fb000 - 000000003f7fffff]<=
br>[=A0=A0=A0 0.000000]=A0 [ffffea0000000000-ffffea0000ffffff] PMD -&gt; [f=
fff88003de00000-ffff88003edfffff] on node 0<br>[=A0=A0=A0 0.000000] Zone PF=
N ranges:<br>[=A0=A0=A0 0.000000]=A0=A0 DMA=A0=A0=A0=A0=A0 0x00000010 -&gt;=
 0x00001000<br>


[=A0=A0=A0 0.000000]=A0=A0 DMA32=A0=A0=A0 0x00001000 -&gt; 0x00100000<br>[=
=A0=A0=A0 0.000000]=A0=A0 Normal=A0=A0 empty<br>[=A0=A0=A0 0.000000] Movabl=
e zone start PFN for each node<br>[=A0=A0=A0 0.000000] early_node_map[2] ac=
tive PFN ranges<br>[=A0=A0=A0 0.000000]=A0=A0=A0=A0 0: 0x00000010 -&gt; 0x0=
000009e<br>


[=A0=A0=A0 0.000000]=A0=A0=A0=A0 0: 0x00000100 -&gt; 0x0003f800<br>[=A0=A0=
=A0 0.000000] On node 0 totalpages: 259982<br>[=A0=A0=A0 0.000000]=A0=A0 DM=
A zone: 64 pages used for memmap<br>[=A0=A0=A0 0.000000]=A0=A0 DMA zone: 5 =
pages reserved<br>[=A0=A0=A0 0.000000]=A0=A0 DMA zone: 3913 pages, LIFO bat=
ch:0<br>


[=A0=A0=A0 0.000000]=A0=A0 DMA32 zone: 4000 pages used for memmap<br>[=A0=
=A0=A0 0.000000]=A0=A0 DMA32 zone: 252000 pages, LIFO batch:31<br>[=A0=A0=
=A0 0.000000] ACPI: PM-Timer IO Port: 0xb008<br>[=A0=A0=A0 0.000000] ACPI: =
Local APIC address 0xfee00000<br>


[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)<br>=
[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x02] disabled)<br=
>[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x04] disabled)<b=
r>[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x06] disabled)<=
br>


[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x08] disabled)<br=
>[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x0a] disabled)<b=
r>[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x0c] disabled)<=
br>[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x0e] disabled)=
<br>


[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x10] disabled)<br=
>[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x12] disabled)<b=
r>[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x14] disabled)<=
br>[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x16] disabled)=
<br>


[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x18] disabled)<br=
>[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x1a] disabled)<b=
r>[=A0=A0=A0 0.000000] ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x1c] disabled)<=
br>[=A0=A0=A0 0.000000] ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base=
[0])<br>


[=A0=A0=A0 0.000000] IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, =
GSI 0-47<br>[=A0=A0=A0 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_=
irq 2 dfl dfl)<br>[=A0=A0=A0 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 g=
lobal_irq 5 low level)<br>


[=A0=A0=A0 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 low =
level)<br>[=A0=A0=A0 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_i=
rq 11 low level)<br>[=A0=A0=A0 0.000000] ACPI: IRQ0 used by override.<br>[=
=A0=A0=A0 0.000000] ACPI: IRQ2 used by override.<br>


[=A0=A0=A0 0.000000] ACPI: IRQ5 used by override.<br>[=A0=A0=A0 0.000000] A=
CPI: IRQ9 used by override.<br>[=A0=A0=A0 0.000000] ACPI: IRQ10 used by ove=
rride.<br>[=A0=A0=A0 0.000000] ACPI: IRQ11 used by override.<br>[=A0=A0=A0 =
0.000000] Using ACPI (MADT) for SMP configuration information<br>


[=A0=A0=A0 0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000<br>[=A0=A0=
=A0 0.000000] SMP: Allowing 15 CPUs, 14 hotplug CPUs<br>[=A0=A0=A0 0.000000=
] nr_irqs_gsi: 64<br>[=A0=A0=A0 0.000000] PM: Registered nosave memory: 000=
000000009e000 - 00000000000a0000<br>


[=A0=A0=A0 0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000=
000000e0000<br>[=A0=A0=A0 0.000000] PM: Registered nosave memory: 000000000=
00e0000 - 0000000000100000<br>[=A0=A0=A0 0.000000] Allocating PCI resources=
 starting at 3f800000 (gap: 3f800000:bc800000)<br>


[=A0=A0=A0 0.000000] Booting paravirtualized kernel on Xen HVM<br>[=A0=A0=
=A0 0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:15 n=
r_node_ids:1<br>[=A0=A0=A0 0.000000] PERCPU: Embedded 28 pages/cpu @ffff880=
03f400000 s83136 r8192 d23360 u131072<br>


[=A0=A0=A0 0.000000] pcpu-alloc: s83136 r8192 d23360 u131072 alloc=3D1*2097=
152<br>[=A0=A0=A0 0.000000] pcpu-alloc: [0] 00 01 02 03 04 05 06 07 08 09 1=
0 11 12 13 14 -- <br>[=A0=A0=A0 0.000000] Built 1 zonelists in Node order, =
mobility grouping on.=A0 Total pages: 255913<br>


[=A0=A0=A0 0.000000] Policy zone: DMA32<br>[=A0=A0=A0 0.000000] Kernel comm=
and line: BOOT_IMAGE=3D/boot/vmlinuz-3.2.0-31-generic root=3DUUID=3D38d8829=
5-c619-4e57-b88d-ca382c2b53a8 ro recovery nomodeset<br>[=A0=A0=A0 0.000000]=
 PID hash table entries: 4096 (order: 3, 32768 bytes)<br>


[=A0=A0=A0 0.000000] xsave/xrstor: enabled xstate_bv 0x7, cntxt size 0x340<=
br>[=A0=A0=A0 0.000000] Checking aperture...<br>[=A0=A0=A0 0.000000] No AGP=
 bridge found<br>[=A0=A0=A0 0.000000] Calgary: detecting Calgary via BIOS E=
BDA area<br>[=A0=A0=A0 0.000000] Calgary: Unable to locate Rio Grande table=
 in EBDA - bailing!<br>


[=A0=A0=A0 0.000000] Memory: 992164k/1040384k available (6558k kernel code,=
 456k absent, 47764k reserved, 6642k data, 920k init)<br>[=A0=A0=A0 0.00000=
0] SLUB: Genslabs=3D15, HWalign=3D64, Order=3D0-3, MinObjects=3D0, CPUs=3D1=
5, Nodes=3D1<br>[=A0=A0=A0 0.000000] Hierarchical RCU implementation.<br>


[=A0=A0=A0 0.000000] =A0=A0=A0 RCU dyntick-idle grace-period acceleration i=
s enabled.<br>[=A0=A0=A0 0.000000] NR_IRQS:16640 nr_irqs:1208 16<br>[=A0=A0=
=A0 0.000000] Xen HVM callback vector for event delivery is enabled<br>[=A0=
=A0=A0 0.000000] Console: colour VGA+ 80x25<br>


[=A0=A0=A0 0.000000] console [tty0] enabled<br>[=A0=A0=A0 0.000000] allocat=
ed 8388608 bytes of page_cgroup<br>[=A0=A0=A0 0.000000] please try &#39;cgr=
oup_disable=3Dmemory&#39; option if you don&#39;t want memory cgroups<br>[=
=A0=A0=A0 0.000000] HPET config register value =3D 0xFFFFFFFF. Disabling HP=
ET<br>


[=A0=A0=A0 0.000000] Detected 3392.374 MHz processor.<br>[=A0=A0=A0 0.00800=
0] Calibrating delay loop (skipped), value calculated using timer frequency=
.. 6784.74 BogoMIPS (lpj=3D13569496)<br>[=A0=A0=A0 0.008000] pid_max: defau=
lt: 32768 minimum: 301<br>


[=A0=A0=A0 0.008000] Security Framework initialized<br>[=A0=A0=A0 0.008000]=
 AppArmor: AppArmor initialized<br>[=A0=A0=A0 0.008000] Yama: becoming mind=
ful.<br>[=A0=A0=A0 0.008000] Dentry cache hash table entries: 131072 (order=
: 8, 1048576 bytes)<br>


[=A0=A0=A0 0.008000] Inode-cache hash table entries: 65536 (order: 7, 52428=
8 bytes)<br>[=A0=A0=A0 0.008000] Mount-cache hash table entries: 256<br>[=
=A0=A0=A0 0.008000] Initializing cgroup subsys cpuacct<br>[=A0=A0=A0 0.0080=
00] Initializing cgroup subsys memory<br>


[=A0=A0=A0 0.008000] Initializing cgroup subsys devices<br>[=A0=A0=A0 0.008=
000] Initializing cgroup subsys freezer<br>[=A0=A0=A0 0.008000] Initializin=
g cgroup subsys blkio<br>[=A0=A0=A0 0.008000] Initializing cgroup subsys pe=
rf_event<br>[=A0=A0=A0 0.008000] CPU: Physical Processor ID: 0<br>


[=A0=A0=A0 0.008000] CPU: Processor Core ID: 0<br>[=A0=A0=A0 0.008000] mce:=
 CPU supports 2 MCE banks<br>[=A0=A0=A0 0.008000] SMP alternatives: switchi=
ng to UP code<br>[=A0=A0=A0 0.060168] ACPI: Core revision 20110623<br>[=A0=
=A0=A0 0.063038] ftrace: allocating 27008 entries in 106 pages<br>


[=A0=A0=A0 0.080447] x2apic not enabled, IRQ remapping init failed<br>[=A0=
=A0=A0 0.080507] Switched APIC routing to physical flat.<br>[=A0=A0=A0 0.08=
1362] ..TIMER: vector=3D0x30 apic1=3D0 pin1=3D2 apic2=3D0 pin2=3D0<br>[=A0=
=A0=A0 0.121403] CPU0: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz stepping 07<=
br>


[=A0=A0=A0 0.121543] Xen: using vcpuop timer interface<br>[=A0=A0=A0 0.1215=
47] installing Xen timer for CPU 0<br>[=A0=A0=A0 0.121640] cpu 0 spinlock e=
vent irq 69<br>[=A0=A0=A0 0.121695] Performance Events: SandyBridge events,=
 Intel PMU driver.<br>


[=A0=A0=A0 0.121834] PEBS disabled due to CPU errata.<br>[=A0=A0=A0 0.12189=
3] ... version:=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 3<br>[=A0=A0=
=A0 0.121947] ... bit width:=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 48<br>[=
=A0=A0=A0 0.122002] ... generic registers:=A0=A0=A0=A0=A0 4<br>[=A0=A0=A0 0=
.122056] ... value mask:=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0000ffffffffff=
ff<br>


[=A0=A0=A0 0.122112] ... max period:=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 00=
0000007fffffff<br>[=A0=A0=A0 0.122169] ... fixed-purpose events:=A0=A0 3<br=
>[=A0=A0=A0 0.122223] ... event mask:=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 0=
00000070000000f<br>[=A0=A0=A0 0.122394] NMI watchdog enabled, takes one hw-=
pmu counter.<br>


[=A0=A0=A0 0.122467] Brought up 1 CPUs<br>[=A0=A0=A0 0.122521] Total of 1 p=
rocessors activated (6784.74 BogoMIPS).<br>[=A0=A0=A0 0.124589] devtmpfs: i=
nitialized<br>[=A0=A0=A0 0.125107] EVM: security.selinux<br>[=A0=A0=A0 0.12=
5161] EVM: security.SMACK64<br>


[=A0=A0=A0 0.125215] EVM: security.capability<br>[=A0=A0=A0 0.125293] PM: R=
egistering ACPI NVS region at feff5000 (8192 bytes)<br>[=A0=A0=A0 0.125941]=
 print_constraints: dummy: <br>[=A0=A0=A0 0.126027] RTC time:=A0 9:42:17, d=
ate: 10/14/12<br>[=A0=A0=A0 0.126123] NET: Registered protocol family 16<br=
>


[=A0=A0=A0 0.126317] ACPI: bus type pci registered<br>[=A0=A0=A0 0.126890] =
PCI: Using configuration type 1 for base access<br>[=A0=A0=A0 0.127518] bio=
: create slab &lt;bio-0&gt; at 0<br>[=A0=A0=A0 0.127641] ACPI: Added _OSI(M=
odule Device)<br>[=A0=A0=A0 0.127697] ACPI: Added _OSI(Processor Device)<br=
>


[=A0=A0=A0 0.127752] ACPI: Added _OSI(3.0 _SCP Extensions)<br>[=A0=A0=A0 0.=
127808] ACPI: Added _OSI(Processor Aggregator Device)<br>[=A0=A0=A0 0.12868=
5] ACPI: EC: Look up EC in DSDT<br>[=A0=A0=A0 0.130905] ACPI: Interpreter e=
nabled<br>[=A0=A0=A0 0.130962] ACPI: (supports S0 S3 S4 S5)<br>


[=A0=A0=A0 0.131173] ACPI: Using IOAPIC for interrupt routing<br>[=A0=A0=A0=
 0.176676] ACPI: No dock devices found.<br>[=A0=A0=A0 0.176762] HEST: Table=
 not found.<br>[=A0=A0=A0 0.176841] PCI: Using host bridge windows from ACP=
I; if necessary, use &quot;pci=3Dnocrs&quot; and report a bug<br>


[=A0=A0=A0 0.177020] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])=
<br>[=A0=A0=A0 0.177260] pci_root PNP0A03:00: host bridge window [io=A0 0x0=
000-0x0cf7]<br>[=A0=A0=A0 0.177347] pci_root PNP0A03:00: host bridge window=
 [io=A0 0x0d00-0xffff]<br>


[=A0=A0=A0 0.177433] pci_root PNP0A03:00: host bridge window [mem 0x000a000=
0-0x000bffff]<br>[=A0=A0=A0 0.177535] pci_root PNP0A03:00: host bridge wind=
ow [mem 0xe0000000-0xfbffffff]<br>[=A0=A0=A0 0.177802] pci 0000:00:00.0: [8=
086:0100] type 0 class 0x000600<br>


[=A0=A0=A0 0.178591] pci 0000:00:01.0: [8086:7000] type 0 class 0x000601<br=
>[=A0=A0=A0 0.179874] pci 0000:00:01.1: [8086:7010] type 0 class 0x000101<b=
r>[=A0=A0=A0 0.180512] pci 0000:00:01.1: reg 20: [io=A0 0xc340-0xc34f]<br>[=
=A0=A0=A0 0.181027] pci 0000:00:01.3: [8086:7113] type 0 class 0x000680<br>


[=A0=A0=A0 0.181049] * Found PM-Timer Bug on the chipset. Due to workaround=
s for a bug,<br>[=A0=A0=A0 0.181050] * this clock source is slow. Consider =
trying other clock sources<br>[=A0=A0=A0 0.182273] pci 0000:00:01.3: quirk:=
 [io=A0 0xb000-0xb03f] claimed by PIIX4 ACPI<br>


[=A0=A0=A0 0.182924] pci 0000:00:02.0: [8086:0102] type 0 class 0x000300<br=
>[=A0=A0=A0 0.188139] pci 0000:00:02.0: reg 10: [mem 0xf1000000-0xf13fffff =
64bit]<br>[=A0=A0=A0 0.196110] pci 0000:00:02.0: reg 18: [mem 0xe0000000-0x=
efffffff 64bit pref]<br>


[=A0=A0=A0 0.204016] pci 0000:00:02.0: reg 20: [io=A0 0xc300-0xc33f]<br>[=
=A0=A0=A0 0.220928] pci 0000:00:03.0: [5853:0001] type 0 class 0x00ff80<br>=
[=A0=A0=A0 0.221137] pci 0000:00:03.0: reg 10: [io=A0 0xc000-0xc0ff]<br>[=
=A0=A0=A0 0.221270] pci 0000:00:03.0: reg 14: [mem 0xf0000000-0xf0ffffff pr=
ef]<br>


[=A0=A0=A0 0.222160] pci 0000:00:05.0: [1274:5000] type 0 class 0x000401<br=
>[=A0=A0=A0 0.222349] pci 0000:00:05.0: reg 10: [io=A0 0xc200-0xc2ff]<br>[=
=A0=A0=A0 0.223445] pci 0000:00:06.0: [8086:0100] type 0 class 0x000600<br>=
[=A0=A0=A0 0.224977] pci 0000:00:07.0: [8086:1c2d] type 0 class 0x000c03<br=
>


[=A0=A0=A0 0.225325] pci 0000:00:07.0: reg 10: [mem 0xf1400000-0xf1400fff]<=
br>[=A0=A0=A0 0.227340] pci 0000:00:08.0: [8086:1c26] type 0 class 0x000c03=
<br>[=A0=A0=A0 0.227704] pci 0000:00:08.0: reg 10: [mem 0xf1401000-0xf1401f=
ff]<br>[=A0=A0=A0 0.229932] pci 0000:00:1f.0: [8086:1c4c] type 1 class 0x00=
0604<br>


[=A0=A0=A0 0.231457] pci 0000:00:1f.0: PCI bridge to [bus 01-ff]<br>[=A0=A0=
=A0 0.231700] pci 0000:00:1f.0:=A0=A0 bridge window [mem 0x21400000-0xf14ff=
fff]<br>[=A0=A0=A0 0.231738] pci 0000:00:1f.0:=A0=A0 bridge window [mem 0x2=
1500000-0xf14fffff pref]<br>


[=A0=A0=A0 0.231820] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]<br=
>[=A0=A0=A0 0.232350]=A0 pci0000:00: Unable to request _OSC control (_OSC s=
upport mask: 0x1e)<br>[=A0=A0=A0 0.399187] ACPI: PCI Interrupt Link [LNKA] =
(IRQs *5 10 11)<br>


[=A0=A0=A0 0.399776] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)<br>[=
=A0=A0=A0 0.400316] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)<br>[=A0=
=A0=A0 0.401374] ACPI: PCI Interrupt Link [LNKD] (IRQs *5 10 11)<br>[=A0=A0=
=A0 0.401916] xen/balloon: Initialising balloon driver.<br>


[=A0=A0=A0 0.402036] xen-balloon: Initialising balloon driver.<br>[=A0=A0=
=A0 0.402422] vgaarb: device added: PCI:0000:00:02.0,decodes=3Dio+mem,owns=
=3Dio+mem,locks=3Dnone<br>[=A0=A0=A0 0.402538] vgaarb: loaded<br>[=A0=A0=A0=
 0.402616] vgaarb: bridge control possible 0000:00:02.0<br>


[=A0=A0=A0 0.402887] i2c-core: driver [aat2870] using legacy suspend method=
<br>[=A0=A0=A0 0.402971] i2c-core: driver [aat2870] using legacy resume met=
hod<br>[=A0=A0=A0 0.403151] SCSI subsystem initialized<br>[=A0=A0=A0 0.4034=
98] libata version 3.00 loaded.<br>


[=A0=A0=A0 0.403585] usbcore: registered new interface driver usbfs<br>[=A0=
=A0=A0 0.403686] usbcore: registered new interface driver hub<br>[=A0=A0=A0=
 0.403803] usbcore: registered new device driver usb<br>[=A0=A0=A0 0.404017=
] PCI: Using ACPI for IRQ routing<br>


[=A0=A0=A0 0.404038] PCI: pci_cache_line_size set to 64 bytes<br>[=A0=A0=A0=
 0.404043] pci 0000:00:1f.0: no compatible bridge window for [mem 0x2140000=
0-0xf14fffff]<br>[=A0=A0=A0 0.404148] pci 0000:00:1f.0: no compatible bridg=
e window for [mem 0x21500000-0xf14fffff pref]<br>


[=A0=A0=A0 0.405068] reserve RAM buffer: 000000000009e000 - 000000000009fff=
f <br>[=A0=A0=A0 0.405070] reserve RAM buffer: 000000003f800000 - 000000003=
fffffff <br>[=A0=A0=A0 0.405228] NetLabel: Initializing<br>[=A0=A0=A0 0.405=
307] NetLabel:=A0 domain hash size =3D 128<br>


[=A0=A0=A0 0.405386] NetLabel:=A0 protocols =3D UNLABELED CIPSOv4<br>[=A0=
=A0=A0 0.405478] NetLabel:=A0 unlabeled traffic allowed by default<br>[=A0=
=A0=A0 0.405645] Switching to clocksource xen<br>[=A0=A0=A0 0.411952] AppAr=
mor: AppArmor Filesystem Enabled<br>


[=A0=A0=A0 0.412102] pnp: PnP ACPI init<br>[=A0=A0=A0 0.412196] ACPI: bus t=
ype pnp registered<br>[=A0=A0=A0 0.412301] pnp 00:00: [mem 0x00000000-0x000=
9ffff]<br>[=A0=A0=A0 0.412344] system 00:00: [mem 0x00000000-0x0009ffff] co=
uld not be reserved<br>


[=A0=A0=A0 0.412434] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (=
active)<br>[=A0=A0=A0 0.412522] pnp 00:01: [bus 00-ff]<br>[=A0=A0=A0 0.4125=
25] pnp 00:01: [io=A0 0x0cf8-0x0cff]<br>[=A0=A0=A0 0.412528] pnp 00:01: [io=
=A0 0x0000-0x0cf7 window]<br>


[=A0=A0=A0 0.412530] pnp 00:01: [io=A0 0x0d00-0xffff window]<br>[=A0=A0=A0 =
0.412533] pnp 00:01: [mem 0x000a0000-0x000bffff window]<br>[=A0=A0=A0 0.412=
536] pnp 00:01: [mem 0xe0000000-0xfbffffff window]<br>[=A0=A0=A0 0.412575] =
pnp 00:01: Plug and Play ACPI device, IDs PNP0a03 (active)<br>


[=A0=A0=A0 0.412612] pnp 00:02: [io=A0 0x0010-0x001f]<br>[=A0=A0=A0 0.41261=
5] pnp 00:02: [io=A0 0x0022-0x002d]<br>[=A0=A0=A0 0.412617] pnp 00:02: [io=
=A0 0x0030-0x003f]<br>[=A0=A0=A0 0.412619] pnp 00:02: [io=A0 0x0044-0x005f]=
<br>[=A0=A0=A0 0.412621] pnp 00:02: [io=A0 0x0062-0x0063]<br>


[=A0=A0=A0 0.412623] pnp 00:02: [io=A0 0x0065-0x006f]<br>[=A0=A0=A0 0.41262=
7] pnp 00:02: [io=A0 0x0072-0x007f]<br>[=A0=A0=A0 0.412629] pnp 00:02: [io=
=A0 0x0080]<br>[=A0=A0=A0 0.412631] pnp 00:02: [io=A0 0x0084-0x0086]<br>[=
=A0=A0=A0 0.412633] pnp 00:02: [io=A0 0x0088]<br>


[=A0=A0=A0 0.412635] pnp 00:02: [io=A0 0x008c-0x008e]<br>[=A0=A0=A0 0.41263=
7] pnp 00:02: [io=A0 0x0090-0x009f]<br>[=A0=A0=A0 0.412639] pnp 00:02: [io=
=A0 0x00a2-0x00bd]<br>[=A0=A0=A0 0.412641] pnp 00:02: [io=A0 0x00e0-0x00ef]=
<br>[=A0=A0=A0 0.412643] pnp 00:02: [io=A0 0x08a0-0x08a3]<br>


[=A0=A0=A0 0.412645] pnp 00:02: [io=A0 0x0cc0-0x0ccf]<br>[=A0=A0=A0 0.41264=
7] pnp 00:02: [io=A0 0x04d0-0x04d1]<br>[=A0=A0=A0 0.412686] system 00:02: [=
io=A0 0x08a0-0x08a3] has been reserved<br>[=A0=A0=A0 0.412772] system 00:02=
: [io=A0 0x0cc0-0x0ccf] has been reserved<br>


[=A0=A0=A0 0.412857] system 00:02: [io=A0 0x04d0-0x04d1] has been reserved<=
br>[=A0=A0=A0 0.412941] system 00:02: Plug and Play ACPI device, IDs PNP0c0=
2 (active)<br>[=A0=A0=A0 0.412957] pnp 00:03: [dma 4]<br>[=A0=A0=A0 0.41295=
9] pnp 00:03: [io=A0 0x0000-0x000f]<br>


[=A0=A0=A0 0.412961] pnp 00:03: [io=A0 0x0081-0x0083]<br>[=A0=A0=A0 0.41296=
3] pnp 00:03: [io=A0 0x0087]<br>[=A0=A0=A0 0.412965] pnp 00:03: [io=A0 0x00=
89-0x008b]<br>[=A0=A0=A0 0.412967] pnp 00:03: [io=A0 0x008f]<br>[=A0=A0=A0 =
0.412969] pnp 00:03: [io=A0 0x00c0-0x00df]<br>


[=A0=A0=A0 0.412971] pnp 00:03: [io=A0 0x0480-0x048f]<br>[=A0=A0=A0 0.41299=
6] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)<br>[=A0=A0=A0=
 0.413007] pnp 00:04: [io=A0 0x0070-0x0071]<br>[=A0=A0=A0 0.413041] xen: --=
&gt; pirq=3D18 -&gt; irq=3D8 (gsi=3D8)<br>


[=A0=A0=A0 0.413045] pnp 00:04: [irq 8]<br>[=A0=A0=A0 0.413071] pnp 00:04: =
Plug and Play ACPI device, IDs PNP0b00 (active)<br>[=A0=A0=A0 0.413081] pnp=
 00:05: [io=A0 0x0061]<br>[=A0=A0=A0 0.413103] pnp 00:05: Plug and Play ACP=
I device, IDs PNP0800 (active)<br>


[=A0=A0=A0 0.413128] xen: --&gt; pirq=3D19 -&gt; irq=3D12 (gsi=3D12)<br>[=
=A0=A0=A0 0.413131] pnp 00:06: [irq 12]<br>[=A0=A0=A0 0.413158] pnp 00:06: =
Plug and Play ACPI device, IDs PNP0f13 (active)<br>[=A0=A0=A0 0.413174] pnp=
 00:07: [io=A0 0x0060]<br>[=A0=A0=A0 0.413176] pnp 00:07: [io=A0 0x0064]<br=
>


[=A0=A0=A0 0.413188] xen: --&gt; pirq=3D20 -&gt; irq=3D1 (gsi=3D1)<br>[=A0=
=A0=A0 0.413190] pnp 00:07: [irq 1]<br>[=A0=A0=A0 0.413222] pnp 00:07: Plug=
 and Play ACPI device, IDs PNP0303 PNP030b (active)<br>[=A0=A0=A0 0.413238]=
 pnp 00:08: [io=A0 0x03f0-0x03f5]<br>


[=A0=A0=A0 0.413241] pnp 00:08: [io=A0 0x03f7]<br>[=A0=A0=A0 0.413249] xen:=
 --&gt; pirq=3D21 -&gt; irq=3D6 (gsi=3D6)<br>[=A0=A0=A0 0.413252] pnp 00:08=
: [irq 6]<br>[=A0=A0=A0 0.413254] pnp 00:08: [dma 2]<br>[=A0=A0=A0 0.413283=
] pnp 00:08: Plug and Play ACPI device, IDs PNP0700 (active)<br>


[=A0=A0=A0 0.413302] pnp 00:09: [io=A0 0x03f8-0x03ff]<br>[=A0=A0=A0 0.41331=
0] xen: --&gt; pirq=3D22 -&gt; irq=3D4 (gsi=3D4)<br>[=A0=A0=A0 0.413312] pn=
p 00:09: [irq 4]<br>[=A0=A0=A0 0.413348] pnp 00:09: Plug and Play ACPI devi=
ce, IDs PNP0501 (active)<br>


[=A0=A0=A0 0.413381] pnp 00:0a: [io=A0 0x0378-0x037f]<br>[=A0=A0=A0 0.41339=
0] xen: --&gt; pirq=3D23 -&gt; irq=3D7 (gsi=3D7)<br>[=A0=A0=A0 0.413393] pn=
p 00:0a: [irq 7]<br>[=A0=A0=A0 0.413418] pnp 00:0a: Plug and Play ACPI devi=
ce, IDs PNP0400 (active)<br>


[=A0=A0=A0 0.413428] pnp 00:0b: [io=A0 0x10c0-0x1141]<br>[=A0=A0=A0 0.41343=
0] pnp 00:0b: [io=A0 0xb044-0xb047]<br>[=A0=A0=A0 0.413462] system 00:0b: [=
io=A0 0x10c0-0x1141] has been reserved<br>[=A0=A0=A0 0.413548] system 00:0b=
: [io=A0 0xb044-0xb047] has been reserved<br>


[=A0=A0=A0 0.413632] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (=
active)<br>[=A0=A0=A0 0.436733] pnp: PnP ACPI: found 12 devices<br>[=A0=A0=
=A0 0.436815] ACPI: ACPI bus type pnp unregistered<br>[=A0=A0=A0 0.443475] =
PCI: max bus depth: 1 pci_try_num: 2<br>


[=A0=A0=A0 0.443566] pci 0000:00:1f.0: PCI bridge to [bus 01-01]<br>[=A0=A0=
=A0 0.444117] pci_bus 0000:00: resource 4 [io=A0 0x0000-0x0cf7]<br>[=A0=A0=
=A0 0.444121] pci_bus 0000:00: resource 5 [io=A0 0x0d00-0xffff]<br>[=A0=A0=
=A0 0.444123] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]<br>


[=A0=A0=A0 0.444126] pci_bus 0000:00: resource 7 [mem 0xe0000000-0xfbffffff=
]<br>[=A0=A0=A0 0.444168] NET: Registered protocol family 2<br>[=A0=A0=A0 0=
.444366] IP route cache hash table entries: 32768 (order: 6, 262144 bytes)<=
br>[=A0=A0=A0 0.444895] TCP established hash table entries: 131072 (order: =
9, 2097152 bytes)<br>


[=A0=A0=A0 0.445922] TCP bind hash table entries: 65536 (order: 8, 1048576 =
bytes)<br>[=A0=A0=A0 0.446381] TCP: Hash tables configured (established 131=
072 bind 65536)<br>[=A0=A0=A0 0.446468] TCP reno registered<br>[=A0=A0=A0 0=
.446551] UDP hash table entries: 512 (order: 2, 16384 bytes)<br>


[=A0=A0=A0 0.446654] UDP-Lite hash table entries: 512 (order: 2, 16384 byte=
s)<br>[=A0=A0=A0 0.446839] NET: Registered protocol family 1<br>[=A0=A0=A0 =
0.446994] pci 0000:00:01.0: Activating ISA DMA hang workarounds<br>[=A0=A0=
=A0 0.448239] pci 0000:00:02.0: Boot video device<br>


[=A0=A0=A0 0.448556] xen: --&gt; pirq=3D16 -&gt; irq=3D44 (gsi=3D44)<br>[=
=A0=A0=A0 0.448559] pci 0000:00:07.0: PCI INT A -&gt; GSI 44 (level, low) -=
&gt; IRQ 44<br>[=A0=A0=A0 0.448945] pci 0000:00:07.0: PCI INT A disabled<br=
>[=A0=A0=A0 0.449219] xen: --&gt; pirq=3D17 -&gt; irq=3D17 (gsi=3D17)<br>


[=A0=A0=A0 0.449222] pci 0000:00:08.0: PCI INT A -&gt; GSI 17 (level, low) =
-&gt; IRQ 17<br>[=A0=A0=A0 0.449589] pci 0000:00:08.0: PCI INT A disabled<b=
r>[=A0=A0=A0 0.449775] PCI: CLS 0 bytes, default 64<br>[=A0=A0=A0 0.450176]=
 audit: initializing netlink socket (disabled)<br>


[=A0=A0=A0 0.450267] type=3D2000 audit(1350207737.458:1): initialized<br>[=
=A0=A0=A0 0.470710] Trying to unpack rootfs image as initramfs...<br>[=A0=
=A0=A0 0.496832] HugeTLB registered 2 MB page size, pre-allocated 0 pages<b=
r>[=A0=A0=A0 0.508197] VFS: Disk quotas dquot_6.5.2<br>


[=A0=A0=A0 0.508287] Dquot-cache hash table entries: 512 (order 0, 4096 byt=
es)<br>[=A0=A0=A0 0.508629] fuse init (API version 7.17)<br>[=A0=A0=A0 0.50=
8741] msgmni has been set to 1937<br>[=A0=A0=A0 0.516184] Block layer SCSI =
generic (bsg) driver version 0.4 loaded (major 253)<br>


[=A0=A0=A0 0.520108] io scheduler noop registered<br>[=A0=A0=A0 0.520164] i=
o scheduler deadline registered<br>[=A0=A0=A0 0.520243] io scheduler cfq re=
gistered (default)<br>[=A0=A0=A0 0.520368] pci_hotplug: PCI Hot Plug PCI Co=
re version: 0.5<br>

[=A0=A0=A0 0.520438] pciehp: PCI Express Hot Plug Controller Driver version=
: 0.4<br>
[=A0=A0=A0 0.520564] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:0=
0/input/input0<br>[=A0=A0=A0 0.520640] ACPI: Power Button [PWRF]<br>[=A0=A0=
=A0 0.520720] input: Sleep Button as /devices/LNXSYSTM:00/LNXSLPBN:00/input=
/input1<br>[=A0=A0=A0 0.520794] ACPI: Sleep Button [SLPF]<br>


[=A0=A0=A0 0.566471] ERST: Table is not found!<br>[=A0=A0=A0 0.566542] GHES=
: HEST is not enabled!<br>[=A0=A0=A0 0.566714] xen: --&gt; pirq=3D55 -&gt; =
irq=3D28 (gsi=3D28)<br>[=A0=A0=A0 0.566728] xen-platform-pci 0000:00:03.0: =
PCI INT A -&gt; GSI 28 (level, low) -&gt; IRQ 28<br>


[=A0=A0=A0 0.566868] Grant table initialized<br>[=A0=A0=A0 0.582436] Serial=
: 8250/16550 driver, 32 ports, IRQ sharing enabled<br>[=A0=A0=A0 0.612102] =
serial8250: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A<br>[=A0=A0=A0 0.6778=
83] 00:09: ttyS0 at I/O 0x3f8 (irq =3D 4) is a 16550A<br>


[=A0=A0=A0 0.704218] Linux agpgart interface v0.103<br>[=A0=A0=A0 0.704383]=
 agpgart-intel 0000:00:00.0: Intel Sandybridge Chipset<br>[=A0=A0=A0 0.7046=
75] agpgart-intel 0000:00:00.0: detected gtt size: 2097152K total, 262144K =
mappable<br>[=A0=A0=A0 0.705835] agpgart-intel 0000:00:00.0: detected 65536=
K stolen memory<br>


[=A0=A0=A0 0.706175] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xe=
0000000<br>[=A0=A0=A0 0.706439] agpgart-intel 0000:00:06.0: Intel Sandybrid=
ge Chipset<br>[=A0=A0=A0 0.706669] agpgart-intel 0000:00:06.0: detected gtt=
 size: 2097152K total, 262144K mappable<br>


[=A0=A0=A0 0.707625] agpgart-intel 0000:00:06.0: detected 65536K stolen mem=
ory<br>[=A0=A0=A0 0.712747] brd: module loaded<br>[=A0=A0=A0 0.713276] loop=
: module loaded<br>[=A0=A0=A0 0.720074] blkfront device/vbd/768 num-ring-pa=
ges 1 nr_ents 32.<br>


[=A0=A0=A0 0.720628] vbd vbd-5632: 19 xenbus_dev_probe on device/vbd/5632<b=
r>[=A0=A0=A0 0.720855] vbd vbd-5632: failed to write error node for device/=
vbd/5632 (19 xenbus_dev_probe on device/vbd/5632)<br>[=A0=A0=A0 0.721371] a=
ta_piix 0000:00:01.1: version 2.13<br>


[=A0=A0=A0 0.721978] ata_piix 0000:00:01.1: setting latency timer to 64<br>=
[=A0=A0=A0 0.723421] blkfront: xvda: barrier: enabled<br>[=A0=A0=A0 0.72817=
5] scsi0 : ata_piix<br>[=A0=A0=A0 0.728288] scsi1 : ata_piix<br>[=A0=A0=A0 =
0.728367] ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0xc340 irq 14<br>


[=A0=A0=A0 0.728427] ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0xc348=
 irq 15<br>[=A0=A0=A0 0.728653] Fixed MDIO Bus: probed<br>[=A0=A0=A0 0.7287=
16] tun: Universal TUN/TAP device driver, 1.6<br>[=A0=A0=A0 0.728772] tun: =
(C) 1999-2004 Max Krasnyansky &lt;<a href=3D"mailto:maxk@qualcomm.com" targ=
et=3D"_blank">maxk@qualcomm.com</a>&gt;<br>


[=A0=A0=A0 0.728877] PPP generic driver version 2.4.2<br>[=A0=A0=A0 0.72895=
3] Initialising Xen virtual ethernet driver.<br>[=A0=A0=A0 0.732012] ehci_h=
cd: USB 2.0 &#39;Enhanced&#39; Host Controller (EHCI) Driver<br>[=A0=A0=A0 =
0.732377] ehci_hcd 0000:00:07.0: PCI INT A -&gt; GSI 44 (level, low) -&gt; =
IRQ 44<br>


[=A0=A0=A0 0.732633] ehci_hcd 0000:00:07.0: setting latency timer to 64<br>=
[=A0=A0=A0 0.732694] ehci_hcd 0000:00:07.0: EHCI Host Controller<br>[=A0=A0=
=A0 0.732815] ehci_hcd 0000:00:07.0: new USB bus registered, assigned bus n=
umber 1<br>[=A0=A0=A0 0.737051] ehci_hcd 0000:00:07.0: Enabling legacy PCI =
PM<br>


[=A0=A0=A0 0.740295]=A0 xvda: xvda1 xvda2 &lt; xvda5 &gt;<br>[=A0=A0=A0 0.7=
48531] ehci_hcd 0000:00:07.0: irq 44, io mem 0xf1400000<br>[=A0=A0=A0 0.755=
242] Freeing initrd memory: 13876k freed<br>[=A0=A0=A0 0.764106] ehci_hcd 0=
000:00:07.0: USB 2.0 started, EHCI 1.00<br>


[=A0=A0=A0 0.764342] hub 1-0:1.0: USB hub found<br>[=A0=A0=A0 0.764400] hub=
 1-0:1.0: 2 ports detected<br>[=A0=A0=A0 0.764667] ehci_hcd 0000:00:08.0: P=
CI INT A -&gt; GSI 17 (level, low) -&gt; IRQ 17<br>[=A0=A0=A0 0.764909] ehc=
i_hcd 0000:00:08.0: setting latency timer to 64<br>


[=A0=A0=A0 0.764975] ehci_hcd 0000:00:08.0: EHCI Host Controller<br>[=A0=A0=
=A0 0.765096] ehci_hcd 0000:00:08.0: new USB bus registered, assigned bus n=
umber 2<br>[=A0=A0=A0 0.769291] ehci_hcd 0000:00:08.0: Enabling legacy PCI =
PM<br>[=A0=A0=A0 0.769606] ehci_hcd 0000:00:08.0: irq 17, io mem 0xf1401000=
<br>


[=A0=A0=A0 0.784095] ehci_hcd 0000:00:08.0: USB 2.0 started, EHCI 1.00<br>[=
=A0=A0=A0 0.784320] hub 2-0:1.0: USB hub found<br>[=A0=A0=A0 0.784391] hub =
2-0:1.0: 2 ports detected<br>[=A0=A0=A0 0.784507] ohci_hcd: USB 1.1 &#39;Op=
en&#39; Host Controller (OHCI) Driver<br>


[=A0=A0=A0 0.784599] uhci_hcd: USB Universal Host Controller Interface driv=
er<br>[=A0=A0=A0 0.784745] usbcore: registered new interface driver libusua=
l<br>[=A0=A0=A0 0.784868] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13=
:PS2M] at 0x60,0x64 irq 1,12<br>


[=A0=A0=A0 0.786886] serio: i8042 KBD port at 0x60,0x64 irq 1<br>[=A0=A0=A0=
 0.786976] serio: i8042 AUX port at 0x60,0x64 irq 12<br>[=A0=A0=A0 0.787145=
] mousedev: PS/2 mouse device common for all mice<br>[=A0=A0=A0 0.788074] i=
nput: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/=
input2<br>


[=A0=A0=A0 0.788846] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0<=
br>[=A0=A0=A0 0.788941] rtc0: alarms up to one day, 114 bytes nvram<br>[=A0=
=A0=A0 0.789115] device-mapper: uevent: version 1.0.3<br>[=A0=A0=A0 0.78925=
0] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: <a href=3D"=
mailto:dm-devel@redhat.com" target=3D"_blank">dm-devel@redhat.com</a><br>


[=A0=A0=A0 0.789355] cpuidle: using governor ladder<br>[=A0=A0=A0 0.789422]=
 cpuidle: using governor menu<br>[=A0=A0=A0 0.789489] EFI Variables Facilit=
y v0.08 2004-May-17<br>[=A0=A0=A0 0.789736] TCP cubic registered<br>[=A0=A0=
=A0 0.789884] NET: Registered protocol family 10<br>


[=A0=A0=A0 0.790542] NET: Registered protocol family 17<br>[=A0=A0=A0 0.790=
614] Registering the dns_resolver key type<br>[=A0=A0=A0 0.790803] PM: Hibe=
rnation image not present or could not be loaded.<br>[=A0=A0=A0 0.790813] r=
egistered taskstats version 1<br>


[=A0=A0=A0 0.821522] XENBUS: Device with no driver: device/vbd/5632<br>[=A0=
=A0=A0 0.821608] XENBUS: Device with no driver: device/vkbd/0<br>[=A0=A0=A0=
 0.821665] XENBUS: Device with no driver: device/console/0<br>[=A0=A0=A0 0.=
821722] XENBUS: Device with no driver: device/pci/0<br>


[=A0=A0=A0 0.821784]=A0=A0 Magic number: 0:713:727<br>[=A0=A0=A0 0.821848] =
block loop7: hash matches<br>[=A0=A0=A0 0.821950] rtc_cmos 00:04: setting s=
ystem clock to 2012-10-14 09:42:17 UTC (1350207737)<br>[=A0=A0=A0 0.822032]=
 BIOS EDD facility v0.16 2004-Jun-25, 0 devices found<br>


[=A0=A0=A0 0.822089] EDD information not available.<br>[=A0=A0=A0 0.897497]=
 ata2.01: NODEV after polling detection<br>[=A0=A0=A0 0.904651] ata2.00: AT=
API: QEMU DVD-ROM, 0.10.2, max UDMA/100<br>[=A0=A0=A0 0.906215] ata2.00: co=
nfigured for MWDMA2<br>


[=A0=A0=A0 0.913894] scsi 1:0:0:0: CD-ROM=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =
QEMU=A0=A0=A0=A0 QEMU DVD-ROM=A0=A0=A0=A0 0.10 PQ: 0 ANSI: 5<br>[=A0=A0=A0 =
0.916538] sr0: scsi3-mmc drive: 4x/4x xa/form2 tray<br>[=A0=A0=A0 0.916622]=
 cdrom: Uniform CD-ROM driver Revision: 3.20<br>[=A0=A0=A0 0.917156] sr 1:0=
:0:0: Attached scsi CD-ROM sr0<br>


[=A0=A0=A0 0.917421] sr 1:0:0:0: Attached scsi generic sg0 type 5<br>[=A0=
=A0=A0 0.919579] Freeing unused kernel memory: 920k freed<br>[=A0=A0=A0 0.9=
19987] Write protecting the kernel read-only data: 12288k<br>[=A0=A0=A0 0.9=
29529] Freeing unused kernel memory: 1616k freed<br>


[=A0=A0=A0 0.936589] Freeing unused kernel memory: 1200k freed<br>[=A0=A0=
=A0 0.973570] udevd[86]: starting version 175<br>[=A0=A0=A0 1.076089] usb 1=
-1: new high-speed USB device number 2 using ehci_hcd<br>[=A0=A0=A0 1.17313=
2] FDC 0 is a S82078B<br>


[=A0=A0=A0 1.208542] hub 1-1:1.0: USB hub found<br>[=A0=A0=A0 1.208634] hub=
 1-1:1.0: 6 ports detected<br>[=A0=A0=A0 1.280104] EXT4-fs (xvda1): mounted=
 filesystem with ordered data mode. Opts: (null)<br>[=A0=A0=A0 1.320097] us=
b 2-1: new high-speed USB device number 2 using ehci_hcd<br>


[=A0=A0=A0 1.452824] hub 2-1:1.0: USB hub found<br>[=A0=A0=A0 1.453022] hub=
 2-1:1.0: 8 ports detected<br>[=A0=A0=A0 1.468096] Refined TSC clocksource =
calibration: 3392.297 MHz.<br>[=A0=A0=A0 1.524318] usb 1-1.3: new low-speed=
 USB device number 3 using ehci_hcd<br>


[=A0=A0=A0 1.724269] usb 2-1.8: new low-speed USB device number 3 using ehc=
i_hcd<br>[=A0=A0=A0 2.428384] udevd[256]: starting version 175<br>[=A0=A0=
=A0 2.936775] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4<=
br>[=A0=A0=A0 2.981330] piix4_smbus 0000:00:01.3: SMBus base address uninit=
ialized - upgrade BIOS or use force_addr=3D0xaddr<br>


[=A0=A0=A0 3.048987] input: Microsoft Microsoft 3-Button Mouse with Intelli=
Eye(TM) as /devices/pci0000:00/0000:00:07.0/usb1/1-1/1-1.3/1-1.3:1.0/input/=
input3<br>[=A0=A0=A0 3.051683] parport_pc 00:0a: reported by Plug and Play =
ACPI<br>


[=A0=A0=A0 3.052480] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]<br=
>[=A0=A0=A0 3.058984] generic-usb 0003:045E:0040.0001: input,hidraw0: USB H=
ID v1.10 Mouse [Microsoft Microsoft 3-Button Mouse with IntelliEye(TM)] on =
usb-0000:00:07.0-1.3/input0<br>


[=A0=A0=A0 3.081807] input: Dell Dell QuietKey Keyboard as /devices/pci0000=
:00/0000:00:08.0/usb2/2-1/2-1.8/2-1.8:1.0/input/input4<br>[=A0=A0=A0 3.0849=
33] generic-usb 0003:413C:2106.0002: input,hidraw1: USB HID v1.10 Keyboard =
[Dell Dell QuietKey Keyboard] on usb-0000:00:08.0-1.8/input0<br>


[=A0=A0=A0 3.085025] usbcore: registered new interface driver usbhid<br>[=
=A0=A0=A0 3.085081] usbhid: USB HID core driver<br>[=A0=A0=A0 3.155218] [dr=
m] Initialized drm 1.1.0 20060810<br>[=A0=A0=A0 3.155723] input: Xen Virtua=
l Keyboard as /devices/virtual/input/input5<br>


[=A0=A0=A0 3.155844] input: Xen Virtual Pointer as /devices/virtual/input/i=
nput6<br>[=A0=A0=A0 3.319132] ADDRCONF(NETDEV_UP): eth0: link is not ready<=
br>[=A0=A0=A0 3.323956] xen: --&gt; pirq=3D16 -&gt; irq=3D24 (gsi=3D24)<br>=
[=A0=A0=A0 3.323963] pci 0000:00:02.0: PCI INT A -&gt; GSI 24 (level, low) =
-&gt; IRQ 24<br>


[=A0=A0=A0 3.324131] pci 0000:00:02.0: setting latency timer to 64<br>[=A0=
=A0=A0 3.346769] ppdev: user-space parallel port driver<br>[=A0=A0=A0 3.389=
524] resource map sanity check conflict: 0xfeff5018 0xfeff7017 0xfeff7000 0=
xffffffff reserved<br>


[=A0=A0=A0 3.389529] ------------[ cut here ]------------<br>[=A0=A0=A0 3.3=
89595] WARNING: at /build/buildd/linux-3.2.0/arch/x86/mm/ioremap.c:171 __io=
remap_caller+0x382/0x390()<br>[=A0=A0=A0 3.389604] Hardware name: HVM domU<=
br>[=A0=A0=A0 3.389605] Info: mapping multiple BARs. Your kernel is fine.<b=
r>


[=A0=A0=A0 3.389606] Modules linked in: snd_seq_device ppdev i915(+) snd jo=
ydev drm_kms_helper drm xen_kbdfront psmouse parport_pc i2c_algo_bit parpor=
t usbhid video serio_raw mac_hid hid soundcore i2c_piix4 snd_page_alloc shp=
chp floppy<br>


[=A0=A0=A0 3.389614] Pid: 273, comm: modprobe Not tainted 3.2.0-31-generic =
#50-Ubuntu<br>[=A0=A0=A0 3.389615] Call Trace:<br>[=A0=A0=A0 3.389620]=A0 [=
&lt;ffffffff81066d7f&gt;] warn_slowpath_common+0x7f/0xc0<br>[=A0=A0=A0 3.38=
9622]=A0 [&lt;ffffffff81066e76&gt;] warn_slowpath_fmt+0x46/0x50<br>


[=A0=A0=A0 3.389624]=A0 [&lt;ffffffff81041142&gt;] __ioremap_caller+0x382/0=
x390<br>[=A0=A0=A0 3.389642]=A0 [&lt;ffffffffa0171daa&gt;] ? intel_opregion=
_setup+0x7a/0x220 [i915]<br>[=A0=A0=A0 3.389644]=A0 [&lt;ffffffff81041184&g=
t;] ioremap_cache+0x14/0x20<br>


[=A0=A0=A0 3.389653]=A0 [&lt;ffffffffa0171daa&gt;] intel_opregion_setup+0x7=
a/0x220 [i915]<br>[=A0=A0=A0 3.389660]=A0 [&lt;ffffffffa013381e&gt;] i915_d=
river_load+0x22e/0x7a0 [i915]<br>[=A0=A0=A0 3.389666]=A0 [&lt;ffffffffa00c6=
fb9&gt;] drm_get_pci_dev+0x199/0x300 [drm]<br>


[=A0=A0=A0 3.389687]=A0 [&lt;ffffffff8130d36a&gt;] ? kobject_get+0x1a/0x30<=
br>[=A0=A0=A0 3.389692]=A0 [&lt;ffffffffa00c71ee&gt;] drm_pci_init+0xce/0x1=
30 [drm]<br>[=A0=A0=A0 3.389694]=A0 [&lt;ffffffffa01a4000&gt;] ? 0xffffffff=
a01a3fff<br>[=A0=A0=A0 3.389700]=A0 [&lt;ffffffffa01a408b&gt;] i915_init+0x=
8b/0x8d [i915]<br>


[=A0=A0=A0 3.389703]=A0 [&lt;ffffffff81002040&gt;] do_one_initcall+0x40/0x1=
80<br>[=A0=A0=A0 3.389705]=A0 [&lt;ffffffff810a83ee&gt;] sys_init_module+0x=
be/0x230<br>[=A0=A0=A0 3.389721]=A0 [&lt;ffffffff81662b02&gt;] system_call_=
fastpath+0x16/0x1b<br>


[=A0=A0=A0 3.389723] ---[ end trace d42e3488ecff185c ]---<br>[=A0=A0=A0 3.3=
91140] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).<br>[=A0=
=A0=A0 3.391145] [drm] No driver support for vblank timestamp query.<br>[=
=A0=A0=A0 3.391225] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 =
on minor 0<br>


[=A0=A0=A0 3.460468] xen: --&gt; pirq=3D53 -&gt; irq=3D36 (gsi=3D36)<br>[=
=A0=A0=A0 3.460478] snd_ens1370 0000:00:05.0: PCI INT A -&gt; GSI 36 (level=
, low) -&gt; IRQ 36<br>[=A0=A0=A0 3.460650] snd_ens1370 0000:00:05.0: setti=
ng latency timer to 64<br>


[=A0=A0=A0 3.576090] input: ImExPS/2 Generic Explorer Mouse as /devices/pla=
tform/i8042/serio1/input/input7<br>[=A0=A0=A0 8.710797] lp0: using parport0=
 (interrupt-driven).<br>[=A0=A0=A0 9.452357] Adding 8390652k swap on /dev/x=
vda5.=A0 Priority:-1 extents:1 across:8390652k SS<br>


[=A0=A0=A0 9.645607] EXT4-fs (xvda1): re-mounted. Opts: errors=3Dremount-ro=
<br>[=A0=A0=A0 9.903837] init: failsafe main process (967) killed by TERM s=
ignal<br>[=A0=A0 10.013561] Bluetooth: Core ver 2.16<br>[=A0=A0 10.013596] =
NET: Registered protocol family 31<br>


[=A0=A0 10.013597] Bluetooth: HCI device and connection manager initialized=
<br>[=A0=A0 10.013599] Bluetooth: HCI socket layer initialized<br>[=A0=A0 1=
0.013600] Bluetooth: L2CAP socket layer initialized<br>[=A0=A0 10.013762] B=
luetooth: SCO socket layer initialized<br>


[=A0=A0 10.016323] Bluetooth: BNEP (Ethernet Emulation) ver 1.3<br>[=A0=A0 =
10.016325] Bluetooth: BNEP filters: protocol multicast<br>[=A0=A0 10.161279=
] type=3D1400 audit(1350207746.837:2): apparmor=3D&quot;STATUS&quot; operat=
ion=3D&quot;profile_load&quot; name=3D&quot;/usr/lib/cups/backend/cups-pdf&=
quot; pid=3D1031 comm=3D&quot;apparmor_parser&quot;<br>


[=A0=A0 10.161563] type=3D1400 audit(1350207746.837:3): apparmor=3D&quot;ST=
ATUS&quot; operation=3D&quot;profile_load&quot; name=3D&quot;/usr/sbin/cups=
d&quot; pid=3D1031 comm=3D&quot;apparmor_parser&quot;<br>[=A0=A0 10.193193]=
 Bluetooth: RFCOMM TTY layer initialized<br>


[=A0=A0 10.193196] Bluetooth: RFCOMM socket layer initialized<br>[=A0=A0 10=
.193197] Bluetooth: RFCOMM ver 1.11<br>[=A0=A0 10.197650] type=3D1400 audit=
(1350207746.873:4): apparmor=3D&quot;STATUS&quot; operation=3D&quot;profile=
_load&quot; name=3D&quot;/usr/lib/lightdm/lightdm/lightdm-guest-session-wra=
pper&quot; pid=3D1055 comm=3D&quot;apparmor_parser&quot;<br>


[=A0=A0 10.200423] type=3D1400 audit(1350207746.877:5): apparmor=3D&quot;ST=
ATUS&quot; operation=3D&quot;profile_load&quot; name=3D&quot;/sbin/dhclient=
&quot; pid=3D1056 comm=3D&quot;apparmor_parser&quot;<br>[=A0=A0 10.200660] =
type=3D1400 audit(1350207746.877:6): apparmor=3D&quot;STATUS&quot; operatio=
n=3D&quot;profile_load&quot; name=3D&quot;/usr/lib/NetworkManager/nm-dhcp-c=
lient.action&quot; pid=3D1056 comm=3D&quot;apparmor_parser&quot;<br>


[=A0=A0 10.200790] type=3D1400 audit(1350207746.877:7): apparmor=3D&quot;ST=
ATUS&quot; operation=3D&quot;profile_load&quot; name=3D&quot;/usr/lib/connm=
an/scripts/dhclient-script&quot; pid=3D1056 comm=3D&quot;apparmor_parser&qu=
ot;<br>[=A0=A0 10.404221] type=3D1400 audit(1350207747.081:8): apparmor=3D&=
quot;STATUS&quot; operation=3D&quot;profile_load&quot; name=3D&quot;/usr/bi=
n/evince&quot; pid=3D1057 comm=3D&quot;apparmor_parser&quot;<br>


[=A0=A0 10.411277] type=3D1400 audit(1350207747.085:9): apparmor=3D&quot;ST=
ATUS&quot; operation=3D&quot;profile_load&quot; name=3D&quot;/usr/bin/evinc=
e//launchpad_integration&quot; pid=3D1057 comm=3D&quot;apparmor_parser&quot=
;<br>[=A0=A0 10.412809] type=3D1400 audit(1350207747.089:10): apparmor=3D&q=
uot;STATUS&quot; operation=3D&quot;profile_load&quot; name=3D&quot;/usr/bin=
/evince//sanitized_helper&quot; pid=3D1057 comm=3D&quot;apparmor_parser&quo=
t;<br>


[=A0=A0 10.413904] type=3D1400 audit(1350207747.089:11): apparmor=3D&quot;S=
TATUS&quot; operation=3D&quot;profile_load&quot; name=3D&quot;/usr/bin/evin=
ce-previewer&quot; pid=3D1057 comm=3D&quot;apparmor_parser&quot;<br>[=A0=A0=
 12.358605] init: udev-fallback-graphics main process (1291) terminated wit=
h status 1<br>


[=A0=A0 12.370965] init: Failed to spawn hybrid-gfx main process: unable to=
 execute: No such file or directory<br>[=A0=A0 12.384583] init: friendly-re=
covery post-stop process (661) terminated with status 1<br>[=A0=A0 12.38500=
9] init: plymouth-splash main process (1316) terminated with status 1<br>


[=A0=A0 22.112100] eth0: no IPv6 routers present<br><br></div>

--bcaec554da7a47c8c404cc040d5f--


--===============5189304526892920072==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-users mailing list
Xen-users@lists.xen.org
http://lists.xen.org/xen-users
--===============5189304526892920072==--


From xen-devel-bounces@lists.xen.org Mon Oct 15 20:27:30 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Oct 2012 20:27:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TNrFe-0005Lk-PA; Mon, 15 Oct 2012 20:27:02 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ehabkost@redhat.com>) id 1TNrFb-0005Lf-Mk
	for xen-devel@lists.xensource.com; Mon, 15 Oct 2012 20:27:00 +0000
Received: from [85.158.139.211:14199] by server-8.bemta-5.messagelabs.com id
	63/50-23193-2917C705; Mon, 15 Oct 2012 20:26:58 +0000
X-Env-Sender: ehabkost@redhat.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1350332816!22371664!1
X-Originating-IP: [209.132.183.28]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTg0NjY=\n
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7183 invoked from network); 15 Oct 2012 20:26:57 -0000
Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28)
	by server-5.tower-206.messagelabs.com with SMTP;
	15 Oct 2012 20:26:57 -0000
Received: from int-mx09.intmail.prod.int.phx2.redhat.com
	(int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q9FKQIvE024730
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Mon, 15 Oct 2012 16:26:19 -0400
Received: from blackpad.lan.raisama.net (vpn1-4-48.gru2.redhat.com
	[10.97.4.48])
	by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id q9FKQEIO010629; Mon, 15 Oct 2012 16:26:15 -0400
Received: by blackpad.lan.raisama.net (Postfix, from userid 500)
	id 777E6203604; Mon, 15 Oct 2012 17:27:05 -0300 (BRT)
From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org
Date: Mon, 15 Oct 2012 17:22:02 -0300
Message-Id: <1350332522-26635-1-git-send-email-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Evgeny Voevodin <e.voevodin@samsung.com>,
	Peter Crosthwaite <peter.crosthwaite@petalogix.com>,
	Max Filippov <jcmvbkbc@gmail.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Guan Xuetao <gxt@mprc.pku.edu.cn>, xen-devel@lists.xensource.com,
	Igor Mitsyanko <i.mitsyanko@samsung.com>,
	Magnus Damm <magnus.damm@gmail.com>, Alexander Graf <agraf@suse.de>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Maksim Kozlov <m.kozlov@samsung.com>,
	Andrzej Zaborowski <balrogg@gmail.com>,
	Fabien Chouteau <chouteau@adacore.com>, Jan Kiszka <jan.kiszka@web.de>,
	Paul Brook <paul@codesourcery.com>, Blue Swirl <blauwirbel@gmail.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	Michael Walle <michael@walle.cc>, qemu-ppc@nongnu.org,
	Dmitry Solodkiy <d.solodkiy@samsung.com>,
	Aurelien Jarno <aurelien@aurel32.net>
Subject: [Xen-devel] [QEMU PATCH v4] create struct for machine
	initialization arguments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This should help us to:
- More easily add or remove machine initialization arguments without
  having to change every single machine init function;
- More easily make mechanical changes involving the machine init
  functions in the future;
- Let machine initialization forward the init arguments to other
  functions more easily.

This change was half-mechanical process: first the struct was added with
the local ram_size, boot_device, kernel_*, initrd_*, and cpu_model local
variable initialization to all functions. Then the compiler helped me
locate the local variables that are unused, so they could be removed.

---

Changes v3 -> v4:
 - Rebase against latest qemu.git master, solved conflicts at
   hw/xilinx_zynq.c

Changes v2 -> v3:
 - Fix typo (missing dot) on main()
 - Fix another mistake on xen_init_pv()

Changes v1 -> v2:
 - Fix mistake on the conversion of pc_xen_hvm_init() and xen_init_pv()


 hw/alpha_dp264.c              |  12 ++--
 hw/an5206.c                   |   8 +--
 hw/axis_dev88.c               |   9 +--
 hw/boards.h                   |  16 +++--
 hw/collie.c                   |   9 +--
 hw/dummy_m68k.c               |   8 +--
 hw/exynos4_boards.c           |  16 ++---
 hw/gumstix.c                  |  11 +---
 hw/highbank.c                 |  10 ++--
 hw/integratorcp.c             |  10 ++--
 hw/kzm.c                      |  10 ++--
 hw/leon3.c                    |  10 ++--
 hw/lm32_boards.c              |  18 +++---
 hw/mainstone.c                |  10 ++--
 hw/mcf5208.c                  |   8 +--
 hw/milkymist.c                |  10 ++--
 hw/mips_fulong2e.c            |   9 ++-
 hw/mips_jazz.c                |  14 ++---
 hw/mips_malta.c               |  10 ++--
 hw/mips_mipssim.c             |  10 ++--
 hw/mips_r4k.c                 |  10 ++--
 hw/musicpal.c                 |   9 +--
 hw/nseries.c                  |  22 ++++---
 hw/null-machine.c             |   7 +--
 hw/omap_sx1.c                 |  22 ++++---
 hw/openrisc_sim.c             |  10 ++--
 hw/palm.c                     |   9 +--
 hw/pc_piix.c                  |  50 ++++++++--------
 hw/petalogix_ml605_mmu.c      |   8 +--
 hw/petalogix_s3adsp1800_mmu.c |   8 +--
 hw/ppc/e500plat.c             |  13 +++--
 hw/ppc/mpc8544ds.c            |  13 +++--
 hw/ppc405_boards.c            |  25 ++++----
 hw/ppc440_bamboo.c            |  12 ++--
 hw/ppc_newworld.c             |  13 +++--
 hw/ppc_oldworld.c             |  13 +++--
 hw/ppc_prep.c                 |  13 +++--
 hw/puv3.c                     |   8 ++-
 hw/r2d.c                      |   9 +--
 hw/realview.c                 |  44 +++++++++-----
 hw/s390-virtio.c              |  13 +++--
 hw/shix.c                     |   6 +-
 hw/spapr.c                    |  13 +++--
 hw/spitz.c                    |  40 ++++++++-----
 hw/stellaris.c                |  14 ++---
 hw/sun4m.c                    | 133 ++++++++++++++++++++++++++----------------
 hw/sun4u.c                    |  39 ++++++++-----
 hw/tosa.c                     |   9 +--
 hw/versatilepb.c              |  22 ++++---
 hw/vexpress.c                 |  26 +++++----
 hw/virtex_ml507.c             |  10 ++--
 hw/xen_machine_pv.c           |  11 ++--
 hw/xilinx_zynq.c              |   9 ++-
 hw/xtensa_lx60.c              |  22 ++++---
 hw/xtensa_sim.c               |  11 ++--
 hw/z2.c                       |   9 +--
 vl.c                          |   9 ++-
 57 files changed, 518 insertions(+), 414 deletions(-)

diff --git a/hw/alpha_dp264.c b/hw/alpha_dp264.c
index 5ea04c7..8f082a6 100644
--- a/hw/alpha_dp264.c
+++ b/hw/alpha_dp264.c
@@ -42,13 +42,13 @@ static int clipper_pci_map_irq(PCIDevice *d, int irq_num)
     return (slot + 1) * 4 + irq_num;
 }
 
-static void clipper_init(ram_addr_t ram_size,
-                         const char *boot_device,
-                         const char *kernel_filename,
-                         const char *kernel_cmdline,
-                         const char *initrd_filename,
-                         const char *cpu_model)
+static void clipper_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     CPUAlphaState *cpus[4];
     PCIBus *pci_bus;
     ISABus *isa_bus;
diff --git a/hw/an5206.c b/hw/an5206.c
index 25407c0..042c5fc 100644
--- a/hw/an5206.c
+++ b/hw/an5206.c
@@ -19,11 +19,11 @@
 
 /* Board init.  */
 
-static void an5206_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void an5206_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     CPUM68KState *env;
     int kernel_size;
     uint64_t elf_entry;
diff --git a/hw/axis_dev88.c b/hw/axis_dev88.c
index eab6327..2fd7356 100644
--- a/hw/axis_dev88.c
+++ b/hw/axis_dev88.c
@@ -242,11 +242,12 @@ static const MemoryRegionOps gpio_ops = {
 static struct cris_load_info li;
 
 static
-void axisdev88_init (ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+void axisdev88_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
     CRISCPU *cpu;
     CPUCRISState *env;
     DeviceState *dev;
diff --git a/hw/boards.h b/hw/boards.h
index a2e0a54..813d0e5 100644
--- a/hw/boards.h
+++ b/hw/boards.h
@@ -5,12 +5,16 @@
 
 #include "qdev.h"
 
-typedef void QEMUMachineInitFunc(ram_addr_t ram_size,
-                                 const char *boot_device,
-                                 const char *kernel_filename,
-                                 const char *kernel_cmdline,
-                                 const char *initrd_filename,
-                                 const char *cpu_model);
+typedef struct QEMUMachineInitArgs {
+    ram_addr_t ram_size;
+    const char *boot_device;
+    const char *kernel_filename;
+    const char *kernel_cmdline;
+    const char *initrd_filename;
+    const char *cpu_model;
+} QEMUMachineInitArgs;
+
+typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
 
 typedef void QEMUMachineResetFunc(void);
 
diff --git a/hw/collie.c b/hw/collie.c
index 56f89a9..695982a 100644
--- a/hw/collie.c
+++ b/hw/collie.c
@@ -23,11 +23,12 @@ static struct arm_boot_info collie_binfo = {
     .ram_size = 0x20000000,
 };
 
-static void collie_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void collie_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     StrongARMState *s;
     DriveInfo *dinfo;
     MemoryRegion *sysmem = get_system_memory();
diff --git a/hw/dummy_m68k.c b/hw/dummy_m68k.c
index 7cc7a99..f436a0c 100644
--- a/hw/dummy_m68k.c
+++ b/hw/dummy_m68k.c
@@ -16,11 +16,11 @@
 
 /* Board init.  */
 
-static void dummy_m68k_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void dummy_m68k_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     CPUM68KState *env;
     MemoryRegion *address_space_mem =  get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/exynos4_boards.c b/hw/exynos4_boards.c
index 4bb0a60..4951064 100644
--- a/hw/exynos4_boards.c
+++ b/hw/exynos4_boards.c
@@ -130,22 +130,22 @@ static Exynos4210State *exynos4_boards_init_common(
             exynos4_board_ram_size[board_type]);
 }
 
-static void nuri_init(ram_addr_t ram_size,
-        const char *boot_device,
-        const char *kernel_filename, const char *kernel_cmdline,
-        const char *initrd_filename, const char *cpu_model)
+static void nuri_init(QEMUMachineInitArgs *args)
 {
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     exynos4_boards_init_common(kernel_filename, kernel_cmdline,
                 initrd_filename, EXYNOS4_BOARD_NURI);
 
     arm_load_kernel(arm_env_get_cpu(first_cpu), &exynos4_board_binfo);
 }
 
-static void smdkc210_init(ram_addr_t ram_size,
-        const char *boot_device,
-        const char *kernel_filename, const char *kernel_cmdline,
-        const char *initrd_filename, const char *cpu_model)
+static void smdkc210_init(QEMUMachineInitArgs *args)
 {
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     Exynos4210State *s = exynos4_boards_init_common(kernel_filename,
             kernel_cmdline, initrd_filename, EXYNOS4_BOARD_SMDKC210);
 
diff --git a/hw/gumstix.c b/hw/gumstix.c
index 13a36ea..4103a88 100644
--- a/hw/gumstix.c
+++ b/hw/gumstix.c
@@ -45,10 +45,7 @@
 
 static const int sector_len = 128 * 1024;
 
-static void connex_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void connex_init(QEMUMachineInitArgs *args)
 {
     PXA2xxState *cpu;
     DriveInfo *dinfo;
@@ -84,11 +81,9 @@ static void connex_init(ram_addr_t ram_size,
                     qdev_get_gpio_in(cpu->gpio, 36));
 }
 
-static void verdex_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void verdex_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
     PXA2xxState *cpu;
     DriveInfo *dinfo;
     int be;
diff --git a/hw/highbank.c b/hw/highbank.c
index 11aa131..15036b6 100644
--- a/hw/highbank.c
+++ b/hw/highbank.c
@@ -187,11 +187,13 @@ static struct arm_boot_info highbank_binfo;
  * 32-bit host, set the reg value of memory to 0xf7ff00000 in the
  * device tree and pass -m 2047 to QEMU.
  */
-static void highbank_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void highbank_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     DeviceState *dev;
     SysBusDevice *busdev;
     qemu_irq *irqp;
diff --git a/hw/integratorcp.c b/hw/integratorcp.c
index d0e2e90..ac0ea83 100644
--- a/hw/integratorcp.c
+++ b/hw/integratorcp.c
@@ -438,11 +438,13 @@ static struct arm_boot_info integrator_binfo = {
     .board_id = 0x113,
 };
 
-static void integratorcp_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void integratorcp_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/kzm.c b/hw/kzm.c
index 68cd1b4..d1266d9 100644
--- a/hw/kzm.c
+++ b/hw/kzm.c
@@ -70,11 +70,13 @@ static struct arm_boot_info kzm_binfo = {
     .board_id = 1722,
 };
 
-static void kzm_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void kzm_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/leon3.c b/hw/leon3.c
index 7a9729d..7742738 100644
--- a/hw/leon3.c
+++ b/hw/leon3.c
@@ -94,13 +94,11 @@ static void leon3_set_pil_in(void *opaque, uint32_t pil_in)
     }
 }
 
-static void leon3_generic_hw_init(ram_addr_t  ram_size,
-                                  const char *boot_device,
-                                  const char *kernel_filename,
-                                  const char *kernel_cmdline,
-                                  const char *initrd_filename,
-                                  const char *cpu_model)
+static void leon3_generic_hw_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     SPARCCPU *cpu;
     CPUSPARCState   *env;
     MemoryRegion *address_space_mem = get_system_memory();
diff --git a/hw/lm32_boards.c b/hw/lm32_boards.c
index b76d800..c5a62c8 100644
--- a/hw/lm32_boards.c
+++ b/hw/lm32_boards.c
@@ -69,12 +69,10 @@ static void main_cpu_reset(void *opaque)
     env->deba = reset_info->flash_base;
 }
 
-static void lm32_evr_init(ram_addr_t ram_size_not_used,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+static void lm32_evr_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     LM32CPU *cpu;
     CPULM32State *env;
     DriveInfo *dinfo;
@@ -159,12 +157,12 @@ static void lm32_evr_init(ram_addr_t ram_size_not_used,
     qemu_register_reset(main_cpu_reset, reset_info);
 }
 
-static void lm32_uclinux_init(ram_addr_t ram_size_not_used,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+static void lm32_uclinux_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     LM32CPU *cpu;
     CPULM32State *env;
     DriveInfo *dinfo;
diff --git a/hw/mainstone.c b/hw/mainstone.c
index 97687b6..c0d6034 100644
--- a/hw/mainstone.c
+++ b/hw/mainstone.c
@@ -171,11 +171,13 @@ static void mainstone_common_init(MemoryRegion *address_space_mem,
     arm_load_kernel(mpu->cpu, &mainstone_binfo);
 }
 
-static void mainstone_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void mainstone_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     mainstone_common_init(get_system_memory(), ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, mainstone, 0x196);
 }
diff --git a/hw/mcf5208.c b/hw/mcf5208.c
index ee25b1b..688bc3c 100644
--- a/hw/mcf5208.c
+++ b/hw/mcf5208.c
@@ -187,11 +187,11 @@ static void mcf5208_sys_init(MemoryRegion *address_space, qemu_irq *pic)
     }
 }
 
-static void mcf5208evb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void mcf5208evb_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     CPUM68KState *env;
     int kernel_size;
     uint64_t elf_entry;
diff --git a/hw/milkymist.c b/hw/milkymist.c
index 2e7235b..ca9ed43 100644
--- a/hw/milkymist.c
+++ b/hw/milkymist.c
@@ -73,12 +73,12 @@ static void main_cpu_reset(void *opaque)
 }
 
 static void
-milkymist_init(ram_addr_t ram_size_not_used,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+milkymist_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     LM32CPU *cpu;
     CPULM32State *env;
     int kernel_size;
diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c
index d4a8672..fb50a1f 100644
--- a/hw/mips_fulong2e.c
+++ b/hw/mips_fulong2e.c
@@ -256,10 +256,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
     }
 }
 
-static void mips_fulong2e_init(ram_addr_t ram_size, const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void mips_fulong2e_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c
index db927f1..14df4d7 100644
--- a/hw/mips_jazz.c
+++ b/hw/mips_jazz.c
@@ -302,21 +302,19 @@ static void mips_jazz_init(MemoryRegion *address_space,
 }
 
 static
-void mips_magnum_init (ram_addr_t ram_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+void mips_magnum_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
         mips_jazz_init(get_system_memory(), get_system_io(),
                        ram_size, cpu_model, JAZZ_MAGNUM);
 }
 
 static
-void mips_pica61_init (ram_addr_t ram_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+void mips_pica61_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
     mips_jazz_init(get_system_memory(), get_system_io(),
                    ram_size, cpu_model, JAZZ_PICA61);
 }
diff --git a/hw/mips_malta.c b/hw/mips_malta.c
index 632b466..ad4910f 100644
--- a/hw/mips_malta.c
+++ b/hw/mips_malta.c
@@ -775,11 +775,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
 }
 
 static
-void mips_malta_init (ram_addr_t ram_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+void mips_malta_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     pflash_t *fl;
     MemoryRegion *system_memory = get_system_memory();
diff --git a/hw/mips_mipssim.c b/hw/mips_mipssim.c
index 830f635..a1d3945 100644
--- a/hw/mips_mipssim.c
+++ b/hw/mips_mipssim.c
@@ -131,11 +131,13 @@ static void mipsnet_init(int base, qemu_irq irq, NICInfo *nd)
 }
 
 static void
-mips_mipssim_init (ram_addr_t ram_size,
-                   const char *boot_device,
-                   const char *kernel_filename, const char *kernel_cmdline,
-                   const char *initrd_filename, const char *cpu_model)
+mips_mipssim_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c
index 967a76e..b73cdc3 100644
--- a/hw/mips_r4k.c
+++ b/hw/mips_r4k.c
@@ -151,11 +151,13 @@ static void main_cpu_reset(void *opaque)
 
 static const int sector_len = 32 * 1024;
 static
-void mips_r4k_init (ram_addr_t ram_size,
-                    const char *boot_device,
-                    const char *kernel_filename, const char *kernel_cmdline,
-                    const char *initrd_filename, const char *cpu_model)
+void mips_r4k_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/musicpal.c b/hw/musicpal.c
index f305e21..f06814c 100644
--- a/hw/musicpal.c
+++ b/hw/musicpal.c
@@ -1508,11 +1508,12 @@ static struct arm_boot_info musicpal_binfo = {
     .board_id = 0x20e,
 };
 
-static void musicpal_init(ram_addr_t ram_size,
-               const char *boot_device,
-               const char *kernel_filename, const char *kernel_cmdline,
-               const char *initrd_filename, const char *cpu_model)
+static void musicpal_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     qemu_irq *cpu_pic;
     qemu_irq pic[32];
diff --git a/hw/nseries.c b/hw/nseries.c
index 6df71eb..7ada90d 100644
--- a/hw/nseries.c
+++ b/hw/nseries.c
@@ -1397,21 +1397,27 @@ static struct arm_boot_info n810_binfo = {
     .atag_board = n810_atag_setup,
 };
 
-static void n800_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void n800_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     return n8x0_init(ram_size, boot_device,
                     kernel_filename, kernel_cmdline, initrd_filename,
                     cpu_model, &n800_binfo, 800);
 }
 
-static void n810_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void n810_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     return n8x0_init(ram_size, boot_device,
                     kernel_filename, kernel_cmdline, initrd_filename,
                     cpu_model, &n810_binfo, 810);
diff --git a/hw/null-machine.c b/hw/null-machine.c
index 69910d3..d813c08 100644
--- a/hw/null-machine.c
+++ b/hw/null-machine.c
@@ -15,12 +15,7 @@
 #include "hw/hw.h"
 #include "hw/boards.h"
 
-static void machine_none_init(ram_addr_t ram_size,
-                              const char *boot_device,
-                              const char *kernel_filename,
-                              const char *kernel_cmdline,
-                              const char *initrd_filename,
-                              const char *cpu_model)
+static void machine_none_init(QEMUMachineInitArgs *args)
 {
 }
 
diff --git a/hw/omap_sx1.c b/hw/omap_sx1.c
index abca341..ad17487 100644
--- a/hw/omap_sx1.c
+++ b/hw/omap_sx1.c
@@ -209,20 +209,26 @@ static void sx1_init(ram_addr_t ram_size,
     //~ qemu_console_resize(ds, 640, 480);
 }
 
-static void sx1_init_v1(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void sx1_init_v1(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sx1_init(ram_size, boot_device, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, 1);
 }
 
-static void sx1_init_v2(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void sx1_init_v2(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sx1_init(ram_size, boot_device, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, 2);
 }
diff --git a/hw/openrisc_sim.c b/hw/openrisc_sim.c
index 55e97f0..e96a944 100644
--- a/hw/openrisc_sim.c
+++ b/hw/openrisc_sim.c
@@ -90,13 +90,11 @@ static void cpu_openrisc_load_kernel(ram_addr_t ram_size,
     cpu->env.pc = entry;
 }
 
-static void openrisc_sim_init(ram_addr_t ram_size,
-                              const char *boot_device,
-                              const char *kernel_filename,
-                              const char *kernel_cmdline,
-                              const char *initrd_filename,
-                              const char *cpu_model)
+static void openrisc_sim_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
    OpenRISCCPU *cpu = NULL;
     MemoryRegion *ram;
     int n;
diff --git a/hw/palm.c b/hw/palm.c
index bacdc90..032b8d6 100644
--- a/hw/palm.c
+++ b/hw/palm.c
@@ -190,11 +190,12 @@ static struct arm_boot_info palmte_binfo = {
     .board_id = 0x331,
 };
 
-static void palmte_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void palmte_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     MemoryRegion *address_space_mem = get_system_memory();
     struct omap_mpu_state_s *mpu;
     int flash_size = 0x00800000;
diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index 82364ab..36e165f 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -287,13 +287,14 @@ static void pc_init1(MemoryRegion *system_memory,
     }
 }
 
-static void pc_init_pci(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename,
-                        const char *cpu_model)
+static void pc_init_pci(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     pc_init1(get_system_memory(),
              get_system_io(),
              ram_size, boot_device,
@@ -301,13 +302,14 @@ static void pc_init_pci(ram_addr_t ram_size,
              initrd_filename, cpu_model, 1, 1);
 }
 
-static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
-                                    const char *boot_device,
-                                    const char *kernel_filename,
-                                    const char *kernel_cmdline,
-                                    const char *initrd_filename,
-                                    const char *cpu_model)
+static void pc_init_pci_no_kvmclock(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     pc_init1(get_system_memory(),
              get_system_io(),
              ram_size, boot_device,
@@ -315,13 +317,14 @@ static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
              initrd_filename, cpu_model, 1, 0);
 }
 
-static void pc_init_isa(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename,
-                        const char *cpu_model)
+static void pc_init_isa(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (cpu_model == NULL)
         cpu_model = "486";
     pc_init1(get_system_memory(),
@@ -332,19 +335,12 @@ static void pc_init_isa(ram_addr_t ram_size,
 }
 
 #ifdef CONFIG_XEN
-static void pc_xen_hvm_init(ram_addr_t ram_size,
-                            const char *boot_device,
-                            const char *kernel_filename,
-                            const char *kernel_cmdline,
-                            const char *initrd_filename,
-                            const char *cpu_model)
+static void pc_xen_hvm_init(QEMUMachineInitArgs *args)
 {
     if (xen_hvm_init() != 0) {
         hw_error("xen hardware virtual machine initialisation failed");
     }
-    pc_init_pci_no_kvmclock(ram_size, boot_device,
-                            kernel_filename, kernel_cmdline,
-                            initrd_filename, cpu_model);
+    pc_init_pci_no_kvmclock(args);
     xen_vcpu_init();
 }
 #endif
diff --git a/hw/petalogix_ml605_mmu.c b/hw/petalogix_ml605_mmu.c
index b9bfbed..39df251 100644
--- a/hw/petalogix_ml605_mmu.c
+++ b/hw/petalogix_ml605_mmu.c
@@ -73,12 +73,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
 }
 
 static void
-petalogix_ml605_init(ram_addr_t ram_size,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+petalogix_ml605_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
     MemoryRegion *address_space_mem = get_system_memory();
     DeviceState *dev, *dma, *eth0;
     MicroBlazeCPU *cpu;
diff --git a/hw/petalogix_s3adsp1800_mmu.c b/hw/petalogix_s3adsp1800_mmu.c
index 2cf6882..71c32ce 100644
--- a/hw/petalogix_s3adsp1800_mmu.c
+++ b/hw/petalogix_s3adsp1800_mmu.c
@@ -57,12 +57,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
 }
 
 static void
-petalogix_s3adsp1800_init(ram_addr_t ram_size,
-                          const char *boot_device,
-                          const char *kernel_filename,
-                          const char *kernel_cmdline,
-                          const char *initrd_filename, const char *cpu_model)
+petalogix_s3adsp1800_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
     DeviceState *dev;
     MicroBlazeCPU *cpu;
     CPUMBState *env;
diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
index 60a5cb3..4cfb940 100644
--- a/hw/ppc/e500plat.c
+++ b/hw/ppc/e500plat.c
@@ -25,13 +25,14 @@ static void e500plat_fixup_devtree(PPCE500Params *params, void *fdt)
                          sizeof(compatible));
 }
 
-static void e500plat_init(ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void e500plat_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *boot_device = args->boot_device;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     PPCE500Params params = {
         .ram_size = ram_size,
         .boot_device = boot_device,
diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c
index 984d21c..e651661 100644
--- a/hw/ppc/mpc8544ds.c
+++ b/hw/ppc/mpc8544ds.c
@@ -25,13 +25,14 @@ static void mpc8544ds_fixup_devtree(PPCE500Params *params, void *fdt)
                          sizeof(compatible));
 }
 
-static void mpc8544ds_init(ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void mpc8544ds_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *boot_device = args->boot_device;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     PPCE500Params params = {
         .ram_size = ram_size,
         .boot_device = boot_device,
diff --git a/hw/ppc405_boards.c b/hw/ppc405_boards.c
index 476775d..e848cb0 100644
--- a/hw/ppc405_boards.c
+++ b/hw/ppc405_boards.c
@@ -158,7 +158,7 @@ static void ref405ep_fpga_reset (void *opaque)
     fpga->reg1 = 0x0F;
 }
 
-static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
+static void ref405ep_fpga_init(MemoryRegion *sysmem, uint32_t base)
 {
     ref405ep_fpga_t *fpga;
     MemoryRegion *fpga_memory = g_new(MemoryRegion, 1);
@@ -170,13 +170,12 @@ static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
     qemu_register_reset(&ref405ep_fpga_reset, fpga);
 }
 
-static void ref405ep_init (ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void ref405ep_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     ppc4xx_bd_info_t bd;
     CPUPPCState *env;
@@ -484,7 +483,7 @@ static void taihu_cpld_reset (void *opaque)
     cpld->reg1 = 0x80;
 }
 
-static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
+static void taihu_cpld_init(MemoryRegion *sysmem, uint32_t base)
 {
     taihu_cpld_t *cpld;
     MemoryRegion *cpld_memory = g_new(MemoryRegion, 1);
@@ -495,13 +494,11 @@ static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
     qemu_register_reset(&taihu_cpld_reset, cpld);
 }
 
-static void taihu_405ep_init(ram_addr_t ram_size,
-                             const char *boot_device,
-                             const char *kernel_filename,
-                             const char *kernel_cmdline,
-                             const char *initrd_filename,
-                             const char *cpu_model)
+static void taihu_405ep_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *kernel_filename = args->kernel_filename;
+    const char *initrd_filename = args->initrd_filename;
     char *filename;
     qemu_irq *pic;
     MemoryRegion *sysmem = get_system_memory();
diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c
index c198071..78e7985 100644
--- a/hw/ppc440_bamboo.c
+++ b/hw/ppc440_bamboo.c
@@ -157,13 +157,13 @@ static void main_cpu_reset(void *opaque)
     mmubooke_create_initial_mapping(env, 0, 0);
 }
 
-static void bamboo_init(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename,
-                        const char *cpu_model)
+static void bamboo_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     unsigned int pci_irq_nrs[4] = { 28, 27, 26, 25 };
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ram_memories
diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c
index b8d3c9c..a265445 100644
--- a/hw/ppc_newworld.c
+++ b/hw/ppc_newworld.c
@@ -128,13 +128,14 @@ static void ppc_core99_reset(void *opaque)
 }
 
 /* PowerPC Mac99 hardware initialisation */
-static void ppc_core99_init (ram_addr_t ram_size,
-                             const char *boot_device,
-                             const char *kernel_filename,
-                             const char *kernel_cmdline,
-                             const char *initrd_filename,
-                             const char *cpu_model)
+static void ppc_core99_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
     char *filename;
diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c
index 2c4a478..de33408 100644
--- a/hw/ppc_oldworld.c
+++ b/hw/ppc_oldworld.c
@@ -71,13 +71,14 @@ static void ppc_heathrow_reset(void *opaque)
     cpu_reset(CPU(cpu));
 }
 
-static void ppc_heathrow_init (ram_addr_t ram_size,
-                               const char *boot_device,
-                               const char *kernel_filename,
-                               const char *kernel_cmdline,
-                               const char *initrd_filename,
-                               const char *cpu_model)
+static void ppc_heathrow_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     MemoryRegion *sysmem = get_system_memory();
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c
index 1544430..b426891 100644
--- a/hw/ppc_prep.c
+++ b/hw/ppc_prep.c
@@ -447,13 +447,14 @@ static void ppc_prep_reset(void *opaque)
 }
 
 /* PowerPC PREP hardware initialisation */
-static void ppc_prep_init (ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void ppc_prep_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     MemoryRegion *sysmem = get_system_memory();
     PowerPCCPU *cpu = NULL;
     CPUPPCState *env = NULL;
diff --git a/hw/puv3.c b/hw/puv3.c
index 43f7216..764799c 100644
--- a/hw/puv3.c
+++ b/hw/puv3.c
@@ -91,10 +91,12 @@ static void puv3_load_kernel(const char *kernel_filename)
     graphic_console_init(NULL, NULL, NULL, NULL, NULL);
 }
 
-static void puv3_init(ram_addr_t ram_size, const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void puv3_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *initrd_filename = args->initrd_filename;
     CPUUniCore32State *env;
 
     if (initrd_filename) {
diff --git a/hw/r2d.c b/hw/r2d.c
index 1bc191f..3cb6942 100644
--- a/hw/r2d.c
+++ b/hw/r2d.c
@@ -219,11 +219,12 @@ static struct QEMU_PACKED
     char kernel_cmdline[256];
 } boot_params;
 
-static void r2d_init(ram_addr_t ram_size,
-              const char *boot_device,
-	      const char *kernel_filename, const char *kernel_cmdline,
-	      const char *initrd_filename, const char *cpu_model)
+static void r2d_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     SuperHCPU *cpu;
     CPUSH4State *env;
     ResetData *reset_info;
diff --git a/hw/realview.c b/hw/realview.c
index 19db4d0..8dc4be6 100644
--- a/hw/realview.c
+++ b/hw/realview.c
@@ -330,11 +330,14 @@ static void realview_init(ram_addr_t ram_size,
     arm_load_kernel(arm_env_get_cpu(first_cpu), &realview_binfo);
 }
 
-static void realview_eb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_eb_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "arm926";
     }
@@ -342,11 +345,14 @@ static void realview_eb_init(ram_addr_t ram_size,
                   initrd_filename, cpu_model, BOARD_EB);
 }
 
-static void realview_eb_mpcore_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_eb_mpcore_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "arm11mpcore";
     }
@@ -354,11 +360,14 @@ static void realview_eb_mpcore_init(ram_addr_t ram_size,
                   initrd_filename, cpu_model, BOARD_EB_MPCORE);
 }
 
-static void realview_pb_a8_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_pb_a8_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "cortex-a8";
     }
@@ -366,11 +375,14 @@ static void realview_pb_a8_init(ram_addr_t ram_size,
                   initrd_filename, cpu_model, BOARD_PB_A8);
 }
 
-static void realview_pbx_a9_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void realview_pbx_a9_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = "cortex-a9";
     }
diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
index 47eed35..39ff178 100644
--- a/hw/s390-virtio.c
+++ b/hw/s390-virtio.c
@@ -151,13 +151,14 @@ unsigned s390_del_running_cpu(CPUS390XState *env)
 }
 
 /* PC hardware initialisation */
-static void s390_init(ram_addr_t my_ram_size,
-                      const char *boot_device,
-                      const char *kernel_filename,
-                      const char *kernel_cmdline,
-                      const char *initrd_filename,
-                      const char *cpu_model)
+static void s390_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t my_ram_size = args->ram_size;
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     CPUS390XState *env = NULL;
     MemoryRegion *sysmem = get_system_memory();
     MemoryRegion *ram = g_new(MemoryRegion, 1);
diff --git a/hw/shix.c b/hw/shix.c
index dd9ce17..b56dd54 100644
--- a/hw/shix.c
+++ b/hw/shix.c
@@ -37,11 +37,9 @@
 #define BIOS_FILENAME "shix_bios.bin"
 #define BIOS_ADDRESS 0xA0000000
 
-static void shix_init(ram_addr_t ram_size,
-               const char *boot_device,
-	       const char *kernel_filename, const char *kernel_cmdline,
-	       const char *initrd_filename, const char *cpu_model)
+static void shix_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
     int ret;
     CPUSH4State *env;
     struct SH7750State *s;
diff --git a/hw/spapr.c b/hw/spapr.c
index 09b8e99..637b3fb 100644
--- a/hw/spapr.c
+++ b/hw/spapr.c
@@ -665,13 +665,14 @@ static int spapr_vga_init(PCIBus *pci_bus)
 }
 
 /* pSeries LPAR / sPAPR hardware init */
-static void ppc_spapr_init(ram_addr_t ram_size,
-                           const char *boot_device,
-                           const char *kernel_filename,
-                           const char *kernel_cmdline,
-                           const char *initrd_filename,
-                           const char *cpu_model)
+static void ppc_spapr_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     PowerPCCPU *cpu;
     CPUPPCState *env;
     PCIHostState *phb;
diff --git a/hw/spitz.c b/hw/spitz.c
index 24346dc..2942626 100644
--- a/hw/spitz.c
+++ b/hw/spitz.c
@@ -936,38 +936,46 @@ static void spitz_common_init(ram_addr_t ram_size,
     sl_bootparam_write(SL_PXA_PARAM_BASE);
 }
 
-static void spitz_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void spitz_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, spitz, 0x2c9);
 }
 
-static void borzoi_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void borzoi_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, borzoi, 0x33f);
 }
 
-static void akita_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void akita_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, akita, 0x2e8);
 }
 
-static void terrier_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void terrier_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     spitz_common_init(ram_size, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, terrier, 0x33f);
 }
diff --git a/hw/stellaris.c b/hw/stellaris.c
index 353ca4c..bfb18b0 100644
--- a/hw/stellaris.c
+++ b/hw/stellaris.c
@@ -1313,19 +1313,17 @@ static void stellaris_init(const char *kernel_filename, const char *cpu_model,
 }
 
 /* FIXME: Figure out how to generate these from stellaris_boards.  */
-static void lm3s811evb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void lm3s811evb_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     stellaris_init(kernel_filename, cpu_model, &stellaris_boards[0]);
 }
 
-static void lm3s6965evb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void lm3s6965evb_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
     stellaris_init(kernel_filename, cpu_model, &stellaris_boards[1]);
 }
 
diff --git a/hw/sun4m.c b/hw/sun4m.c
index a04b485..dbe93f9 100644
--- a/hw/sun4m.c
+++ b/hw/sun4m.c
@@ -1306,92 +1306,118 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
 };
 
 /* SPARCstation 5 hardware initialisation */
-static void ss5_init(ram_addr_t RAM_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void ss5_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[0], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation 10 hardware initialisation */
-static void ss10_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void ss10_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[1], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCserver 600MP hardware initialisation */
-static void ss600mp_init(ram_addr_t RAM_size,
-                         const char *boot_device,
-                         const char *kernel_filename,
-                         const char *kernel_cmdline,
-                         const char *initrd_filename, const char *cpu_model)
+static void ss600mp_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[2], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation 20 hardware initialisation */
-static void ss20_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void ss20_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[3], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation Voyager hardware initialisation */
-static void vger_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void vger_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[4], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation LX hardware initialisation */
-static void ss_lx_init(ram_addr_t RAM_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+static void ss_lx_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[5], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCstation 4 hardware initialisation */
-static void ss4_init(ram_addr_t RAM_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void ss4_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[6], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCClassic hardware initialisation */
-static void scls_init(ram_addr_t RAM_size,
-                      const char *boot_device,
-                      const char *kernel_filename, const char *kernel_cmdline,
-                      const char *initrd_filename, const char *cpu_model)
+static void scls_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[7], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCbook hardware initialisation */
-static void sbook_init(ram_addr_t RAM_size,
-                       const char *boot_device,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
+static void sbook_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4m_hw_init(&sun4m_hwdefs[8], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
@@ -1654,21 +1680,27 @@ static void sun4d_hw_init(const struct sun4d_hwdef *hwdef, ram_addr_t RAM_size,
 }
 
 /* SPARCserver 1000 hardware initialisation */
-static void ss1000_init(ram_addr_t RAM_size,
-                        const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void ss1000_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4d_hw_init(&sun4d_hwdefs[0], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
 
 /* SPARCcenter 2000 hardware initialisation */
-static void ss2000_init(ram_addr_t RAM_size,
-                        const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void ss2000_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4d_hw_init(&sun4d_hwdefs[1], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
@@ -1848,11 +1880,14 @@ static void sun4c_hw_init(const struct sun4c_hwdef *hwdef, ram_addr_t RAM_size,
 }
 
 /* SPARCstation 2 hardware initialisation */
-static void ss2_init(ram_addr_t RAM_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void ss2_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     sun4c_hw_init(&sun4c_hwdefs[0], RAM_size, boot_device, kernel_filename,
                   kernel_cmdline, initrd_filename, cpu_model);
 }
diff --git a/hw/sun4u.c b/hw/sun4u.c
index 940db33..abf68cf 100644
--- a/hw/sun4u.c
+++ b/hw/sun4u.c
@@ -933,31 +933,40 @@ static const struct hwdef hwdefs[] = {
 };
 
 /* Sun4u hardware initialisation */
-static void sun4u_init(ram_addr_t RAM_size,
-                       const char *boot_devices,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
-{
+static void sun4u_init(QEMUMachineInitArgs *args)
+{
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_devices = args->boot_device;
     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[0]);
 }
 
 /* Sun4v hardware initialisation */
-static void sun4v_init(ram_addr_t RAM_size,
-                       const char *boot_devices,
-                       const char *kernel_filename, const char *kernel_cmdline,
-                       const char *initrd_filename, const char *cpu_model)
-{
+static void sun4v_init(QEMUMachineInitArgs *args)
+{
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_devices = args->boot_device;
     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[1]);
 }
 
 /* Niagara hardware initialisation */
-static void niagara_init(ram_addr_t RAM_size,
-                         const char *boot_devices,
-                         const char *kernel_filename, const char *kernel_cmdline,
-                         const char *initrd_filename, const char *cpu_model)
-{
+static void niagara_init(QEMUMachineInitArgs *args)
+{
+    ram_addr_t RAM_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_devices = args->boot_device;
     sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
                 kernel_cmdline, initrd_filename, cpu_model, &hwdefs[2]);
 }
diff --git a/hw/tosa.c b/hw/tosa.c
index 297a8c2..512278c 100644
--- a/hw/tosa.c
+++ b/hw/tosa.c
@@ -205,11 +205,12 @@ static struct arm_boot_info tosa_binfo = {
     .ram_size = 0x04000000,
 };
 
-static void tosa_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void tosa_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *rom = g_new(MemoryRegion, 1);
     PXA2xxState *mpu;
diff --git a/hw/versatilepb.c b/hw/versatilepb.c
index 7b1b025..756ec29 100644
--- a/hw/versatilepb.c
+++ b/hw/versatilepb.c
@@ -348,22 +348,28 @@ static void versatile_init(ram_addr_t ram_size,
     arm_load_kernel(cpu, &versatile_binfo);
 }
 
-static void vpb_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void vpb_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     versatile_init(ram_size,
                    boot_device,
                    kernel_filename, kernel_cmdline,
                    initrd_filename, cpu_model, 0x183);
 }
 
-static void vab_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void vab_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     versatile_init(ram_size,
                    boot_device,
                    kernel_filename, kernel_cmdline,
diff --git a/hw/vexpress.c b/hw/vexpress.c
index 3596d1e..36503d6 100644
--- a/hw/vexpress.c
+++ b/hw/vexpress.c
@@ -467,25 +467,27 @@ static void vexpress_common_init(const VEDBoardInfo *daughterboard,
     arm_load_kernel(arm_env_get_cpu(first_cpu), &vexpress_binfo);
 }
 
-static void vexpress_a9_init(ram_addr_t ram_size,
-                             const char *boot_device,
-                             const char *kernel_filename,
-                             const char *kernel_cmdline,
-                             const char *initrd_filename,
-                             const char *cpu_model)
+static void vexpress_a9_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     vexpress_common_init(&a9_daughterboard,
                          ram_size, boot_device, kernel_filename,
                          kernel_cmdline, initrd_filename, cpu_model);
 }
 
-static void vexpress_a15_init(ram_addr_t ram_size,
-                              const char *boot_device,
-                              const char *kernel_filename,
-                              const char *kernel_cmdline,
-                              const char *initrd_filename,
-                              const char *cpu_model)
+static void vexpress_a15_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     vexpress_common_init(&a15_daughterboard,
                          ram_size, boot_device, kernel_filename,
                          kernel_cmdline, initrd_filename, cpu_model);
diff --git a/hw/virtex_ml507.c b/hw/virtex_ml507.c
index 79bc0d1..a09b27a 100644
--- a/hw/virtex_ml507.c
+++ b/hw/virtex_ml507.c
@@ -183,12 +183,12 @@ static int xilinx_load_device_tree(target_phys_addr_t addr,
     return fdt_size;
 }
 
-static void virtex_init(ram_addr_t ram_size,
-                        const char *boot_device,
-                        const char *kernel_filename,
-                        const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void virtex_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
     MemoryRegion *address_space_mem = get_system_memory();
     DeviceState *dev;
     PowerPCCPU *cpu;
diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
index 4b72aa7..4264703 100644
--- a/hw/xen_machine_pv.c
+++ b/hw/xen_machine_pv.c
@@ -29,13 +29,12 @@
 #include "xen_domainbuild.h"
 #include "blockdev.h"
 
-static void xen_init_pv(ram_addr_t ram_size,
-			const char *boot_device,
-			const char *kernel_filename,
-			const char *kernel_cmdline,
-			const char *initrd_filename,
-			const char *cpu_model)
+static void xen_init_pv(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     X86CPU *cpu;
     CPUX86State *env;
     DriveInfo *dinfo;
diff --git a/hw/xilinx_zynq.c b/hw/xilinx_zynq.c
index fd46ba2..c55dafb 100644
--- a/hw/xilinx_zynq.c
+++ b/hw/xilinx_zynq.c
@@ -77,10 +77,13 @@ static inline void zynq_init_spi_flashes(uint32_t base_addr, qemu_irq irq)
 
 }
 
-static void zynq_init(ram_addr_t ram_size, const char *boot_device,
-                        const char *kernel_filename, const char *kernel_cmdline,
-                        const char *initrd_filename, const char *cpu_model)
+static void zynq_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     ARMCPU *cpu;
     MemoryRegion *address_space_mem = get_system_memory();
     MemoryRegion *ext_ram = g_new(MemoryRegion, 1);
diff --git a/hw/xtensa_lx60.c b/hw/xtensa_lx60.c
index 3653f65..1fd2c47 100644
--- a/hw/xtensa_lx60.c
+++ b/hw/xtensa_lx60.c
@@ -268,11 +268,14 @@ static void lx_init(const LxBoardDesc *board,
     }
 }
 
-static void xtensa_lx60_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void xtensa_lx60_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     static const LxBoardDesc lx60_board = {
         .flash_size = 0x400000,
         .flash_sector_size = 0x10000,
@@ -283,11 +286,14 @@ static void xtensa_lx60_init(ram_addr_t ram_size,
             initrd_filename, cpu_model);
 }
 
-static void xtensa_lx200_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void xtensa_lx200_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     static const LxBoardDesc lx200_board = {
         .flash_size = 0x1000000,
         .flash_sector_size = 0x20000,
diff --git a/hw/xtensa_sim.c b/hw/xtensa_sim.c
index 831460b..2e846d8 100644
--- a/hw/xtensa_sim.c
+++ b/hw/xtensa_sim.c
@@ -96,11 +96,14 @@ static void sim_init(ram_addr_t ram_size,
     }
 }
 
-static void xtensa_sim_init(ram_addr_t ram_size,
-                     const char *boot_device,
-                     const char *kernel_filename, const char *kernel_cmdline,
-                     const char *initrd_filename, const char *cpu_model)
+static void xtensa_sim_init(QEMUMachineInitArgs *args)
 {
+    ram_addr_t ram_size = args->ram_size;
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
+    const char *boot_device = args->boot_device;
     if (!cpu_model) {
         cpu_model = XTENSA_DEFAULT_CPU_MODEL;
     }
diff --git a/hw/z2.c b/hw/z2.c
index 076fad2..f62b806 100644
--- a/hw/z2.c
+++ b/hw/z2.c
@@ -295,11 +295,12 @@ static TypeInfo aer915_info = {
     .class_init    = aer915_class_init,
 };
 
-static void z2_init(ram_addr_t ram_size,
-                const char *boot_device,
-                const char *kernel_filename, const char *kernel_cmdline,
-                const char *initrd_filename, const char *cpu_model)
+static void z2_init(QEMUMachineInitArgs *args)
 {
+    const char *cpu_model = args->cpu_model;
+    const char *kernel_filename = args->kernel_filename;
+    const char *kernel_cmdline = args->kernel_cmdline;
+    const char *initrd_filename = args->initrd_filename;
     MemoryRegion *address_space_mem = get_system_memory();
     uint32_t sector_len = 0x10000;
     PXA2xxState *mpu;
diff --git a/vl.c b/vl.c
index 5b357a3..ee3c43a 100644
--- a/vl.c
+++ b/vl.c
@@ -3638,8 +3638,13 @@ int main(int argc, char **argv, char **envp)
 
     qdev_machine_init();
 
-    machine->init(ram_size, boot_devices,
-                  kernel_filename, kernel_cmdline, initrd_filename, cpu_model);
+    QEMUMachineInitArgs args = { .ram_size = ram_size,
+                                 .boot_device = boot_devices,
+                                 .kernel_filename = kernel_filename,
+                                 .kernel_cmdline = kernel_cmdline,
+                                 .initrd_filename = initrd_filename,
+                                 .cpu_model = cpu_model };
+    machine->init(&args);
 
     cpu_synchronize_all_post_init();
 
-- 
1.7.11.4


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

From xen-devel-bounces@lists.xen.org Tue Oct 16 18:15:41 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Oct 2012 18:15:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TOBfp-0001YW-AG; Tue, 16 Oct 2012 18:15:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <robert.phillips@citrix.com>) id 1TOBfn-0001YR-KY
	for xen-devel@lists.xen.org; Tue, 16 Oct 2012 18:15:24 +0000
Received: from [85.158.139.83:33324] by server-9.bemta-5.messagelabs.com id
	BA/83-23053-A34AD705; Tue, 16 Oct 2012 18:15:22 +0000
X-Env-Sender: robert.phillips@citrix.com
X-Msg-Ref: server-15.tower-182.messagelabs.com!1350411318!32944314!1
X-Originating-IP: [66.165.176.89]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni44OSA9PiAxNzY3MTI=\n
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3833 invoked from network); 16 Oct 2012 18:15:19 -0000
Received: from smtp.citrix.com (HELO SMTP.CITRIX.COM) (66.165.176.89)
	by server-15.tower-182.messagelabs.com with RC4-SHA encrypted SMTP;
	16 Oct 2012 18:15:19 -0000
X-SBRS: None
X-MesageID: 41408342
X-Ironport-Server: ftlpip01.citrite.net
X-Remote-IP: 75.150.106.249
X-Policy: $Relay
X-IronPort-AV: E=Sophos;i="4.80,595,1344211200"; d="scan'208";a="41408342"
Received: from 75-150-106-249-newengland.hfc.comcastbusiness.net (HELO
	paine.oldroadcomputing.net) ([75.150.106.249])
	by SMTP.CITRIX.COM with ESMTP; 16 Oct 2012 18:15:16 +0000
From: Robert Phillips <robert.phillips@citrix.com>
To: xen-devel@lists.xen.org
Date: Tue, 16 Oct 2012 14:15:02 -0400
Message-Id: <1350411302-5470-1-git-send-email-robert.phillips@citrix.com>
X-Mailer: git-send-email 1.7.9.5
Cc: Robert Phillips <robert.phillips@virtualcomputer.com>,
	Robert Phillips <robert.phillips@citrix.com>
Subject: [Xen-devel] [PATCH] Provide support for multiple frame buffers in
	Xen.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

From: Robert Phillips <robert.phillips@virtualcomputer.com>

Support is provided for both shadow and hardware assisted paging (HAP) modes.
This code bookkeeps the set of video frame buffers (vram),
detects when the guest has modified any of those buffers and, upon request,
returns a bitmap of the modified pages.

This lets other software components re-paint the portions of the monitor (or monitors) that have changed.
Each monitor has a frame buffer of some size at some position in guest physical memory.
The set of frame buffers being tracked can change over time as monitors are plugged and unplugged.

Signed-Off-By: Robert Phillips <robert.phillips@citrix.com>
---
 xen/arch/x86/hvm/Makefile            |    3 +-
 xen/arch/x86/hvm/dirty_vram.c        |  878 ++++++++++++++++++++++++++++++++++
 xen/arch/x86/hvm/hvm.c               |    4 +-
 xen/arch/x86/mm/hap/hap.c            |  140 +-----
 xen/arch/x86/mm/paging.c             |  232 ++++-----
 xen/arch/x86/mm/shadow/common.c      |  335 +++++++------
 xen/arch/x86/mm/shadow/multi.c       |  169 +++----
 xen/arch/x86/mm/shadow/multi.h       |    7 +-
 xen/arch/x86/mm/shadow/types.h       |    1 +
 xen/include/asm-x86/hap.h            |    4 -
 xen/include/asm-x86/hvm/dirty_vram.h |  157 ++++++
 xen/include/asm-x86/hvm/domain.h     |    2 +-
 xen/include/asm-x86/paging.h         |   22 +-
 xen/include/asm-x86/shadow.h         |    6 -
 14 files changed, 1403 insertions(+), 557 deletions(-)
 create mode 100644 xen/arch/x86/hvm/dirty_vram.c
 create mode 100644 xen/include/asm-x86/hvm/dirty_vram.h

diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
index eea5555..f37736b 100644
--- a/xen/arch/x86/hvm/Makefile
+++ b/xen/arch/x86/hvm/Makefile
@@ -2,6 +2,7 @@ subdir-y += svm
 subdir-y += vmx
 
 obj-y += asid.o
+obj-y += dirty_vram.o
 obj-y += emulate.o
 obj-y += hpet.o
 obj-y += hvm.o
@@ -22,4 +23,4 @@ obj-y += vlapic.o
 obj-y += vmsi.o
 obj-y += vpic.o
 obj-y += vpt.o
-obj-y += vpmu.o
\ No newline at end of file
+obj-y += vpmu.o
diff --git a/xen/arch/x86/hvm/dirty_vram.c b/xen/arch/x86/hvm/dirty_vram.c
new file mode 100644
index 0000000..22375c2
--- /dev/null
+++ b/xen/arch/x86/hvm/dirty_vram.c
@@ -0,0 +1,878 @@
+/*
+ * arch/x86/hvm/dirty_vram.c: Bookkeep/query dirty VRAM pages
+ * with support for multiple frame buffers.
+ *
+ * Copyright (c) 2012, Citrix Systems, Inc. (Robert Phillips)
+ * 
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place - Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+
+#include <xen/types.h>
+#include <xen/sched.h>
+#include <xen/guest_access.h>
+#include <asm/shadow.h>
+#include <asm/hvm/dirty_vram.h>
+#include "../mm/mm-locks.h"
+
+#define DEBUG_stop_tracking_all_vram          1
+#define DEBUG_allocating_dirty_vram_range     1
+#define DEBUG_high_water_mark_for_vram_ranges 1
+#define DEBUG_freeing_dirty_vram_range        1
+#define DEBUG_allocate_paddr_links_page       0
+#define DEBUG_update_vram_mapping             0
+
+/* Allocates domain's dirty_vram structure */
+dv_dirty_vram_t *
+dirty_vram_alloc(struct domain *d)
+{
+    dv_dirty_vram_t *dirty_vram;
+    ASSERT( paging_locked_by_me(d) );
+    dirty_vram = d->arch.hvm_domain.dirty_vram = xmalloc(dv_dirty_vram_t);
+    if ( dirty_vram )
+    {
+        memset(dirty_vram, 0, sizeof(*dirty_vram));
+        INIT_LIST_HEAD(&dirty_vram->range_head);
+        INIT_LIST_HEAD(&dirty_vram->ext_head);
+    }
+    return dirty_vram;
+}
+
+/* Returns domain's dirty_vram structure,
+ * allocating it if necessary */
+dv_dirty_vram_t *
+dirty_vram_find_or_alloc(struct domain *d)
+{
+    dv_dirty_vram_t *dirty_vram = d->arch.hvm_domain.dirty_vram;
+    ASSERT( paging_locked_by_me(d) );
+    if ( !dirty_vram )
+        dirty_vram = dirty_vram_alloc(d);
+    return dirty_vram;
+}
+
+
+/* Free domain's dirty_vram structure */
+void dirty_vram_free(struct domain *d)
+{
+    dv_dirty_vram_t *dirty_vram = d->arch.hvm_domain.dirty_vram;
+    ASSERT( paging_locked_by_me(d) );
+    if ( dirty_vram )
+    {
+        struct list_head *curr, *next;
+        /* Free all the ranges */
+        list_for_each_safe(curr, next, &dirty_vram->range_head)
+        {
+            dv_range_t *range = list_entry(curr, dv_range_t, range_link);
+#if DEBUG_stop_tracking_all_vram
+            gdprintk(XENLOG_DEBUG, "[%05lx:%05lx] stop tracking all vram\n",
+                     range->begin_pfn, range->end_pfn);
+#endif
+            xfree(range->pl_tab);
+            xfree(range);
+        }
+        /* Free all the extension pages */
+        list_for_each_safe(curr, next, &dirty_vram->ext_head)
+        {
+            xfree(curr);            
+        }
+        xfree(dirty_vram);
+        d->arch.hvm_domain.dirty_vram = NULL;
+    }
+}
+
+/* Returns dirty vram range containing gfn, NULL if none */
+struct dv_range *
+dirty_vram_range_find_gfn(struct domain *d,
+                          unsigned long gfn)
+{
+    struct dv_dirty_vram *dirty_vram = d->arch.hvm_domain.dirty_vram;
+    ASSERT( paging_locked_by_me(d) );
+    if ( dirty_vram )
+    {
+        struct list_head *curr;
+        list_for_each(curr, &dirty_vram->range_head)
+        {
+            dv_range_t *range = list_entry(curr, dv_range_t, range_link);
+            if ( gfn >= range->begin_pfn &&
+                 gfn <  range->end_pfn )
+            {
+                return range;
+            }
+        }
+    }
+    return NULL;
+}
+
+/* Returns pointer to dirty vram range matching [begin_pfn .. end_pfn ), NULL if none. */
+dv_range_t *
+dirty_vram_range_find(struct domain *d,
+                      unsigned long begin_pfn,
+                      unsigned long nr)
+{
+    unsigned long end_pfn = begin_pfn + nr;
+    dv_dirty_vram_t *dirty_vram = d->arch.hvm_domain.dirty_vram;
+    ASSERT( paging_locked_by_me(d) );
+    if ( dirty_vram )
+    {
+        struct list_head *curr;
+        list_for_each(curr, &dirty_vram->range_head)
+        {
+            dv_range_t *range = list_entry(curr, dv_range_t, range_link);
+            if ( begin_pfn == range->begin_pfn &&
+                 end_pfn   == range->end_pfn )
+            {
+                return range;
+            }
+        }
+    }
+    return NULL;
+}
+
+/* Allocate specified dirty_vram range */
+static dv_range_t *
+_dirty_vram_range_alloc(struct domain *d,
+                        unsigned long begin_pfn,
+                        unsigned long nr)
+{
+    dv_dirty_vram_t *dirty_vram = d->arch.hvm_domain.dirty_vram;
+    dv_range_t *range = NULL;
+    unsigned long end_pfn = begin_pfn + nr;
+    dv_paddr_link_t *pl_tab = NULL;
+    int i;
+    
+    ASSERT( paging_locked_by_me(d) );
+    ASSERT( dirty_vram != NULL );
+    
+#if DEBUG_allocating_dirty_vram_range
+    gdprintk(XENLOG_DEBUG,
+             "[%05lx:%05lx] Allocating dirty vram range hap:%d\n",
+             begin_pfn, end_pfn,
+             d->arch.hvm_domain.hap_enabled);
+#endif
+    
+    range = xmalloc(dv_range_t);
+    if (range == NULL)
+        goto err_out;
+    
+    memset(range, 0, sizeof(dv_range_t));
+    INIT_LIST_HEAD(&range->range_link);
+    
+    range->begin_pfn = begin_pfn;
+    range->end_pfn = end_pfn;
+
+    if (!hap_enabled(d))
+    {
+        if ( (pl_tab = xmalloc_array(dv_paddr_link_t, nr)) == NULL )
+        {
+            goto err_out;
+        }
+        for (i = 0; i != nr; i++)
+        {
+            pl_tab[i].sl1ma = INVALID_PADDR;
+            pl_tab[i].pl_next = NULL;
+        }
+    }    
+    
+    range->pl_tab = pl_tab;
+    range->mappings_hwm = 1;
+
+    list_add(&range->range_link, &dirty_vram->range_head);
+    if ( ++dirty_vram->nr_ranges > dirty_vram->ranges_hwm )
+    {
+        dirty_vram->ranges_hwm = dirty_vram->nr_ranges;
+#if DEBUG_high_water_mark_for_vram_ranges
+        gdprintk(XENLOG_DEBUG,
+                 "High water mark for number of vram ranges is now:%d\n",
+                 dirty_vram->ranges_hwm);
+#endif
+    }
+    return range;
+    
+ err_out:
+    xfree(pl_tab);
+    xfree(range);
+    return NULL;
+}
+
+
+/* Frees specified dirty_vram range */
+void dirty_vram_range_free(struct domain *d,
+                           dv_range_t *range)
+{
+    dv_dirty_vram_t *dirty_vram = d->arch.hvm_domain.dirty_vram;
+    ASSERT( paging_locked_by_me(d) );
+    if ( dirty_vram )
+    {
+        int i, nr = range->end_pfn - range->begin_pfn;
+        
+#if DEBUG_freeing_dirty_vram_range
+        gdprintk(XENLOG_DEBUG,
+                 "[%05lx:%05lx] Freeing dirty vram range\n",
+                 range->begin_pfn, range->end_pfn);
+#endif
+        
+        if (range->pl_tab)
+        {
+            for (i = 0; i != nr; i++)
+            {
+                dv_paddr_link_t *plx;
+                plx = range->pl_tab[i].pl_next;
+                /* Does current FB page have multiple mappings? */
+                if (plx) /* yes */
+                {
+                    /* Find the last element in singly-linked list */
+                    while (plx->pl_next != NULL)
+                        plx = plx->pl_next;
+                    /* Prepend whole list to the free list */
+                    plx->pl_next = dirty_vram->pl_free;
+                    dirty_vram->pl_free = range->pl_tab[i].pl_next;
+                }
+            }
+            xfree(range->pl_tab);
+            range->pl_tab = NULL;
+        }
+        
+        /* Remove range from the linked list, free it, and adjust count*/
+        list_del(&range->range_link);
+        xfree(range);
+        dirty_vram->nr_ranges--;
+    }
+}
+
+/* dirty_vram_range_alloc()
+ * This function ensures that the new range does not overlap any existing
+ * ranges -- deleting them if necessary -- and then calls _dirty_vram_range_alloc
+ * to actually allocate the new range.
+ */
+dv_range_t *
+dirty_vram_range_alloc(struct domain *d,
+                        unsigned long begin_pfn,
+                        unsigned long nr)
+{
+    unsigned long end_pfn = begin_pfn + nr;
+    dv_dirty_vram_t *dirty_vram = d->arch.hvm_domain.dirty_vram;
+    dv_range_t *range;
+    struct list_head *curr, *next;
+    
+    ASSERT( paging_locked_by_me(d) );
+    ASSERT( dirty_vram != NULL );
+    
+    /* Ranges cannot overlap so
+     * free any range that overlaps [ begin_pfn .. end_pfn ) */
+    list_for_each_safe(curr, next, &dirty_vram->range_head)
+    {
+        dv_range_t *rng = list_entry(curr, dv_range_t, range_link);
+        if ( ((rng->begin_pfn <= begin_pfn) && (begin_pfn <  rng->end_pfn)) ||
+             ((begin_pfn <= rng->begin_pfn) && (rng->begin_pfn < end_pfn)) )
+        {
+            /* Different tracking, tear the previous down. */
+            dirty_vram_range_free(d, rng);
+        }
+    }
+        
+    range = _dirty_vram_range_alloc(d, begin_pfn, nr);
+    if ( !range )
+        goto out;
+
+ out:
+    return range;
+}
+
+/* dirty_vram_range_find_or_alloc()
+ * Find the range for [begin_pfn:begin_pfn+nr).
+ * If it doesn't exists, create it.
+ */
+dv_range_t *
+dirty_vram_range_find_or_alloc(struct domain *d,
+                                unsigned long begin_pfn,
+                                unsigned long nr)
+{
+    dv_range_t *range;
+    ASSERT( paging_locked_by_me(d) );
+    range = dirty_vram_range_find(d, begin_pfn, nr);
+    if ( !range )
+        range = dirty_vram_range_alloc(d, begin_pfn, nr);
+    return range;
+}
+
+
+
+/* Allocate a dv_paddr_link struct */
+static dv_paddr_link_t *
+alloc_paddr_link(struct domain *d)
+{
+    dv_paddr_link_t * pl = NULL;
+    dv_dirty_vram_t *dirty_vram = d->arch.hvm_domain.dirty_vram;
+    
+    ASSERT( paging_locked_by_me(d) );
+    BUILD_BUG_ON(sizeof(dv_paddr_link_ext_t) > PAGE_SIZE);
+    /* Is the list of free pl's empty? */
+    if (dirty_vram->pl_free == NULL) /* yes */
+    {
+        /* Allocate another page of pl's.
+         * Link them all together and point the free list head at them */
+        int i;
+        dv_paddr_link_ext_t *ext = xmalloc(dv_paddr_link_ext_t);
+        if (ext == NULL)
+            goto out;
+
+#if DEBUG_allocate_paddr_links_page
+        gdprintk(XENLOG_DEBUG, "Allocated another page of paddr_links\n");
+#endif
+        list_add(&ext->ext_link, &dirty_vram->ext_head);
+
+        /* initialize and link together the new pl entries */
+        for (i = 0; i != ARRAY_SIZE(ext->entries); i++)
+        {
+            ext->entries[i].sl1ma = INVALID_PADDR;
+            ext->entries[i].pl_next = &ext->entries[i+1];
+        }
+        ext->entries[ARRAY_SIZE(ext->entries) - 1].pl_next = NULL;
+        dirty_vram->pl_free = &ext->entries[0];
+    }
+    pl = dirty_vram->pl_free;
+    dirty_vram->pl_free = pl->pl_next;
+
+    pl->sl1ma = INVALID_PADDR;
+    pl->pl_next = NULL;
+ out:
+    return pl;
+}
+
+
+/* Free a paddr_link struct, given address of its predecessor in linked list */
+dv_paddr_link_t *
+free_paddr_link(struct domain *d,
+                dv_paddr_link_t **ppl,
+                dv_paddr_link_t *pl)
+{
+    dv_dirty_vram_t *dirty_vram = d->arch.hvm_domain.dirty_vram;
+    dv_paddr_link_t *npl; /* next pl */
+
+    ASSERT( paging_locked_by_me(d) );
+    /* extension mapping? */
+    if (ppl) /* yes. free it */
+    {
+        pl = (*ppl);
+        (*ppl) = npl = pl->pl_next;
+    }
+    else  /* main table */
+    {
+        /* move 2nd mapping to main table.
+         * and free 2nd mapping */
+        dv_paddr_link_t * spl;
+        spl = pl->pl_next;
+        if (spl == NULL)
+        {
+            pl->sl1ma = INVALID_PADDR;
+            return pl;
+        }
+        pl->sl1ma = spl->sl1ma;
+        pl->pl_next = spl->pl_next;
+        npl = pl; /* reprocess main table entry again */
+        pl = spl;
+    }
+    pl->sl1ma = INVALID_PADDR;
+    pl->pl_next = dirty_vram->pl_free;
+    dirty_vram->pl_free = pl;
+    return npl;
+}
+
+
+/* dirty_vram_range_update()
+ * This is called whenever a level 1 page table entry is modified.
+ * If the L1PTE is being cleared, the function removes any paddr_links
+ * that refer to it.
+ * If the L1PTE is being set to a frame buffer page, a paddr_link is
+ * created for that page's entry in pl_tab.
+ * Returns 1 iff entry found and set or cleared.
+ */
+int dirty_vram_range_update(struct domain *d,
+                            unsigned long gfn,
+                            paddr_t sl1ma,
+                            int set)
+{
+    int effective = 0;
+    dv_range_t *range;
+
+    ASSERT(paging_locked_by_me(d));
+    range = dirty_vram_range_find_gfn(d, gfn);
+    if ( range )
+    {
+        unsigned long i = gfn - range->begin_pfn;
+        dv_paddr_link_t *pl = &range->pl_tab[ i ];
+        dv_paddr_link_t **ppl = NULL;
+        int len = 0;
+
+        /* find matching entry (pl), if any, and its predecessor
+         * in linked list (ppl) */
+        while (pl != NULL)
+        {
+            if (pl->sl1ma == sl1ma || pl->sl1ma == INVALID_PADDR )
+                break;
+            ppl = &pl->pl_next;
+            pl = *ppl;
+            len++;
+        }
+            
+        if (set)
+        {
+            /* Did we find sl1ma in either the main table or the linked list? */
+            if (pl == NULL) /* no, so we'll need to alloc a link */
+            {
+                ASSERT(ppl != NULL);
+                /* alloc link and append it to list */
+                (*ppl) = pl = alloc_paddr_link(d);
+                if (pl == NULL)
+                    goto out;
+            }
+            if ( pl->sl1ma != sl1ma )
+            {
+                pl->sl1ma = sl1ma;
+                range->nr_mappings++;
+            }
+            effective = 1;
+            if (len > range->mappings_hwm)
+            {
+                range->mappings_hwm = len;
+#if DEBUG_update_vram_mapping
+                gdprintk(XENLOG_DEBUG,
+                         "[%lx] set      sl1ma:%lx hwm:%d mappings:%d freepages:%d\n",
+                         gfn, sl1ma,
+                         range->mappings_hwm,
+                         range->nr_mappings,
+                         d->arch.paging.shadow.free_pages);
+#endif
+            }
+        }
+        else /* clear */
+        {
+            if (pl && pl->sl1ma == sl1ma )
+            {
+#if DEBUG_update_vram_mapping
+                gdprintk(XENLOG_DEBUG,
+                         "[%lx] clear    sl1ma:%lx mappings:%d\n",
+                         gfn, sl1ma,
+                         range->nr_mappings-1);
+#endif
+                free_paddr_link(d, ppl, pl);
+                if ( --range->nr_mappings == 0 )
+                {
+                    dirty_vram_range_free(d, range);
+                }
+                effective = 1;
+            }
+        }
+    }
+ out:
+    return effective;
+}
+
+
+/* shadow_scan_dirty_flags()
+ * This produces a dirty bitmap for the range by examining every
+ * L1PTE referenced by some dv_paddr_link in the range's pl_tab table.
+ * It tests and clears each such L1PTE's dirty flag.
+ */
+static int shadow_scan_dirty_flags(struct domain *d,
+                                   dv_range_t *range,
+                                   uint8_t *dirty_bitmap)
+{
+    int flush_tlb = 0;
+    unsigned long i;
+    unsigned long nr = range->end_pfn - range->begin_pfn;
+#ifdef __i386__
+    unsigned long map_mfn = INVALID_MFN;
+    void *map_sl1p = NULL;
+#endif
+
+    ASSERT( paging_locked_by_me(d) );
+    /* Iterate over VRAM to track dirty bits. */
+    for ( i = 0; i < nr; i++ )
+    {
+        int dirty = 0, len = 1;
+        dv_paddr_link_t *pl;
+        for (pl = &range->pl_tab[i]; pl; pl = pl->pl_next, len++)
+        {
+#ifdef __i386__
+            void *sl1p;
+            unsigned long sl1mfn;
+#endif
+            l1_pgentry_t *sl1e;
+            paddr_t sl1ma = pl->sl1ma;
+            if (sl1ma == INVALID_PADDR) /* FB page is unmapped */
+                continue;
+#ifdef __i386__
+            sl1p = map_sl1p;
+            sl1mfn = paddr_to_pfn(sl1ma);
+
+            if ( sl1mfn != map_mfn )
+            {
+                if ( map_sl1p )
+                    sh_unmap_domain_page(map_sl1p);
+                map_sl1p = sl1p = sh_map_domain_page(_mfn(sl1mfn));
+                map_mfn = sl1mfn;
+            }
+            sl1e = sl1p + (sl1ma & ~PAGE_MASK);
+#else
+            sl1e = maddr_to_virt(sl1ma);
+#endif
+            if ( l1e_get_flags(*sl1e) & _PAGE_DIRTY )
+            {
+                dirty = 1;
+                /* Clear dirty so we can detect if page gets re-dirtied */
+                /* Note: this is atomic, so we may clear a
+                 * _PAGE_ACCESSED set by another processor. */
+                l1e_remove_flags(*sl1e, _PAGE_DIRTY);
+                flush_tlb = 1;
+            }
+        } /* for */
+        if ( dirty )
+        {
+            dirty_bitmap[i >> 3] |= (1 << (i & 7));
+        }
+    }
+
+#ifdef __i386__
+    if ( map_sl1p )
+        sh_unmap_domain_page(map_sl1p);
+#endif
+    return flush_tlb;
+}
+
+
+/* shadow_track_dirty_vram()
+ * This is the API called by the guest to determine which pages in the range
+ * from [begin_pfn:begin_pfn+nr) have been dirtied since the last call.
+ * It creates the domain's dv_dirty_vram on demand. 
+ * It creates ranges on demand when some [begin_pfn:nr) is first encountered.
+ * To collect the dirty bitmask it calls shadow_scan_dirty_flags().
+ * It copies the dirty bitmask into guest storage.
+ */
+int shadow_track_dirty_vram(struct domain *d,
+                            unsigned long begin_pfn,
+                            unsigned long nr,
+                            XEN_GUEST_HANDLE_64(uint8) guest_dirty_bitmap)
+{
+    int rc = 0;
+    unsigned long end_pfn = begin_pfn + nr;
+    int flush_tlb = 0;
+    dv_range_t *range;
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+    if (end_pfn < begin_pfn
+            || begin_pfn > p2m->max_mapped_pfn
+            || end_pfn >= p2m->max_mapped_pfn)
+        return -EINVAL;
+
+    paging_lock(d);
+
+    if ( !nr || guest_handle_is_null(guest_dirty_bitmap) )
+    {
+        goto out;
+    }
+
+    if ( !dirty_vram_find_or_alloc(d))
+    {
+        rc = -ENOMEM;
+        goto out;
+    }
+    
+    range = dirty_vram_range_find(d, begin_pfn, nr);
+    if ( !range )
+    {
+        range = dirty_vram_range_alloc(d, begin_pfn, nr);
+        if ( range )    
+            sh_find_all_vram_mappings(d->vcpu[0], range);
+    }
+    if ( range )
+    {
+        int size = (nr + BITS_PER_LONG - 1) / BITS_PER_LONG;
+        unsigned long dirty_bitmap[size];
+        
+        memset(dirty_bitmap, 0x00, size * BYTES_PER_LONG);
+
+	flush_tlb |= shadow_scan_dirty_flags(d, range, (uint8_t*)dirty_bitmap);
+        
+        rc = -EFAULT;
+        if ( copy_to_guest(guest_dirty_bitmap,
+                           (uint8_t*)dirty_bitmap,
+                           size * BYTES_PER_LONG) == 0 )
+            rc = 0;
+    }
+    if ( flush_tlb )
+        flush_tlb_mask(d->domain_dirty_cpumask);
+
+out:
+    paging_unlock(d);
+    return rc;
+}
+
+
+/************************************************/
+/*          HAP VRAM TRACKING SUPPORT           */
+/************************************************/
+
+/* hap_enable_vram_tracking()
+ * For all ranges, mark all vram pages in range as logdirty read-only.
+ */
+static int hap_enable_vram_tracking(struct domain *d)
+{
+    int rc = 0;
+    dv_dirty_vram_t *dirty_vram;
+    struct list_head *curr;
+
+    /* turn on PG_log_dirty bit in paging mode */
+    paging_lock(d);
+    d->arch.paging.mode |= PG_log_dirty;
+    paging_unlock(d);
+
+    p2m_lock(p2m_get_hostp2m(d));
+    paging_lock(d);
+    
+    dirty_vram = d->arch.hvm_domain.dirty_vram;
+
+    /* dirty_vram != NULL iff we're tracking dirty vram.
+     * If we start tracking dirty pages for all memory then
+     * the dirty_vram structure is freed. */
+    if ( !dirty_vram )
+    {
+        rc = -EINVAL;
+        goto out;
+    }
+
+    /* set l1e entries of P2M table to be read-only. */
+    list_for_each(curr, &dirty_vram->range_head)
+      {
+	dv_range_t *range = list_entry(curr, dv_range_t, range_link);
+	gdprintk(XENLOG_DEBUG, "[%05lx:%05lx] enable  vram tracking\n",
+		 range->begin_pfn, range->end_pfn);
+	p2m_change_type_range(d, range->begin_pfn, range->end_pfn, 
+			      p2m_ram_rw, p2m_ram_logdirty);
+      }
+        
+    flush_tlb_mask(d->domain_dirty_cpumask);
+ out:
+    paging_unlock(d);
+    p2m_unlock(p2m_get_hostp2m(d));
+    if (rc) 
+    {
+        paging_lock(d);
+        d->arch.paging.mode &= ~PG_log_dirty;
+        paging_unlock(d);
+    }
+    return rc;
+}
+
+/* hap_disable_vram_tracking()
+ * For all ranges, mark all vram pages in range as logdirty read-write.
+ */
+static int hap_disable_vram_tracking(struct domain *d)
+{
+    int rc = 0;
+    dv_dirty_vram_t *dirty_vram;
+    struct list_head *curr;
+
+    paging_lock(d);
+    d->arch.paging.mode &= ~PG_log_dirty;
+    paging_unlock(d);
+
+    p2m_lock(p2m_get_hostp2m(d));
+    paging_lock(d);
+    
+    dirty_vram = d->arch.hvm_domain.dirty_vram;
+    if ( !dirty_vram )
+    {
+        rc = -EINVAL;
+        goto out;
+    }
+    
+    /* set l1e entries of P2M table with normal mode */
+    list_for_each(curr, &dirty_vram->range_head)
+      {
+	dv_range_t *range = list_entry(curr, dv_range_t, range_link);
+	gdprintk(XENLOG_DEBUG, "[%05lx:%05lx] disable vram tracking\n",
+		 range->begin_pfn, range->end_pfn);
+	p2m_change_type_range(d, range->begin_pfn, range->end_pfn, 
+			      p2m_ram_logdirty, p2m_ram_rw);
+      }
+    flush_tlb_mask(d->domain_dirty_cpumask);
+ out:
+    paging_unlock(d);
+    p2m_unlock(p2m_get_hostp2m(d));
+    if (rc) 
+    {
+        paging_lock(d);
+        d->arch.paging.mode |= PG_log_dirty;
+        paging_unlock(d);
+    }
+    return rc;
+}
+
+/* hap_clean_vram_tracking_range()
+ * For all the pages in the range specified by [begin_pfn,nr),
+ * note in the dirty bitmap any page that has been marked as read-write,
+ * which signifies that the page has been dirtied, and reset the page
+ * to ram_logdirty. 
+ */
+void hap_clean_vram_tracking_range(struct domain *d,
+                                   unsigned long begin_pfn,
+                                   unsigned long nr,
+                                   uint8_t *dirty_bitmap)
+{
+    int i;
+    unsigned long pfn;
+    dv_dirty_vram_t *dirty_vram = d->arch.hvm_domain.dirty_vram;
+    dv_range_t *range;
+
+    ASSERT(p2m_locked_by_me(p2m_get_hostp2m(d)));
+    ASSERT(paging_locked_by_me(d));
+    
+    if ( !dirty_vram )
+    {
+        gdprintk(XENLOG_DEBUG, "Should only be called while tracking dirty vram.\n");
+        return;
+    }
+
+    range = dirty_vram_range_find(d, begin_pfn, nr);
+    if (!range)
+        return;
+
+    /* set l1e entries of P2M table to be read-only. */
+    /* On first write, it page faults, its entry is changed to read-write,
+     * its bit in the dirty bitmap is set, and on retry the write succeeds. */
+    for (i = 0, pfn = range->begin_pfn; pfn < range->end_pfn; i++, pfn++)
+    {
+        p2m_type_t pt;
+        pt = p2m_change_type(d, pfn, p2m_ram_rw, p2m_ram_logdirty);
+        if (pt == p2m_ram_rw)
+            dirty_bitmap[i >> 3] |= (1 << (i & 7));
+    }
+    flush_tlb_mask(d->domain_dirty_cpumask);
+}
+
+static void hap_vram_tracking_init(struct domain *d)
+{
+    paging_log_dirty_init(d, hap_enable_vram_tracking,
+                          hap_disable_vram_tracking,
+                          NULL);
+}
+
+/* hap_track_dirty_vram()
+ * Create the domain's dv_dirty_vram struct on demand.
+ * Create a dirty vram range on demand when some [begin_pfn:begin_pfn+nr] is first encountered.
+ * Collect the guest_dirty bitmask, a bit mask of the dirties vram pages, by
+ * calling paging_log_dirty_range().
+ */
+int hap_track_dirty_vram(struct domain *d,
+                         unsigned long begin_pfn,
+                         unsigned long nr,
+                         XEN_GUEST_HANDLE_64(uint8) guest_dirty_bitmap)
+{
+    long rc = 0;
+    dv_dirty_vram_t *dirty_vram;
+    int restart_log_dirty = 0;
+
+    paging_lock(d);
+    dirty_vram = d->arch.hvm_domain.dirty_vram;
+    if ( nr )
+    {
+        dv_range_t *range = NULL;
+        int size = (nr + BITS_PER_LONG - 1) / BITS_PER_LONG;
+        unsigned long dirty_bitmap[size];
+
+        /* Already tracking dirty vram? */
+        if ( paging_mode_log_dirty(d) && dirty_vram ) /* yes */
+        {
+            /* Handle the addition of another range */
+            range = dirty_vram_range_find(d, begin_pfn, nr);
+            if ( !range )
+            {
+                rc = -ENOMEM;
+                if ( !(range = dirty_vram_range_alloc(d, begin_pfn, nr)) )
+                    goto param_fail;
+                restart_log_dirty = 1;
+            }
+        }
+        /* Just starting to track dirty vram? */
+        else if ( !paging_mode_log_dirty(d) && !dirty_vram ) /* yes */
+        {
+            rc = -ENOMEM;
+            if ( !(dirty_vram = dirty_vram_alloc(d)) )
+                goto param_fail;
+            
+            if ( !(range = dirty_vram_range_find_or_alloc(d, begin_pfn, nr)) )
+                goto param_fail;
+
+            restart_log_dirty = 1;
+            /* Initialize callbacks for vram tracking */
+            hap_vram_tracking_init(d);
+        }
+        else
+        {
+            /* Test for invalid combination */
+            if ( !paging_mode_log_dirty(d) && dirty_vram )
+                rc = -EINVAL;
+            else /* logging dirty of all memory, not tracking dirty vram */
+                rc = -ENODATA;
+            goto param_fail;
+        }
+        
+        if (restart_log_dirty) 
+        {
+            /* disable then enable log dirty */
+            paging_unlock(d);
+            if (paging_mode_log_dirty(d))
+                paging_log_dirty_disable(d);
+                    
+            rc = paging_log_dirty_enable(d);
+            paging_lock(d);
+            if (rc != 0)
+                goto param_fail;
+        }
+        
+        paging_unlock(d);
+        memset(dirty_bitmap, 0x00, size * BYTES_PER_LONG);
+	paging_log_dirty_range(d, begin_pfn, nr, (uint8_t*)dirty_bitmap);
+        rc = -EFAULT;
+        if ( copy_to_guest(guest_dirty_bitmap,
+                           (uint8_t*)dirty_bitmap,
+                           size * BYTES_PER_LONG) == 0 )
+        {
+            rc = 0;
+        }
+    }
+    else
+    {
+        /* If zero pages specified while already tracking dirty vram
+         * then stop tracking */
+        if ( paging_mode_log_dirty(d) && dirty_vram ) {
+            paging_unlock(d);
+            rc = paging_log_dirty_disable(d);
+            paging_lock(d);
+            dirty_vram_free(d);
+        } else /* benign no-op */
+        {
+            rc = 0;
+        }
+        paging_unlock(d);
+    }
+
+    return rc;
+
+param_fail:
+    dirty_vram_free(d);
+    paging_unlock(d);
+    return rc;
+}
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index a5a1bcf..55553e4 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -57,6 +57,7 @@
 #include <asm/hvm/cacheattr.h>
 #include <asm/hvm/trace.h>
 #include <asm/hvm/nestedhvm.h>
+#include <asm/hvm/dirty_vram.h>
 #include <asm/mtrr.h>
 #include <asm/apic.h>
 #include <public/sched.h>
@@ -1433,8 +1434,7 @@ int hvm_hap_nested_page_fault(paddr_t gpa,
          */
         if ( access_w )
         {
-            paging_mark_dirty(v->domain, mfn_x(mfn));
-            p2m_change_type(v->domain, gfn, p2m_ram_logdirty, p2m_ram_rw);
+            paging_mark_dirty_hap(v->domain, gfn, mfn_x(mfn));
         }
         rc = 1;
         goto out_put_gfn;
diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index d2637d3..f31e4e5 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -41,6 +41,7 @@
 #include <asm/domain.h>
 #include <xen/numa.h>
 #include <asm/hvm/nestedhvm.h>
+#include <asm/hvm/dirty_vram.h>
 
 #include "private.h"
 
@@ -53,139 +54,6 @@
 #define page_to_mfn(_pg) _mfn(__page_to_mfn(_pg))
 
 /************************************************/
-/*          HAP VRAM TRACKING SUPPORT           */
-/************************************************/
-
-static int hap_enable_vram_tracking(struct domain *d)
-{
-    struct sh_dirty_vram *dirty_vram = d->arch.hvm_domain.dirty_vram;
-
-    if ( !dirty_vram )
-        return -EINVAL;
-
-    /* turn on PG_log_dirty bit in paging mode */
-    paging_lock(d);
-    d->arch.paging.mode |= PG_log_dirty;
-    paging_unlock(d);
-
-    /* set l1e entries of P2M table to be read-only. */
-    p2m_change_type_range(d, dirty_vram->begin_pfn, dirty_vram->end_pfn, 
-                          p2m_ram_rw, p2m_ram_logdirty);
-
-    flush_tlb_mask(d->domain_dirty_cpumask);
-    return 0;
-}
-
-static int hap_disable_vram_tracking(struct domain *d)
-{
-    struct sh_dirty_vram *dirty_vram = d->arch.hvm_domain.dirty_vram;
-
-    if ( !dirty_vram )
-        return -EINVAL;
-
-    paging_lock(d);
-    d->arch.paging.mode &= ~PG_log_dirty;
-    paging_unlock(d);
-
-    /* set l1e entries of P2M table with normal mode */
-    p2m_change_type_range(d, dirty_vram->begin_pfn, dirty_vram->end_pfn, 
-                          p2m_ram_logdirty, p2m_ram_rw);
-
-    flush_tlb_mask(d->domain_dirty_cpumask);
-    return 0;
-}
-
-static void hap_clean_vram_tracking(struct domain *d)
-{
-    struct sh_dirty_vram *dirty_vram = d->arch.hvm_domain.dirty_vram;
-
-    if ( !dirty_vram )
-        return;
-
-    /* set l1e entries of P2M table to be read-only. */
-    p2m_change_type_range(d, dirty_vram->begin_pfn, dirty_vram->end_pfn, 
-                          p2m_ram_rw, p2m_ram_logdirty);
-
-    flush_tlb_mask(d->domain_dirty_cpumask);
-}
-
-static void hap_vram_tracking_init(struct domain *d)
-{
-    paging_log_dirty_init(d, hap_enable_vram_tracking,
-                          hap_disable_vram_tracking,
-                          hap_clean_vram_tracking);
-}
-
-int hap_track_dirty_vram(struct domain *d,
-                         unsigned long begin_pfn,
-                         unsigned long nr,
-                         XEN_GUEST_HANDLE_64(uint8) dirty_bitmap)
-{
-    long rc = 0;
-    struct sh_dirty_vram *dirty_vram = d->arch.hvm_domain.dirty_vram;
-
-    if ( nr )
-    {
-        if ( paging_mode_log_dirty(d) && dirty_vram )
-        {
-            if ( begin_pfn != dirty_vram->begin_pfn ||
-                 begin_pfn + nr != dirty_vram->end_pfn )
-            {
-                paging_log_dirty_disable(d);
-                dirty_vram->begin_pfn = begin_pfn;
-                dirty_vram->end_pfn = begin_pfn + nr;
-                rc = paging_log_dirty_enable(d);
-                if (rc != 0)
-                    goto param_fail;
-            }
-        }
-        else if ( !paging_mode_log_dirty(d) && !dirty_vram )
-        {
-            rc = -ENOMEM;
-            if ( (dirty_vram = xmalloc(struct sh_dirty_vram)) == NULL )
-                goto param_fail;
-
-            dirty_vram->begin_pfn = begin_pfn;
-            dirty_vram->end_pfn = begin_pfn + nr;
-            d->arch.hvm_domain.dirty_vram = dirty_vram;
-            hap_vram_tracking_init(d);
-            rc = paging_log_dirty_enable(d);
-            if (rc != 0)
-                goto param_fail;
-        }
-        else
-        {
-            if ( !paging_mode_log_dirty(d) && dirty_vram )
-                rc = -EINVAL;
-            else
-                rc = -ENODATA;
-            goto param_fail;
-        }
-        /* get the bitmap */
-        rc = paging_log_dirty_range(d, begin_pfn, nr, dirty_bitmap);
-    }
-    else
-    {
-        if ( paging_mode_log_dirty(d) && dirty_vram ) {
-            rc = paging_log_dirty_disable(d);
-            xfree(dirty_vram);
-            dirty_vram = d->arch.hvm_domain.dirty_vram = NULL;
-        } else
-            rc = 0;
-    }
-
-    return rc;
-
-param_fail:
-    if ( dirty_vram )
-    {
-        xfree(dirty_vram);
-        dirty_vram = d->arch.hvm_domain.dirty_vram = NULL;
-    }
-    return rc;
-}
-
-/************************************************/
 /*            HAP LOG DIRTY SUPPORT             */
 /************************************************/
 
@@ -223,14 +91,12 @@ static void hap_clean_dirty_bitmap(struct domain *d)
 
 void hap_logdirty_init(struct domain *d)
 {
-    struct sh_dirty_vram *dirty_vram = d->arch.hvm_domain.dirty_vram;
+    struct dv_dirty_vram *dirty_vram = d->arch.hvm_domain.dirty_vram;
     if ( paging_mode_log_dirty(d) && dirty_vram )
     {
         paging_log_dirty_disable(d);
-        xfree(dirty_vram);
-        dirty_vram = d->arch.hvm_domain.dirty_vram = NULL;
+        dirty_vram_free(d);
     }
-
     /* Reinitialize logdirty mechanism */
     paging_log_dirty_init(d, hap_enable_log_dirty,
                           hap_disable_log_dirty,
diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index ca879f9..7464b07 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -27,6 +27,7 @@
 #include <asm/p2m.h>
 #include <asm/hap.h>
 #include <asm/hvm/nestedhvm.h>
+#include <asm/hvm/dirty_vram.h>
 #include <xen/numa.h>
 #include <xsm/xsm.h>
 
@@ -278,6 +279,46 @@ out:
 }
 
 
+/* paging_mark_dirty_hap()
+ * Make a hap page writeable and mark it as dirty.
+ * This done atomically under the p2m and paging locks to avoid leaving
+ * a window where the page might be modified without being marked as dirty.
+ */
+void paging_mark_dirty_hap(struct domain *d,
+                           unsigned long pfn,
+                           unsigned long guest_mfn)
+{
+    mfn_t gmfn;
+    p2m_type_t pt;
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    
+    if ( !paging_mode_log_dirty(d) )
+        return;
+
+    gmfn = _mfn(guest_mfn);
+
+    ASSERT( mfn_valid(gmfn) &&
+            page_get_owner(mfn_to_page(gmfn)) == d );
+
+    p2m_lock(p2m);
+    pt = p2m_change_type(d, pfn, p2m_ram_logdirty, p2m_ram_rw);
+    paging_lock(d);
+    if ( pt == p2m_ram_logdirty )
+    {
+        dv_range_t *range;
+        PAGING_DEBUG(LOGDIRTY,
+                     "marked mfn %" PRI_mfn " (pfn=%lx), dom %d\n",
+                     mfn_x(gmfn), pfn, d->domain_id);
+        d->arch.paging.log_dirty.dirty_count++;
+        range = dirty_vram_range_find_gfn(d, pfn);
+        if (range)
+            range->dirty_count++;
+    }
+    paging_mark_dirty(d, guest_mfn); 
+    paging_unlock(d);
+    p2m_unlock(p2m);
+}
+
 /* Is this guest page dirty? */
 int paging_mfn_is_dirty(struct domain *d, mfn_t gmfn)
 {
@@ -333,8 +374,11 @@ int paging_log_dirty_op(struct domain *d, struct xen_domctl_shadow_op *sc)
     mfn_t *l4, *l3, *l2;
     unsigned long *l1;
     int i4, i3, i2;
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
 
     domain_pause(d);
+    /* Locking hierarchy requires p2m lock to be taken first */
+    p2m_lock(p2m);
     paging_lock(d);
 
     clean = (sc->op == XEN_DOMCTL_SHADOW_OP_CLEAN);
@@ -345,6 +389,14 @@ int paging_log_dirty_op(struct domain *d, struct xen_domctl_shadow_op *sc)
                  d->arch.paging.log_dirty.fault_count,
                  d->arch.paging.log_dirty.dirty_count);
 
+    if (hap_enabled(d) && d->arch.hvm_domain.dirty_vram)
+    {
+        /* If we're cleaning/peeking all guest memory, we should not be tracking
+         * dirty vram. */
+        rv = -EINVAL;
+        goto out;
+    }
+
     sc->stats.fault_count = d->arch.paging.log_dirty.fault_count;
     sc->stats.dirty_count = d->arch.paging.log_dirty.dirty_count;
 
@@ -424,170 +476,60 @@ int paging_log_dirty_op(struct domain *d, struct xen_domctl_shadow_op *sc)
 
     if ( clean )
     {
-        /* We need to further call clean_dirty_bitmap() functions of specific
-         * paging modes (shadow or hap).  Safe because the domain is paused. */
-        d->arch.paging.log_dirty.clean_dirty_bitmap(d);
+        /* Is null if tracking dirty vram */
+        if (d->arch.paging.log_dirty.clean_dirty_bitmap)
+        {
+            /* We need to further call clean_dirty_bitmap() functions of specific
+             * paging modes (shadow or hap).  Safe because the domain is paused. */
+            d->arch.paging.log_dirty.clean_dirty_bitmap(d);
+        }
     }
     domain_unpause(d);
     return rv;
 
  out:
     paging_unlock(d);
+    p2m_unlock(p2m);
     domain_unpause(d);
     return rv;
 }
 
-int paging_log_dirty_range(struct domain *d,
-                            unsigned long begin_pfn,
-                            unsigned long nr,
-                            XEN_GUEST_HANDLE_64(uint8) dirty_bitmap)
+void paging_log_dirty_range(struct domain *d,
+                           unsigned long begin_pfn,
+                           unsigned long nr,
+                           uint8_t *dirty_bitmap)
 {
-    int rv = 0;
-    unsigned long pages = 0;
-    mfn_t *l4, *l3, *l2;
-    unsigned long *l1;
-    int b1, b2, b3, b4;
-    int i2, i3, i4;
-
-    d->arch.paging.log_dirty.clean_dirty_bitmap(d);
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    dv_range_t *range;
+    unsigned int range_dirty_count = 0;
+    
+    p2m_lock(p2m);
     paging_lock(d);
 
-    PAGING_DEBUG(LOGDIRTY, "log-dirty-range: dom %u faults=%u dirty=%u\n",
-                 d->domain_id,
-                 d->arch.paging.log_dirty.fault_count,
-                 d->arch.paging.log_dirty.dirty_count);
-
-    if ( unlikely(d->arch.paging.log_dirty.failed_allocs) ) {
-        printk("%s: %d failed page allocs while logging dirty pages\n",
-               __FUNCTION__, d->arch.paging.log_dirty.failed_allocs);
-        rv = -ENOMEM;
-        goto out;
-    }
-
-    if ( !d->arch.paging.log_dirty.fault_count &&
-         !d->arch.paging.log_dirty.dirty_count ) {
-        unsigned int size = BITS_TO_LONGS(nr);
-
-        if ( clear_guest(dirty_bitmap, size * BYTES_PER_LONG) != 0 )
-            rv = -EFAULT;
-        goto out;
-    }
-    d->arch.paging.log_dirty.fault_count = 0;
-    d->arch.paging.log_dirty.dirty_count = 0;
-
-    b1 = L1_LOGDIRTY_IDX(begin_pfn);
-    b2 = L2_LOGDIRTY_IDX(begin_pfn);
-    b3 = L3_LOGDIRTY_IDX(begin_pfn);
-    b4 = L4_LOGDIRTY_IDX(begin_pfn);
-    l4 = paging_map_log_dirty_bitmap(d);
-
-    for ( i4 = b4;
-          (pages < nr) && (i4 < LOGDIRTY_NODE_ENTRIES);
-          i4++ )
+    /* Only called when tracking dirty vram in HAP mode */
+    ASSERT(hap_enabled(d) && d->arch.hvm_domain.dirty_vram);
+    
+    range = dirty_vram_range_find_gfn(d, begin_pfn);
+    if (range)
     {
-        l3 = (l4 && mfn_valid(l4[i4])) ? map_domain_page(mfn_x(l4[i4])) : NULL;
-        for ( i3 = b3;
-              (pages < nr) && (i3 < LOGDIRTY_NODE_ENTRIES);
-              i3++ )
-        {
-            l2 = ((l3 && mfn_valid(l3[i3])) ?
-                  map_domain_page(mfn_x(l3[i3])) : NULL);
-            for ( i2 = b2;
-                  (pages < nr) && (i2 < LOGDIRTY_NODE_ENTRIES);
-                  i2++ )
-            {
-                unsigned int bytes = PAGE_SIZE;
-                uint8_t *s;
-                l1 = ((l2 && mfn_valid(l2[i2])) ?
-                      map_domain_page(mfn_x(l2[i2])) : NULL);
-
-                s = ((uint8_t*)l1) + (b1 >> 3);
-                bytes -= b1 >> 3;
-
-                if ( likely(((nr - pages + 7) >> 3) < bytes) )
-                    bytes = (unsigned int)((nr - pages + 7) >> 3);
-
-                if ( !l1 )
-                {
-                    if ( clear_guest_offset(dirty_bitmap, pages >> 3,
-                                            bytes) != 0 )
-                    {
-                        rv = -EFAULT;
-                        goto out;
-                    }
-                }
-                /* begin_pfn is not 32K aligned, hence we have to bit
-                 * shift the bitmap */
-                else if ( b1 & 0x7 )
-                {
-                    int i, j;
-                    uint32_t *l = (uint32_t*) s;
-                    int bits = b1 & 0x7;
-                    int bitmask = (1 << bits) - 1;
-                    int size = (bytes + BYTES_PER_LONG - 1) / BYTES_PER_LONG;
-                    unsigned long bitmap[size];
-                    static unsigned long printed = 0;
-
-                    if ( printed != begin_pfn )
-                    {
-                        dprintk(XENLOG_DEBUG, "%s: begin_pfn %lx is not 32K aligned!\n",
-                                __FUNCTION__, begin_pfn);
-                        printed = begin_pfn;
-                    }
-
-                    for ( i = 0; i < size - 1; i++, l++ ) {
-                        bitmap[i] = ((*l) >> bits) |
-                            (((*((uint8_t*)(l + 1))) & bitmask) << (sizeof(*l) * 8 - bits));
-                    }
-                    s = (uint8_t*) l;
-                    size = BYTES_PER_LONG - ((b1 >> 3) & 0x3);
-                    bitmap[i] = 0;
-                    for ( j = 0; j < size; j++, s++ )
-                        bitmap[i] |= (*s) << (j * 8);
-                    bitmap[i] = (bitmap[i] >> bits) | (bitmask << (size * 8 - bits));
-                    if ( copy_to_guest_offset(dirty_bitmap, (pages >> 3),
-                                (uint8_t*) bitmap, bytes) != 0 )
-                    {
-                        rv = -EFAULT;
-                        goto out;
-                    }
-                }
-                else
-                {
-                    if ( copy_to_guest_offset(dirty_bitmap, pages >> 3,
-                                              s, bytes) != 0 )
-                    {
-                        rv = -EFAULT;
-                        goto out;
-                    }
-                }
-
-                pages += bytes << 3;
-                if ( l1 )
-                {
-                    clear_page(l1);
-                    unmap_domain_page(l1);
-                }
-                b1 = b1 & 0x7;
-            }
-            b2 = 0;
-            if ( l2 )
-                unmap_domain_page(l2);
-        }
-        b3 = 0;
-        if ( l3 )
-            unmap_domain_page(l3);
+        range_dirty_count = range->dirty_count;
+        range->dirty_count = 0;
     }
-    if ( l4 )
-        unmap_domain_page(l4);
-
-    paging_unlock(d);
+    
+    if ( !range_dirty_count)
+        goto out;
 
-    return rv;
+    PAGING_DEBUG(LOGDIRTY, "log-dirty-range: dom %u [%05lx:%05lx] range_dirty=%u\n",
+                 d->domain_id,
+                 begin_pfn,
+                 range->end_pfn,
+                 range_dirty_count);
 
+    hap_clean_vram_tracking_range(d, begin_pfn, nr, dirty_bitmap);
  out:
     paging_unlock(d);
-    return rv;
+    p2m_unlock(p2m);
+    return;
 }
 
 /* Note that this function takes three function pointers. Callers must supply
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index 3f8ad88..c9f3495 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -36,6 +36,7 @@
 #include <asm/current.h>
 #include <asm/flushtlb.h>
 #include <asm/shadow.h>
+#include <asm/hvm/dirty_vram.h>
 #include <xen/numa.h>
 #include "private.h"
 
@@ -3121,12 +3122,7 @@ void shadow_teardown(struct domain *d)
      * calls now that we've torn down the bitmap */
     d->arch.paging.mode &= ~PG_log_dirty;
 
-    if (d->arch.hvm_domain.dirty_vram) {
-        xfree(d->arch.hvm_domain.dirty_vram->sl1ma);
-        xfree(d->arch.hvm_domain.dirty_vram->dirty_bitmap);
-        xfree(d->arch.hvm_domain.dirty_vram);
-        d->arch.hvm_domain.dirty_vram = NULL;
-    }
+    dirty_vram_free(d);
 
     paging_unlock(d);
 
@@ -3463,179 +3459,212 @@ void shadow_clean_dirty_bitmap(struct domain *d)
 
 
 /**************************************************************************/
-/* VRAM dirty tracking support */
-int shadow_track_dirty_vram(struct domain *d,
-                            unsigned long begin_pfn,
-                            unsigned long nr,
-                            XEN_GUEST_HANDLE_64(uint8) dirty_bitmap)
-{
-    int rc;
-    unsigned long end_pfn = begin_pfn + nr;
-    unsigned long dirty_size = (nr + 7) / 8;
-    int flush_tlb = 0;
-    unsigned long i;
-    p2m_type_t t;
-    struct sh_dirty_vram *dirty_vram = d->arch.hvm_domain.dirty_vram;
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    if (end_pfn < begin_pfn
-            || begin_pfn > p2m->max_mapped_pfn
-            || end_pfn >= p2m->max_mapped_pfn)
-        return -EINVAL;
-
-    /* We perform p2m lookups, so lock the p2m upfront to avoid deadlock */
-    p2m_lock(p2m_get_hostp2m(d));
-    paging_lock(d);
+/* Support functions for shadow-based dirty VRAM code */
 
-    if ( dirty_vram && (!nr ||
-             ( begin_pfn != dirty_vram->begin_pfn
-            || end_pfn   != dirty_vram->end_pfn )) )
-    {
-        /* Different tracking, tear the previous down. */
-        gdprintk(XENLOG_INFO, "stopping tracking VRAM %lx - %lx\n", dirty_vram->begin_pfn, dirty_vram->end_pfn);
-        xfree(dirty_vram->sl1ma);
-        xfree(dirty_vram->dirty_bitmap);
-        xfree(dirty_vram);
-        dirty_vram = d->arch.hvm_domain.dirty_vram = NULL;
-    }
+#define DEBUG_unshadow_sl1ma                  0          
+#define DEBUG_unshadow_sl1ma_detail           0
+#define DEBUG_count_initial_mappings          1
 
-    if ( !nr )
+/* smfn is no longer a shadow page.  Remove it from any
+ * dirty vram range mapping. */
+void
+dirty_vram_delete_shadow(struct vcpu *v,
+                         unsigned long gfn,
+                         unsigned int shadow_type, 
+                         mfn_t smfn)
+{
+    static unsigned int l1_shadow_mask = 
+          1 << SH_type_l1_32_shadow
+        | 1 << SH_type_fl1_32_shadow
+        | 1 << SH_type_l1_pae_shadow
+        | 1 << SH_type_fl1_pae_shadow
+        | 1 << SH_type_l1_64_shadow
+        | 1 << SH_type_fl1_64_shadow
+        ;
+    struct domain *d = v->domain;
+    dv_dirty_vram_t *dirty_vram;
+    struct list_head *curr, *next;
+    
+    ASSERT(paging_locked_by_me(d));
+    /* Ignore all but level 1 shadows */
+    
+    if ((l1_shadow_mask & (1 << shadow_type)) == 0)
     {
-        rc = 0;
         goto out;
     }
 
-    /* This should happen seldomly (Video mode change),
-     * no need to be careful. */
+    dirty_vram = d->arch.hvm_domain.dirty_vram;
     if ( !dirty_vram )
     {
-        /* Throw away all the shadows rather than walking through them 
-         * up to nr times getting rid of mappings of each pfn */
-        shadow_blow_tables(d);
-
-        gdprintk(XENLOG_INFO, "tracking VRAM %lx - %lx\n", begin_pfn, end_pfn);
-
-        rc = -ENOMEM;
-        if ( (dirty_vram = xmalloc(struct sh_dirty_vram)) == NULL )
-            goto out;
-        dirty_vram->begin_pfn = begin_pfn;
-        dirty_vram->end_pfn = end_pfn;
-        d->arch.hvm_domain.dirty_vram = dirty_vram;
-
-        if ( (dirty_vram->sl1ma = xmalloc_array(paddr_t, nr)) == NULL )
-            goto out_dirty_vram;
-        memset(dirty_vram->sl1ma, ~0, sizeof(paddr_t) * nr);
-
-        if ( (dirty_vram->dirty_bitmap = xzalloc_array(uint8_t, dirty_size)) == NULL )
-            goto out_sl1ma;
-
-        dirty_vram->last_dirty = NOW();
-
-        /* Tell the caller that this time we could not track dirty bits. */
-        rc = -ENODATA;
-    }
-    else if (dirty_vram->last_dirty == -1)
-    {
-        /* still completely clean, just copy our empty bitmap */
-        rc = -EFAULT;
-        if ( copy_to_guest(dirty_bitmap, dirty_vram->dirty_bitmap, dirty_size) == 0 )
-            rc = 0;
+        goto out;
     }
-    else
+        
+    list_for_each_safe(curr, next, &dirty_vram->range_head)
     {
-        /* Iterate over VRAM to track dirty bits. */
-        for ( i = 0; i < nr; i++ ) {
-            mfn_t mfn = get_gfn_query_unlocked(d, begin_pfn + i, &t);
-            struct page_info *page;
-            int dirty = 0;
-            paddr_t sl1ma = dirty_vram->sl1ma[i];
-
-            if (mfn_x(mfn) == INVALID_MFN)
-            {
-                dirty = 1;
-            }
-            else
+        dv_range_t *range = list_entry(curr, dv_range_t, range_link);
+        unsigned long i;
+        int max_mappings = 1, mappings = 0;
+        int unshadowed = 0;
+        for (i = 0; i != range->end_pfn - range->begin_pfn; i++)
+        {
+            dv_paddr_link_t *pl = &range->pl_tab[ i ];
+            dv_paddr_link_t **ppl = NULL;
+            mappings = 0;
+            
+            while (pl != NULL)
             {
-                page = mfn_to_page(mfn);
-                switch (page->u.inuse.type_info & PGT_count_mask)
-                {
-                case 0:
-                    /* No guest reference, nothing to track. */
-                    break;
-                case 1:
-                    /* One guest reference. */
-                    if ( sl1ma == INVALID_PADDR )
-                    {
-                        /* We don't know which sl1e points to this, too bad. */
-                        dirty = 1;
-                        /* TODO: Heuristics for finding the single mapping of
-                         * this gmfn */
-                        flush_tlb |= sh_remove_all_mappings(d->vcpu[0], mfn);
-                    }
-                    else
-                    {
-                        /* Hopefully the most common case: only one mapping,
-                         * whose dirty bit we can use. */
-                        l1_pgentry_t *sl1e = maddr_to_virt(sl1ma);
-
-                        if ( l1e_get_flags(*sl1e) & _PAGE_DIRTY )
-                        {
-                            dirty = 1;
-                            /* Note: this is atomic, so we may clear a
-                             * _PAGE_ACCESSED set by another processor. */
-                            l1e_remove_flags(*sl1e, _PAGE_DIRTY);
-                            flush_tlb = 1;
-                        }
-                    }
-                    break;
-                default:
-                    /* More than one guest reference,
-                     * we don't afford tracking that. */
-                    dirty = 1;
+                paddr_t sl1ma = pl->sl1ma;
+                unsigned long sl1mn;
+                
+                if (sl1ma == INVALID_PADDR )
                     break;
+                
+                sl1mn = sl1ma >> PAGE_SHIFT;
+                if (sl1mn == mfn_x(smfn)) {
+#if DEBUG_unshadow_sl1ma_detail
+                    gdprintk(XENLOG_DEBUG,
+                             "[%lx] gfn[%lx] unshadow sl1ma:%lx\n",
+                             mfn_x(smfn),
+                             range->begin_pfn + i,
+                             sl1ma);
+#endif
+                    unshadowed++;
+                    pl = free_paddr_link(d, ppl, pl);
+                    --range->nr_mappings;
+                }
+                else
+                {
+                    ppl = &pl->pl_next;
+                    pl = *ppl;
+                    mappings++;
                 }
             }
-
-            if ( dirty )
+        }
+        if (mappings > max_mappings)
+            max_mappings = mappings;
+        
+        if (unshadowed) {
+#if DEBUG_unshadow_sl1ma
+            gdprintk(XENLOG_DEBUG,
+                     "[%lx] gfn[%05lx:%05lx] unshadowed:%d mappings:0x%x max_mappings:%d\n",
+                     mfn_x(smfn),
+                     range->begin_pfn, range->end_pfn,
+                     unshadowed, range->nr_mappings, max_mappings);
+#endif
+            if ( range->nr_mappings == 0 )
             {
-                dirty_vram->dirty_bitmap[i / 8] |= 1 << (i % 8);
-                dirty_vram->last_dirty = NOW();
+                dirty_vram_range_free(d, range);                    
             }
         }
+    }
+ out:
+    return;
+}
+
+
+typedef int (*hash_pfn_callback_t)(struct vcpu *v,
+                                   mfn_t smfn,
+                                   unsigned long begin_pfn,
+                                   unsigned long end_pfn,
+                                   int *removed);
+
+static int hash_pfn_foreach(struct vcpu *v, 
+                            unsigned int callback_mask, 
+                            hash_pfn_callback_t callbacks[], 
+                            unsigned long begin_pfn,
+                            unsigned long end_pfn)
+/* Walk the hash table looking at the types of the entries and 
+ * calling the appropriate callback function for each entry. 
+ * The mask determines which shadow types we call back for, and the array
+ * of callbacks tells us which function to call.
+ * Any callback may return non-zero to let us skip the rest of the scan. 
+ *
+ * WARNING: Callbacks MUST NOT add or remove hash entries unless they 
+ * then return non-zero to terminate the scan. */
+{
+    int i, done = 0, removed = 0;
+    struct domain *d = v->domain;
+    struct page_info *x;
+
+    /* Say we're here, to stop hash-lookups reordering the chains */
+    ASSERT(paging_locked_by_me(d));
+    ASSERT(d->arch.paging.shadow.hash_walking == 0);
+    d->arch.paging.shadow.hash_walking = 1;
 
-        rc = -EFAULT;
-        if ( copy_to_guest(dirty_bitmap, dirty_vram->dirty_bitmap, dirty_size) == 0 ) {
-            memset(dirty_vram->dirty_bitmap, 0, dirty_size);
-            if (dirty_vram->last_dirty + SECONDS(2) < NOW())
+    for ( i = 0; i < SHADOW_HASH_BUCKETS; i++ ) 
+    {
+        /* WARNING: This is not safe against changes to the hash table.
+         * The callback *must* return non-zero if it has inserted or
+         * deleted anything from the hash (lookups are OK, though). */
+        for ( x = d->arch.paging.shadow.hash_table[i]; x; x = next_shadow(x) )
+        {
+            if ( callback_mask & (1 << x->u.sh.type) )
             {
-                /* was clean for more than two seconds, try to disable guest
-                 * write access */
-                for ( i = begin_pfn; i < end_pfn; i++ ) {
-                    mfn_t mfn = get_gfn_query_unlocked(d, i, &t);
-                    if (mfn_x(mfn) != INVALID_MFN)
-                        flush_tlb |= sh_remove_write_access(d->vcpu[0], mfn, 1, 0);
-                }
-                dirty_vram->last_dirty = -1;
+                ASSERT(x->u.sh.type <= 15);
+                ASSERT(callbacks[x->u.sh.type] != NULL);
+                done = callbacks[x->u.sh.type](v, page_to_mfn(x), 
+                                               begin_pfn, end_pfn,
+                                               &removed);
+                if ( done ) break;
             }
-            rc = 0;
         }
+        if ( done ) break; 
     }
-    if ( flush_tlb )
-        flush_tlb_mask(d->domain_dirty_cpumask);
-    goto out;
+    d->arch.paging.shadow.hash_walking = 0;
+    return removed;
+}
 
-out_sl1ma:
-    xfree(dirty_vram->sl1ma);
-out_dirty_vram:
-    xfree(dirty_vram);
-    dirty_vram = d->arch.hvm_domain.dirty_vram = NULL;
+void sh_find_all_vram_mappings(struct vcpu *v,
+                               dv_range_t *range)
+{
+    /* Dispatch table for getting per-type functions */
+    static hash_pfn_callback_t callbacks[SH_type_unused] = {
+        NULL, /* none    */
+        SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, 2), /* l1_32   */
+        SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, 2), /* fl1_32  */
+        NULL, /* l2_32   */
+        SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, 3), /* l1_pae  */
+        SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, 3), /* fl1_pae */
+        NULL, /* l2_pae  */
+        NULL, /* l2h_pae */
+#if CONFIG_PAGING_LEVELS >= 4
+        SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, 4), /* l1_64   */
+        SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, 4), /* fl1_64  */
+#else
+        NULL, /* l1_64   */
+        NULL, /* fl1_64  */
+#endif
+        NULL, /* l2_64   */
+        NULL, /* l2h_64  */
+        NULL, /* l3_64   */
+        NULL, /* l4_64   */
+        NULL, /* p2m     */
+        NULL  /* unused  */
+    };
 
-out:
-    paging_unlock(d);
-    p2m_unlock(p2m_get_hostp2m(d));
-    return rc;
+    static unsigned int callback_mask = 
+          1 << SH_type_l1_32_shadow
+        | 1 << SH_type_fl1_32_shadow
+        | 1 << SH_type_l1_pae_shadow
+        | 1 << SH_type_fl1_pae_shadow
+        | 1 << SH_type_l1_64_shadow
+        | 1 << SH_type_fl1_64_shadow
+        ;
+
+    perfc_incr(shadow_mappings);
+
+    hash_pfn_foreach(v, callback_mask, callbacks,
+                     range->begin_pfn,
+                     range->end_pfn);
+
+#if DEBUG_count_initial_mappings
+    gdprintk(XENLOG_DEBUG, "[%05lx:%05lx] count of initial mappings:%d\n",
+             range->begin_pfn, range->end_pfn,
+             range->nr_mappings);
+#endif
 }
 
+
 /**************************************************************************/
 /* Shadow-control XEN_DOMCTL dispatcher */
 
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index b0e6d72..f4d0603 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -35,6 +35,7 @@
 #include <asm/flushtlb.h>
 #include <asm/hvm/hvm.h>
 #include <asm/hvm/cacheattr.h>
+#include <asm/hvm/dirty_vram.h>
 #include <asm/mtrr.h>
 #include <asm/guest_pt.h>
 #include <public/sched.h>
@@ -149,6 +150,10 @@ delete_fl1_shadow_status(struct vcpu *v, gfn_t gfn, mfn_t smfn)
     SHADOW_PRINTK("gfn=%"SH_PRI_gfn", type=%08x, smfn=%05lx\n",
                    gfn_x(gfn), SH_type_fl1_shadow, mfn_x(smfn));
     ASSERT(mfn_to_page(smfn)->u.sh.head);
+
+    /* Removing any dv_paddr_links to the erstwhile shadow page */
+    dirty_vram_delete_shadow(v, gfn_x(gfn), SH_type_fl1_shadow, smfn);
+    
     shadow_hash_delete(v, gfn_x(gfn), SH_type_fl1_shadow, smfn);
 }
 
@@ -160,6 +165,10 @@ delete_shadow_status(struct vcpu *v, mfn_t gmfn, u32 shadow_type, mfn_t smfn)
                    v->domain->domain_id, v->vcpu_id,
                    mfn_x(gmfn), shadow_type, mfn_x(smfn));
     ASSERT(mfn_to_page(smfn)->u.sh.head);
+    
+    /* Removing any dv_paddr_links to the erstwhile shadow page */
+    dirty_vram_delete_shadow(v, mfn_x(gmfn), shadow_type, smfn);
+    
     shadow_hash_delete(v, mfn_x(gmfn), shadow_type, smfn);
     /* 32-on-64 PV guests don't own their l4 pages; see set_shadow_status */
     if ( !is_pv_32on64_vcpu(v) || shadow_type != SH_type_l4_64_shadow )
@@ -516,7 +525,6 @@ _sh_propagate(struct vcpu *v,
     guest_l1e_t guest_entry = { guest_intpte };
     shadow_l1e_t *sp = shadow_entry_ptr;
     struct domain *d = v->domain;
-    struct sh_dirty_vram *dirty_vram = d->arch.hvm_domain.dirty_vram;
     gfn_t target_gfn = guest_l1e_get_gfn(guest_entry);
     u32 pass_thru_flags;
     u32 gflags, sflags;
@@ -663,17 +671,6 @@ _sh_propagate(struct vcpu *v,
         }
     }
 
-    if ( unlikely((level == 1) && dirty_vram
-            && dirty_vram->last_dirty == -1
-            && gfn_x(target_gfn) >= dirty_vram->begin_pfn
-            && gfn_x(target_gfn) < dirty_vram->end_pfn) )
-    {
-        if ( ft & FETCH_TYPE_WRITE )
-            dirty_vram->last_dirty = NOW();
-        else
-            sflags &= ~_PAGE_RW;
-    }
-
     /* Read-only memory */
     if ( p2m_is_readonly(p2mt) ||
          (p2mt == p2m_mmio_direct &&
@@ -1072,101 +1069,57 @@ static int shadow_set_l2e(struct vcpu *v,
     return flags;
 }
 
-static inline void shadow_vram_get_l1e(shadow_l1e_t new_sl1e,
+/* shadow_vram_fix_l1e()
+ * Testing L1PTEs as they are modified, look for when they start to (or cease to)
+ * point to frame buffer pages.  If the old and new gfns differ, calls
+ * dirty_vram_range_update() to updates the dirty_vram structures
+ */
+static inline void shadow_vram_fix_l1e(shadow_l1e_t old_sl1e,
+                                       shadow_l1e_t new_sl1e,
                                        shadow_l1e_t *sl1e,
                                        mfn_t sl1mfn,
                                        struct domain *d)
 { 
-    mfn_t mfn = shadow_l1e_get_mfn(new_sl1e);
-    int flags = shadow_l1e_get_flags(new_sl1e);
-    unsigned long gfn;
-    struct sh_dirty_vram *dirty_vram = d->arch.hvm_domain.dirty_vram;
+    mfn_t new_mfn, old_mfn;
+    unsigned long new_gfn = INVALID_M2P_ENTRY, old_gfn = INVALID_M2P_ENTRY;
+    paddr_t sl1ma;
+    dv_dirty_vram_t *dirty_vram = d->arch.hvm_domain.dirty_vram;
 
-    if ( !dirty_vram         /* tracking disabled? */
-         || !(flags & _PAGE_RW) /* read-only mapping? */
-         || !mfn_valid(mfn) )   /* mfn can be invalid in mmio_direct */
+    if ( !dirty_vram )
         return;
 
-    gfn = mfn_to_gfn(d, mfn);
-    /* Page sharing not supported on shadow PTs */
-    BUG_ON(SHARED_M2P(gfn));
+    sl1ma = pfn_to_paddr(mfn_x(sl1mfn)) | ((unsigned long)sl1e & ~PAGE_MASK);
 
-    if ( (gfn >= dirty_vram->begin_pfn) && (gfn < dirty_vram->end_pfn) )
+    old_mfn = shadow_l1e_get_mfn(old_sl1e);
+
+    if ( !sh_l1e_is_magic(old_sl1e) &&
+         (l1e_get_flags(old_sl1e) & _PAGE_PRESENT) &&
+         mfn_valid(old_mfn))
     {
-        unsigned long i = gfn - dirty_vram->begin_pfn;
-        struct page_info *page = mfn_to_page(mfn);
-        
-        if ( (page->u.inuse.type_info & PGT_count_mask) == 1 )
-            /* Initial guest reference, record it */
-            dirty_vram->sl1ma[i] = pfn_to_paddr(mfn_x(sl1mfn))
-                | ((unsigned long)sl1e & ~PAGE_MASK);
+        old_gfn = mfn_to_gfn(d, old_mfn);
     }
-}
-
-static inline void shadow_vram_put_l1e(shadow_l1e_t old_sl1e,
-                                       shadow_l1e_t *sl1e,
-                                       mfn_t sl1mfn,
-                                       struct domain *d)
-{
-    mfn_t mfn = shadow_l1e_get_mfn(old_sl1e);
-    int flags = shadow_l1e_get_flags(old_sl1e);
-    unsigned long gfn;
-    struct sh_dirty_vram *dirty_vram = d->arch.hvm_domain.dirty_vram;
-
-    if ( !dirty_vram         /* tracking disabled? */
-         || !(flags & _PAGE_RW) /* read-only mapping? */
-         || !mfn_valid(mfn) )   /* mfn can be invalid in mmio_direct */
-        return;
-
-    gfn = mfn_to_gfn(d, mfn);
-    /* Page sharing not supported on shadow PTs */
-    BUG_ON(SHARED_M2P(gfn));
-
-    if ( (gfn >= dirty_vram->begin_pfn) && (gfn < dirty_vram->end_pfn) )
+    
+    new_mfn = shadow_l1e_get_mfn(new_sl1e);
+    if ( !sh_l1e_is_magic(new_sl1e) &&
+         (l1e_get_flags(new_sl1e) & _PAGE_PRESENT) &&
+         mfn_valid(new_mfn))
     {
-        unsigned long i = gfn - dirty_vram->begin_pfn;
-        struct page_info *page = mfn_to_page(mfn);
-        int dirty = 0;
-        paddr_t sl1ma = pfn_to_paddr(mfn_x(sl1mfn))
-            | ((unsigned long)sl1e & ~PAGE_MASK);
+        new_gfn = mfn_to_gfn(d, new_mfn);
+    }
 
-        if ( (page->u.inuse.type_info & PGT_count_mask) == 1 )
-        {
-            /* Last reference */
-            if ( dirty_vram->sl1ma[i] == INVALID_PADDR ) {
-                /* We didn't know it was that one, let's say it is dirty */
-                dirty = 1;
-            }
-            else
-            {
-                ASSERT(dirty_vram->sl1ma[i] == sl1ma);
-                dirty_vram->sl1ma[i] = INVALID_PADDR;
-                if ( flags & _PAGE_DIRTY )
-                    dirty = 1;
-            }
-        }
-        else
+    if (old_gfn == new_gfn) return;
+
+    if (VALID_M2P(old_gfn))
+        if (dirty_vram_range_update(d, old_gfn, sl1ma, 0/*clear*/))
         {
-            /* We had more than one reference, just consider the page dirty. */
-            dirty = 1;
-            /* Check that it's not the one we recorded. */
-            if ( dirty_vram->sl1ma[i] == sl1ma )
-            {
-                /* Too bad, we remembered the wrong one... */
-                dirty_vram->sl1ma[i] = INVALID_PADDR;
-            }
-            else
-            {
-                /* Ok, our recorded sl1e is still pointing to this page, let's
-                 * just hope it will remain. */
-            }
+            SHADOW_PRINTK("gfn %lx (mfn %lx) cleared vram pte\n", old_gfn, mfn_x(old_mfn));
         }
-        if ( dirty )
+
+    if (VALID_M2P(new_gfn))
+        if (dirty_vram_range_update(d, new_gfn, sl1ma, 1/*set*/))
         {
-            dirty_vram->dirty_bitmap[i / 8] |= 1 << (i % 8);
-            dirty_vram->last_dirty = NOW();
+            SHADOW_PRINTK("gfn %lx (mfn %lx) set vram pte\n", new_gfn, mfn_x(new_mfn));
         }
-    }
 }
 
 static int shadow_set_l1e(struct vcpu *v, 
@@ -1211,12 +1164,14 @@ static int shadow_set_l1e(struct vcpu *v,
                 shadow_l1e_remove_flags(new_sl1e, _PAGE_RW);
                 /* fall through */
             case 0:
-                shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
+                shadow_vram_fix_l1e(old_sl1e, new_sl1e, sl1e, sl1mfn, d);
                 break;
             }
         }
     } 
 
+    shadow_vram_fix_l1e(old_sl1e, new_sl1e, sl1e, sl1mfn, d);
+
     /* Write the new entry */
     shadow_write_entries(sl1e, &new_sl1e, 1, sl1mfn);
     flags |= SHADOW_SET_CHANGED;
@@ -1231,7 +1186,6 @@ static int shadow_set_l1e(struct vcpu *v,
          * trigger a flush later. */
         if ( shadow_mode_refcounts(d) ) 
         {
-            shadow_vram_put_l1e(old_sl1e, sl1e, sl1mfn, d);
             shadow_put_page_from_l1e(old_sl1e, d);
             TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_SHADOW_L1_PUT_REF);
         } 
@@ -2018,7 +1972,6 @@ void sh_destroy_l1_shadow(struct vcpu *v, mfn_t smfn)
         SHADOW_FOREACH_L1E(sl1mfn, sl1e, 0, 0, {
             if ( (shadow_l1e_get_flags(*sl1e) & _PAGE_PRESENT)
                  && !sh_l1e_is_magic(*sl1e) ) {
-                shadow_vram_put_l1e(*sl1e, sl1e, sl1mfn, d);
                 shadow_put_page_from_l1e(*sl1e, d);
             }
         });
@@ -4336,6 +4289,34 @@ int sh_rm_mappings_from_l1(struct vcpu *v, mfn_t sl1mfn, mfn_t target_mfn)
     return done;
 }
 
+
+int sh_find_vram_mappings_in_l1(struct vcpu *v,
+                                mfn_t sl1mfn,
+                                unsigned long begin_pfn,
+                                unsigned long end_pfn,
+                                int *removed)
+/* Find all VRAM mappings in this shadow l1 table */
+{
+    struct domain *d = v->domain;
+    shadow_l1e_t *sl1e;
+    int done = 0;
+    
+    SHADOW_FOREACH_L1E(sl1mfn, sl1e, 0, done, /* only returns _PAGE_PRESENT entries */
+    {
+        unsigned long gfn;
+        mfn_t gmfn = shadow_l1e_get_mfn(*sl1e);
+        if (!mfn_valid(gmfn))
+            continue;
+        gfn = mfn_to_gfn(d, gmfn);
+        if (VALID_M2P(gfn) && (begin_pfn <= gfn) && (gfn < end_pfn)) 
+        {
+            paddr_t sl1ma = pfn_to_paddr(mfn_x(sl1mfn)) | ((unsigned long)sl1e & ~PAGE_MASK);
+            dirty_vram_range_update(v->domain, gfn, sl1ma, 1/*set*/);
+        }
+    });
+    return 0;
+}
+
 /**************************************************************************/
 /* Functions to excise all pointers to shadows from higher-level shadows. */
 
diff --git a/xen/arch/x86/mm/shadow/multi.h b/xen/arch/x86/mm/shadow/multi.h
index 835121e..436a4ac 100644
--- a/xen/arch/x86/mm/shadow/multi.h
+++ b/xen/arch/x86/mm/shadow/multi.h
@@ -66,7 +66,12 @@ SHADOW_INTERNAL_NAME(sh_rm_write_access_from_l1, GUEST_LEVELS)
 extern int
 SHADOW_INTERNAL_NAME(sh_rm_mappings_from_l1, GUEST_LEVELS)
     (struct vcpu *v, mfn_t sl1mfn, mfn_t target_mfn);
-
+extern int
+SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, GUEST_LEVELS)
+     (struct vcpu *v, mfn_t sl1mfn, 
+      unsigned long begin_pfn,
+      unsigned long end_pfn,
+      int *removed);
 extern void
 SHADOW_INTERNAL_NAME(sh_clear_shadow_entry, GUEST_LEVELS)
     (struct vcpu *v, void *ep, mfn_t smfn);
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index 43ce1db..5b0f9f7 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -229,6 +229,7 @@ static inline shadow_l4e_t shadow_l4e_from_mfn(mfn_t mfn, u32 flags)
 #define sh_update_cr3              INTERNAL_NAME(sh_update_cr3)
 #define sh_rm_write_access_from_l1 INTERNAL_NAME(sh_rm_write_access_from_l1)
 #define sh_rm_mappings_from_l1     INTERNAL_NAME(sh_rm_mappings_from_l1)
+#define sh_find_vram_mappings_in_l1 INTERNAL_NAME(sh_find_vram_mappings_in_l1)
 #define sh_remove_l1_shadow        INTERNAL_NAME(sh_remove_l1_shadow)
 #define sh_remove_l2_shadow        INTERNAL_NAME(sh_remove_l2_shadow)
 #define sh_remove_l3_shadow        INTERNAL_NAME(sh_remove_l3_shadow)
diff --git a/xen/include/asm-x86/hap.h b/xen/include/asm-x86/hap.h
index a2532a4..82e20c7 100644
--- a/xen/include/asm-x86/hap.h
+++ b/xen/include/asm-x86/hap.h
@@ -57,10 +57,6 @@ void  hap_final_teardown(struct domain *d);
 void  hap_teardown(struct domain *d);
 void  hap_vcpu_init(struct vcpu *v);
 void  hap_logdirty_init(struct domain *d);
-int   hap_track_dirty_vram(struct domain *d,
-                           unsigned long begin_pfn,
-                           unsigned long nr,
-                           XEN_GUEST_HANDLE_64(uint8) dirty_bitmap);
 
 extern const struct paging_mode *hap_paging_get_mode(struct vcpu *);
 
diff --git a/xen/include/asm-x86/hvm/dirty_vram.h b/xen/include/asm-x86/hvm/dirty_vram.h
new file mode 100644
index 0000000..b8b92cc
--- /dev/null
+++ b/xen/include/asm-x86/hvm/dirty_vram.h
@@ -0,0 +1,157 @@
+/******************************************************************************
+ * include/asm-x86/hvm/dirty_vram.h
+ *
+ * Interface for tracking dirty VRAM pages
+ *
+ * Copyright (c) 2012 Citrix Systems, Inc. (Robert Phillips)
+ * Parts of this code are Copyright (c) 2006 by XenSource Inc.
+ * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
+ * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef _DIRTY_VRAM_H
+#define _DIRTY_VRAM_H
+
+/* In shadow mode we need to bookkeep all the L1 page table entries that
+ * map a frame buffer page.  Struct dv_paddr_link does this
+ * by recording the address of a L1 page table entry for some frame buffer page.
+ * Also has a link to additional pl entries if the frame buffer page
+ * has multiple mappings */
+typedef struct dv_paddr_link {
+    paddr_t sl1ma;
+    struct dv_paddr_link *pl_next;
+} dv_paddr_link_t;
+
+/* This defines an extension page of pl entries for FB pages with multiple
+ * mappings. All such pages (of a domain) are linked together. */
+typedef struct dv_paddr_link_ext {
+    struct list_head ext_link;
+    dv_paddr_link_t entries[(PAGE_SIZE-sizeof(struct list_head))/sizeof(dv_paddr_link_t)];
+} dv_paddr_link_ext_t;
+
+/* This defines a single frame buffer range.  It bookkeeps all the level 1 PTEs
+ * that map guest pages within that range.
+ * All such ranges (of a domain) are linked together. */
+typedef struct dv_range {
+    struct list_head range_link; /* the several ranges form a linked list */
+    unsigned long begin_pfn;
+    unsigned long end_pfn;
+    dv_paddr_link_t *pl_tab; /* table has 1 pl entry per pfn in range */
+    int nr_mappings;  /* total number of mappings in this range */
+    int mappings_hwm; /* high water mark of max mapping count */
+    unsigned int dirty_count;
+} dv_range_t;
+
+/* This contains all the data structures required by a domain to
+ * bookkeep the dirty pages within its frame buffers. */
+typedef struct dv_dirty_vram {
+    struct list_head range_head; /* head of the linked list of ranges */
+    struct list_head ext_head; /* head of list of extension pages */
+    dv_paddr_link_t *pl_free; /* free list of pl's within extension pages */
+    int nr_ranges; /* bookkeeps number of ranges */
+    int ranges_hwm; /* high water mark of max number of ranges */
+} dv_dirty_vram_t;
+
+/* Allocates domain's dirty_vram structure */
+dv_dirty_vram_t *
+dirty_vram_alloc(struct domain *d);
+
+/* Returns domain's dirty_vram structure,
+ * allocating it if necessary */
+dv_dirty_vram_t *
+dirty_vram_find_or_alloc(struct domain *d);
+
+/* Frees domain's dirty_vram structure */
+void dirty_vram_free(struct domain *d);
+
+/* Returns dirty vram range containing gfn, NULL if none */
+struct dv_range *
+dirty_vram_range_find_gfn(struct domain *d,
+                          unsigned long gfn);
+
+/* Returns dirty vram range matching [ begin_pfn .. begin_pfn+nr ), NULL if none */
+dv_range_t *
+dirty_vram_range_find(struct domain *d,
+                      unsigned long begin_pfn,
+                      unsigned long nr);
+
+/* Allocate dirty vram range containing [ begin_pfn .. begin_pfn+nr ),
+ * freeing any existing range that overlaps the new range. */
+dv_range_t *
+dirty_vram_range_alloc(struct domain *d,
+                       unsigned long begin_pfn,
+                       unsigned long nr);
+
+/* Returns dirty vram range matching [ begin_pfn .. begin_pfn+nr ),
+ * creating a range if none already exists and
+ * freeing any existing range that overlaps the new range. */
+dv_range_t *
+dirty_vram_range_find_or_alloc(struct domain *d,
+                               unsigned long begin_pfn,
+                               unsigned long nr);
+
+void dirty_vram_range_free(struct domain *d,
+                           dv_range_t *range);
+
+/* Bookkeep PTE address of a frame buffer page */
+int dirty_vram_range_update(struct domain *d,
+                            unsigned long gfn,
+                            paddr_t sl1ma,
+                            int set);
+
+/* smfn is no longer a shadow page.  Remove it from any
+ * dirty vram range mapping. */
+void
+dirty_vram_delete_shadow(struct vcpu *v,
+                         unsigned long gfn,
+                         unsigned int shadow_type, 
+                         mfn_t smfn);
+
+
+/* Scan all the L1 tables looking for VRAM mappings.
+ * Record them in the domain's dv_dirty_vram structure */
+void sh_find_all_vram_mappings(struct vcpu *v,
+                               dv_range_t *range);
+
+/* Free a paddr_link struct, given address of its
+ * predecessor in singly-linked list */
+dv_paddr_link_t *
+free_paddr_link(struct domain *d,
+                dv_paddr_link_t **ppl,
+                dv_paddr_link_t *pl);
+
+
+/* Enable VRAM dirty tracking. */
+int
+shadow_track_dirty_vram(struct domain *d,
+			unsigned long first_pfn,
+			unsigned long nr,
+			XEN_GUEST_HANDLE_64(uint8) dirty_bitmap);
+
+int
+hap_track_dirty_vram(struct domain *d,
+		     unsigned long begin_pfn,
+		     unsigned long nr,
+		     XEN_GUEST_HANDLE_64(uint8) dirty_bitmap);
+
+void
+hap_clean_vram_tracking_range(struct domain *d,
+			      unsigned long begin_pfn,
+			      unsigned long nr,
+			      uint8_t *dirty_bitmap);
+
+#endif /* _DIRTY_VRAM_H */
diff --git a/xen/include/asm-x86/hvm/domain.h b/xen/include/asm-x86/hvm/domain.h
index 27b3de5..6146542 100644
--- a/xen/include/asm-x86/hvm/domain.h
+++ b/xen/include/asm-x86/hvm/domain.h
@@ -74,7 +74,7 @@ struct hvm_domain {
     struct list_head       pinned_cacheattr_ranges;
 
     /* VRAM dirty support. */
-    struct sh_dirty_vram *dirty_vram;
+    struct dv_dirty_vram * dirty_vram;
 
     /* If one of vcpus of this domain is in no_fill_mode or
      * mtrr/pat between vcpus is not the same, set is_in_uc_mode
diff --git a/xen/include/asm-x86/paging.h b/xen/include/asm-x86/paging.h
index d9b6950..fba06b0 100644
--- a/xen/include/asm-x86/paging.h
+++ b/xen/include/asm-x86/paging.h
@@ -137,10 +137,10 @@ struct paging_mode {
 void paging_free_log_dirty_bitmap(struct domain *d);
 
 /* get the dirty bitmap for a specific range of pfns */
-int paging_log_dirty_range(struct domain *d,
-                           unsigned long begin_pfn,
-                           unsigned long nr,
-                           XEN_GUEST_HANDLE_64(uint8) dirty_bitmap);
+void paging_log_dirty_range(struct domain *d,
+                            unsigned long begin_pfn,
+                            unsigned long nr,
+                            uint8_t *dirty_bitmap);
 
 /* enable log dirty */
 int paging_log_dirty_enable(struct domain *d);
@@ -161,6 +161,11 @@ void paging_mark_dirty(struct domain *d, unsigned long guest_mfn);
  * This is called from inside paging code, with the paging lock held. */
 int paging_mfn_is_dirty(struct domain *d, mfn_t gmfn);
 
+/* mark a page as dirty, from hap page fault handler */
+void paging_mark_dirty_hap(struct domain *d,
+                           unsigned long pfn,
+                           unsigned long guest_mfn);
+
 /*
  * Log-dirty radix tree indexing:
  *   All tree nodes are PAGE_SIZE bytes, mapped on-demand.
@@ -183,15 +188,6 @@ int paging_mfn_is_dirty(struct domain *d, mfn_t gmfn);
 #define L4_LOGDIRTY_IDX(pfn) 0
 #endif
 
-/* VRAM dirty tracking support */
-struct sh_dirty_vram {
-    unsigned long begin_pfn;
-    unsigned long end_pfn;
-    paddr_t *sl1ma;
-    uint8_t *dirty_bitmap;
-    s_time_t last_dirty;
-};
-
 /*****************************************************************************
  * Entry points into the paging-assistance code */
 
diff --git a/xen/include/asm-x86/shadow.h b/xen/include/asm-x86/shadow.h
index 88a8cd2..bdb8dcd 100644
--- a/xen/include/asm-x86/shadow.h
+++ b/xen/include/asm-x86/shadow.h
@@ -62,12 +62,6 @@ void shadow_vcpu_init(struct vcpu *v);
 /* Enable an arbitrary shadow mode.  Call once at domain creation. */
 int shadow_enable(struct domain *d, u32 mode);
 
-/* Enable VRAM dirty bit tracking. */
-int shadow_track_dirty_vram(struct domain *d,
-                            unsigned long first_pfn,
-                            unsigned long nr,
-                            XEN_GUEST_HANDLE_64(uint8) dirty_bitmap);
-
 /* Handler for shadow control ops: operations from user-space to enable
  * and disable ephemeral shadow modes (test mode and log-dirty mode) and
  * manipulate the log-dirty bitmap. */
-- 
1.7.9.5


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

From xen-devel-bounces@lists.xen.org Tue Oct 16 21:50:06 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Oct 2012 21:50:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TOF17-0004wH-Ho; Tue, 16 Oct 2012 21:49:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <robert.phillips@citrix.com>) id 1TOBlY-0001iz-FT
	for xen-devel@lists.xen.org; Tue, 16 Oct 2012 18:21:21 +0000
Received: from [85.158.139.211:48270] by server-11.bemta-5.messagelabs.com id
	C6/6D-14870-F95AD705; Tue, 16 Oct 2012 18:21:19 +0000
X-Env-Sender: robert.phillips@citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1350411671!22550474!1
X-Originating-IP: [66.165.176.63]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAyODI3MzQ=\n
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16482 invoked from network); 16 Oct 2012 18:21:12 -0000
Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63)
	by server-8.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	16 Oct 2012 18:21:12 -0000
X-IronPort-AV: E=Sophos;i="4.80,595,1344211200"; 
	d="pdf'?scan'208";a="211462230"
Received: from ftlpmailmx02.citrite.net ([10.13.107.66])
	by FTLPIPO02.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	16 Oct 2012 18:21:09 +0000
Received: from FTLPMAILBOX02.citrite.net ([10.13.98.210]) by
	FTLPMAILMX02.citrite.net ([10.13.107.66]) with mapi; Tue, 16 Oct 2012
	14:21:09 -0400
From: Robert Phillips <robert.phillips@citrix.com>
To: Robert Phillips <robert.phillips@citrix.com>, "xen-devel@lists.xen.org"
	<xen-devel@lists.xen.org>
Date: Tue, 16 Oct 2012 14:21:06 -0400
Thread-Topic: [PATCH] Provide support for multiple frame buffers in Xen.
Thread-Index: Ac2ryjJfok0EFoLpROOgASMeFBLV8gAAL2CQ
Message-ID: <048EAD622912254A9DEA24C1734613C18C86D229FF@FTLPMAILBOX02.citrite.net>
References: <1350411302-5470-1-git-send-email-robert.phillips@citrix.com>
In-Reply-To: <1350411302-5470-1-git-send-email-robert.phillips@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
Content-Type: multipart/mixed;
	boundary="_002_048EAD622912254A9DEA24C1734613C18C86D229FFFTLPMAILBOX02_"
MIME-Version: 1.0
X-Mailman-Approved-At: Tue, 16 Oct 2012 21:49:35 +0000
Subject: Re: [Xen-devel] [PATCH] Provide support for multiple frame buffers
	in Xen.
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_048EAD622912254A9DEA24C1734613C18C86D229FFFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Here is a document describing this patch.

Robert Phillips
Principal Software Engineer,  XenClient-Enterprise - Westford
robert.phillips@citrix.com

-----Original Message-----
From: Robert Phillips [mailto:robert.phillips@citrix.com]
Sent: Tuesday, October 16, 2012 2:15 PM
To: xen-devel@lists.xen.org
Cc: Robert Phillips; Robert Phillips
Subject: [PATCH] Provide support for multiple frame buffers in Xen.

From: Robert Phillips <robert.phillips@virtualcomputer.com>

Support is provided for both shadow and hardware assisted paging (HAP) mode=
s.
This code bookkeeps the set of video frame buffers (vram),
detects when the guest has modified any of those buffers and, upon request,
returns a bitmap of the modified pages.

This lets other software components re-paint the portions of the monitor (o=
r monitors) that have changed.
Each monitor has a frame buffer of some size at some position in guest phys=
ical memory.
The set of frame buffers being tracked can change over time as monitors are=
 plugged and unplugged.

Signed-Off-By: Robert Phillips <robert.phillips@citrix.com>
---
 xen/arch/x86/hvm/Makefile            |    3 +-
 xen/arch/x86/hvm/dirty_vram.c        |  878 ++++++++++++++++++++++++++++++=
++++
 xen/arch/x86/hvm/hvm.c               |    4 +-
 xen/arch/x86/mm/hap/hap.c            |  140 +-----
 xen/arch/x86/mm/paging.c             |  232 ++++-----
 xen/arch/x86/mm/shadow/common.c      |  335 +++++++------
 xen/arch/x86/mm/shadow/multi.c       |  169 +++----
 xen/arch/x86/mm/shadow/multi.h       |    7 +-
 xen/arch/x86/mm/shadow/types.h       |    1 +
 xen/include/asm-x86/hap.h            |    4 -
 xen/include/asm-x86/hvm/dirty_vram.h |  157 ++++++
 xen/include/asm-x86/hvm/domain.h     |    2 +-
 xen/include/asm-x86/paging.h         |   22 +-
 xen/include/asm-x86/shadow.h         |    6 -
 14 files changed, 1403 insertions(+), 557 deletions(-)
 create mode 100644 xen/arch/x86/hvm/dirty_vram.c
 create mode 100644 xen/include/asm-x86/hvm/dirty_vram.h

diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
index eea5555..f37736b 100644
--- a/xen/arch/x86/hvm/Makefile
+++ b/xen/arch/x86/hvm/Makefile
@@ -2,6 +2,7 @@ subdir-y +=3D svm
 subdir-y +=3D vmx

 obj-y +=3D asid.o
+obj-y +=3D dirty_vram.o
 obj-y +=3D emulate.o
 obj-y +=3D hpet.o
 obj-y +=3D hvm.o
@@ -22,4 +23,4 @@ obj-y +=3D vlapic.o
 obj-y +=3D vmsi.o
 obj-y +=3D vpic.o
 obj-y +=3D vpt.o
-obj-y +=3D vpmu.o
\ No newline at end of file
+obj-y +=3D vpmu.o
diff --git a/xen/arch/x86/hvm/dirty_vram.c b/xen/arch/x86/hvm/dirty_vram.c
new file mode 100644
index 0000000..22375c2
--- /dev/null
+++ b/xen/arch/x86/hvm/dirty_vram.c
@@ -0,0 +1,878 @@
+/*
+ * arch/x86/hvm/dirty_vram.c: Bookkeep/query dirty VRAM pages
+ * with support for multiple frame buffers.
+ *
+ * Copyright (c) 2012, Citrix Systems, Inc. (Robert Phillips)
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License f=
or
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along=
 with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 T=
emple
+ * Place - Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+
+#include <xen/types.h>
+#include <xen/sched.h>
+#include <xen/guest_access.h>
+#include <asm/shadow.h>
+#include <asm/hvm/dirty_vram.h>
+#include "../mm/mm-locks.h"
+
+#define DEBUG_stop_tracking_all_vram          1
+#define DEBUG_allocating_dirty_vram_range     1
+#define DEBUG_high_water_mark_for_vram_ranges 1
+#define DEBUG_freeing_dirty_vram_range        1
+#define DEBUG_allocate_paddr_links_page       0
+#define DEBUG_update_vram_mapping             0
+
+/* Allocates domain's dirty_vram structure */
+dv_dirty_vram_t *
+dirty_vram_alloc(struct domain *d)
+{
+    dv_dirty_vram_t *dirty_vram;
+    ASSERT( paging_locked_by_me(d) );
+    dirty_vram =3D d->arch.hvm_domain.dirty_vram =3D xmalloc(dv_dirty_vram=
_t);
+    if ( dirty_vram )
+    {
+        memset(dirty_vram, 0, sizeof(*dirty_vram));
+        INIT_LIST_HEAD(&dirty_vram->range_head);
+        INIT_LIST_HEAD(&dirty_vram->ext_head);
+    }
+    return dirty_vram;
+}
+
+/* Returns domain's dirty_vram structure,
+ * allocating it if necessary */
+dv_dirty_vram_t *
+dirty_vram_find_or_alloc(struct domain *d)
+{
+    dv_dirty_vram_t *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+    ASSERT( paging_locked_by_me(d) );
+    if ( !dirty_vram )
+        dirty_vram =3D dirty_vram_alloc(d);
+    return dirty_vram;
+}
+
+
+/* Free domain's dirty_vram structure */
+void dirty_vram_free(struct domain *d)
+{
+    dv_dirty_vram_t *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+    ASSERT( paging_locked_by_me(d) );
+    if ( dirty_vram )
+    {
+        struct list_head *curr, *next;
+        /* Free all the ranges */
+        list_for_each_safe(curr, next, &dirty_vram->range_head)
+        {
+            dv_range_t *range =3D list_entry(curr, dv_range_t, range_link)=
;
+#if DEBUG_stop_tracking_all_vram
+            gdprintk(XENLOG_DEBUG, "[%05lx:%05lx] stop tracking all vram\n=
",
+                     range->begin_pfn, range->end_pfn);
+#endif
+            xfree(range->pl_tab);
+            xfree(range);
+        }
+        /* Free all the extension pages */
+        list_for_each_safe(curr, next, &dirty_vram->ext_head)
+        {
+            xfree(curr);
+        }
+        xfree(dirty_vram);
+        d->arch.hvm_domain.dirty_vram =3D NULL;
+    }
+}
+
+/* Returns dirty vram range containing gfn, NULL if none */
+struct dv_range *
+dirty_vram_range_find_gfn(struct domain *d,
+                          unsigned long gfn)
+{
+    struct dv_dirty_vram *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+    ASSERT( paging_locked_by_me(d) );
+    if ( dirty_vram )
+    {
+        struct list_head *curr;
+        list_for_each(curr, &dirty_vram->range_head)
+        {
+            dv_range_t *range =3D list_entry(curr, dv_range_t, range_link)=
;
+            if ( gfn >=3D range->begin_pfn &&
+                 gfn <  range->end_pfn )
+            {
+                return range;
+            }
+        }
+    }
+    return NULL;
+}
+
+/* Returns pointer to dirty vram range matching [begin_pfn .. end_pfn ), N=
ULL if none. */
+dv_range_t *
+dirty_vram_range_find(struct domain *d,
+                      unsigned long begin_pfn,
+                      unsigned long nr)
+{
+    unsigned long end_pfn =3D begin_pfn + nr;
+    dv_dirty_vram_t *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+    ASSERT( paging_locked_by_me(d) );
+    if ( dirty_vram )
+    {
+        struct list_head *curr;
+        list_for_each(curr, &dirty_vram->range_head)
+        {
+            dv_range_t *range =3D list_entry(curr, dv_range_t, range_link)=
;
+            if ( begin_pfn =3D=3D range->begin_pfn &&
+                 end_pfn   =3D=3D range->end_pfn )
+            {
+                return range;
+            }
+        }
+    }
+    return NULL;
+}
+
+/* Allocate specified dirty_vram range */
+static dv_range_t *
+_dirty_vram_range_alloc(struct domain *d,
+                        unsigned long begin_pfn,
+                        unsigned long nr)
+{
+    dv_dirty_vram_t *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+    dv_range_t *range =3D NULL;
+    unsigned long end_pfn =3D begin_pfn + nr;
+    dv_paddr_link_t *pl_tab =3D NULL;
+    int i;
+
+    ASSERT( paging_locked_by_me(d) );
+    ASSERT( dirty_vram !=3D NULL );
+
+#if DEBUG_allocating_dirty_vram_range
+    gdprintk(XENLOG_DEBUG,
+             "[%05lx:%05lx] Allocating dirty vram range hap:%d\n",
+             begin_pfn, end_pfn,
+             d->arch.hvm_domain.hap_enabled);
+#endif
+
+    range =3D xmalloc(dv_range_t);
+    if (range =3D=3D NULL)
+        goto err_out;
+
+    memset(range, 0, sizeof(dv_range_t));
+    INIT_LIST_HEAD(&range->range_link);
+
+    range->begin_pfn =3D begin_pfn;
+    range->end_pfn =3D end_pfn;
+
+    if (!hap_enabled(d))
+    {
+        if ( (pl_tab =3D xmalloc_array(dv_paddr_link_t, nr)) =3D=3D NULL )
+        {
+            goto err_out;
+        }
+        for (i =3D 0; i !=3D nr; i++)
+        {
+            pl_tab[i].sl1ma =3D INVALID_PADDR;
+            pl_tab[i].pl_next =3D NULL;
+        }
+    }
+
+    range->pl_tab =3D pl_tab;
+    range->mappings_hwm =3D 1;
+
+    list_add(&range->range_link, &dirty_vram->range_head);
+    if ( ++dirty_vram->nr_ranges > dirty_vram->ranges_hwm )
+    {
+        dirty_vram->ranges_hwm =3D dirty_vram->nr_ranges;
+#if DEBUG_high_water_mark_for_vram_ranges
+        gdprintk(XENLOG_DEBUG,
+                 "High water mark for number of vram ranges is now:%d\n",
+                 dirty_vram->ranges_hwm);
+#endif
+    }
+    return range;
+
+ err_out:
+    xfree(pl_tab);
+    xfree(range);
+    return NULL;
+}
+
+
+/* Frees specified dirty_vram range */
+void dirty_vram_range_free(struct domain *d,
+                           dv_range_t *range)
+{
+    dv_dirty_vram_t *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+    ASSERT( paging_locked_by_me(d) );
+    if ( dirty_vram )
+    {
+        int i, nr =3D range->end_pfn - range->begin_pfn;
+
+#if DEBUG_freeing_dirty_vram_range
+        gdprintk(XENLOG_DEBUG,
+                 "[%05lx:%05lx] Freeing dirty vram range\n",
+                 range->begin_pfn, range->end_pfn);
+#endif
+
+        if (range->pl_tab)
+        {
+            for (i =3D 0; i !=3D nr; i++)
+            {
+                dv_paddr_link_t *plx;
+                plx =3D range->pl_tab[i].pl_next;
+                /* Does current FB page have multiple mappings? */
+                if (plx) /* yes */
+                {
+                    /* Find the last element in singly-linked list */
+                    while (plx->pl_next !=3D NULL)
+                        plx =3D plx->pl_next;
+                    /* Prepend whole list to the free list */
+                    plx->pl_next =3D dirty_vram->pl_free;
+                    dirty_vram->pl_free =3D range->pl_tab[i].pl_next;
+                }
+            }
+            xfree(range->pl_tab);
+            range->pl_tab =3D NULL;
+        }
+
+        /* Remove range from the linked list, free it, and adjust count*/
+        list_del(&range->range_link);
+        xfree(range);
+        dirty_vram->nr_ranges--;
+    }
+}
+
+/* dirty_vram_range_alloc()
+ * This function ensures that the new range does not overlap any existing
+ * ranges -- deleting them if necessary -- and then calls _dirty_vram_rang=
e_alloc
+ * to actually allocate the new range.
+ */
+dv_range_t *
+dirty_vram_range_alloc(struct domain *d,
+                        unsigned long begin_pfn,
+                        unsigned long nr)
+{
+    unsigned long end_pfn =3D begin_pfn + nr;
+    dv_dirty_vram_t *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+    dv_range_t *range;
+    struct list_head *curr, *next;
+
+    ASSERT( paging_locked_by_me(d) );
+    ASSERT( dirty_vram !=3D NULL );
+
+    /* Ranges cannot overlap so
+     * free any range that overlaps [ begin_pfn .. end_pfn ) */
+    list_for_each_safe(curr, next, &dirty_vram->range_head)
+    {
+        dv_range_t *rng =3D list_entry(curr, dv_range_t, range_link);
+        if ( ((rng->begin_pfn <=3D begin_pfn) && (begin_pfn <  rng->end_pf=
n)) ||
+             ((begin_pfn <=3D rng->begin_pfn) && (rng->begin_pfn < end_pfn=
)) )
+        {
+            /* Different tracking, tear the previous down. */
+            dirty_vram_range_free(d, rng);
+        }
+    }
+
+    range =3D _dirty_vram_range_alloc(d, begin_pfn, nr);
+    if ( !range )
+        goto out;
+
+ out:
+    return range;
+}
+
+/* dirty_vram_range_find_or_alloc()
+ * Find the range for [begin_pfn:begin_pfn+nr).
+ * If it doesn't exists, create it.
+ */
+dv_range_t *
+dirty_vram_range_find_or_alloc(struct domain *d,
+                                unsigned long begin_pfn,
+                                unsigned long nr)
+{
+    dv_range_t *range;
+    ASSERT( paging_locked_by_me(d) );
+    range =3D dirty_vram_range_find(d, begin_pfn, nr);
+    if ( !range )
+        range =3D dirty_vram_range_alloc(d, begin_pfn, nr);
+    return range;
+}
+
+
+
+/* Allocate a dv_paddr_link struct */
+static dv_paddr_link_t *
+alloc_paddr_link(struct domain *d)
+{
+    dv_paddr_link_t * pl =3D NULL;
+    dv_dirty_vram_t *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+
+    ASSERT( paging_locked_by_me(d) );
+    BUILD_BUG_ON(sizeof(dv_paddr_link_ext_t) > PAGE_SIZE);
+    /* Is the list of free pl's empty? */
+    if (dirty_vram->pl_free =3D=3D NULL) /* yes */
+    {
+        /* Allocate another page of pl's.
+         * Link them all together and point the free list head at them */
+        int i;
+        dv_paddr_link_ext_t *ext =3D xmalloc(dv_paddr_link_ext_t);
+        if (ext =3D=3D NULL)
+            goto out;
+
+#if DEBUG_allocate_paddr_links_page
+        gdprintk(XENLOG_DEBUG, "Allocated another page of paddr_links\n");
+#endif
+        list_add(&ext->ext_link, &dirty_vram->ext_head);
+
+        /* initialize and link together the new pl entries */
+        for (i =3D 0; i !=3D ARRAY_SIZE(ext->entries); i++)
+        {
+            ext->entries[i].sl1ma =3D INVALID_PADDR;
+            ext->entries[i].pl_next =3D &ext->entries[i+1];
+        }
+        ext->entries[ARRAY_SIZE(ext->entries) - 1].pl_next =3D NULL;
+        dirty_vram->pl_free =3D &ext->entries[0];
+    }
+    pl =3D dirty_vram->pl_free;
+    dirty_vram->pl_free =3D pl->pl_next;
+
+    pl->sl1ma =3D INVALID_PADDR;
+    pl->pl_next =3D NULL;
+ out:
+    return pl;
+}
+
+
+/* Free a paddr_link struct, given address of its predecessor in linked li=
st */
+dv_paddr_link_t *
+free_paddr_link(struct domain *d,
+                dv_paddr_link_t **ppl,
+                dv_paddr_link_t *pl)
+{
+    dv_dirty_vram_t *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+    dv_paddr_link_t *npl; /* next pl */
+
+    ASSERT( paging_locked_by_me(d) );
+    /* extension mapping? */
+    if (ppl) /* yes. free it */
+    {
+        pl =3D (*ppl);
+        (*ppl) =3D npl =3D pl->pl_next;
+    }
+    else  /* main table */
+    {
+        /* move 2nd mapping to main table.
+         * and free 2nd mapping */
+        dv_paddr_link_t * spl;
+        spl =3D pl->pl_next;
+        if (spl =3D=3D NULL)
+        {
+            pl->sl1ma =3D INVALID_PADDR;
+            return pl;
+        }
+        pl->sl1ma =3D spl->sl1ma;
+        pl->pl_next =3D spl->pl_next;
+        npl =3D pl; /* reprocess main table entry again */
+        pl =3D spl;
+    }
+    pl->sl1ma =3D INVALID_PADDR;
+    pl->pl_next =3D dirty_vram->pl_free;
+    dirty_vram->pl_free =3D pl;
+    return npl;
+}
+
+
+/* dirty_vram_range_update()
+ * This is called whenever a level 1 page table entry is modified.
+ * If the L1PTE is being cleared, the function removes any paddr_links
+ * that refer to it.
+ * If the L1PTE is being set to a frame buffer page, a paddr_link is
+ * created for that page's entry in pl_tab.
+ * Returns 1 iff entry found and set or cleared.
+ */
+int dirty_vram_range_update(struct domain *d,
+                            unsigned long gfn,
+                            paddr_t sl1ma,
+                            int set)
+{
+    int effective =3D 0;
+    dv_range_t *range;
+
+    ASSERT(paging_locked_by_me(d));
+    range =3D dirty_vram_range_find_gfn(d, gfn);
+    if ( range )
+    {
+        unsigned long i =3D gfn - range->begin_pfn;
+        dv_paddr_link_t *pl =3D &range->pl_tab[ i ];
+        dv_paddr_link_t **ppl =3D NULL;
+        int len =3D 0;
+
+        /* find matching entry (pl), if any, and its predecessor
+         * in linked list (ppl) */
+        while (pl !=3D NULL)
+        {
+            if (pl->sl1ma =3D=3D sl1ma || pl->sl1ma =3D=3D INVALID_PADDR )
+                break;
+            ppl =3D &pl->pl_next;
+            pl =3D *ppl;
+            len++;
+        }
+
+        if (set)
+        {
+            /* Did we find sl1ma in either the main table or the linked li=
st? */
+            if (pl =3D=3D NULL) /* no, so we'll need to alloc a link */
+            {
+                ASSERT(ppl !=3D NULL);
+                /* alloc link and append it to list */
+                (*ppl) =3D pl =3D alloc_paddr_link(d);
+                if (pl =3D=3D NULL)
+                    goto out;
+            }
+            if ( pl->sl1ma !=3D sl1ma )
+            {
+                pl->sl1ma =3D sl1ma;
+                range->nr_mappings++;
+            }
+            effective =3D 1;
+            if (len > range->mappings_hwm)
+            {
+                range->mappings_hwm =3D len;
+#if DEBUG_update_vram_mapping
+                gdprintk(XENLOG_DEBUG,
+                         "[%lx] set      sl1ma:%lx hwm:%d mappings:%d free=
pages:%d\n",
+                         gfn, sl1ma,
+                         range->mappings_hwm,
+                         range->nr_mappings,
+                         d->arch.paging.shadow.free_pages);
+#endif
+            }
+        }
+        else /* clear */
+        {
+            if (pl && pl->sl1ma =3D=3D sl1ma )
+            {
+#if DEBUG_update_vram_mapping
+                gdprintk(XENLOG_DEBUG,
+                         "[%lx] clear    sl1ma:%lx mappings:%d\n",
+                         gfn, sl1ma,
+                         range->nr_mappings-1);
+#endif
+                free_paddr_link(d, ppl, pl);
+                if ( --range->nr_mappings =3D=3D 0 )
+                {
+                    dirty_vram_range_free(d, range);
+                }
+                effective =3D 1;
+            }
+        }
+    }
+ out:
+    return effective;
+}
+
+
+/* shadow_scan_dirty_flags()
+ * This produces a dirty bitmap for the range by examining every
+ * L1PTE referenced by some dv_paddr_link in the range's pl_tab table.
+ * It tests and clears each such L1PTE's dirty flag.
+ */
+static int shadow_scan_dirty_flags(struct domain *d,
+                                   dv_range_t *range,
+                                   uint8_t *dirty_bitmap)
+{
+    int flush_tlb =3D 0;
+    unsigned long i;
+    unsigned long nr =3D range->end_pfn - range->begin_pfn;
+#ifdef __i386__
+    unsigned long map_mfn =3D INVALID_MFN;
+    void *map_sl1p =3D NULL;
+#endif
+
+    ASSERT( paging_locked_by_me(d) );
+    /* Iterate over VRAM to track dirty bits. */
+    for ( i =3D 0; i < nr; i++ )
+    {
+        int dirty =3D 0, len =3D 1;
+        dv_paddr_link_t *pl;
+        for (pl =3D &range->pl_tab[i]; pl; pl =3D pl->pl_next, len++)
+        {
+#ifdef __i386__
+            void *sl1p;
+            unsigned long sl1mfn;
+#endif
+            l1_pgentry_t *sl1e;
+            paddr_t sl1ma =3D pl->sl1ma;
+            if (sl1ma =3D=3D INVALID_PADDR) /* FB page is unmapped */
+                continue;
+#ifdef __i386__
+            sl1p =3D map_sl1p;
+            sl1mfn =3D paddr_to_pfn(sl1ma);
+
+            if ( sl1mfn !=3D map_mfn )
+            {
+                if ( map_sl1p )
+                    sh_unmap_domain_page(map_sl1p);
+                map_sl1p =3D sl1p =3D sh_map_domain_page(_mfn(sl1mfn));
+                map_mfn =3D sl1mfn;
+            }
+            sl1e =3D sl1p + (sl1ma & ~PAGE_MASK);
+#else
+            sl1e =3D maddr_to_virt(sl1ma);
+#endif
+            if ( l1e_get_flags(*sl1e) & _PAGE_DIRTY )
+            {
+                dirty =3D 1;
+                /* Clear dirty so we can detect if page gets re-dirtied */
+                /* Note: this is atomic, so we may clear a
+                 * _PAGE_ACCESSED set by another processor. */
+                l1e_remove_flags(*sl1e, _PAGE_DIRTY);
+                flush_tlb =3D 1;
+            }
+        } /* for */
+        if ( dirty )
+        {
+            dirty_bitmap[i >> 3] |=3D (1 << (i & 7));
+        }
+    }
+
+#ifdef __i386__
+    if ( map_sl1p )
+        sh_unmap_domain_page(map_sl1p);
+#endif
+    return flush_tlb;
+}
+
+
+/* shadow_track_dirty_vram()
+ * This is the API called by the guest to determine which pages in the ran=
ge
+ * from [begin_pfn:begin_pfn+nr) have been dirtied since the last call.
+ * It creates the domain's dv_dirty_vram on demand.
+ * It creates ranges on demand when some [begin_pfn:nr) is first encounter=
ed.
+ * To collect the dirty bitmask it calls shadow_scan_dirty_flags().
+ * It copies the dirty bitmask into guest storage.
+ */
+int shadow_track_dirty_vram(struct domain *d,
+                            unsigned long begin_pfn,
+                            unsigned long nr,
+                            XEN_GUEST_HANDLE_64(uint8) guest_dirty_bitmap)
+{
+    int rc =3D 0;
+    unsigned long end_pfn =3D begin_pfn + nr;
+    int flush_tlb =3D 0;
+    dv_range_t *range;
+    struct p2m_domain *p2m =3D p2m_get_hostp2m(d);
+
+    if (end_pfn < begin_pfn
+            || begin_pfn > p2m->max_mapped_pfn
+            || end_pfn >=3D p2m->max_mapped_pfn)
+        return -EINVAL;
+
+    paging_lock(d);
+
+    if ( !nr || guest_handle_is_null(guest_dirty_bitmap) )
+    {
+        goto out;
+    }
+
+    if ( !dirty_vram_find_or_alloc(d))
+    {
+        rc =3D -ENOMEM;
+        goto out;
+    }
+
+    range =3D dirty_vram_range_find(d, begin_pfn, nr);
+    if ( !range )
+    {
+        range =3D dirty_vram_range_alloc(d, begin_pfn, nr);
+        if ( range )
+            sh_find_all_vram_mappings(d->vcpu[0], range);
+    }
+    if ( range )
+    {
+        int size =3D (nr + BITS_PER_LONG - 1) / BITS_PER_LONG;
+        unsigned long dirty_bitmap[size];
+
+        memset(dirty_bitmap, 0x00, size * BYTES_PER_LONG);
+
+       flush_tlb |=3D shadow_scan_dirty_flags(d, range, (uint8_t*)dirty_bi=
tmap);
+
+        rc =3D -EFAULT;
+        if ( copy_to_guest(guest_dirty_bitmap,
+                           (uint8_t*)dirty_bitmap,
+                           size * BYTES_PER_LONG) =3D=3D 0 )
+            rc =3D 0;
+    }
+    if ( flush_tlb )
+        flush_tlb_mask(d->domain_dirty_cpumask);
+
+out:
+    paging_unlock(d);
+    return rc;
+}
+
+
+/************************************************/
+/*          HAP VRAM TRACKING SUPPORT           */
+/************************************************/
+
+/* hap_enable_vram_tracking()
+ * For all ranges, mark all vram pages in range as logdirty read-only.
+ */
+static int hap_enable_vram_tracking(struct domain *d)
+{
+    int rc =3D 0;
+    dv_dirty_vram_t *dirty_vram;
+    struct list_head *curr;
+
+    /* turn on PG_log_dirty bit in paging mode */
+    paging_lock(d);
+    d->arch.paging.mode |=3D PG_log_dirty;
+    paging_unlock(d);
+
+    p2m_lock(p2m_get_hostp2m(d));
+    paging_lock(d);
+
+    dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+
+    /* dirty_vram !=3D NULL iff we're tracking dirty vram.
+     * If we start tracking dirty pages for all memory then
+     * the dirty_vram structure is freed. */
+    if ( !dirty_vram )
+    {
+        rc =3D -EINVAL;
+        goto out;
+    }
+
+    /* set l1e entries of P2M table to be read-only. */
+    list_for_each(curr, &dirty_vram->range_head)
+      {
+       dv_range_t *range =3D list_entry(curr, dv_range_t, range_link);
+       gdprintk(XENLOG_DEBUG, "[%05lx:%05lx] enable  vram tracking\n",
+                range->begin_pfn, range->end_pfn);
+       p2m_change_type_range(d, range->begin_pfn, range->end_pfn,
+                             p2m_ram_rw, p2m_ram_logdirty);
+      }
+
+    flush_tlb_mask(d->domain_dirty_cpumask);
+ out:
+    paging_unlock(d);
+    p2m_unlock(p2m_get_hostp2m(d));
+    if (rc)
+    {
+        paging_lock(d);
+        d->arch.paging.mode &=3D ~PG_log_dirty;
+        paging_unlock(d);
+    }
+    return rc;
+}
+
+/* hap_disable_vram_tracking()
+ * For all ranges, mark all vram pages in range as logdirty read-write.
+ */
+static int hap_disable_vram_tracking(struct domain *d)
+{
+    int rc =3D 0;
+    dv_dirty_vram_t *dirty_vram;
+    struct list_head *curr;
+
+    paging_lock(d);
+    d->arch.paging.mode &=3D ~PG_log_dirty;
+    paging_unlock(d);
+
+    p2m_lock(p2m_get_hostp2m(d));
+    paging_lock(d);
+
+    dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+    if ( !dirty_vram )
+    {
+        rc =3D -EINVAL;
+        goto out;
+    }
+
+    /* set l1e entries of P2M table with normal mode */
+    list_for_each(curr, &dirty_vram->range_head)
+      {
+       dv_range_t *range =3D list_entry(curr, dv_range_t, range_link);
+       gdprintk(XENLOG_DEBUG, "[%05lx:%05lx] disable vram tracking\n",
+                range->begin_pfn, range->end_pfn);
+       p2m_change_type_range(d, range->begin_pfn, range->end_pfn,
+                             p2m_ram_logdirty, p2m_ram_rw);
+      }
+    flush_tlb_mask(d->domain_dirty_cpumask);
+ out:
+    paging_unlock(d);
+    p2m_unlock(p2m_get_hostp2m(d));
+    if (rc)
+    {
+        paging_lock(d);
+        d->arch.paging.mode |=3D PG_log_dirty;
+        paging_unlock(d);
+    }
+    return rc;
+}
+
+/* hap_clean_vram_tracking_range()
+ * For all the pages in the range specified by [begin_pfn,nr),
+ * note in the dirty bitmap any page that has been marked as read-write,
+ * which signifies that the page has been dirtied, and reset the page
+ * to ram_logdirty.
+ */
+void hap_clean_vram_tracking_range(struct domain *d,
+                                   unsigned long begin_pfn,
+                                   unsigned long nr,
+                                   uint8_t *dirty_bitmap)
+{
+    int i;
+    unsigned long pfn;
+    dv_dirty_vram_t *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+    dv_range_t *range;
+
+    ASSERT(p2m_locked_by_me(p2m_get_hostp2m(d)));
+    ASSERT(paging_locked_by_me(d));
+
+    if ( !dirty_vram )
+    {
+        gdprintk(XENLOG_DEBUG, "Should only be called while tracking dirty=
 vram.\n");
+        return;
+    }
+
+    range =3D dirty_vram_range_find(d, begin_pfn, nr);
+    if (!range)
+        return;
+
+    /* set l1e entries of P2M table to be read-only. */
+    /* On first write, it page faults, its entry is changed to read-write,
+     * its bit in the dirty bitmap is set, and on retry the write succeeds=
. */
+    for (i =3D 0, pfn =3D range->begin_pfn; pfn < range->end_pfn; i++, pfn=
++)
+    {
+        p2m_type_t pt;
+        pt =3D p2m_change_type(d, pfn, p2m_ram_rw, p2m_ram_logdirty);
+        if (pt =3D=3D p2m_ram_rw)
+            dirty_bitmap[i >> 3] |=3D (1 << (i & 7));
+    }
+    flush_tlb_mask(d->domain_dirty_cpumask);
+}
+
+static void hap_vram_tracking_init(struct domain *d)
+{
+    paging_log_dirty_init(d, hap_enable_vram_tracking,
+                          hap_disable_vram_tracking,
+                          NULL);
+}
+
+/* hap_track_dirty_vram()
+ * Create the domain's dv_dirty_vram struct on demand.
+ * Create a dirty vram range on demand when some [begin_pfn:begin_pfn+nr] =
is first encountered.
+ * Collect the guest_dirty bitmask, a bit mask of the dirties vram pages, =
by
+ * calling paging_log_dirty_range().
+ */
+int hap_track_dirty_vram(struct domain *d,
+                         unsigned long begin_pfn,
+                         unsigned long nr,
+                         XEN_GUEST_HANDLE_64(uint8) guest_dirty_bitmap)
+{
+    long rc =3D 0;
+    dv_dirty_vram_t *dirty_vram;
+    int restart_log_dirty =3D 0;
+
+    paging_lock(d);
+    dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+    if ( nr )
+    {
+        dv_range_t *range =3D NULL;
+        int size =3D (nr + BITS_PER_LONG - 1) / BITS_PER_LONG;
+        unsigned long dirty_bitmap[size];
+
+        /* Already tracking dirty vram? */
+        if ( paging_mode_log_dirty(d) && dirty_vram ) /* yes */
+        {
+            /* Handle the addition of another range */
+            range =3D dirty_vram_range_find(d, begin_pfn, nr);
+            if ( !range )
+            {
+                rc =3D -ENOMEM;
+                if ( !(range =3D dirty_vram_range_alloc(d, begin_pfn, nr))=
 )
+                    goto param_fail;
+                restart_log_dirty =3D 1;
+            }
+        }
+        /* Just starting to track dirty vram? */
+        else if ( !paging_mode_log_dirty(d) && !dirty_vram ) /* yes */
+        {
+            rc =3D -ENOMEM;
+            if ( !(dirty_vram =3D dirty_vram_alloc(d)) )
+                goto param_fail;
+
+            if ( !(range =3D dirty_vram_range_find_or_alloc(d, begin_pfn, =
nr)) )
+                goto param_fail;
+
+            restart_log_dirty =3D 1;
+            /* Initialize callbacks for vram tracking */
+            hap_vram_tracking_init(d);
+        }
+        else
+        {
+            /* Test for invalid combination */
+            if ( !paging_mode_log_dirty(d) && dirty_vram )
+                rc =3D -EINVAL;
+            else /* logging dirty of all memory, not tracking dirty vram *=
/
+                rc =3D -ENODATA;
+            goto param_fail;
+        }
+
+        if (restart_log_dirty)
+        {
+            /* disable then enable log dirty */
+            paging_unlock(d);
+            if (paging_mode_log_dirty(d))
+                paging_log_dirty_disable(d);
+
+            rc =3D paging_log_dirty_enable(d);
+            paging_lock(d);
+            if (rc !=3D 0)
+                goto param_fail;
+        }
+
+        paging_unlock(d);
+        memset(dirty_bitmap, 0x00, size * BYTES_PER_LONG);
+       paging_log_dirty_range(d, begin_pfn, nr, (uint8_t*)dirty_bitmap);
+        rc =3D -EFAULT;
+        if ( copy_to_guest(guest_dirty_bitmap,
+                           (uint8_t*)dirty_bitmap,
+                           size * BYTES_PER_LONG) =3D=3D 0 )
+        {
+            rc =3D 0;
+        }
+    }
+    else
+    {
+        /* If zero pages specified while already tracking dirty vram
+         * then stop tracking */
+        if ( paging_mode_log_dirty(d) && dirty_vram ) {
+            paging_unlock(d);
+            rc =3D paging_log_dirty_disable(d);
+            paging_lock(d);
+            dirty_vram_free(d);
+        } else /* benign no-op */
+        {
+            rc =3D 0;
+        }
+        paging_unlock(d);
+    }
+
+    return rc;
+
+param_fail:
+    dirty_vram_free(d);
+    paging_unlock(d);
+    return rc;
+}
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index a5a1bcf..55553e4 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -57,6 +57,7 @@
 #include <asm/hvm/cacheattr.h>
 #include <asm/hvm/trace.h>
 #include <asm/hvm/nestedhvm.h>
+#include <asm/hvm/dirty_vram.h>
 #include <asm/mtrr.h>
 #include <asm/apic.h>
 #include <public/sched.h>
@@ -1433,8 +1434,7 @@ int hvm_hap_nested_page_fault(paddr_t gpa,
          */
         if ( access_w )
         {
-            paging_mark_dirty(v->domain, mfn_x(mfn));
-            p2m_change_type(v->domain, gfn, p2m_ram_logdirty, p2m_ram_rw);
+            paging_mark_dirty_hap(v->domain, gfn, mfn_x(mfn));
         }
         rc =3D 1;
         goto out_put_gfn;
diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index d2637d3..f31e4e5 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -41,6 +41,7 @@
 #include <asm/domain.h>
 #include <xen/numa.h>
 #include <asm/hvm/nestedhvm.h>
+#include <asm/hvm/dirty_vram.h>

 #include "private.h"

@@ -53,139 +54,6 @@
 #define page_to_mfn(_pg) _mfn(__page_to_mfn(_pg))

 /************************************************/
-/*          HAP VRAM TRACKING SUPPORT           */
-/************************************************/
-
-static int hap_enable_vram_tracking(struct domain *d)
-{
-    struct sh_dirty_vram *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
-
-    if ( !dirty_vram )
-        return -EINVAL;
-
-    /* turn on PG_log_dirty bit in paging mode */
-    paging_lock(d);
-    d->arch.paging.mode |=3D PG_log_dirty;
-    paging_unlock(d);
-
-    /* set l1e entries of P2M table to be read-only. */
-    p2m_change_type_range(d, dirty_vram->begin_pfn, dirty_vram->end_pfn,
-                          p2m_ram_rw, p2m_ram_logdirty);
-
-    flush_tlb_mask(d->domain_dirty_cpumask);
-    return 0;
-}
-
-static int hap_disable_vram_tracking(struct domain *d)
-{
-    struct sh_dirty_vram *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
-
-    if ( !dirty_vram )
-        return -EINVAL;
-
-    paging_lock(d);
-    d->arch.paging.mode &=3D ~PG_log_dirty;
-    paging_unlock(d);
-
-    /* set l1e entries of P2M table with normal mode */
-    p2m_change_type_range(d, dirty_vram->begin_pfn, dirty_vram->end_pfn,
-                          p2m_ram_logdirty, p2m_ram_rw);
-
-    flush_tlb_mask(d->domain_dirty_cpumask);
-    return 0;
-}
-
-static void hap_clean_vram_tracking(struct domain *d)
-{
-    struct sh_dirty_vram *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
-
-    if ( !dirty_vram )
-        return;
-
-    /* set l1e entries of P2M table to be read-only. */
-    p2m_change_type_range(d, dirty_vram->begin_pfn, dirty_vram->end_pfn,
-                          p2m_ram_rw, p2m_ram_logdirty);
-
-    flush_tlb_mask(d->domain_dirty_cpumask);
-}
-
-static void hap_vram_tracking_init(struct domain *d)
-{
-    paging_log_dirty_init(d, hap_enable_vram_tracking,
-                          hap_disable_vram_tracking,
-                          hap_clean_vram_tracking);
-}
-
-int hap_track_dirty_vram(struct domain *d,
-                         unsigned long begin_pfn,
-                         unsigned long nr,
-                         XEN_GUEST_HANDLE_64(uint8) dirty_bitmap)
-{
-    long rc =3D 0;
-    struct sh_dirty_vram *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
-
-    if ( nr )
-    {
-        if ( paging_mode_log_dirty(d) && dirty_vram )
-        {
-            if ( begin_pfn !=3D dirty_vram->begin_pfn ||
-                 begin_pfn + nr !=3D dirty_vram->end_pfn )
-            {
-                paging_log_dirty_disable(d);
-                dirty_vram->begin_pfn =3D begin_pfn;
-                dirty_vram->end_pfn =3D begin_pfn + nr;
-                rc =3D paging_log_dirty_enable(d);
-                if (rc !=3D 0)
-                    goto param_fail;
-            }
-        }
-        else if ( !paging_mode_log_dirty(d) && !dirty_vram )
-        {
-            rc =3D -ENOMEM;
-            if ( (dirty_vram =3D xmalloc(struct sh_dirty_vram)) =3D=3D NUL=
L )
-                goto param_fail;
-
-            dirty_vram->begin_pfn =3D begin_pfn;
-            dirty_vram->end_pfn =3D begin_pfn + nr;
-            d->arch.hvm_domain.dirty_vram =3D dirty_vram;
-            hap_vram_tracking_init(d);
-            rc =3D paging_log_dirty_enable(d);
-            if (rc !=3D 0)
-                goto param_fail;
-        }
-        else
-        {
-            if ( !paging_mode_log_dirty(d) && dirty_vram )
-                rc =3D -EINVAL;
-            else
-                rc =3D -ENODATA;
-            goto param_fail;
-        }
-        /* get the bitmap */
-        rc =3D paging_log_dirty_range(d, begin_pfn, nr, dirty_bitmap);
-    }
-    else
-    {
-        if ( paging_mode_log_dirty(d) && dirty_vram ) {
-            rc =3D paging_log_dirty_disable(d);
-            xfree(dirty_vram);
-            dirty_vram =3D d->arch.hvm_domain.dirty_vram =3D NULL;
-        } else
-            rc =3D 0;
-    }
-
-    return rc;
-
-param_fail:
-    if ( dirty_vram )
-    {
-        xfree(dirty_vram);
-        dirty_vram =3D d->arch.hvm_domain.dirty_vram =3D NULL;
-    }
-    return rc;
-}
-
-/************************************************/
 /*            HAP LOG DIRTY SUPPORT             */
 /************************************************/

@@ -223,14 +91,12 @@ static void hap_clean_dirty_bitmap(struct domain *d)

 void hap_logdirty_init(struct domain *d)
 {
-    struct sh_dirty_vram *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+    struct dv_dirty_vram *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
     if ( paging_mode_log_dirty(d) && dirty_vram )
     {
         paging_log_dirty_disable(d);
-        xfree(dirty_vram);
-        dirty_vram =3D d->arch.hvm_domain.dirty_vram =3D NULL;
+        dirty_vram_free(d);
     }
-
     /* Reinitialize logdirty mechanism */
     paging_log_dirty_init(d, hap_enable_log_dirty,
                           hap_disable_log_dirty,
diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index ca879f9..7464b07 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -27,6 +27,7 @@
 #include <asm/p2m.h>
 #include <asm/hap.h>
 #include <asm/hvm/nestedhvm.h>
+#include <asm/hvm/dirty_vram.h>
 #include <xen/numa.h>
 #include <xsm/xsm.h>

@@ -278,6 +279,46 @@ out:
 }


+/* paging_mark_dirty_hap()
+ * Make a hap page writeable and mark it as dirty.
+ * This done atomically under the p2m and paging locks to avoid leaving
+ * a window where the page might be modified without being marked as dirty=
.
+ */
+void paging_mark_dirty_hap(struct domain *d,
+                           unsigned long pfn,
+                           unsigned long guest_mfn)
+{
+    mfn_t gmfn;
+    p2m_type_t pt;
+    struct p2m_domain *p2m =3D p2m_get_hostp2m(d);
+
+    if ( !paging_mode_log_dirty(d) )
+        return;
+
+    gmfn =3D _mfn(guest_mfn);
+
+    ASSERT( mfn_valid(gmfn) &&
+            page_get_owner(mfn_to_page(gmfn)) =3D=3D d );
+
+    p2m_lock(p2m);
+    pt =3D p2m_change_type(d, pfn, p2m_ram_logdirty, p2m_ram_rw);
+    paging_lock(d);
+    if ( pt =3D=3D p2m_ram_logdirty )
+    {
+        dv_range_t *range;
+        PAGING_DEBUG(LOGDIRTY,
+                     "marked mfn %" PRI_mfn " (pfn=3D%lx), dom %d\n",
+                     mfn_x(gmfn), pfn, d->domain_id);
+        d->arch.paging.log_dirty.dirty_count++;
+        range =3D dirty_vram_range_find_gfn(d, pfn);
+        if (range)
+            range->dirty_count++;
+    }
+    paging_mark_dirty(d, guest_mfn);
+    paging_unlock(d);
+    p2m_unlock(p2m);
+}
+
 /* Is this guest page dirty? */
 int paging_mfn_is_dirty(struct domain *d, mfn_t gmfn)
 {
@@ -333,8 +374,11 @@ int paging_log_dirty_op(struct domain *d, struct xen_d=
omctl_shadow_op *sc)
     mfn_t *l4, *l3, *l2;
     unsigned long *l1;
     int i4, i3, i2;
+    struct p2m_domain *p2m =3D p2m_get_hostp2m(d);

     domain_pause(d);
+    /* Locking hierarchy requires p2m lock to be taken first */
+    p2m_lock(p2m);
     paging_lock(d);

     clean =3D (sc->op =3D=3D XEN_DOMCTL_SHADOW_OP_CLEAN);
@@ -345,6 +389,14 @@ int paging_log_dirty_op(struct domain *d, struct xen_d=
omctl_shadow_op *sc)
                  d->arch.paging.log_dirty.fault_count,
                  d->arch.paging.log_dirty.dirty_count);

+    if (hap_enabled(d) && d->arch.hvm_domain.dirty_vram)
+    {
+        /* If we're cleaning/peeking all guest memory, we should not be tr=
acking
+         * dirty vram. */
+        rv =3D -EINVAL;
+        goto out;
+    }
+
     sc->stats.fault_count =3D d->arch.paging.log_dirty.fault_count;
     sc->stats.dirty_count =3D d->arch.paging.log_dirty.dirty_count;

@@ -424,170 +476,60 @@ int paging_log_dirty_op(struct domain *d, struct xen=
_domctl_shadow_op *sc)

     if ( clean )
     {
-        /* We need to further call clean_dirty_bitmap() functions of speci=
fic
-         * paging modes (shadow or hap).  Safe because the domain is pause=
d. */
-        d->arch.paging.log_dirty.clean_dirty_bitmap(d);
+        /* Is null if tracking dirty vram */
+        if (d->arch.paging.log_dirty.clean_dirty_bitmap)
+        {
+            /* We need to further call clean_dirty_bitmap() functions of s=
pecific
+             * paging modes (shadow or hap).  Safe because the domain is p=
aused. */
+            d->arch.paging.log_dirty.clean_dirty_bitmap(d);
+        }
     }
     domain_unpause(d);
     return rv;

  out:
     paging_unlock(d);
+    p2m_unlock(p2m);
     domain_unpause(d);
     return rv;
 }

-int paging_log_dirty_range(struct domain *d,
-                            unsigned long begin_pfn,
-                            unsigned long nr,
-                            XEN_GUEST_HANDLE_64(uint8) dirty_bitmap)
+void paging_log_dirty_range(struct domain *d,
+                           unsigned long begin_pfn,
+                           unsigned long nr,
+                           uint8_t *dirty_bitmap)
 {
-    int rv =3D 0;
-    unsigned long pages =3D 0;
-    mfn_t *l4, *l3, *l2;
-    unsigned long *l1;
-    int b1, b2, b3, b4;
-    int i2, i3, i4;
-
-    d->arch.paging.log_dirty.clean_dirty_bitmap(d);
+    struct p2m_domain *p2m =3D p2m_get_hostp2m(d);
+    dv_range_t *range;
+    unsigned int range_dirty_count =3D 0;
+
+    p2m_lock(p2m);
     paging_lock(d);

-    PAGING_DEBUG(LOGDIRTY, "log-dirty-range: dom %u faults=3D%u dirty=3D%u=
\n",
-                 d->domain_id,
-                 d->arch.paging.log_dirty.fault_count,
-                 d->arch.paging.log_dirty.dirty_count);
-
-    if ( unlikely(d->arch.paging.log_dirty.failed_allocs) ) {
-        printk("%s: %d failed page allocs while logging dirty pages\n",
-               __FUNCTION__, d->arch.paging.log_dirty.failed_allocs);
-        rv =3D -ENOMEM;
-        goto out;
-    }
-
-    if ( !d->arch.paging.log_dirty.fault_count &&
-         !d->arch.paging.log_dirty.dirty_count ) {
-        unsigned int size =3D BITS_TO_LONGS(nr);
-
-        if ( clear_guest(dirty_bitmap, size * BYTES_PER_LONG) !=3D 0 )
-            rv =3D -EFAULT;
-        goto out;
-    }
-    d->arch.paging.log_dirty.fault_count =3D 0;
-    d->arch.paging.log_dirty.dirty_count =3D 0;
-
-    b1 =3D L1_LOGDIRTY_IDX(begin_pfn);
-    b2 =3D L2_LOGDIRTY_IDX(begin_pfn);
-    b3 =3D L3_LOGDIRTY_IDX(begin_pfn);
-    b4 =3D L4_LOGDIRTY_IDX(begin_pfn);
-    l4 =3D paging_map_log_dirty_bitmap(d);
-
-    for ( i4 =3D b4;
-          (pages < nr) && (i4 < LOGDIRTY_NODE_ENTRIES);
-          i4++ )
+    /* Only called when tracking dirty vram in HAP mode */
+    ASSERT(hap_enabled(d) && d->arch.hvm_domain.dirty_vram);
+
+    range =3D dirty_vram_range_find_gfn(d, begin_pfn);
+    if (range)
     {
-        l3 =3D (l4 && mfn_valid(l4[i4])) ? map_domain_page(mfn_x(l4[i4])) =
: NULL;
-        for ( i3 =3D b3;
-              (pages < nr) && (i3 < LOGDIRTY_NODE_ENTRIES);
-              i3++ )
-        {
-            l2 =3D ((l3 && mfn_valid(l3[i3])) ?
-                  map_domain_page(mfn_x(l3[i3])) : NULL);
-            for ( i2 =3D b2;
-                  (pages < nr) && (i2 < LOGDIRTY_NODE_ENTRIES);
-                  i2++ )
-            {
-                unsigned int bytes =3D PAGE_SIZE;
-                uint8_t *s;
-                l1 =3D ((l2 && mfn_valid(l2[i2])) ?
-                      map_domain_page(mfn_x(l2[i2])) : NULL);
-
-                s =3D ((uint8_t*)l1) + (b1 >> 3);
-                bytes -=3D b1 >> 3;
-
-                if ( likely(((nr - pages + 7) >> 3) < bytes) )
-                    bytes =3D (unsigned int)((nr - pages + 7) >> 3);
-
-                if ( !l1 )
-                {
-                    if ( clear_guest_offset(dirty_bitmap, pages >> 3,
-                                            bytes) !=3D 0 )
-                    {
-                        rv =3D -EFAULT;
-                        goto out;
-                    }
-                }
-                /* begin_pfn is not 32K aligned, hence we have to bit
-                 * shift the bitmap */
-                else if ( b1 & 0x7 )
-                {
-                    int i, j;
-                    uint32_t *l =3D (uint32_t*) s;
-                    int bits =3D b1 & 0x7;
-                    int bitmask =3D (1 << bits) - 1;
-                    int size =3D (bytes + BYTES_PER_LONG - 1) / BYTES_PER_=
LONG;
-                    unsigned long bitmap[size];
-                    static unsigned long printed =3D 0;
-
-                    if ( printed !=3D begin_pfn )
-                    {
-                        dprintk(XENLOG_DEBUG, "%s: begin_pfn %lx is not 32=
K aligned!\n",
-                                __FUNCTION__, begin_pfn);
-                        printed =3D begin_pfn;
-                    }
-
-                    for ( i =3D 0; i < size - 1; i++, l++ ) {
-                        bitmap[i] =3D ((*l) >> bits) |
-                            (((*((uint8_t*)(l + 1))) & bitmask) << (sizeof=
(*l) * 8 - bits));
-                    }
-                    s =3D (uint8_t*) l;
-                    size =3D BYTES_PER_LONG - ((b1 >> 3) & 0x3);
-                    bitmap[i] =3D 0;
-                    for ( j =3D 0; j < size; j++, s++ )
-                        bitmap[i] |=3D (*s) << (j * 8);
-                    bitmap[i] =3D (bitmap[i] >> bits) | (bitmask << (size =
* 8 - bits));
-                    if ( copy_to_guest_offset(dirty_bitmap, (pages >> 3),
-                                (uint8_t*) bitmap, bytes) !=3D 0 )
-                    {
-                        rv =3D -EFAULT;
-                        goto out;
-                    }
-                }
-                else
-                {
-                    if ( copy_to_guest_offset(dirty_bitmap, pages >> 3,
-                                              s, bytes) !=3D 0 )
-                    {
-                        rv =3D -EFAULT;
-                        goto out;
-                    }
-                }
-
-                pages +=3D bytes << 3;
-                if ( l1 )
-                {
-                    clear_page(l1);
-                    unmap_domain_page(l1);
-                }
-                b1 =3D b1 & 0x7;
-            }
-            b2 =3D 0;
-            if ( l2 )
-                unmap_domain_page(l2);
-        }
-        b3 =3D 0;
-        if ( l3 )
-            unmap_domain_page(l3);
+        range_dirty_count =3D range->dirty_count;
+        range->dirty_count =3D 0;
     }
-    if ( l4 )
-        unmap_domain_page(l4);
-
-    paging_unlock(d);
+
+    if ( !range_dirty_count)
+        goto out;

-    return rv;
+    PAGING_DEBUG(LOGDIRTY, "log-dirty-range: dom %u [%05lx:%05lx] range_di=
rty=3D%u\n",
+                 d->domain_id,
+                 begin_pfn,
+                 range->end_pfn,
+                 range_dirty_count);

+    hap_clean_vram_tracking_range(d, begin_pfn, nr, dirty_bitmap);
  out:
     paging_unlock(d);
-    return rv;
+    p2m_unlock(p2m);
+    return;
 }

 /* Note that this function takes three function pointers. Callers must sup=
ply
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/commo=
n.c
index 3f8ad88..c9f3495 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -36,6 +36,7 @@
 #include <asm/current.h>
 #include <asm/flushtlb.h>
 #include <asm/shadow.h>
+#include <asm/hvm/dirty_vram.h>
 #include <xen/numa.h>
 #include "private.h"

@@ -3121,12 +3122,7 @@ void shadow_teardown(struct domain *d)
      * calls now that we've torn down the bitmap */
     d->arch.paging.mode &=3D ~PG_log_dirty;

-    if (d->arch.hvm_domain.dirty_vram) {
-        xfree(d->arch.hvm_domain.dirty_vram->sl1ma);
-        xfree(d->arch.hvm_domain.dirty_vram->dirty_bitmap);
-        xfree(d->arch.hvm_domain.dirty_vram);
-        d->arch.hvm_domain.dirty_vram =3D NULL;
-    }
+    dirty_vram_free(d);

     paging_unlock(d);

@@ -3463,179 +3459,212 @@ void shadow_clean_dirty_bitmap(struct domain *d)


 /*************************************************************************=
*/
-/* VRAM dirty tracking support */
-int shadow_track_dirty_vram(struct domain *d,
-                            unsigned long begin_pfn,
-                            unsigned long nr,
-                            XEN_GUEST_HANDLE_64(uint8) dirty_bitmap)
-{
-    int rc;
-    unsigned long end_pfn =3D begin_pfn + nr;
-    unsigned long dirty_size =3D (nr + 7) / 8;
-    int flush_tlb =3D 0;
-    unsigned long i;
-    p2m_type_t t;
-    struct sh_dirty_vram *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
-    struct p2m_domain *p2m =3D p2m_get_hostp2m(d);
-
-    if (end_pfn < begin_pfn
-            || begin_pfn > p2m->max_mapped_pfn
-            || end_pfn >=3D p2m->max_mapped_pfn)
-        return -EINVAL;
-
-    /* We perform p2m lookups, so lock the p2m upfront to avoid deadlock *=
/
-    p2m_lock(p2m_get_hostp2m(d));
-    paging_lock(d);
+/* Support functions for shadow-based dirty VRAM code */

-    if ( dirty_vram && (!nr ||
-             ( begin_pfn !=3D dirty_vram->begin_pfn
-            || end_pfn   !=3D dirty_vram->end_pfn )) )
-    {
-        /* Different tracking, tear the previous down. */
-        gdprintk(XENLOG_INFO, "stopping tracking VRAM %lx - %lx\n", dirty_=
vram->begin_pfn, dirty_vram->end_pfn);
-        xfree(dirty_vram->sl1ma);
-        xfree(dirty_vram->dirty_bitmap);
-        xfree(dirty_vram);
-        dirty_vram =3D d->arch.hvm_domain.dirty_vram =3D NULL;
-    }
+#define DEBUG_unshadow_sl1ma                  0
+#define DEBUG_unshadow_sl1ma_detail           0
+#define DEBUG_count_initial_mappings          1

-    if ( !nr )
+/* smfn is no longer a shadow page.  Remove it from any
+ * dirty vram range mapping. */
+void
+dirty_vram_delete_shadow(struct vcpu *v,
+                         unsigned long gfn,
+                         unsigned int shadow_type,
+                         mfn_t smfn)
+{
+    static unsigned int l1_shadow_mask =3D
+          1 << SH_type_l1_32_shadow
+        | 1 << SH_type_fl1_32_shadow
+        | 1 << SH_type_l1_pae_shadow
+        | 1 << SH_type_fl1_pae_shadow
+        | 1 << SH_type_l1_64_shadow
+        | 1 << SH_type_fl1_64_shadow
+        ;
+    struct domain *d =3D v->domain;
+    dv_dirty_vram_t *dirty_vram;
+    struct list_head *curr, *next;
+
+    ASSERT(paging_locked_by_me(d));
+    /* Ignore all but level 1 shadows */
+
+    if ((l1_shadow_mask & (1 << shadow_type)) =3D=3D 0)
     {
-        rc =3D 0;
         goto out;
     }

-    /* This should happen seldomly (Video mode change),
-     * no need to be careful. */
+    dirty_vram =3D d->arch.hvm_domain.dirty_vram;
     if ( !dirty_vram )
     {
-        /* Throw away all the shadows rather than walking through them
-         * up to nr times getting rid of mappings of each pfn */
-        shadow_blow_tables(d);
-
-        gdprintk(XENLOG_INFO, "tracking VRAM %lx - %lx\n", begin_pfn, end_=
pfn);
-
-        rc =3D -ENOMEM;
-        if ( (dirty_vram =3D xmalloc(struct sh_dirty_vram)) =3D=3D NULL )
-            goto out;
-        dirty_vram->begin_pfn =3D begin_pfn;
-        dirty_vram->end_pfn =3D end_pfn;
-        d->arch.hvm_domain.dirty_vram =3D dirty_vram;
-
-        if ( (dirty_vram->sl1ma =3D xmalloc_array(paddr_t, nr)) =3D=3D NUL=
L )
-            goto out_dirty_vram;
-        memset(dirty_vram->sl1ma, ~0, sizeof(paddr_t) * nr);
-
-        if ( (dirty_vram->dirty_bitmap =3D xzalloc_array(uint8_t, dirty_si=
ze)) =3D=3D NULL )
-            goto out_sl1ma;
-
-        dirty_vram->last_dirty =3D NOW();
-
-        /* Tell the caller that this time we could not track dirty bits. *=
/
-        rc =3D -ENODATA;
-    }
-    else if (dirty_vram->last_dirty =3D=3D -1)
-    {
-        /* still completely clean, just copy our empty bitmap */
-        rc =3D -EFAULT;
-        if ( copy_to_guest(dirty_bitmap, dirty_vram->dirty_bitmap, dirty_s=
ize) =3D=3D 0 )
-            rc =3D 0;
+        goto out;
     }
-    else
+
+    list_for_each_safe(curr, next, &dirty_vram->range_head)
     {
-        /* Iterate over VRAM to track dirty bits. */
-        for ( i =3D 0; i < nr; i++ ) {
-            mfn_t mfn =3D get_gfn_query_unlocked(d, begin_pfn + i, &t);
-            struct page_info *page;
-            int dirty =3D 0;
-            paddr_t sl1ma =3D dirty_vram->sl1ma[i];
-
-            if (mfn_x(mfn) =3D=3D INVALID_MFN)
-            {
-                dirty =3D 1;
-            }
-            else
+        dv_range_t *range =3D list_entry(curr, dv_range_t, range_link);
+        unsigned long i;
+        int max_mappings =3D 1, mappings =3D 0;
+        int unshadowed =3D 0;
+        for (i =3D 0; i !=3D range->end_pfn - range->begin_pfn; i++)
+        {
+            dv_paddr_link_t *pl =3D &range->pl_tab[ i ];
+            dv_paddr_link_t **ppl =3D NULL;
+            mappings =3D 0;
+
+            while (pl !=3D NULL)
             {
-                page =3D mfn_to_page(mfn);
-                switch (page->u.inuse.type_info & PGT_count_mask)
-                {
-                case 0:
-                    /* No guest reference, nothing to track. */
-                    break;
-                case 1:
-                    /* One guest reference. */
-                    if ( sl1ma =3D=3D INVALID_PADDR )
-                    {
-                        /* We don't know which sl1e points to this, too ba=
d. */
-                        dirty =3D 1;
-                        /* TODO: Heuristics for finding the single mapping=
 of
-                         * this gmfn */
-                        flush_tlb |=3D sh_remove_all_mappings(d->vcpu[0], =
mfn);
-                    }
-                    else
-                    {
-                        /* Hopefully the most common case: only one mappin=
g,
-                         * whose dirty bit we can use. */
-                        l1_pgentry_t *sl1e =3D maddr_to_virt(sl1ma);
-
-                        if ( l1e_get_flags(*sl1e) & _PAGE_DIRTY )
-                        {
-                            dirty =3D 1;
-                            /* Note: this is atomic, so we may clear a
-                             * _PAGE_ACCESSED set by another processor. */
-                            l1e_remove_flags(*sl1e, _PAGE_DIRTY);
-                            flush_tlb =3D 1;
-                        }
-                    }
-                    break;
-                default:
-                    /* More than one guest reference,
-                     * we don't afford tracking that. */
-                    dirty =3D 1;
+                paddr_t sl1ma =3D pl->sl1ma;
+                unsigned long sl1mn;
+
+                if (sl1ma =3D=3D INVALID_PADDR )
                     break;
+
+                sl1mn =3D sl1ma >> PAGE_SHIFT;
+                if (sl1mn =3D=3D mfn_x(smfn)) {
+#if DEBUG_unshadow_sl1ma_detail
+                    gdprintk(XENLOG_DEBUG,
+                             "[%lx] gfn[%lx] unshadow sl1ma:%lx\n",
+                             mfn_x(smfn),
+                             range->begin_pfn + i,
+                             sl1ma);
+#endif
+                    unshadowed++;
+                    pl =3D free_paddr_link(d, ppl, pl);
+                    --range->nr_mappings;
+                }
+                else
+                {
+                    ppl =3D &pl->pl_next;
+                    pl =3D *ppl;
+                    mappings++;
                 }
             }
-
-            if ( dirty )
+        }
+        if (mappings > max_mappings)
+            max_mappings =3D mappings;
+
+        if (unshadowed) {
+#if DEBUG_unshadow_sl1ma
+            gdprintk(XENLOG_DEBUG,
+                     "[%lx] gfn[%05lx:%05lx] unshadowed:%d mappings:0x%x m=
ax_mappings:%d\n",
+                     mfn_x(smfn),
+                     range->begin_pfn, range->end_pfn,
+                     unshadowed, range->nr_mappings, max_mappings);
+#endif
+            if ( range->nr_mappings =3D=3D 0 )
             {
-                dirty_vram->dirty_bitmap[i / 8] |=3D 1 << (i % 8);
-                dirty_vram->last_dirty =3D NOW();
+                dirty_vram_range_free(d, range);
             }
         }
+    }
+ out:
+    return;
+}
+
+
+typedef int (*hash_pfn_callback_t)(struct vcpu *v,
+                                   mfn_t smfn,
+                                   unsigned long begin_pfn,
+                                   unsigned long end_pfn,
+                                   int *removed);
+
+static int hash_pfn_foreach(struct vcpu *v,
+                            unsigned int callback_mask,
+                            hash_pfn_callback_t callbacks[],
+                            unsigned long begin_pfn,
+                            unsigned long end_pfn)
+/* Walk the hash table looking at the types of the entries and
+ * calling the appropriate callback function for each entry.
+ * The mask determines which shadow types we call back for, and the array
+ * of callbacks tells us which function to call.
+ * Any callback may return non-zero to let us skip the rest of the scan.
+ *
+ * WARNING: Callbacks MUST NOT add or remove hash entries unless they
+ * then return non-zero to terminate the scan. */
+{
+    int i, done =3D 0, removed =3D 0;
+    struct domain *d =3D v->domain;
+    struct page_info *x;
+
+    /* Say we're here, to stop hash-lookups reordering the chains */
+    ASSERT(paging_locked_by_me(d));
+    ASSERT(d->arch.paging.shadow.hash_walking =3D=3D 0);
+    d->arch.paging.shadow.hash_walking =3D 1;

-        rc =3D -EFAULT;
-        if ( copy_to_guest(dirty_bitmap, dirty_vram->dirty_bitmap, dirty_s=
ize) =3D=3D 0 ) {
-            memset(dirty_vram->dirty_bitmap, 0, dirty_size);
-            if (dirty_vram->last_dirty + SECONDS(2) < NOW())
+    for ( i =3D 0; i < SHADOW_HASH_BUCKETS; i++ )
+    {
+        /* WARNING: This is not safe against changes to the hash table.
+         * The callback *must* return non-zero if it has inserted or
+         * deleted anything from the hash (lookups are OK, though). */
+        for ( x =3D d->arch.paging.shadow.hash_table[i]; x; x =3D next_sha=
dow(x) )
+        {
+            if ( callback_mask & (1 << x->u.sh.type) )
             {
-                /* was clean for more than two seconds, try to disable gue=
st
-                 * write access */
-                for ( i =3D begin_pfn; i < end_pfn; i++ ) {
-                    mfn_t mfn =3D get_gfn_query_unlocked(d, i, &t);
-                    if (mfn_x(mfn) !=3D INVALID_MFN)
-                        flush_tlb |=3D sh_remove_write_access(d->vcpu[0], =
mfn, 1, 0);
-                }
-                dirty_vram->last_dirty =3D -1;
+                ASSERT(x->u.sh.type <=3D 15);
+                ASSERT(callbacks[x->u.sh.type] !=3D NULL);
+                done =3D callbacks[x->u.sh.type](v, page_to_mfn(x),
+                                               begin_pfn, end_pfn,
+                                               &removed);
+                if ( done ) break;
             }
-            rc =3D 0;
         }
+        if ( done ) break;
     }
-    if ( flush_tlb )
-        flush_tlb_mask(d->domain_dirty_cpumask);
-    goto out;
+    d->arch.paging.shadow.hash_walking =3D 0;
+    return removed;
+}

-out_sl1ma:
-    xfree(dirty_vram->sl1ma);
-out_dirty_vram:
-    xfree(dirty_vram);
-    dirty_vram =3D d->arch.hvm_domain.dirty_vram =3D NULL;
+void sh_find_all_vram_mappings(struct vcpu *v,
+                               dv_range_t *range)
+{
+    /* Dispatch table for getting per-type functions */
+    static hash_pfn_callback_t callbacks[SH_type_unused] =3D {
+        NULL, /* none    */
+        SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, 2), /* l1_32   *=
/
+        SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, 2), /* fl1_32  *=
/
+        NULL, /* l2_32   */
+        SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, 3), /* l1_pae  *=
/
+        SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, 3), /* fl1_pae *=
/
+        NULL, /* l2_pae  */
+        NULL, /* l2h_pae */
+#if CONFIG_PAGING_LEVELS >=3D 4
+        SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, 4), /* l1_64   *=
/
+        SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, 4), /* fl1_64  *=
/
+#else
+        NULL, /* l1_64   */
+        NULL, /* fl1_64  */
+#endif
+        NULL, /* l2_64   */
+        NULL, /* l2h_64  */
+        NULL, /* l3_64   */
+        NULL, /* l4_64   */
+        NULL, /* p2m     */
+        NULL  /* unused  */
+    };

-out:
-    paging_unlock(d);
-    p2m_unlock(p2m_get_hostp2m(d));
-    return rc;
+    static unsigned int callback_mask =3D
+          1 << SH_type_l1_32_shadow
+        | 1 << SH_type_fl1_32_shadow
+        | 1 << SH_type_l1_pae_shadow
+        | 1 << SH_type_fl1_pae_shadow
+        | 1 << SH_type_l1_64_shadow
+        | 1 << SH_type_fl1_64_shadow
+        ;
+
+    perfc_incr(shadow_mappings);
+
+    hash_pfn_foreach(v, callback_mask, callbacks,
+                     range->begin_pfn,
+                     range->end_pfn);
+
+#if DEBUG_count_initial_mappings
+    gdprintk(XENLOG_DEBUG, "[%05lx:%05lx] count of initial mappings:%d\n",
+             range->begin_pfn, range->end_pfn,
+             range->nr_mappings);
+#endif
 }

+
 /*************************************************************************=
*/
 /* Shadow-control XEN_DOMCTL dispatcher */

diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.=
c
index b0e6d72..f4d0603 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -35,6 +35,7 @@
 #include <asm/flushtlb.h>
 #include <asm/hvm/hvm.h>
 #include <asm/hvm/cacheattr.h>
+#include <asm/hvm/dirty_vram.h>
 #include <asm/mtrr.h>
 #include <asm/guest_pt.h>
 #include <public/sched.h>
@@ -149,6 +150,10 @@ delete_fl1_shadow_status(struct vcpu *v, gfn_t gfn, mf=
n_t smfn)
     SHADOW_PRINTK("gfn=3D%"SH_PRI_gfn", type=3D%08x, smfn=3D%05lx\n",
                    gfn_x(gfn), SH_type_fl1_shadow, mfn_x(smfn));
     ASSERT(mfn_to_page(smfn)->u.sh.head);
+
+    /* Removing any dv_paddr_links to the erstwhile shadow page */
+    dirty_vram_delete_shadow(v, gfn_x(gfn), SH_type_fl1_shadow, smfn);
+
     shadow_hash_delete(v, gfn_x(gfn), SH_type_fl1_shadow, smfn);
 }

@@ -160,6 +165,10 @@ delete_shadow_status(struct vcpu *v, mfn_t gmfn, u32 s=
hadow_type, mfn_t smfn)
                    v->domain->domain_id, v->vcpu_id,
                    mfn_x(gmfn), shadow_type, mfn_x(smfn));
     ASSERT(mfn_to_page(smfn)->u.sh.head);
+
+    /* Removing any dv_paddr_links to the erstwhile shadow page */
+    dirty_vram_delete_shadow(v, mfn_x(gmfn), shadow_type, smfn);
+
     shadow_hash_delete(v, mfn_x(gmfn), shadow_type, smfn);
     /* 32-on-64 PV guests don't own their l4 pages; see set_shadow_status =
*/
     if ( !is_pv_32on64_vcpu(v) || shadow_type !=3D SH_type_l4_64_shadow )
@@ -516,7 +525,6 @@ _sh_propagate(struct vcpu *v,
     guest_l1e_t guest_entry =3D { guest_intpte };
     shadow_l1e_t *sp =3D shadow_entry_ptr;
     struct domain *d =3D v->domain;
-    struct sh_dirty_vram *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
     gfn_t target_gfn =3D guest_l1e_get_gfn(guest_entry);
     u32 pass_thru_flags;
     u32 gflags, sflags;
@@ -663,17 +671,6 @@ _sh_propagate(struct vcpu *v,
         }
     }

-    if ( unlikely((level =3D=3D 1) && dirty_vram
-            && dirty_vram->last_dirty =3D=3D -1
-            && gfn_x(target_gfn) >=3D dirty_vram->begin_pfn
-            && gfn_x(target_gfn) < dirty_vram->end_pfn) )
-    {
-        if ( ft & FETCH_TYPE_WRITE )
-            dirty_vram->last_dirty =3D NOW();
-        else
-            sflags &=3D ~_PAGE_RW;
-    }
-
     /* Read-only memory */
     if ( p2m_is_readonly(p2mt) ||
          (p2mt =3D=3D p2m_mmio_direct &&
@@ -1072,101 +1069,57 @@ static int shadow_set_l2e(struct vcpu *v,
     return flags;
 }

-static inline void shadow_vram_get_l1e(shadow_l1e_t new_sl1e,
+/* shadow_vram_fix_l1e()
+ * Testing L1PTEs as they are modified, look for when they start to (or ce=
ase to)
+ * point to frame buffer pages.  If the old and new gfns differ, calls
+ * dirty_vram_range_update() to updates the dirty_vram structures
+ */
+static inline void shadow_vram_fix_l1e(shadow_l1e_t old_sl1e,
+                                       shadow_l1e_t new_sl1e,
                                        shadow_l1e_t *sl1e,
                                        mfn_t sl1mfn,
                                        struct domain *d)
 {
-    mfn_t mfn =3D shadow_l1e_get_mfn(new_sl1e);
-    int flags =3D shadow_l1e_get_flags(new_sl1e);
-    unsigned long gfn;
-    struct sh_dirty_vram *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
+    mfn_t new_mfn, old_mfn;
+    unsigned long new_gfn =3D INVALID_M2P_ENTRY, old_gfn =3D INVALID_M2P_E=
NTRY;
+    paddr_t sl1ma;
+    dv_dirty_vram_t *dirty_vram =3D d->arch.hvm_domain.dirty_vram;

-    if ( !dirty_vram         /* tracking disabled? */
-         || !(flags & _PAGE_RW) /* read-only mapping? */
-         || !mfn_valid(mfn) )   /* mfn can be invalid in mmio_direct */
+    if ( !dirty_vram )
         return;

-    gfn =3D mfn_to_gfn(d, mfn);
-    /* Page sharing not supported on shadow PTs */
-    BUG_ON(SHARED_M2P(gfn));
+    sl1ma =3D pfn_to_paddr(mfn_x(sl1mfn)) | ((unsigned long)sl1e & ~PAGE_M=
ASK);

-    if ( (gfn >=3D dirty_vram->begin_pfn) && (gfn < dirty_vram->end_pfn) )
+    old_mfn =3D shadow_l1e_get_mfn(old_sl1e);
+
+    if ( !sh_l1e_is_magic(old_sl1e) &&
+         (l1e_get_flags(old_sl1e) & _PAGE_PRESENT) &&
+         mfn_valid(old_mfn))
     {
-        unsigned long i =3D gfn - dirty_vram->begin_pfn;
-        struct page_info *page =3D mfn_to_page(mfn);
-
-        if ( (page->u.inuse.type_info & PGT_count_mask) =3D=3D 1 )
-            /* Initial guest reference, record it */
-            dirty_vram->sl1ma[i] =3D pfn_to_paddr(mfn_x(sl1mfn))
-                | ((unsigned long)sl1e & ~PAGE_MASK);
+        old_gfn =3D mfn_to_gfn(d, old_mfn);
     }
-}
-
-static inline void shadow_vram_put_l1e(shadow_l1e_t old_sl1e,
-                                       shadow_l1e_t *sl1e,
-                                       mfn_t sl1mfn,
-                                       struct domain *d)
-{
-    mfn_t mfn =3D shadow_l1e_get_mfn(old_sl1e);
-    int flags =3D shadow_l1e_get_flags(old_sl1e);
-    unsigned long gfn;
-    struct sh_dirty_vram *dirty_vram =3D d->arch.hvm_domain.dirty_vram;
-
-    if ( !dirty_vram         /* tracking disabled? */
-         || !(flags & _PAGE_RW) /* read-only mapping? */
-         || !mfn_valid(mfn) )   /* mfn can be invalid in mmio_direct */
-        return;
-
-    gfn =3D mfn_to_gfn(d, mfn);
-    /* Page sharing not supported on shadow PTs */
-    BUG_ON(SHARED_M2P(gfn));
-
-    if ( (gfn >=3D dirty_vram->begin_pfn) && (gfn < dirty_vram->end_pfn) )
+
+    new_mfn =3D shadow_l1e_get_mfn(new_sl1e);
+    if ( !sh_l1e_is_magic(new_sl1e) &&
+         (l1e_get_flags(new_sl1e) & _PAGE_PRESENT) &&
+         mfn_valid(new_mfn))
     {
-        unsigned long i =3D gfn - dirty_vram->begin_pfn;
-        struct page_info *page =3D mfn_to_page(mfn);
-        int dirty =3D 0;
-        paddr_t sl1ma =3D pfn_to_paddr(mfn_x(sl1mfn))
-            | ((unsigned long)sl1e & ~PAGE_MASK);
+        new_gfn =3D mfn_to_gfn(d, new_mfn);
+    }

-        if ( (page->u.inuse.type_info & PGT_count_mask) =3D=3D 1 )
-        {
-            /* Last reference */
-            if ( dirty_vram->sl1ma[i] =3D=3D INVALID_PADDR ) {
-                /* We didn't know it was that one, let's say it is dirty *=
/
-                dirty =3D 1;
-            }
-            else
-            {
-                ASSERT(dirty_vram->sl1ma[i] =3D=3D sl1ma);
-                dirty_vram->sl1ma[i] =3D INVALID_PADDR;
-                if ( flags & _PAGE_DIRTY )
-                    dirty =3D 1;
-            }
-        }
-        else
+    if (old_gfn =3D=3D new_gfn) return;
+
+    if (VALID_M2P(old_gfn))
+        if (dirty_vram_range_update(d, old_gfn, sl1ma, 0/*clear*/))
         {
-            /* We had more than one reference, just consider the page dirt=
y. */
-            dirty =3D 1;
-            /* Check that it's not the one we recorded. */
-            if ( dirty_vram->sl1ma[i] =3D=3D sl1ma )
-            {
-                /* Too bad, we remembered the wrong one... */
-                dirty_vram->sl1ma[i] =3D INVALID_PADDR;
-            }
-            else
-            {
-                /* Ok, our recorded sl1e is still pointing to this page, l=
et's
-                 * just hope it will remain. */
-            }
+            SHADOW_PRINTK("gfn %lx (mfn %lx) cleared vram pte\n", old_gfn,=
 mfn_x(old_mfn));
         }
-        if ( dirty )
+
+    if (VALID_M2P(new_gfn))
+        if (dirty_vram_range_update(d, new_gfn, sl1ma, 1/*set*/))
         {
-            dirty_vram->dirty_bitmap[i / 8] |=3D 1 << (i % 8);
-            dirty_vram->last_dirty =3D NOW();
+            SHADOW_PRINTK("gfn %lx (mfn %lx) set vram pte\n", new_gfn, mfn=
_x(new_mfn));
         }
-    }
 }

 static int shadow_set_l1e(struct vcpu *v,
@@ -1211,12 +1164,14 @@ static int shadow_set_l1e(struct vcpu *v,
                 shadow_l1e_remove_flags(new_sl1e, _PAGE_RW);
                 /* fall through */
             case 0:
-                shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
+                shadow_vram_fix_l1e(old_sl1e, new_sl1e, sl1e, sl1mfn, d);
                 break;
             }
         }
     }

+    shadow_vram_fix_l1e(old_sl1e, new_sl1e, sl1e, sl1mfn, d);
+
     /* Write the new entry */
     shadow_write_entries(sl1e, &new_sl1e, 1, sl1mfn);
     flags |=3D SHADOW_SET_CHANGED;
@@ -1231,7 +1186,6 @@ static int shadow_set_l1e(struct vcpu *v,
          * trigger a flush later. */
         if ( shadow_mode_refcounts(d) )
         {
-            shadow_vram_put_l1e(old_sl1e, sl1e, sl1mfn, d);
             shadow_put_page_from_l1e(old_sl1e, d);
             TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_SHADOW_L1_PUT_REF);
         }
@@ -2018,7 +1972,6 @@ void sh_destroy_l1_shadow(struct vcpu *v, mfn_t smfn)
         SHADOW_FOREACH_L1E(sl1mfn, sl1e, 0, 0, {
             if ( (shadow_l1e_get_flags(*sl1e) & _PAGE_PRESENT)
                  && !sh_l1e_is_magic(*sl1e) ) {
-                shadow_vram_put_l1e(*sl1e, sl1e, sl1mfn, d);
                 shadow_put_page_from_l1e(*sl1e, d);
             }
         });
@@ -4336,6 +4289,34 @@ int sh_rm_mappings_from_l1(struct vcpu *v, mfn_t sl1=
mfn, mfn_t target_mfn)
     return done;
 }

+
+int sh_find_vram_mappings_in_l1(struct vcpu *v,
+                                mfn_t sl1mfn,
+                                unsigned long begin_pfn,
+                                unsigned long end_pfn,
+                                int *removed)
+/* Find all VRAM mappings in this shadow l1 table */
+{
+    struct domain *d =3D v->domain;
+    shadow_l1e_t *sl1e;
+    int done =3D 0;
+
+    SHADOW_FOREACH_L1E(sl1mfn, sl1e, 0, done, /* only returns _PAGE_PRESEN=
T entries */
+    {
+        unsigned long gfn;
+        mfn_t gmfn =3D shadow_l1e_get_mfn(*sl1e);
+        if (!mfn_valid(gmfn))
+            continue;
+        gfn =3D mfn_to_gfn(d, gmfn);
+        if (VALID_M2P(gfn) && (begin_pfn <=3D gfn) && (gfn < end_pfn))
+        {
+            paddr_t sl1ma =3D pfn_to_paddr(mfn_x(sl1mfn)) | ((unsigned lon=
g)sl1e & ~PAGE_MASK);
+            dirty_vram_range_update(v->domain, gfn, sl1ma, 1/*set*/);
+        }
+    });
+    return 0;
+}
+
 /*************************************************************************=
*/
 /* Functions to excise all pointers to shadows from higher-level shadows. =
*/

diff --git a/xen/arch/x86/mm/shadow/multi.h b/xen/arch/x86/mm/shadow/multi.=
h
index 835121e..436a4ac 100644
--- a/xen/arch/x86/mm/shadow/multi.h
+++ b/xen/arch/x86/mm/shadow/multi.h
@@ -66,7 +66,12 @@ SHADOW_INTERNAL_NAME(sh_rm_write_access_from_l1, GUEST_L=
EVELS)
 extern int
 SHADOW_INTERNAL_NAME(sh_rm_mappings_from_l1, GUEST_LEVELS)
     (struct vcpu *v, mfn_t sl1mfn, mfn_t target_mfn);
-
+extern int
+SHADOW_INTERNAL_NAME(sh_find_vram_mappings_in_l1, GUEST_LEVELS)
+     (struct vcpu *v, mfn_t sl1mfn,
+      unsigned long begin_pfn,
+      unsigned long end_pfn,
+      int *removed);
 extern void
 SHADOW_INTERNAL_NAME(sh_clear_shadow_entry, GUEST_LEVELS)
     (struct vcpu *v, void *ep, mfn_t smfn);
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.=
h
index 43ce1db..5b0f9f7 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -229,6 +229,7 @@ static inline shadow_l4e_t shadow_l4e_from_mfn(mfn_t mf=
n, u32 flags)
 #define sh_update_cr3              INTERNAL_NAME(sh_update_cr3)
 #define sh_rm_write_access_from_l1 INTERNAL_NAME(sh_rm_write_access_from_l=
1)
 #define sh_rm_mappings_from_l1     INTERNAL_NAME(sh_rm_mappings_from_l1)
+#define sh_find_vram_mappings_in_l1 INTERNAL_NAME(sh_find_vram_mappings_in=
_l1)
 #define sh_remove_l1_shadow        INTERNAL_NAME(sh_remove_l1_shadow)
 #define sh_remove_l2_shadow        INTERNAL_NAME(sh_remove_l2_shadow)
 #define sh_remove_l3_shadow        INTERNAL_NAME(sh_remove_l3_shadow)
diff --git a/xen/include/asm-x86/hap.h b/xen/include/asm-x86/hap.h
index a2532a4..82e20c7 100644
--- a/xen/include/asm-x86/hap.h
+++ b/xen/include/asm-x86/hap.h
@@ -57,10 +57,6 @@ void  hap_final_teardown(struct domain *d);
 void  hap_teardown(struct domain *d);
 void  hap_vcpu_init(struct vcpu *v);
 void  hap_logdirty_init(struct domain *d);
-int   hap_track_dirty_vram(struct domain *d,
-                           unsigned long begin_pfn,
-                           unsigned long nr,
-                           XEN_GUEST_HANDLE_64(uint8) dirty_bitmap);

 extern const struct paging_mode *hap_paging_get_mode(struct vcpu *);

diff --git a/xen/include/asm-x86/hvm/dirty_vram.h b/xen/include/asm-x86/hvm=
/dirty_vram.h
new file mode 100644
index 0000000..b8b92cc
--- /dev/null
+++ b/xen/include/asm-x86/hvm/dirty_vram.h
@@ -0,0 +1,157 @@
+/*************************************************************************=
*****
+ * include/asm-x86/hvm/dirty_vram.h
+ *
+ * Interface for tracking dirty VRAM pages
+ *
+ * Copyright (c) 2012 Citrix Systems, Inc. (Robert Phillips)
+ * Parts of this code are Copyright (c) 2006 by XenSource Inc.
+ * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
+ * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  U=
SA
+ */
+
+#ifndef _DIRTY_VRAM_H
+#define _DIRTY_VRAM_H
+
+/* In shadow mode we need to bookkeep all the L1 page table entries that
+ * map a frame buffer page.  Struct dv_paddr_link does this
+ * by recording the address of a L1 page table entry for some frame buffer=
 page.
+ * Also has a link to additional pl entries if the frame buffer page
+ * has multiple mappings */
+typedef struct dv_paddr_link {
+    paddr_t sl1ma;
+    struct dv_paddr_link *pl_next;
+} dv_paddr_link_t;
+
+/* This defines an extension page of pl entries for FB pages with multiple
+ * mappings. All such pages (of a domain) are linked together. */
+typedef struct dv_paddr_link_ext {
+    struct list_head ext_link;
+    dv_paddr_link_t entries[(PAGE_SIZE-sizeof(struct list_head))/sizeof(dv=
_paddr_link_t)];
+} dv_paddr_link_ext_t;
+
+/* This defines a single frame buffer range.  It bookkeeps all the level 1=
 PTEs
+ * that map guest pages within that range.
+ * All such ranges (of a domain) are linked together. */
+typedef struct dv_range {
+    struct list_head range_link; /* the several ranges form a linked list =
*/
+    unsigned long begin_pfn;
+    unsigned long end_pfn;
+    dv_paddr_link_t *pl_tab; /* table has 1 pl entry per pfn in range */
+    int nr_mappings;  /* total number of mappings in this range */
+    int mappings_hwm; /* high water mark of max mapping count */
+    unsigned int dirty_count;
+} dv_range_t;
+
+/* This contains all the data structures required by a domain to
+ * bookkeep the dirty pages within its frame buffers. */
+typedef struct dv_dirty_vram {
+    struct list_head range_head; /* head of the linked list of ranges */
+    struct list_head ext_head; /* head of list of extension pages */
+    dv_paddr_link_t *pl_free; /* free list of pl's within extension pages =
*/
+    int nr_ranges; /* bookkeeps number of ranges */
+    int ranges_hwm; /* high water mark of max number of ranges */
+} dv_dirty_vram_t;
+
+/* Allocates domain's dirty_vram structure */
+dv_dirty_vram_t *
+dirty_vram_alloc(struct domain *d);
+
+/* Returns domain's dirty_vram structure,
+ * allocating it if necessary */
+dv_dirty_vram_t *
+dirty_vram_find_or_alloc(struct domain *d);
+
+/* Frees domain's dirty_vram structure */
+void dirty_vram_free(struct domain *d);
+
+/* Returns dirty vram range containing gfn, NULL if none */
+struct dv_range *
+dirty_vram_range_find_gfn(struct domain *d,
+                          unsigned long gfn);
+
+/* Returns dirty vram range matching [ begin_pfn .. begin_pfn+nr ), NULL i=
f none */
+dv_range_t *
+dirty_vram_range_find(struct domain *d,
+                      unsigned long begin_pfn,
+                      unsigned long nr);
+
+/* Allocate dirty vram range containing [ begin_pfn .. begin_pfn+nr ),
+ * freeing any existing range that overlaps the new range. */
+dv_range_t *
+dirty_vram_range_alloc(struct domain *d,
+                       unsigned long begin_pfn,
+                       unsigned long nr);
+
+/* Returns dirty vram range matching [ begin_pfn .. begin_pfn+nr ),
+ * creating a range if none already exists and
+ * freeing any existing range that overlaps the new range. */
+dv_range_t *
+dirty_vram_range_find_or_alloc(struct domain *d,
+                               unsigned long begin_pfn,
+                               unsigned long nr);
+
+void dirty_vram_range_free(struct domain *d,
+                           dv_range_t *range);
+
+/* Bookkeep PTE address of a frame buffer page */
+int dirty_vram_range_update(struct domain *d,
+                            unsigned long gfn,
+                            paddr_t sl1ma,
+                            int set);
+
+/* smfn is no longer a shadow page.  Remove it from any
+ * dirty vram range mapping. */
+void
+dirty_vram_delete_shadow(struct vcpu *v,
+                         unsigned long gfn,
+                         unsigned int shadow_type,
+                         mfn_t smfn);
+
+
+/* Scan all the L1 tables looking for VRAM mappings.
+ * Record them in the domain's dv_dirty_vram structure */
+void sh_find_all_vram_mappings(struct vcpu *v,
+                               dv_range_t *range);
+
+/* Free a paddr_link struct, given address of its
+ * predecessor in singly-linked list */
+dv_paddr_link_t *
+free_paddr_link(struct domain *d,
+                dv_paddr_link_t **ppl,
+                dv_paddr_link_t *pl);
+
+
+/* Enable VRAM dirty tracking. */
+int
+shadow_track_dirty_vram(struct domain *d,
+                       unsigned long first_pfn,
+                       unsigned long nr,
+                       XEN_GUEST_HANDLE_64(uint8) dirty_bitmap);
+
+int
+hap_track_dirty_vram(struct domain *d,
+                    unsigned long begin_pfn,
+                    unsigned long nr,
+                    XEN_GUEST_HANDLE_64(uint8) dirty_bitmap);
+
+void
+hap_clean_vram_tracking_range(struct domain *d,
+                             unsigned long begin_pfn,
+                             unsigned long nr,
+                             uint8_t *dirty_bitmap);
+
+#endif /* _DIRTY_VRAM_H */
diff --git a/xen/include/asm-x86/hvm/domain.h b/xen/include/asm-x86/hvm/dom=
ain.h
index 27b3de5..6146542 100644
--- a/xen/include/asm-x86/hvm/domain.h
+++ b/xen/include/asm-x86/hvm/domain.h
@@ -74,7 +74,7 @@ struct hvm_domain {
     struct list_head       pinned_cacheattr_ranges;

     /* VRAM dirty support. */
-    struct sh_dirty_vram *dirty_vram;
+    struct dv_dirty_vram * dirty_vram;

     /* If one of vcpus of this domain is in no_fill_mode or
      * mtrr/pat between vcpus is not the same, set is_in_uc_mode
diff --git a/xen/include/asm-x86/paging.h b/xen/include/asm-x86/paging.h
index d9b6950..fba06b0 100644
--- a/xen/include/asm-x86/paging.h
+++ b/xen/include/asm-x86/paging.h
@@ -137,10 +137,10 @@ struct paging_mode {
 void paging_free_log_dirty_bitmap(struct domain *d);

 /* get the dirty bitmap for a specific range of pfns */
-int paging_log_dirty_range(struct domain *d,
-                           unsigned long begin_pfn,
-                           unsigned long nr,
-                           XEN_GUEST_HANDLE_64(uint8) dirty_bitmap);
+void paging_log_dirty_range(struct domain *d,
+                            unsigned long begin_pfn,
+                            unsigned long nr,
+                            uint8_t *dirty_bitmap);

 /* enable log dirty */
 int paging_log_dirty_enable(struct domain *d);
@@ -161,6 +161,11 @@ void paging_mark_dirty(struct domain *d, unsigned long=
 guest_mfn);
  * This is called from inside paging code, with the paging lock held. */
 int paging_mfn_is_dirty(struct domain *d, mfn_t gmfn);

+/* mark a page as dirty, from hap page fault handler */
+void paging_mark_dirty_hap(struct domain *d,
+                           unsigned long pfn,
+                           unsigned long guest_mfn);
+
 /*
  * Log-dirty radix tree indexing:
  *   All tree nodes are PAGE_SIZE bytes, mapped on-demand.
@@ -183,15 +188,6 @@ int paging_mfn_is_dirty(struct domain *d, mfn_t gmfn);
 #define L4_LOGDIRTY_IDX(pfn) 0
 #endif

-/* VRAM dirty tracking support */
-struct sh_dirty_vram {
-    unsigned long begin_pfn;
-    unsigned long end_pfn;
-    paddr_t *sl1ma;
-    uint8_t *dirty_bitmap;
-    s_time_t last_dirty;
-};
-
 /*************************************************************************=
****
  * Entry points into the paging-assistance code */

diff --git a/xen/include/asm-x86/shadow.h b/xen/include/asm-x86/shadow.h
index 88a8cd2..bdb8dcd 100644
--- a/xen/include/asm-x86/shadow.h
+++ b/xen/include/asm-x86/shadow.h
@@ -62,12 +62,6 @@ void shadow_vcpu_init(struct vcpu *v);
 /* Enable an arbitrary shadow mode.  Call once at domain creation. */
 int shadow_enable(struct domain *d, u32 mode);

-/* Enable VRAM dirty bit tracking. */
-int shadow_track_dirty_vram(struct domain *d,
-                            unsigned long first_pfn,
-                            unsigned long nr,
-                            XEN_GUEST_HANDLE_64(uint8) dirty_bitmap);
-
 /* Handler for shadow control ops: operations from user-space to enable
  * and disable ephemeral shadow modes (test mode and log-dirty mode) and
  * manipulate the log-dirty bitmap. */
--
1.7.9.5


--_002_048EAD622912254A9DEA24C1734613C18C86D229FFFTLPMAILBOX02_
Content-Type: application/pdf; name="multi-dirty-vram.pdf"
Content-Description: multi-dirty-vram.pdf
Content-Disposition: attachment; filename="multi-dirty-vram.pdf"; size=525873;
	creation-date="Tue, 16 Oct 2012 16:27:53 GMT";
	modification-date="Tue, 16 Oct 2012 16:27:54 GMT"
Content-Transfer-Encoding: base64

JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu
Zyhlbi1VUykgL1N0cnVjdFRyZWVSb290IDQ4IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4+
Pg0KZW5kb2JqDQoyIDAgb2JqDQo8PC9UeXBlL1BhZ2VzL0NvdW50IDUvS2lkc1sgMyAwIFIgMzcg
MCBSIDQwIDAgUiA0MiAwIFIgNDUgMCBSXSA+Pg0KZW5kb2JqDQozIDAgb2JqDQo8PC9UeXBlL1Bh
Z2UvUGFyZW50IDIgMCBSL1Jlc291cmNlczw8L0ZvbnQ8PC9GMSA1IDAgUi9GMiAxMCAwIFIvRjMg
MTIgMCBSL0Y0IDE3IDAgUi9GNSAxOSAwIFIvRjYgMjEgMCBSL0Y3IDI2IDAgUi9GOCAyOCAwIFIv
RjkgMzAgMCBSL0YxMCAzNSAwIFI+Pi9Qcm9jU2V0Wy9QREYvVGV4dC9JbWFnZUIvSW1hZ2VDL0lt
YWdlSV0gPj4vTWVkaWFCb3hbIDAgMCA2MTIgNzkyXSAvQ29udGVudHMgNCAwIFIvR3JvdXA8PC9U
eXBlL0dyb3VwL1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQj4+L1RhYnMvUy9TdHJ1Y3RQYXJl
bnRzIDA+Pg0KZW5kb2JqDQo0IDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDM5
MjQ+Pg0Kc3RyZWFtDQp4nKVabW/bOBL+XqD/gR/tRaySoihKh4WBNC+3PdwCvd2id0C7KBRbSXRx
nKwkN9v79TczpGhSNm1vF0VqWebLcDjzzDNDsjfv2Y8/vvn54t0l4/M5e3t5wd5+eP3qzbVgaZ7w
jH24ff1KMA7/BNNpwtOM5aVK0px9eHz9iie85CnjSSrwf5kr1t7tff3L31+/+vQj54LPZyV8lno+
K+CzuDKfZW7eF2/nv7EP/3j96grEYFc/XzDmySgCGdM9MgrJE+2L+Gkymx4YMT26aiHLJE2DIVFO
kFdwI7BZUDafabuQVOLDwZXI4yspZSL+xEqyoytJuUhgK0YrKYthAbAYOZ/luKhr88mltwYzsNw3
cK4SqUcDiytpNAKD0ARiUBnuvcLPdHjhHoRVYmZlysMhimIu9zTDn9XIuEprXP4wuFfan29oUGg3
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
eXBlMC9CYXNlRm9udC9BQkNERUUrQ2FtYnJpYSxJdGFsaWMvRW5jb2RpbmcvSWRlbnRpdHktSC9E
ZXNjZW5kYW50Rm9udHMgNiAwIFIvVG9Vbmljb2RlIDI2OSAwIFI+Pg0KZW5kb2JqDQo2IDAgb2Jq
DQpbIDcgMCBSXSANCmVuZG9iag0KNyAwIG9iag0KPDwvQmFzZUZvbnQvQUJDREVFK0NhbWJyaWEs
SXRhbGljL1N1YnR5cGUvQ0lERm9udFR5cGUyL1R5cGUvRm9udC9DSURUb0dJRE1hcC9JZGVudGl0
eS9EVyAxMDAwL0NJRFN5c3RlbUluZm8gOCAwIFIvRm9udERlc2NyaXB0b3IgOSAwIFIvVyAyNzEg
MCBSPj4NCmVuZG9iag0KOCAwIG9iag0KPDwvT3JkZXJpbmcoSWRlbnRpdHkpIC9SZWdpc3RyeShB
ZG9iZSkgL1N1cHBsZW1lbnQgMD4+DQplbmRvYmoNCjkgMCBvYmoNCjw8L1R5cGUvRm9udERlc2Ny
aXB0b3IvRm9udE5hbWUvQUJDREVFK0NhbWJyaWEsSXRhbGljL0ZsYWdzIDMyL0l0YWxpY0FuZ2xl
IC0xMi40L0FzY2VudCA5NTAvRGVzY2VudCAtMjIyL0NhcEhlaWdodCA3NzgvQXZnV2lkdGggNTQy
L01heFdpZHRoIDIzMjcvRm9udFdlaWdodCA0MDAvWEhlaWdodCAyNTAvU3RlbVYgNTQvRm9udEJC
b3hbIC0xMTA1IC0yMjIgMTIyMiA3NzhdIC9Gb250RmlsZTIgMjcwIDAgUj4+DQplbmRvYmoNCjEw
IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YyL0Jhc2VGb250L0FC
Q0RFRStDYW1icmlhLEl0YWxpYy9FbmNvZGluZy9XaW5BbnNpRW5jb2RpbmcvRm9udERlc2NyaXB0
b3IgMTEgMCBSL0ZpcnN0Q2hhciA0NS9MYXN0Q2hhciA0NS9XaWR0aHMgMjcyIDAgUj4+DQplbmRv
YmoNCjExIDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0FCQ0RFRStDYW1i
cmlhLEl0YWxpYy9GbGFncyAzMi9JdGFsaWNBbmdsZSAtMTIuNC9Bc2NlbnQgOTUwL0Rlc2NlbnQg
LTIyMi9DYXBIZWlnaHQgNzc4L0F2Z1dpZHRoIDU0Mi9NYXhXaWR0aCAyMzI3L0ZvbnRXZWlnaHQg
NDAwL1hIZWlnaHQgMjUwL1N0ZW1WIDU0L0ZvbnRCQm94WyAtMTEwNSAtMjIyIDEyMjIgNzc4XSAv
Rm9udEZpbGUyIDI3MCAwIFI+Pg0KZW5kb2JqDQoxMiAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5
cGUvVHlwZTAvQmFzZUZvbnQvQUJDREVFK0NhbWJyaWEvRW5jb2RpbmcvSWRlbnRpdHktSC9EZXNj
ZW5kYW50Rm9udHMgMTMgMCBSL1RvVW5pY29kZSAyNzMgMCBSPj4NCmVuZG9iag0KMTMgMCBvYmoN
ClsgMTQgMCBSXSANCmVuZG9iag0KMTQgMCBvYmoNCjw8L0Jhc2VGb250L0FCQ0RFRStDYW1icmlh
L1N1YnR5cGUvQ0lERm9udFR5cGUyL1R5cGUvRm9udC9DSURUb0dJRE1hcC9JZGVudGl0eS9EVyAx
MDAwL0NJRFN5c3RlbUluZm8gMTUgMCBSL0ZvbnREZXNjcmlwdG9yIDE2IDAgUi9XIDI3NSAwIFI+
Pg0KZW5kb2JqDQoxNSAwIG9iag0KPDwvT3JkZXJpbmcoSWRlbnRpdHkpIC9SZWdpc3RyeShBZG9i
ZSkgL1N1cHBsZW1lbnQgMD4+DQplbmRvYmoNCjE2IDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlw
dG9yL0ZvbnROYW1lL0FCQ0RFRStDYW1icmlhL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50
IDk1MC9EZXNjZW50IC0yMjIvQ2FwSGVpZ2h0IDc3OC9BdmdXaWR0aCA2MTUvTWF4V2lkdGggNDM0
Mi9Gb250V2VpZ2h0IDQwMC9YSGVpZ2h0IDI1MC9TdGVtViA2MS9Gb250QkJveFsgLTE0NzUgLTIy
MiAyODY4IDc3OF0gL0ZvbnRGaWxlMiAyNzQgMCBSPj4NCmVuZG9iag0KMTcgMCBvYmoNCjw8L1R5
cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL05hbWUvRjQvQmFzZUZvbnQvQUJDREVFK0NhbWJyaWEv
RW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDE4IDAgUi9GaXJzdENoYXIg
MzIvTGFzdENoYXIgMzIvV2lkdGhzIDI3NiAwIFI+Pg0KZW5kb2JqDQoxOCAwIG9iag0KPDwvVHlw
ZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9BQkNERUUrQ2FtYnJpYS9GbGFncyAzMi9JdGFsaWNB
bmdsZSAwL0FzY2VudCA5NTAvRGVzY2VudCAtMjIyL0NhcEhlaWdodCA3NzgvQXZnV2lkdGggNjE1
L01heFdpZHRoIDQzNDIvRm9udFdlaWdodCA0MDAvWEhlaWdodCAyNTAvU3RlbVYgNjEvRm9udEJC
b3hbIC0xNDc1IC0yMjIgMjg2OCA3NzhdIC9Gb250RmlsZTIgMjc0IDAgUj4+DQplbmRvYmoNCjE5
IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0Y1L0Jhc2VGb250L0FC
Q0RFRStDYWxpYnJpL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3JpcHRvciAyMCAw
IFIvRmlyc3RDaGFyIDMyL0xhc3RDaGFyIDEyMi9XaWR0aHMgMjgwIDAgUj4+DQplbmRvYmoNCjIw
IDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0FCQ0RFRStDYWxpYnJpL0Zs
YWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDc1MC9EZXNjZW50IC0yNTAvQ2FwSGVpZ2h0IDc1
MC9BdmdXaWR0aCA1MjEvTWF4V2lkdGggMTc0My9Gb250V2VpZ2h0IDQwMC9YSGVpZ2h0IDI1MC9T
dGVtViA1Mi9Gb250QkJveFsgLTUwMyAtMjUwIDEyNDAgNzUwXSAvRm9udEZpbGUyIDI3OCAwIFI+
Pg0KZW5kb2JqDQoyMSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHlwZTAvQmFzZUZvbnQv
QUJDREVFK0NhbGlicmkvRW5jb2RpbmcvSWRlbnRpdHktSC9EZXNjZW5kYW50Rm9udHMgMjIgMCBS
L1RvVW5pY29kZSAyNzcgMCBSPj4NCmVuZG9iag0KMjIgMCBvYmoNClsgMjMgMCBSXSANCmVuZG9i
ag0KMjMgMCBvYmoNCjw8L0Jhc2VGb250L0FCQ0RFRStDYWxpYnJpL1N1YnR5cGUvQ0lERm9udFR5
cGUyL1R5cGUvRm9udC9DSURUb0dJRE1hcC9JZGVudGl0eS9EVyAxMDAwL0NJRFN5c3RlbUluZm8g
MjQgMCBSL0ZvbnREZXNjcmlwdG9yIDI1IDAgUi9XIDI3OSAwIFI+Pg0KZW5kb2JqDQoyNCAwIG9i
ag0KPDwvT3JkZXJpbmcoSWRlbnRpdHkpIC9SZWdpc3RyeShBZG9iZSkgL1N1cHBsZW1lbnQgMD4+
DQplbmRvYmoNCjI1IDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0FCQ0RF
RStDYWxpYnJpL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDc1MC9EZXNjZW50IC0yNTAv
Q2FwSGVpZ2h0IDc1MC9BdmdXaWR0aCA1MjEvTWF4V2lkdGggMTc0My9Gb250V2VpZ2h0IDQwMC9Y
SGVpZ2h0IDI1MC9TdGVtViA1Mi9Gb250QkJveFsgLTUwMyAtMjUwIDEyNDAgNzUwXSAvRm9udEZp
bGUyIDI3OCAwIFI+Pg0KZW5kb2JqDQoyNiAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1
ZVR5cGUvTmFtZS9GNy9CYXNlRm9udC9BQkNERUUrQ2FsaWJyaSxJdGFsaWMvRW5jb2RpbmcvV2lu
QW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDI3IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIg
MTIxL1dpZHRocyAyODEgMCBSPj4NCmVuZG9iag0KMjcgMCBvYmoNCjw8L1R5cGUvRm9udERlc2Ny
aXB0b3IvRm9udE5hbWUvQUJDREVFK0NhbGlicmksSXRhbGljL0ZsYWdzIDMyL0l0YWxpY0FuZ2xl
IC0xMS9Bc2NlbnQgNzUwL0Rlc2NlbnQgLTI1MC9DYXBIZWlnaHQgNzUwL0F2Z1dpZHRoIDUyMS9N
YXhXaWR0aCAxOTg0L0ZvbnRXZWlnaHQgNDAwL1hIZWlnaHQgMjUwL1N0ZW1WIDUyL0ZvbnRCQm94
WyAtNzI1IC0yNTAgMTI2MCA3NTBdIC9Gb250RmlsZTIgMjgyIDAgUj4+DQplbmRvYmoNCjI4IDAg
b2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0Y4L0Jhc2VGb250L0FCQ0RF
RStDYW1icmlhLEJvbGQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDI5
IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMTE5L1dpZHRocyAyODMgMCBSPj4NCmVuZG9iag0K
MjkgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQUJDREVFK0NhbWJyaWEs
Qm9sZC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA5NTAvRGVzY2VudCAtMjIyL0NhcEhl
aWdodCA3NzgvQXZnV2lkdGggNjAwL01heFdpZHRoIDI0ODIvRm9udFdlaWdodCA3MDAvWEhlaWdo
dCAyNTAvU3RlbVYgNjAvRm9udEJCb3hbIC0xMTEwIC0yMjIgMTM3MyA3NzhdIC9Gb250RmlsZTIg
Mjg0IDAgUj4+DQplbmRvYmoNCjMwIDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMC9C
YXNlRm9udC9TeW1ib2wvRW5jb2RpbmcvSWRlbnRpdHktSC9EZXNjZW5kYW50Rm9udHMgMzEgMCBS
L1RvVW5pY29kZSAyODUgMCBSPj4NCmVuZG9iag0KMzEgMCBvYmoNClsgMzIgMCBSXSANCmVuZG9i
ag0KMzIgMCBvYmoNCjw8L0Jhc2VGb250L1N5bWJvbC9TdWJ0eXBlL0NJREZvbnRUeXBlMi9UeXBl
L0ZvbnQvQ0lEVG9HSURNYXAvSWRlbnRpdHkvRFcgMTAwMC9DSURTeXN0ZW1JbmZvIDMzIDAgUi9G
b250RGVzY3JpcHRvciAzNCAwIFIvVyAyODcgMCBSPj4NCmVuZG9iag0KMzMgMCBvYmoNCjw8L09y
ZGVyaW5nKElkZW50aXR5KSAvUmVnaXN0cnkoQWRvYmUpIC9TdXBwbGVtZW50IDA+Pg0KZW5kb2Jq
DQozNCAwIG9iag0KPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9TeW1ib2wvRmxhZ3Mg
MzIvSXRhbGljQW5nbGUgMC9Bc2NlbnQgMTAwNS9EZXNjZW50IC0yMTYvQ2FwSGVpZ2h0IDY5My9B
dmdXaWR0aCA2MDAvTWF4V2lkdGggMTExMy9Gb250V2VpZ2h0IDQwMC9YSGVpZ2h0IDI1MC9TdGVt
ViA2MC9Gb250QkJveFsgMCAtMjE2IDExMTMgNjkzXSAvRm9udEZpbGUyIDI4NiAwIFI+Pg0KZW5k
b2JqDQozNSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvTmFtZS9GMTAvQmFz
ZUZvbnQvQXJpYWwvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDM2IDAg
Ui9GaXJzdENoYXIgMzIvTGFzdENoYXIgMzIvV2lkdGhzIDI4OCAwIFI+Pg0KZW5kb2JqDQozNiAw
IG9iag0KPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9BcmlhbC9GbGFncyAzMi9JdGFs
aWNBbmdsZSAwL0FzY2VudCA5MDUvRGVzY2VudCAtMjEwL0NhcEhlaWdodCA3MjgvQXZnV2lkdGgg
NDQxL01heFdpZHRoIDI2NjUvRm9udFdlaWdodCA0MDAvWEhlaWdodCAyNTAvTGVhZGluZyAzMy9T
dGVtViA0NC9Gb250QkJveFsgLTY2NSAtMjEwIDIwMDAgNzI4XSA+Pg0KZW5kb2JqDQozNyAwIG9i
ag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Gb250PDwvRjkgMzAgMCBS
L0YxMCAzNSAwIFIvRjcgMjYgMCBSL0Y1IDE5IDAgUi9GOCAyOCAwIFIvRjYgMjEgMCBSPj4vRXh0
R1N0YXRlPDwvR1MzOSAzOSAwIFI+Pi9Qcm9jU2V0Wy9QREYvVGV4dC9JbWFnZUIvSW1hZ2VDL0lt
YWdlSV0gPj4vTWVkaWFCb3hbIDAgMCA2MTIgNzkyXSAvQ29udGVudHMgMzggMCBSL0dyb3VwPDwv
VHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJzL1MvU3RydWN0UGFy
ZW50cyAxPj4NCmVuZG9iag0KMzggMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGgg
Mzc5MD4+DQpzdHJlYW0NCniclVpbb9s4Fn4v0P/ARxtIVFLUdVEESJN0posW6E6zMw/NIlBsufbW
cTKS0jT76/dcSImUQ8XFoONIIg8Pz/U7hxRvPou3b998OvtwLuTJiXh3fibeXb5+9eZ9KZSKZCIu
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
9gcn5olqLi98GpjDczeHh6/A5BojlTfbXpNWE3YQS1g19+ftGcL/AYpOwt8NCmVuZHN0cmVhbQ0K
ZW5kb2JqDQozOSAwIG9iag0KPDwvVHlwZS9FeHRHU3RhdGUvQk0vTm9ybWFsL2NhIDE+Pg0KZW5k
b2JqDQo0MCAwIG9iag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Gb250
PDwvRjUgMTkgMCBSL0Y4IDI4IDAgUi9GNiAyMSAwIFI+Pi9FeHRHU3RhdGU8PC9HUzM5IDM5IDAg
Uj4+L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdlQi9JbWFnZUMvSW1hZ2VJXSA+Pi9NZWRpYUJveFsg
MCAwIDYxMiA3OTJdIC9Db250ZW50cyA0MSAwIFIvR3JvdXA8PC9UeXBlL0dyb3VwL1MvVHJhbnNw
YXJlbmN5L0NTL0RldmljZVJHQj4+L1RhYnMvUy9TdHJ1Y3RQYXJlbnRzIDI+Pg0KZW5kb2JqDQo0
MSAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA0Mzc5Pj4NCnN0cmVhbQ0KeJyt
W2tv3Mix/W7A/6E/zgQSzeabwEKALEvJXsQXTiJkL2AHBjXD0TBLjWZJyorur791qrvJbo56NHcT
LNYPqh/VVadOPbotPnwRP/304fPVz59EeHEhPn66Eh9v37/7cJMKKYMwEbeb9++kCOk/KfIoCKNE
5GEZZIW4faBxf/xbXIr7/v27UNzjlz++f/d1cdmLejd0Td0vpVyIqqvFMltU62WyWC/jRb0W1W5N
X0S3lOGifqDvj8vzdPGDvtEPN/Q5Ul8eMGrffh+quzOBxYZtTbPKRbWjSff0Py19Hi/uaNnHZaom
/frrsljUNb7v6Xsv6K+YN9BiPGCoWhZs90QLPCzPE55fdxjIAzaCtuAfVHsaglWaHS2PDXsWPl2I
5T/E7X+9f3dN6oLKZkrKyiSQSklfefdtc0/7bz2zZFgE+WzWuW+sjALpDn2uBhy37nxT4iKIMneO
7wAyCYNsNlbpovs1EOLnjTIq650tNbPFlrRVkZbaVjRDDwsLtsWOvhMoMKMmm9CCXY2fPhizKPOf
CdIWqV901e5+metFmwG79nW7EY1ac123vJQ6+Dqg1QVgdrttehojtkupYfX8lqnyIigifVLaVRta
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
RHpFqDe9V2tN4+Ko1tID79UCeia/4r2HAl4h/I8vtNQbobXAA+he/Xso/QiFSgn7FcreXDo5Tb6D
KyJdRU6tr9V4YzXRBm5rYKRe7CPTq+IpL2YnL7WcroA0IuxGb1vo31BujjeWztrqn66o5x38HKsf
K+y2th9sI/lTHfh0nvs98NPQu0cu/TgVyBBxoOMxXezxb1Pyxfhoj/NMfsSur4cCYVqiJ9CpufMe
iUQG5ciSeVkWByzJI0aSdIaMZGMW0Rx5MIgDBQZNFOmMGRlpWih5TSCIrE3HMk+Gsweo58K+Q50w
hPlBDTl6cEsUnNyVxoyZtjqiHT3quHqc7ZLZdmaMvd2hDk8bxbD5P5iHhMENCmVuZHN0cmVhbQ0K
ZW5kb2JqDQo0MiAwIG9iag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9G
b250PDwvRjUgMTkgMCBSL0Y2IDIxIDAgUj4+L0V4dEdTdGF0ZTw8L0dTMzkgMzkgMCBSL0dTNDQg
NDQgMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1hZ2VCL0ltYWdlQy9JbWFnZUldID4+L01lZGlh
Qm94WyAwIDAgNjEyIDc5Ml0gL0NvbnRlbnRzIDQzIDAgUi9Hcm91cDw8L1R5cGUvR3JvdXAvUy9U
cmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCPj4vVGFicy9TL1N0cnVjdFBhcmVudHMgMz4+DQplbmRv
YmoNCjQzIDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDUyNDA+Pg0Kc3RyZWFt
DQp4nNVdW4/cupF+N+D/oMfuwNYRJVKXhTGAPbYDLxBgNzGwD3FgyD0ad++023PUmjPH/37rK1IS
daG6o1Y/LBJnZqSiqlgs1p3M7y9fhGHmp8qLs9CPhRcJ5UvhhbGfCa8sXr74n794h5cvvN/+y3vz
5re/3X567wU3N96797fe792xoT02kNbgd59fvvjto/KE8On55/uXL4QX0H8INJJ+mnlJkPmh9/kH
gf31H1HmfT++fBF43/lPKc2ff3354p+rx3W0Kos/1q/lavdz/TpaPdGD41qIlbdZpyt6pFZ39Kjw
8HJf3ONVxX/k3tNhrVb7tYg03OaBRnjrbPW8O9ytY/3w2cO3v62FXBUVhj0TUFHgtwN9F+DVtvAq
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
v1RCAtSezzyQ4h3ZAyvh9uom2CdnimYuXRFy55GDLlOgb86js2C07aT6UPp9qc1je87PGNQNu7hW
2s34GHA7DpU+pgdr++fjno35rtr/cpq1ufNTEaldx/TOsWlZ16ZBqQex3cwl+zbNgNjNXIPOKesz
bTOX7Ns0A9Vp5hr0V3U+JceIAt2Gfe6bVy0A59WrHZgTd6+mkkZYV5P4UjrUcBQMDBoPlq7BJw1a
mvCczz32RaqY+5FfuSzZXHKECnArk4Ock5bMsLA54jXBQjGwZIZmx+CTespB8+et0yrMRqiEr5Jx
hGhGDqIo5nbk4/KoY8FXNp21PkugY+/Tga5tg+sfd0A6uDhsOLTT1em8av//hLg2nVo3OejcEp/F
iKFovbr8cd+vuyBA7G0I61aXk7oxCru6EacmAjmpGw3IpG60PjOhGw3UtG7sfMqpG816moOB9Wra
ABE5pNIZyJwBwlpEg0zGOhYp+gSiTU0N06KaiIcM1HQ81EEne+hqGBvdMGY6D4pl5/8AywP5PA0K
ZW5kc3RyZWFtDQplbmRvYmoNCjQ0IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwv
Q0EgMT4+DQplbmRvYmoNCjQ1IDAgb2JqDQo8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL1Jlc291
cmNlczw8L0ZvbnQ8PC9GNSAxOSAwIFIvRjYgMjEgMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1h
Z2VCL0ltYWdlQy9JbWFnZUldID4+L01lZGlhQm94WyAwIDAgNjEyIDc5Ml0gL0NvbnRlbnRzIDQ2
IDAgUi9Hcm91cDw8L1R5cGUvR3JvdXAvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCPj4vVGFi
cy9TL1N0cnVjdFBhcmVudHMgND4+DQplbmRvYmoNCjQ2IDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVE
ZWNvZGUvTGVuZ3RoIDQ3NDQ+Pg0Kc3RyZWFtDQp4nMUda2/bOPJ7gPwHfbQXW60oknocCgNt2j3s
YfewhytwH9qFoThyY9R1c7ayaf/9zQwpiXqM5MrKHm6RJtKQMxwO503df6+voshPYuFFaehHwhNR
6MvECyM/Fd4xv776zw/e4frK++l37+XLn367+eWNF6xW3us3N95/zdhImbGhOzZQzuDX766vfvpZ
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
u/TJufbEc4iZqUzyjZvHx7/hUVkdd1kdh5VP4Hom5KK1qbf/xW/PLPdsF+Ky+M5JtDu4Jr5vz4vr
krsnw4HVQtBt/DyCR1HmbsmrehiP4FGU8Rgex7/jCezGkxjGU3gaf8Az+CNG8CxG8Ryexwt4EX/C
HryEMUTRsJn6sJn6cGZBVMg04WScglPRjNNwOs7AQpgbZBZBRqSurtoZ1ZtjzTTHmln1sO1HMP5t
mKVGwtKqUY+fg5Vw8qmyFXDyyXL8+cLeddv4N0zCZP0W341I7jMln3TkAxUpXtPFdx/2+YZJmNyH
3/fOwz7fJPmbrnf+q1XvX/etgTBzFtSpzGJI5My7kcM5kMyZ9+A8mBlklqAV78X7sBTWypll+AA+
iAuwHCvwIVyINlyE9riaxt8SqHyjemfySfwhyfcG9n4zILB3P0zExay+EvGZN0Ul/VLSLyX9UnI9
Sq5HyfUouR4l16PkepRcj5LrUTLyLorKwcrkU5gB42OH5x+/01Zx6uU7bXkpO4NXc6qeTh0saWfw
a07ViO1X7rzlq/ZwJjBz3Q8TMTV1cHIP8+Joh9e4IxnDyec83sN1MvemaIeV3hwrvTmcOnhCLjXD
69/h9e/w+nd4/Tu8/h1e/w6vf4fXv8Pr3+H17/D6d6SmGwG7mb+b+bvZvpvtu5ldZnaZ0WX2lhlZ
ZmSZkWVGlhlZZmSZkWVGlhlZZmSZkWVGlhlZZmSZkWVGlhlZZmSZkWVGlhlZZmSZkWVGlhlZZmSZ
kWVGlhlZZmSZkWVJtjJZF18kc8zzUvOSu4PxncGL43u7iD9VvDK5LuPfCozv/JkHV5uLVku26vjO
2N/y7lgDToAVecaKPPM2zIc1RObt3lv8SWgTY05izEn6oklfxH8pr3+fFGrSL00MiQ3OsWQni3NM
CZkSMiVkSpt+69JvXWwZ1XddjBmt3PWOPx2MP50d1p9drBnd5xPBNsaMMmaUMaP7fuqn37v0e5d+
79LvXfq9S7936fcu/d6l37v0e5d+79LvXfq9S7936fcu/d6l37v0e5d+79LvXfq9S7936fcu/d6l
37v0e5d+79LvXfq9S7936fcu5o4yd5S5o8wdZe4oc0eZO8rc0b/mE5HUhKrdle/mqIGu9V+sexW7
LqrYlXxykHzCGte/MLHrL9a+v6Fhf03ta/o/5FRvUv9eyaT48/YHkm8ixd9Cir+B9PL4i7/3EI89
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
WaTxmkWCZ5C7qIwC5KZl9DBGvMcQEmgNQi2ejZ3Ic69r05sIdWgvQl1eTSiJPkGoRwcRkulzhBT6
GiGVZ0KnabqWRvW1ZlomFUBz5FF7nnNcpBVqhdSB5xN35NnDnbS+Wl8q1q7U+lMXbZg2jLrxWj3d
tVKtlC7XxmpjqYc2SZtEPbUZ2kwq0R7THqPezPb7iE6iE/Vlzt+POf+V4Pw9qL8oEVfQADD/ATRI
INBQ5vzDwOHvpOHMUe8AR32V/gxeupOmgWd+QLOZVf4NfPITWsy/VljiP+I/5IAlHie/OOFyU9Cl
u+rRcleKqz5tcDV0NaQXXI1djelF8LdMeglsLZdecbd1t6XX3Z3cnWiLe5R7FP3bPc49jra6/+ye
TG+4p7in0nb3NPc0etM9030v7eQ5hbt5NuE7EEMu2sMrmezVpe6jfZBycfQBr1XyCc//+1RvpDei
z/Q2ehs6wPP2DupFehEd0rvq3elzvYfem47offX+dFwfqA+kk/o8fR59q6/QH6NT+ip9F51Ws8q0
pmpWmZahZoxpzdQsMS1TzQ/TmquZYVqWfkw/pmWr1TO0HMNt6FqumuOltTBijFStpYGgdTWuNK7U
uhljjdu17safjD9p/Yw7jSnalcbdxt3aVcZ0Y4Y2wJhp3KcNMuYY87VrjVeN17QbjC3Gm9qNxlvG
Lm2MsdvYrd1s7DH2aOOM94yPtFvATg9rk7yLvYu1qd5vvN9od5mpZqp2tznCHKFNM09KoU0HX4rV
Zivlrz0ILpSk2VD7qVoYar++FpGNZCOtXGbIDG0J2E6u9nd5mWypLZWt5WDtYTCQYdpmKPAR2lY5
Uo7U3pClslTbJsfKsdp2pbq1HdDbZdqbcqFcqB2Ri6Vf+1ICwrSvZVgu1U7Ih+XD2mm5XP5Dq5CP
yVVCk0/Jp4RHrpb/K3T5jFwnpFr1QkTJl+XLIlq+Lj8XMfILeVTkymPypGip5iSJAl8HX3dR6Ovh
6yG6+kp8fUQ3NetIlPgG+q4RV/iu9Q0T/Xw3+EaKgb5RvlHiGl+p749iCLhKN+hUTfSHplQsJZ08
RPfP+uGfVttaZW18YKi12zpkx87Pt/PL1i0otkc+MMVeZEfsrfZJe6uTWrbFyXOKnSHOcGeUM9a5
A9eswzWbrEMLetj97aHIPcW+1f7AHoycrZ1ie5m1yYl3FquyF/RwHrEOOXfY+c5LZevskdZqVfKi
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
VLyz7cHy9FFjck9HVuctaeXE1hYfLJubvzx/T2xzpLVp+5cj7SMdyh6P69xDWc2yauIdYs1Gq3aZ
4R3RAyXds1oW1ZadKktGxoXXZ++PLIosGq2KPizbkN29bEPWqsjiyOLwiUiT3HUZGzN3F6wurqw6
2mNc9LXo7qyDebvj3dOX5y6NNY5dEe9TuSt3cXn9jPpl+yLbY7fEJsSmxu4pWVGRXZFdWhQ+UPhg
7qL0nbFjsVOR2aVnWrXJXGNmxJbxzuWdK2PlfcyYPbSiJHt13u52iYguM7UWezjjePracMP0SN6B
SOdYZWRFxdrM9bG5WRtyB1cfy9gfqR8riEyMTC7sUrEhtjC2PLbN3GcyXj/ePnNSXpEZD/KiZ2Jp
0ROR0dHDkbL8CRFjffFD5XtlPcX98Ptfn3z/65Pvf33y/9yvT/5hxbXxrP85nhiWM6Kv4w3LLh1s
/lXDWowYbtj08l1G17C024jO5n+6/xrHuzpZvGpAmqOuPlE83fzvaPGSEWHzv0MjWpv/7S9tNsJE
MFfvKc00/9tZfE+PDt+OEN9GE+4ObyF7Ezo7/Ryn0Rf/y/fY38mnzDf5b5zzRV26f5G2sbbfb+X6
/yJNfXtd+ZdvE/Ntbv/lePrfHfsPvv9Ouf9leVqbb3unXyOHT9Coofk0Nf+2MP9r2CjT/NuGT16j
IvMJm3+bNupiPk6jnubbgk8X8+3bqD85DDX/VjUaYz49GyXMt6H5f0/zGQ/lXysVwaHm45D/JJPL
JPMZQ779zWdKo+mmbft9v2OhbseC8pVTwL6FQvYndGB/Qkf2JxSxP6GY/Qkl7E8oZX9CGfsTytmf
EGZ/QgX7EyrZn9CJ/Qmd2Z9wMfsTurA/oSv7E7qxP+ES9id0Z39CD/Yn9GR/wqXsT+jF/oTe7E/o
w/6Ey9if0Jf9CZezP+GK71vx/4tWdNVczW8O3ZeNH+WkzfvHb72h5ltlvmPqdK98p//ntP/OV/Kp
l/hf0sk1lpp04/9Jv7juK/KK78oi//53eSjvf/j9t8q+4t8o8/9wz/9Qn//htaX+v5UnmX+3OONC
NXwioW2hAvPJCd1i/rczNEH+Rn5oamif+b98DvL5wnwLjP4ek2ZCaCFp9oWOhU6FZtTlkkzTRj7G
+RNM2mFp8oKiJlD+tVJzYd2V5TPXfOTfY+Qon23CtPTvaK5dYMqzJ6113ad93aeD/VBuSV2WZjwG
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
mCAmiklispgipoocMU1MFzPETDFL5Io8kS9mizlirpgn5osFYiFZT4vFElEgloplYrlYIVaKteK0
+EH8KH4iAY9SSCkVWUWajANfWjL0YzIuE2SiLCaLyyRZQpaUybKULC3LyLKynEyR5cl6qiArykqy
srOgZDWyoGo4+0nWlnVkXbKh6ssGsqFspHqqXqq36qP6qnTVT2Wo/mqAGqgGqcFqiBqqMtUwNVyN
UCPVKDVanafGqCw1VmWrcWq8mkBW1iQ1WU1RU1WOmqamk701U81SuSpP5avZao5aoFbqu/U9eo++
V9+n/67v13v1Pr1fP6Af1A/ph/Uj+lF9QD+mH9dP6IP6Sf2Uflof0v/Qh/Uz+oh+Vj+nn9dH9Qv6
Rfq9TL9X6fe6fkO/qd/Sb+t39Lv6PX1Mv68/0B86e0p/4uwpfZx+n+sv6PeV/lp/o7/VJ/V3+pT+
Xp/WP+gf9U8GDBpBlpYyntFkavlkaQUmZuImwSSaYqa4STIlTEmTbEqZ0qaMKWvKmRSywyqbKqaq
qWaqmxqmpqllaps6pq6pZ+qbBqahaWTSTGPTxDQlW+0c09y0MC1NK9PatDFtzbmmnWlvOpiOppPp
bLqYrqab6W56mJ6ml+lt+pi+Jt30MxmmP1l4A80gM9gMMUNNphlmhpsRZqQZZUab88wYk2XGmmwz
zow3E0yOmWammxlmppllck2eyTezTXmTaiqYimaimWQmmylmqnnTvGXeNu+Yd817zlY0H5gPzUfm
Y/OJ+dR85r/jv+u/5x/z3/c/8D/0P/I/9j/xP/OP+yf8z/0v/C/9r/yv/W/8b/2TJB6lVdaz2hrr
W2sDG7Nxm2ATbTFb3CbZErakLWVL2zK2rC1nU2x5m2or2Fq2tq1j69p6tr5tYBvaJrapPcc2ty1s
S9vKtrZtbFt7rm1nO9iutpvtbnvYnraX7WP72nTbz2bY/naAHWgH2cF2iB1qh9nhdoQdaUfZ0fY8
O8ZmBe2C9kGHoGPQKegcdAm6Bt2C7kGPoGfQK+gd9An6BulBvyAj6B8MCAYGg4LBwZBgaJBJdunw
YEQwMhgVjA7Oc/ZpMJbs03FknU4IJgaTyD6dEkwNcshCnR7MCGYGs4LcII8s1dnBnGBuMC+YHywI
FgaLgsXBkqAgWBosi/+UAAmYIBJkgkrwEnSCSfATbEIsIZ6QkNDVWbehDwtvwVugAD/D47AUv8Av
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
yZrFmqWaDM0qzXpNgaZEU6HZqdmtqdYc0tRrmjWnNec07ZrLmmuam5rbmgdaQsvTyrQ6rUXrrw3U
hmrDtOHaSO1o7UTtFK1bG69N1C7QpmrTtFnatdoCbYm2XLtDW6ndq63R1mkbtS3aM9pWbYf2irZT
26W9o32oI3QcnUin0Ol0Fp2/LlAXquuvG6wbphupG6+L1k3Rxerm6hbolugydDm6PF2Jrly3Q1ep
26ur0dXpGnUtujO6Vl2H7oquU9elu6N7qCf0HL1Ir9Dr9Ba9vz5QH6rvrx+sj9SP1Ufrp+rj9In6
Rfql+gz9Kv16fYG+RF+u36Gv1O/V1+jr9I36Fv0Zfau+Q39F36nv0t/RPzQQBo5BZFAYdAaLwd8Q
aAg19DcMNgwzjDSMN0QbphjchnhDomGBIdWQZsgy5BhyDUWGUsN2Q6Wh2lBraDScNJwzdBiuGDoN
XYY7hodGwsgxiowKo85oMfobA42hxv7GwcZhxpHG8cZo4xSj25hgTDamGtONq4y5xmJjuXGnscpY
Y6wzNhpbjGeMrcYO4xVjp7HLeMf40ESYOCaRSWHSmSwmf1OgKdTU3zTYNMw00jTeFG2aYnKb4k2J
pgWmVFOaKcuUY8o1FZlKTRWmnabdpmrTIdMRU5PppOmsqc10yXTVdN10y3TPTKbPZp5ZYlaZDWab
OcDsMvc2h5nDzZHm0eYJ5knmqeZYc4I5ybzIvMScbs42rzXnmYvNZebt5l3mKnON+Yi52XzG3Ga+
bO403zI/sBAWnkViUVkMFpslwOKy9LaEWcItkZbRlgmWSZapljhLomWRZakly7LWUmAptVRYdlp2
W6othyxHLE2Wk5azljbLJctVy3XLLcs9K4NM5HlWiVVlNVht1gCry9rbGmYNt0Zax1qjrVOtcdZE
6yLrUmuWNceaay2yllorrDutu63V1kPWI9Ym60nrWWub9ZL1qvW69Zb1gY1l87UJbDKbxmayOWzd
bcG2vrZBtgjbCNtY20TbZFuMLc4215ZsW2xbasuwrbKttxXYSmzlth22StteW42tztZoa7GdsbXa
OmxXbJ22W7YHdsLOs8vsOrvN3t0ebO9rH2SPsI+wj7VPtE+2x9jj7Un2xfY0e7Z9vb3IXmbfbt9l
r7Lvt9fa6+3N9tP2c/YO+1X7TfsdB8Ph6xA5VA6Dw+YIcLgcvR1hjnBHpGO0Y6JjiiPWMdexwLHE
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
XkGiVNvs0MS4INZAAjklciOGfRmBdsJlWA35gdWrpaGRoYEhsE41Mo/CSIjnvP//bLxcOy+4lJ//
5tKvO6L2rZNGK51ASaQ++6dRYNXRk1fzRRu0pRZw/8hcGr59W7+Smt4536evy8XulGzVL7n9tIfV
OKDsjZNI0aW69sAIhpjcFZF2Aqab4hdWNl122GyqvCInPUci1/Lp0r/BQZKeF6Ut9kv+TlC9cryB
uV/qWvmf5B1bE9Q7dUQd9dovuxRbmO1v/b1ry3PRf09OJKe2mIWlnU3NEEmfwNr9gsHIjE+PreaF
3ceF39O8l9V6fjknpPww2etAy9/b/b7rk8x6rBraXl1RdDvwqqUsJeZDyIxbMeye6lLhkksCN8w6
dM6/p8Q8p9JAc69CWfaP52U5z1mO+t8XeveQ/8ZeoaVNHG1rk1ecupHF8q5w1kfT95YaZ9oA7RWv
6w0KZW5kc3RyZWFtDQplbmRvYmoNCjI3MSAwIG9iag0KWyAwWyA2NThdICAzWyAyMjBdICAxNlsg
NzkyXSAgMTMxWyA1MjZdICAxMzRbIDUyNF0gIDEzOVsgMjcxXSAgMTQyWyAyNjcgNzk5XSAgMTQ4
WyA0MDddICAxNTBbIDM0NSA1MzUgNDYwXSAgMTU1WyA0NjBdICA0ODZbIDMxOV0gXSANCmVuZG9i
ag0KMjcyIDAgb2JqDQpbIDMxOV0gDQplbmRvYmoNCjI3MyAwIG9iag0KPDwvRmlsdGVyL0ZsYXRl
RGVjb2RlL0xlbmd0aCAzMTU+Pg0Kc3RyZWFtDQp4nH2STW6DMBCF9z6Fl+kiApOEgISQ0iSVWPRH
pT0AsYfUUjGWcRbcvmYmTaNUiiWQPubNvCfG0bbaVUZ7Hr25XtbgeauNcjD0JyeBH+CoDRNLrrT0
Z8K37BrLotBcj4OHrjJtz4qCR++hOHg38tlG9Qd4YNGrU+C0OfLZ57YOXJ+s/YYOjOcxK0uuoA2D
nhv70nTAI2ybVyrUtR/noedP8TFa4AmyoDCyVzDYRoJrzBFYEYdT8uIpnJKBUTf1NXUdWvnVOFQv
gjqOk7hEWiEtE6KcKEUSMdGOKEVaLYgeiTKkjGamAhOcvcSv8yVotkZZlpF6dVZTXdwGzcgiza+H
Jv+H7lGWJ6TeYqB8SR/JcJ3cdRJ7ir/YXDtNv3La+GVP8uRcWBFeC9zNtBVt4HJzbG+nrun5AbWH
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
h2dnjtZGc/pr/bOXe4e6Yh8eLld+0vI8tXc5G/PkUZwn96zxawKmy/g1wTmX7Eyz28YvA9iyF/Zc
t81vjwFynqZrF2TkTp04ctqNI6z9ModfpF1gdY+a8PE3rf2/s27GLQsmpo2YbNlxxlK7cPKoodd8
61Kt7vKJw7MznJd+ecO1ReYF++bZxQ8u1RbOvmKE/MNmmxls2NLCHcwmxhd+JWmbsKRbvJaZljZL
Sn+Lxbat0KolpbxgtTusL+SNvVhLPzh+nPo1l/xM+tS4YGXKX+mFd+/ebWn585+/9H3yCe220+5D
fEnLdkcXDkqSDXGBE0la3kTxrmVqryZPHJSLeMygLzto0DLcohp8aIrv0jd3p9xw+hrLK/98iEZp
daVlZ9ImbmGy1bzCLKvQ0uWfvrLLP1f6giX5BZvNYVf74neYWrrL28YbLV4I2uzCwKCkrCvm5aSs
O3OJ9q5E/Vp1Qbf80xDtrnhJSo6T+2Ni+cr/MvlASvKc5LdSipRsUPJ7627bd23P2S9HNjkmOlY5
rQlJyP9AGdcttyUkIf9DpSUhCUlIQhKSkIQkJCEJSUhCEpKQhCQkIQlJSEISkpCEJCQhCUlIQhKS
kIQkJCEJSUhCEpKQhCQkIQlJSEISkpCE/O8TIf82otDk/8D9YtEuUsRUGKz/STjEMn07z2Z9G88W
9XxQ7+TZpp4rVcoqFV6tnmv0nTzX6YeEQ/uQcDbtHBGDRbZ+mGczZQbTjnyuVM9V+lGea9RzLbUG
U7dTLLNMoG6LerbSh094NtNOK3Xlc6V6rtGPi1btE7FZtFom8HxQlW9Tz5XquUo9V9PCBzybaX81
LcjnA/pJnisJryW9i2eLeq7Uu7QPqdWJTcYkTTT/p2hpSeu7/wdp/USVihn/xme5JdkMa6KfpdIM
J4l+zrCI/euyY52NZjg5rkyK8Di3mWFrXLpN/MO52wzbxajUyWbYIaalvm6GnTZnd/lUcaPLboZd
Is81xwzH+mzp7nPs/9Y4ztVshjVhc71mhpOELf2bZtgiPOlFZjg5rkyKcKXfaoatcek2cVd6pRm2
i6z0J82wQwxP/9gMOy3Lu8uniosH2M2wS7gHjDfDadqMAVeb4X5iQsZD8l/jTXaYdjbChp2NsGFn
I2zY2Qgnx5Ux7GyErXHphp2NsGFnI2zY2QgbdjbChp2NsGFnI5xmrgYZNuz8PREUtcIrqoVPNPCu
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
ag77qSLTMDJmwzDF9cWyrw7NkfpzLNPbNo5kzWENtTUWetPT2w44bBgB4+Sl5ynraD3W0eKtk6wy
jjW2lRjWmWlaRxqEfseZJ7nHPKnCmvp+Y0VhkZKuA1ZbzBBdUpOtT/Ngt5TOSsM8KO3LPLKZPZSf
McGqaVZpHkzi0DRHcuPZBnLaNKfj9NSpGGjq1KmnZdR+Zmph0aIiqcHp1Jyug+2+xllKZigpbDzY
7kzRnLJ7agW1hpwO4XR82DhFDBNuFr6d5zBlTJtVs1EOK62vUm27kpMXNfGzYoEtRWWpFeVMEc6U
gmLVf6nWojm7jSajwtlttcIDtlTN5uoxmzSczS5s9n2ljGDqEanSXi91NNU7bd3pi2TNFGGzKtsR
TtZscppL5CQzZSmG9TCfTVaS5jPtl2zYz6nRqcZ4AzqtpgGdvQ3oiDNgquZMO3CgpP36wusLv4XI
/pJ+wGnFGPSyscSTLDv67wxoNw2YatNSHRgweVIRg5sxQeUVFDWdbiwqSE3RUqUF/4UJUy1aao8J
DRumnWVDm2ZzqGVW1KXCBUVLly4tKnAa6VPlEJUNmbaYDWUYNxLCizhSlA1PyYzisaqBvmyY5Ezp
sWFyspZqbeNHjkwaMWZFNdIzU7vNmJqqpfaLmbG3IVOtWqoyZOFYu7RkqkOkOg1LGrZ0q5DyelbN
Lm2pjOmyaa4eY2JNlausiTldKZorzpyGAVO67Vl4wGWhQI9BcYOpmr1fvEWlTe02zW7atKhLRZRR
sarLyJlqmpX6KZrdtKsZiflnZzIrLdaTmV7VjDIttrVpmk3ZFmumakmp3cY1rOuySeumObU0ly58
jSXtUnyNS+LCukiza2lOvcxXUlK6uLSEn2Np/bS09AOTQgWhgpv4mbF+xvqrPVd7piKFngOT0mxa
mmNSxevt7aECl9XavKc+LVWkpR5nfsY25nAh6if/c65IFZniQvQcP+Cwaw7Hol1W6+SKXR11aQ4t
LdXGTVXKFXjfN7plrvhGo8NG4UkVu3adaW8vnZRm1dKsk8pLSk6VGD/H0pK1tJSSEiEO9EqJxVSK
o5/mSO8KRdaXeXrk8x3K43ep39D1yOeNsnvOSRVvyJ+KSWmxQr7GmJSJxaJEyTEhu2fvCscUyfNl
0Z6dB+qHrNhzSm5Ca3dXK8cqfUd6aZMjtCdp9pT2dnnFbG9PS6Lz7caPnLf29uQULc3W2dnZJswb
qlOsTfpIWMoawlXCPTfsny8mVPmiNdyQnEL7zqyp8gYjuNEbfxahnxnW5D3f+OcUVTxJ3XeyhWX6
zJnFYtisb1/rFfmzZ13jFRPNErhZMcAMJzN9GWY4RbiYSiNs5c7rFlnz+bAWjerZrJ4r1HOVeq5X
z8fU8yn5ASs2q+c++dT6qWeheobVU5XR9lbPr56fZFfPDPUcop4j1XOsek5Uz6Lum/v5PAeqbx45
ohT5JyCwCr6W0bkYST914xzASDPlqLDOwESN/1YNi/AIueX/b0KDRYG4VVSJRWKF2Ci2cBPeI/aJ
o+K05tKGcL+epM3QbtWqtEXaCm2jtkXboe3R9mlHhfxTIBb5p1H4JpL9lndh9d66Tb01Z6VwqHUg
/+QKt/FLT/SOT2ztHZ+8tHd8ak3v+HXpcfEUoX2vsXf+zf16x0u39y4fXNA7/w5X7/yGV3vnL5zV
O7/Z0zu/+bXe+fe/3Dv/gRm989eV9M7fcNZ4njjdO//7Tb3zN3t752/e2jv/1VuFIykWtxL/SDi0
uPj2TXwdxMXbM4S26V7po1LWp05MrUwNp9anNqduS301dR/hE3DaNcp1mWuO61lXV5or7UZKnSv1
SGW3hFUrZ8s2U2g57VZa36fKnS31qaeloDMmlyl51hB6YMiNUlLDA4Zle7KHZudmj8ouGCjDuQNv
4inThg5cMHCfx+lJ94zyFHlKeUZVztkyCsmNiWehiveSgcMMUaVzpYaBN1Gup4WhfciogfukoD8m
bUMOX1BCb4pMGWVKVMrwmuHHsofmjsotzp2Ve1PunNwqQsW5zbltuRtyn8jdmruDtNfJP1dkuZtM
kfWqzLpnS7OStm7ZoGQPbRsyx5TXlRSP2KDGURA/6rz2vL1IO3JgTHj8E+M3jd82/tUJ3oKlBUtj
b5lb0Dpx8zcLJ2+NvacUXLk/xrTKaffGuNpbPK64dfrC4nHXPnvtq9e5r5tQPO76A7O2Xuee9dqs
vbOO3TT5po++t/e2sTL/9kHXuYlPvr3k9nm3N92+1lfk+1bpotJVZdvKtpftLuso21d2ouxUudV/
q7/UV+Sv9FeSc0KKv9Rf42+rmOCvmfu7ufsrL6uc5q+pPBp4oPKywOp5FfPfnr+/qlPmVV5G+O3q
PwRfC80LRUOvh/aEDofLI5MjocgDtfbaobX1ta8v2FfXDymoKyA1FIrWTVtYdeeuRbfeNTS0Z/Gi
yGSZs/id2vol9UuWLtm2ZP+SvzVObZzdWIGEGpc2PtV45m4PMuzuYTJtyf678+7uWDp66eFlLiS7
cbbKWbps7LJfNXma8psKm6Y1zWi6uam8KdzU2NTctLrpsdwdy73IyOUjSQs35S8fu3x78+zmtZSc
1rylqVzmNL/YtLolGcloGdIyrGV0y4SW2S0VLfUtzS1tLRtanmp5saW9ZVfLRy1dLadbna3prUNb
R7eOay1oXdz6Wp/7O7bH46XXvm19vW8xdmuf+y629+Kl1x5qfbtvMfZNn3shth+6xdhd54qx1lv3
uy7zpOduoP8fdfuf5tYzrjl4KbzfPfZZe12X3ZNxT6H0NvgP9gGWCJv2MLwZtWQe4ZiVZDv4MOUr
u+2U5lL+dZ/rstb9Mv2e6yjhMn1uj/eLieGDX1V+eF8vb3kCOf0vvKT003OUp+wyvLXykrK2rPOq
9JjSsve6YM59M/GV0usN9aTft/m+lz3R+3bdd8oYpenV1Bwp73eTjK/IxkNGTU/oic2Y9HMrRmd7
lH81586jclZMXDFzxU/xgqPuj95/sjs3t3u+C1oLultDpI8x/Xef3tXwqb28aropo5SXl36+NOZT
6ZH0tqOyPUMOS+0PFEoN5Ki+5RY/cLNaI7Me/AQPO4cQ/rDtW6b/k+tIribDq8pyMvWm7hUmfenr
cattDuEqWhjVto+cOb3WoeHR53R756qzfPK5Xln6/CeUV95hen4pG5SXHqVaaFapxXIkbV0r2x6a
lT30ocqH9kp7PXR09Y2r21Zkz9qLH91reE184TY832WGj5v/Nn73PAU/e5bgq3vJuSXw5L1k1muy
D/Fybh3DZ/srY+9YLBaXI+glu5ET/17w/P8dqTl/4STpJYZte8Swcl/Sl4XliRKKRiaH5nHaKKnr
F4rKM8c8bxCZFhNOpj3y/FE1QoZwOiGyXl2/1a8u2CdrhvbIc2bJfnUGKbnbQyxknkKexqnGm5A8
oaaqp5SlUjidZOkzjWeWudbY5ZnDGZRvnkdKlnuJN5snEtI0ozs0zTy5wqasliLLL/eu6SdX9XKv
6Qu4XazJXdMhvc6av8m0tYuNPb4uef2c9W0PD3p4xcMdG9I33Lzh2CNJj9gf6feI96G9hJLYyc6N
0x79CC8Qfcz5mOfhjvj7V/bQx+59bKPhQUyfke6JPn7v46uVTyl4fHvspuhxPn4MrxF9YsL3k78f
/kHVk84ndzy18GnX07s2RZfUNy6NyJNb2YUxqNHU9bvbs9zLV9l7eoGWrJ/U5umbtMN6p3ZE32aZ
Cdfr2zw/EpM8L8IbYlJOSIwTSdoM4abkEW7e7+mfCQs1j5tpx4VT0/QOUnZq/WnnUsIzRJ52PeEy
wvP0Q1oj78P6TqERk39r5FP9KOX3Um4cKTvJ247+GfF6+SJ4T7+R3I3kbKJnnfSsk54k095hfZsa
wXY0H1Up81RqB2U7KNtB2Y5erSVJzeQe4ov0EGU1tCYz8v76e3E97lA9PqznS518q35KTKNesv4S
Jd+l5E7V5+t5l4Fss1FpXiw1u+tFedbL+o0eySvQCe/rBXz3GiP+gFaO0Eqn2Yq0UKdpIdnKqn/b
io0WOlVPpVUOK8vMo/Q45miS6m2naQ85rk3oecQc10b0bKPWdmpZqRXtpcNsP+cafXtOSN+oZmm7
OC6scm4hA9yQrZ8QA/UO4dH3ixzmYhAM0d8Vo8i7GEbDJZAPE+EbMAm+CTfAjfBduAm+BzfDLXAr
3AZz4HYoQ085+KEC5kIlegMwD+ajvwqqoQaCEII7IAwRiEIt/VsAdVAPDfR1IdwJi2A9K/JhVsQj
vE/x/gL+Af+E06R9CWdAZ6ZzmJtBzNFgbDkEWw7FvvN4zye9CqrJq4EghOAOCEMEolALC6COOvXQ
AAvhTlhEW3fxXgzMv9bFPH4GJ+CvemeSBVLABgPZB1+DCfANmKkfYq0fynhe35+xBX4IW+EF2AY/
ghfhJf3djJfhFTio78w4BB/qOzNt+qFMOzjACanggjToB6yjzHR9W+YAyNQ7MrP0VZk1+vHMCCwA
bJt5F+/FsIz8JmjW92e26O9mriZtDeG1sA7Ww8PwKOmPwRPwfXgatsGP4GXyX4GfEP4p/Aza4ee0
9wbvX9D+bvL3EO4g7V3e/wV/h5PwOZwCXT/hFqBBElggmb2VAlawgV3f73aAE1LBBWl6p7sf4Mnc
6ZCpv+ser+90V0Id/Aza4ef6Iffr8AvCv+a9h/de+ETf6D5K/G/6Kvff4XPCp/RNWVb9UBa2zsLW
Wdg6C1tnjYCRMI78CfqqrCt4N/BeCHfCIriL/MWwBPARWXfDUn1j1jJo0rdlLYdW6t1P2QcIP6hv
8pzSd3pYyznlrNtvimT9GZGiHxU2sIMDUsEF/aA/pMMAyIQsyAZWGjv9JDu9g51+UgzW17Pbt4gL
9LfEUNr8CnjhQhgGwyEXRsBIuAjy9Kj4KoyhvbHCLS7lPQ7Gw2XwNZgAX4cCuBwmwxVQCFNgKlwJ
RXAVTIOroRimwzUwA66F62AmXA+z4DswG0rAB6VQBuXghwqYC5WMNQDydJrPWKugGmogCCG4A8IQ
gSjUwgKog3powDYL4U5YBHdhp8WwBBrRcTfjX4p3tjIrF/D28r4QhsFwyIURMBIugjz4KoziFLwY
Duol2kfwMZyEz/WSmCfIaNWfybgH7oX7YAXcDw/Ag9AGK2EVPASr9aMZa2AtrIP18DBsgEdgIzwK
z+sn8Son8Son8Son8Son8Son8Son8Son8Spb8Cpb8CpbMj7Co3wMnPMZR+AT+BP8Gf4CR+FT6ILP
8DyZeI6B+tFMD+TAfKiCoHDjVToy6wk3wEK4E7AhHqYTD9OJhzmJh9mS2aq/lbmC9PvhAXgQ2mAl
MNbMh3ivoexaWAfr4WHYQN4jsFGPZj5OmSfhKdgEz8BzsJn852EL4R/CVngBXoSX4GXaeQX+g/Br
sJ2+/JjyOwj/nL69TvgX9PWXxHdT7k3ivyLcQd5bhN8m/Ft4B34H78Fe+D10wvvwB/gj7IMPYD8c
gINwCD6Ej+BjOAxH4BP4E/wZ/gJHgdtHZhd8BsfgOJyAv8Lf4Av4B/wTTsOXcAZ0/She9Che9Che
9Che9ChetBMv2okX7cSLduJFT+JFT+JFT+JFT+JFT+JFO/CiHXjRk3jRk+4B+np3BmTqW9xu/S13
FmTDINobDEMAv+JGZxb6stCVZdF3ZqWCC9L0G7PwS1mslazBxIfAaMAzZ02EImgmrwXa5D2Tu2FU
PUvU85CwiLe4+cnUT3lPFO+JGu5JR+XfJtb+IjYnaaLGMhbGwXix2TITrocgNMBdpC+GJbAMnoZN
8Ax5z/J+DnbBL2E3vEn6r3j/GvbAb6AD3hI17tHiZneJmMYd7LC7QdS77xLjsp6Fl7mzbhTTPI+K
es9jotzzDPFnQaa/AtvFbs+PxVrPDjHOsxN2E3+T+DuUfRc6KfO+/nvP5+SdJv4lnjuNUf7ZPVLM
dF8kZmZtFtdkbeXm9wK5W8U1nhfgR2IFt+QV3JJX5JSJcnXft2EpeY98R97MKTGNEtMoMU3l5nBz
6uLmdJybU5eyLicut6fj3J6Oc3s6zs2pi1tGFydnF6dmF6dmF6dmF6fmcU7N45yaXZyaxzkxu2h9
Jq3PpPWZnFxdnFzHObm6RKq81zMPQ5mHoVlb9Y6sFxgfb498/whe1DtyyvTfG3dW+tEhrGadPOrk
Sbu638YWL9FnmXOQ0RzCmjux5k6stRNrtapb9QcyJ0vmnJ2bbFriLfnNwejzuB2z0/g6OcRZ8an6
AnmJlBnyRq1liSa+jpZjgWZogXsoey/v+2AFp8T9vB+AB6ENVoL8O/EP8ea+JPDIYh3fWesZ08N8
5WxQ99ONAo8sniN/C/wQtsILwJ1J/Ae8Bj+mDN5HcHcS3J0E9yaxC34Ju+FXgNUFdyfxG+iAt+G3
8Dv4PXwA+4E7lTgAB+FDwJMIPInoom+fwTE4Difgr/A3+DuchM/hFH3/Av4B/4TTjOFLOAM6d2h2
ucYu1yx8R6bon3Hn7eDO28Gdt4M7bwf33A5Otw5Otw7uuR0ZrJoM+p5B3zO482XQ34xOeF8/kvEH
+CPsgw9gP/wXHNQ3cs/dyD13Y6Ybb3YBK86rf+a+EIbBcOIjIA++igfiO8bN94ub7xf3GPK5rbCC
N7q5qbgLSLsc+K5xT9aPuK+AQpgCU4EbiXs6ed+Ca+BavN51vGfCLeTfCnzfuPm+cXMTcZfxrqTt
AG++od2cfu4q3tXA/dodIh7mXQvcs9lFG92N9OluWApNpLHO3KwzN+vM3QqsLTfryb0KWE9u1pN7
DayFdcCOdW+AR2AjcA93cw93Pw7cxd3cxd0/gCfhKeBe7t4Ez9MXTkE3687NunNzV3e/SpyTz83J
5/5P2M74fgw74CfwU/gZfW6Hn+vb2PXb3G9wF96p7swb3buow8no3g1v0h4nIx5hG/fojW5ORDdz
7GaO3ew+vMRG9/v68axH9M+y6HMWfc6iz1n0NYu+Zj0Pr+rHPYNgBbC/POwvDzbwMH4P4/es1494
HgfG6WGcHup5GKOHMXo47T2MxcNYPHgoD3vGw57xsF88rDkPa87zG/I64C3g5PbsI+0IsO7xWhvx
Wts8nKA5V+pHcor0z3KuwotxI83hFppzE3G+d3P41s3hWzeHb90c1kIOayGHm2mOT3m8jTl+7uzc
SHMqibMuclgXOXewl4aq0+r/w0mlLRPL9Kn4swL8WQH+rEC0spfv0fPxZ9vxZ5vwY/PwY/PwYwX4
sSh+rAA/Nk+socxafRW+LIovm4cvm4cvm4cvm4cvKxGP8n6Mth/n/QR8H34AT8JT8DRsIv8ZeBae
o93NtPU8bCH8Q9gKL8A20n7E+0XeL8HL8Aq8Cv9B+mvwn+jcDj+mXzvgZ1i1nTH8nPfr8AbshF/A
LtJ/if7dvN8k/mvCv4V34F34HeyF39NuJ+/34Q/wR9gHH5C+H/4LDsBB0g7R1oe8P0L3x5wrh+EI
4U/gT9j0z/AX7HUUPoUu+v4ZHIPjcAL+Cn+Dv8NJ+BxO0eYX8A/4Jxh+dl6cny3hhNqEry3B187j
JJunPa5v056A78MP4El4Cp6GTfAMPAvPwWZ4HuTXxyHqMobur5DDenrsS0Q7xRfKF/pi7TTvL/XF
SUn6jKRksOr/h7Z7j4+rrvM/fjKFcotc2skcbrZGCrbEFmgpRKAWitIA5ZISCzQYKjQCA1Ik4RIk
LRDcVqQgQanieImXqJvf7s6uy8qOF7yku7KrzeKoyagjNqFMA9kRAWkR6Pk9Z3qKWVb35/7x++P1
+J5zvt9zZub7fX/en8/5huqyaf8ULZn2jSg97VH8M3L4Jr6Fb+M7eAzfxffw/ahx2g+izmmD2Ix/
wb/ih3gc/xbMkAtyckHjtB8bvwVD+A9Yp2nWSY5olCMap/3MsbWaNowR5wX3/wK/xK9QxK/xJKzT
pHzRK1/kps/gSUdFjclZUVquaJQnOuWItBzRKD/0yg9p+WGV/NAoN6STp+K0YEZykfadxi7G6TgD
S/Au19+Ns7A0mpdscu857j0X50X9ckZj8gLXLtTfjOW4yH0teI/nrsDFrl2CSx2vRKu+y3C5e9/n
3iuiJfJLY3K1Me14P65CJd+ktdf63tfp/wCuxxrf4wb33ej4JtxszC3VncXVyXWe1ePZd7vOB+Sb
RvmmUb5pTH7E9XvwUdyLja7dZ74+5lkPRTk5J538pO8nvuWWtNySllvScktabknLLenkV/BVfA1/
DfEt13TKNWm5Jp38O/dntX/vO/4Dvh5tSP4jHnH8T37HN/Ao/hk5930T38K38R3QlRyUloPSclBa
DkrLQWk5KC0HrZKDVslBq+SfXvknXc0/P/abt/gdQ3jC8U/0eZOQh9LyUFoOapSDGuWgRjmoUQ5q
lIMa5aC0/NMo/zTKP43yT6P80yj/NMo/nfJPp/yTln/S8k+j/NMo/zTKP52H/k00Tw5aJQetkoMa
5aBGOahRDmqUgxrloEY5qFcO6pWDeuWg3kOfkHN+5XoJfEEeSstDaXlolTzUKQc1HrYsmicP9cpD
vXJQ42ErVbGt2rYoLf+k5Z9O+Sct/6Tln7T8s+qwq6IlclCjHNQoBzUedn0wQx6q/LvcT0bF6o7p
w9Xav/gndk2L3KfIfYrcpyiiiiKqKKKKIqVIgUXKKlqVolUpvr6L9gOZfrD6XlCMd9OKZrvoFxXj
nayib/e74ECfXHnjGORHI3xohA+NqB3LaseX1I5lteNLPGmEJ414atlTy+4sq/IPil6sWYZ01Ftz
h1FPV/9SkJnSzCkrfx0ouVqqVvej1R1w74yO+/e8TXiDOEi9ugxiqPIOsOevJfHdlfsqR0/XVHZ7
aqp/76g8YXDPO0z1bMvrZ5URuz95tHrvgpqp0eaamdHzNW/R1uOtOAqzcDSOwdswG3NwLF9vwDr3
3KGOvlO71dOewja8hB3R6LSnos3TtuFplLAd43gGz2IC/4kyfhttTr4cPe/te7O3783evjd7++73
1r3ZW/fmugZ9b9cuwCl4Fz7i2j34KD7mfFP0fPC4X5Or2SfaXrMf9scBeBMOxME4BNMwHXUIcZhv
fHj0Qs0RVvBIxxy4ZoY3gpnV/bKcWcmZlZxZyZmVnFnJmZWcWcmZlZxZyZmVtWZlbc2JnncKTsUZ
OBPn4Fych/NxAS7EclyEFbgCq1FZl2txXXVn/4Wam3AzbnF+K7pwGz7k+92ObqzFOt+VAqzGRM1d
nnM3tlLsU9iGl7AjGrQqOauSsyo5q5KzKjmrkrMqOauSsyo5q5KzKjmrkpv2XLR92svR9un7RC9M
3w/740AcFG2ZfjAOqe7Oj04/3JgjcGS0PfkrbBcJz2onoheSL4qt32OH453RFis9kXxNXxRtr6vB
lChXNzV6oc5n1O0Ln1PncyghRwk5SlhblzTOWtX5HKrIUUWubobjo407BnMcN0QTVJKrm+t4vjf3
BY5P8oZ9itZ61C127V2O3+34LCzF2bA+ddanbhmsUZ21qWuGtal7D6xP3SW4FCvxXrThcqzC+2D9
6q6ENaxrx/txFa7GNbgea3ADPogb0QHrWWc96z6E29Htt6zFOtyBO3FXNFLXg7v1fxh/5Tesxwa/
x5u+KJgQBRN193reRv334X59HzPm4659Ag9hkzEPR9uDvRMPBi2JL0YdiUejQmIQw0EiSCTODxoS
y4OGmi8Fe0W/CFKcJFQnHqbePjz6UXBEdH9wpJr4zdGWYIb+mXgL6vFWHIVZOBrH4G0QHYHoCK70
rNVox/txFa727GuQxk2efzNuwa3o8jm34UO4HVQeUHmwDg9T8tTq38YGJ0VsRsQOxhH7l+5w50Rs
rvqX4GtxHf57lA2KskFRNijKBidHWYIvJWaiPsokeGRiXjQ3cUL04cSJjs8PFpvJxYnVjq/CNcZf
r70ZXcbfrr3fvPe550vR/YmvO/+24xHtzmjzlP3xJlnCc6dtiH4x7SO4Bx/FvdiI+3A/PoYH0IsH
8XV17z/iEfxvd8cPwsE4pLpTPk9kD06/Jeqf3uP4bqyPlkynuuk+a/rD+DQy6tW/1g4gp++b2u8Z
933tZvc8rt3ifEgbRYPJADVIYAr2UlPtjanYB3w/eSAOin6UPBiHRPcnp2G6mijJPeqQAh3KtYNy
7WDVbV7U/h478fJ/28nNvb6Du9slBjnE7p3ck+Ld3MXxjm4XboO1F5GDfyL6MqIvI/oG/0v0bXS+
O/IGK7vB1WhTSdS9LI/9Aa+4plKpey1qr9sVLa2LojWpICqmaqJcKhFtTsl9qb2wt2tTo/7UPlEm
tW80mNrP+f5Re+qAaGmq1j1vMuZA1w4y5mBYq9Q059ONSRpTZ0wq2pgK9R2Kw6Ke1OHRstQR0aLU
kdGm1JujVakZ+mfqewvqo3TqrcYcZcwsY46ODk8dY9zbjJtj3LG+RwPebtxc4+ZFS1LHRQtSxxs3
X/8CzzgRC/WfpP9kz2n0nHfoP0X/qfpOg3eT1Dv1L9Z/uv4z9C/xOWf6nLP8hqXGNOHsaCB1jjHn
GrPM9fOMOd99Fzi/0PVm7fJdP01d5HpLNCt1cfRI6hL3XYqVPq/V9cuMe69xbb7n5fpXuf8K7ZV+
x2q0G/d+464y7mpjrsG1+q/zjA/gev1r9N+g/4Oec6N+9UpKvZJSr6TUK6nn8Ds8jxfwIn6Pl7AD
4jj1Mv6AV/AqXsMuRNHmMEANrH1o7UNrH+4N9Vi4D/bFfuAFYSduiorhzVF/eEuUCW+NBsMu57dF
7eGHoqXh7dGasNuYta6tM+YO3GnMXc57jLnbmA8bsz7aGG5w/0dwT5QOPxr1hPdGS8KN0YLwvujw
8GP6H3BvLx7U/3H9n4iWhQ9Fi8JN+j8VPRI+7N5PI2PsZ6JN4Wf1f879n8cX9H/RvV/Cl/X36/+K
/q+6//FobjiEn0T3hzuwM7r/0CCae2gq2nzoqTgNF2NllDl0He7AhmizOnqw5gAZKSsb9cf/Bcio
bJSWjTbIRiOyUVY2yspGWdkoKxtlZaOsbJSVjbKyUVY2yspGvbJRb/Vvwld71jVI4ybPuxncX/YZ
lX02yD4bZJ8Nss8G2WdE9hmRfUYqf0/l/FnOn+X8w5w/y/n7OX+a82e5epar93P1NEfv595Z7p3l
3lnuneXeWe6d5d5Z7p3l3lnuneXeWe6d5d4buPcG7r2BA/fHf5cc4cD9HLifA2/gwCMcOMuBsxw4
y4F7OXCWA2c58AgHznLgDRw4y4H7OXCWA2+YXnmz3Iuz7g0Ow237J/2XB6PcdpTbprltmttu4LYj
3HaE245w2xFuludmJW5Wit3sMW7Wy816uFlr7GZ93CzLzbLcLMvN8tysyM2K3CzHzR7jZj3crJOb
tXKzLDfLc7MSNyvFbvYYN+vlZj3crJWbbeFmJW5W4mYbuVkvN+vhZiPcrJObbeFmJW5W4mYD3Gwj
N+vlZj3cbA43G+FmndxskJsVuVmRm/Vxs43crIebdXKzOdxsCzcrcbMSNxvgZhu5WS836+Fmc7jZ
Fm5W4mYlbjbAzTZys15u1sPN5nCzEW7Wyc1GuFmJm5W42SPcrJeb9XCzIjfr42YbuVkPN+vlZj2p
5ZzwIve0cMKLfcYl7rsUK31Gq/GXGfde49o40eXGrXL/FX7LlZ7nHZWb9XGzPm7Ww806Yzfbws1K
3KzEzQa4WR836+VmPdxsEUfJcpQ8RylylCJHyXGUxzhKD0fp5CitHCXLUfIcpcRRSrGjPMZRejlK
D0dp5SiDHKXIUYocpY+jbOQoPRylk6PM4ShbOEqJo5Q4ygBH2chRejlKD0eZw1EGOUqRoxQ5Sh9H
6eMoPRylM3aULRylxFFKHGWAo/RxlF6O0sNR+jlKP0dJc5R0WNmJCMRzTWIiWKyeXa7KXRE0VM8b
gocT85zfH01NPBjVqn4LiUeNGY7WJ0qOd7r+atQ2pTZaP+WYYHHy1uChup3BjLqXg5Pr/oBXg7l1
r2l3aSNrEARHpWqCw1J7BzNSU4OTU/tgv2Buan/tAdpaYw7Ud5DzgzHNtenapFZMpVLuD50fisNc
O1x7hPZIvNlzZ+if6dpb8FbXjtLO0h7t3mO0bzNmjjHHut6Aua7N0x6nPd6Y+foWOD8RJ7l2srZR
+w59p+g71flpeKdri7Wna8/Qt0R7pmefZcxS15twtmvnaM/VLsN5+s/XXoALXW/WLnfvRdoWfRe7
9xLXL0Wra5dp36ttM+Zy7SpjrjDmStdX4/2uXaW9WnuNMdfqu875B7DGtRu0H9TeGI2ENwUzwpuD
k8Nb0BXMDW/Tfkh7u761+tY5vwN3udajvVv7YX3rg6PCDc4/go+6dq92o/Y+fR/T94DzXnzctU9o
H9Ju0vcpfQ87/zQ+49pntZ/Tfl7fF/R90fmX0O/aV7RfDeYGn0zcv+s5KltIYQ2JH8gIw45LlLZb
ZfUUVv8nFDZ/ksLyf4HC8m9Q2PxJCstT2Oz/h8Jm/xmF5f8CheUpbPafUViewmb/GYXlJyls9v9S
YflJCpv9ZxSW/wsUlqew2X9GYfn/QWH5Nyhs/iSF5f8HheUpbPafUVj+f1BYnsJm/0mF1VDSkmBD
op6jzaOvBznZo0Ft4tUgpK2WaqZ+RXZ+VfvHDJ2WoUeq7xtTZYV9sK/zP2bjnmomPkT2nab9YwZO
y8D5+D1icuZtl3nzMm42fn/Yk3Fnxhm3XcZ9XMYtybglGbdfxu2clHEPlnHzMm02fm/Yk2lnyrR5
GTYbvy/sybAz4wzbLsPmZdaeSZl1RGZtj98TJmfWmXFmbZdZ8zJqVkbtmZRRZ8YZdY2M+riMWpJR
SzJqv4zaMymjzpRR8zJpVibtmZRJZ8qgJRm0JIOOTMqePdXMeadseZf2jxkzLWM+LmOWZMySjNkv
Y3ZOypgHy5h5mTIb1957MuVMmfJxmbIkU5Zkyn6ZsmdSppwpU+ZlyKwM2bMnQwZfrtao86Jl6tNc
4uZoq/z3S9r52ZRjoq1UMqCe61HPpaklQy191NJILXOopZFaHqGWHjXcIxTTSTFpismo4fqoppFq
5lBNI9UMqN961G9p6slQTx/1LKWeOdTTSD2t6rdm9VszFS1JHb5rR+oIHOn6m42ZoZ2p7y2oj+ZR
05LUUfpn4ehdBWpqpaY51LSMmpZS01JqmkdNS1LzjDlu1/bU8cbNN26BZ5yIhfpP0n+y/ka8Q/8p
+k/VdxoW6X+n/sX6TscZ+pfoP9PnnBV1qd+a1W/NVNZKZVNT5/qMZa6f557zcYHzC9HsvuW77qOy
JakWxxerzS4xD5e6byVVtVLeZdTzXmpv85zL9a/Sd4X2Su1qn9Fu3PuNu8q4q6MaaptKbRvVb2n1
WyvVraG6dqqbSXUHU91UtdsjlNdJeWnKy6jd+qivkfrmUF8j9Q2o23rUbWkqzFBhHxU2UuEcKmyk
wmVUuJQKl1LhPCpcEt67a0e4cdf28L5dBSpsVbc1q9uaqXEeNS4JP6H/IWzS/yl13MPGfFp/xpvl
Z7xlfpYKPxfVUONUatyobkur21qpcg1VtlPlTKo8OGilypcocogaK3sklbeJPPWNUl6R8roor0R5
2ao/7Vf1qFFqy1f3Pw6sviXkqWyUwooU1kVVRb5UpKYsBeUpqMiLiryoi3Ky1DJCLXneM8p78rxn
DYXkKaTIc4o8p4si8hRR5DVFXtNFCVmrX+Qvlao9a9WLvKXIV4p8pYunZK1w3goXrW7R6nZZ2azV
HLGaeas5ajXzVnONFcxbwaLVK1q9rqpXdFX9YtSK5avv72urFXbeSo1apaJV6rIyI1Ymzx9G+UOe
P6yxGnmrUeQLRb7QZfZHzH7e7I+a/bzZX2PG82a8aLaLwRfMdmV3csiMrzPjm834I+J+QNwPTIr7
tNlvjeP+MbPfFcf9gLjvmxT3rVZiWRz3j4j7AXE/MCnu01alNY77yi7UgLgfsELtskezVVoS70It
i3ehBsT9gFVbY9XaZZFmK7fEyk2Nd6GWxbtQfeK+z0quspLtVnJpvAs1Nd6FGhD3A1Z1jVVtl02a
rewSKzs13oUaEPcDVnmNVW6XVZqt9BIrPTXehVom7gfE/YC4H7DyXeK+2eovEfcDcXZpp4Alsksz
FSwR9wVxv5ES5oj7AXE/IO4HqKKHKrrEfStlLIuzzAB1tIv7PnHfJ+77KKWHUroopZlSllDKweJ+
QNwPiPsBqumhmi5x30o5y6rZZnfcD4j7vklx30pFy+K4f0TcD4j7gUlxn6ao1jjuKztAfeK+j7pW
UVc7dS2Nd4CmxjtAA+J+gNLWUFq7LNRMbUuobaq47xP3feK+j/J6KK+L8popbwnlHSzuB8T9gLgf
oMIeKuwS962UuCz4Wk062lLZP6fIJ+L98t174zdTZ1d192S4uv99TDRU9YWXo2y8d7qFSktUuoZK
myd5xCCVlibtl26h0lK8X9pMpV1VvzhIXO7eK91CpSUqXUOlzVXvSFn9P+6VbnzDXmmaSjdN2ivt
jHcX9uyVzopVmn7DXml7vLuwiErnUeksKt00aa+0M95d2LNXOotKN03aK+2Mdxf27JXOilWafsNe
6SOT9kq3TNpdmLxX+ut4r3TmG/ZKN8W7CyvivdLK7sJj8e7C5L3STfHuQmWvdBGVLnrDXummeHdh
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
SXV0Uh2dVEcn1dFJdXRSHZ1URyfV0Ul1dFIdnVRHJ9XRSXV0Uh2dVEcn1dFJdXRSHZ1URyfV0Ul1
dFIdnVRHJ9XRSXV0Uh2dVEcn1dFJdXRSHZ1URyfV0Ul1dFIdnVRHJ9XRSXV0Utwn1dFJdXRSHZ3k
AUl1dJIPJPlAUh2dVEcn1dFJnpBURyfV0UkuOcwlh7nkMJcc5pLDXHKYSw5zyWF1dFIdnQw7g/qw
O6gPbuMbHXyjg2d08IgONVymWoOeF3Vzu/Xc7gFO16E261abZSi+W+3VzUMW8pCFPGQhD1lIld08
pIOHdPCQDh7Soc7JqHMy6pyMOiejzsmoczKcMqPOyahzMuqcDNfMcM0M18yoczLqnIw6J6POyahz
MuqcjDonw1Ez6pyMOiejzslw1ww1z6fmW1+vKR5VZ+Q46Dd9n2/h2/gOHsN38T18Hz/DzzGMERTw
C/wSv0IRv8aT+A22YhRjeAqV3/s0StiOcTyDZyGL8Eyqxm/xHH6H5/ECXsTv8RJ2YCdexh/wCl7F
a9iFKKJq1CCBKdgLe2Mq9sG+2A/74yRZ4o/ZYj4P7eChHcEhqX3lmENQj7djIeST1Eq04/rgwvBW
3Il78CAy+HwwI/yy9mvBjMp/ucvlVnhjmUol5eq/S7vAleW85gfiedBbzV6J070jnF99UylXdsqD
a6mq7OpQ9Z5zq55apq4x6nIvP77IeQsq/nqJ9tLq3kY3j+2muDKPLfPYMo8tU1+Z2ir7pGXqKlNX
mbrK1FWmrjJ1lamrTF1l6ipTV5m6ytRVpq4ydZWpq0xdZeoqU1eZusrUVaauMnWVqatMXZU9hm7e
2c07u3lnN7V1U1s37+ymuG6K6+ad3Xyzm/K6+WY39XVTX5n6ytRXpr4y9ZWpr0x9Zeor880y3yzz
zTLfLPPNMt8s880y3yzzzTLfLPPNMt8s880y3yzzzTLfLFNvmXrL1Fum3jL1lqm3TL1l6i1Tb5l6
y9Rbpt4y9Zapt0y9Zeotpyrz9zRK2I7KX3WewbNROahJnB0sDJbJud1ybrec2y3ndsu53TVP4yXs
sC6LgtrEGTg7WJxQaSVUWInmyp47LsGl+i6v7K1X3pgqbz1BbaoTN+Fm3IJb0YXb8CHcjm6sxTrc
gTtxF3pwNz6Mv8J6bMBHcA8+im/6nG/h2/gOHsN38T18v7JvjJ9jGCMo4Bf4JX6FIn6NJ+FNL7UV
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
jmij3+LP8qkjtMeTzyX1OnSmRQdfE6qTsqocCY40nSNzvb7SVZUyGXfNkeOq1YTGHtIfzlsptSZf
yT/kKFD3WKJdjTF9rvYYk6HV1ekodh11VBi7aJ62FKX0W+bSJ+Xzao9R1vUnP6A5ei7NoLKQXOl2
66zqZV1L+XzdePIcSWV/nEPdp9ZX3HccirtW21F2ILfn+ceOENVQhWT060ayfOkLlpDkc3GNtmXH
FdP6zIuWidg5w6VdRY7p2LGMymSX4VBsguNGVlP6TcfYbt3Gk6ohQ07daEyoqlEzrH6ks7qG1CY5
P+9O5pnK0+md6t6M2xli4oy+xrVgDk8ZSBmSO12PU2bqxt18RqWhwzEtn9AMO+6S3BclrrhDzDmu
GVOla0U266pSigwJ6RfipmIijCfjw8tm3Wf1fca0uKLkCZ1BPk/yV208q2rSWd1zhpDyefVh8xX3
a5YuucnSra5Rn9511FST0Zcyqb+uNhlld07s/qzdsSfdd5NvGVT6A3KRflR9Rh3hKHUdcznUES7f
puuu/phx1wnVpKPaITv2Wa64mupq7P2qqZjQmJK604ZDTlvcQGamuid2n3oxOXzTaed8bmWKVVOp
jtCF2e9ro+0n5KKNJ+P6Decssu6+QZd1wpyWIsUNqK7ZRkmbGd90VfW4VLItxU6TNiAZSu1h+kfJ
1aQlmAsG1OO0xSRlGl1JzZkHMg+rfCpf7LRtmVz3KPOA7bTtak3QHqnula+pPXFTtjPlS7r7Kl/y
quFS7APZXL6UItlu2+PTzckhtovl8+XzpEVqNZWa2RSDRVY9VjWpmmJu01Zm9tt32HfE7rdPWTpi
liytZtl5xj616arztr7PFa9uMx9yqvVt9iJTYQpnLnXqnT32Ipe2pjJlKHbCKaqOOg/HaOKGnBcN
Cc5Ql1X7mibUPuD02Hpizrg2mEqy7pi77Pc3LdtX7OSestbQZegy5hgH60b1R0yFpH0W6o8Yc+Ic
Zjn5RmZobIehNOaIIcdcajir8slDyeExEe6ElCE36RUyNLp+eUY+YVDJ9wyX3IcyZnW71VfdHapO
9ZmYeUOIWkxu1Te7o22n4xyWELnFtmzIcVe4ozMPu9Ns19379H3uUuM+Q0VeU/oFVVPWHZ01Zbcm
NDkk43Zd0F3g9svW2LvurvQZc/fm47scapN+1nAyfci9P+Vx+oKhIuaIbijREDtnzKmprDssa/WF
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
R+JW04PEbaa/iOGmv4ivmv4iRpj+Im43/UXcYfqLGG36ixhr+osYZ/qLGG/6i5hg+ouYaPqLuMf0
F9Fg+ov4mukvYrLpL+IB01/Eg6a/iNmmv4ivm/4i5pj+Ir5h+ouYa/qLeMz0F/G46S9igekv4pum
v1DDUuS/8H6+3Kwu7Dfxxv3/R+uVl5yy3ypfW76h/Pnyl8q3le8s31O+v/xQ+dHyY+Uny0+Xnyk/
77N9Pl/El/TlfVW+1r6Ovi6+al9vX42v1lfnq/eN8I3xTfA1+Kb5Zvrm+Ob5FvqW+Jb7VvnW+Nb7
Nvm2+Lb6dvh2+/b5DvqO+N7zHfd96PvEd9Yv/B5/wB/1p/0Ff0t/W38nf1d/D38ff3//QP9g/zD/
SP9Y/0T/ZP90/yz/I/75/kX+pf4V/tX+tf4N/uf9L/m3+Xf69/oP+A/7j/qP+U/6T/vP+M8H7IAv
EAkkA/lAVaB1oGOgS6A60DtQE6gN1AXqAyMCYwITAg2BaYGZgTmBeYGFgSWB5YFVgTWB9YFNgS2B
rYEdgd2BfYGDgSOB9wLHAx8GPgmcDYqgJxgIRoPpYCHYMtg22CnYNdgj2CfYPzgwODg4LDgyODY4
MTg5OD04K/hIcH5wUXBpcEVwdXBdcGNwc/CV4PbgruDe4IHg4eDR4LHgyeDp4Jng+ZAd8oUioWQo
H6oKtQ51DHUJVYd6h2pCtaG6UH1oRGhMaEKoITQtNDM0JzQvtDC0JLQ8tCq0JrQ+tCm0JbQ1tCO0
O7QvdDB0JPRe6Hjow9AnobNhEfaEA+FoOB0uhFuG24Y7hbuGe4T7hPuHB4YHh4eFR4bHhieGJ4en
h2eFHwnPDy8KLw2vCK8Orw1vCD8ffim8LbwzvCe8P3wo/G74/fCJ8Knwp+FzERUpi4Qi8Ug2Uoq0
irSPdI50i/SK9IsMiAyKDIkMj4yKjI9MikyNzIjMjsyNLIgsjiyLrIysiayPbIpsiWyN7IzsieyP
HIq8G3k/ciJyKnImcr7CrvBVRCqSFfmKqorWFZ0qulb0qOhT0b9iYMXgimEVIyvGVkysmFwxvWJW
xSMV8ysWVSytWFGxumJtxYaKzRWvVGyv2FWxt+JgxZGK9yqOV3xY8UnF2aiIlkVD0Xg0Gy1FW0Xb
RztHu0V7R2uitdG6aH10RHRMdEK0Qc9uZurZy7zowuiS6PLoquia6PropuiW6Nbozuie6P7ooei7
0WPRk9HT0TPR8zE75otFYmk9LraMtY11inXV85k+sf6xQXr+MlzPSsfHJsWmxmbEZsfmxhbEFseW
xVbGnoqti22MbY69Etse2x3bHzscey92InY6diZ2Pm7HffFIPBnPx6vireMd413i1fHe8Zp4bbwu
Xh8fER8TnxBv0OPm7Pjc+ML4kvjy+Kr4mvj6+Kb4lvjW+I74bj2OHoofjR+Ln4yfjp+Jn0/YCV8i
kkgm8omWibaJTomuiR6JfokBiUGJIYnhiVGJ8YlJiamJGYk5ifmJxYnliVWJNYn1iU2JlxLbEjsT
exIHEkcS7ydOJE4lPk2cS6pkWTKUTCYLyZbJtslOya7JHsk+yf7JgcnByWHJkcmxyYnJyckZyTnJ
+cnFyeXJ1cm1yQ3J55MvJbcldyb3JPcnDyXfTb6fPJE8lfw0eS6lUmWpUCqeyqZKqVapjqmuqR6p
fqkBqUGpIanhqVGp8alJenSakZqTmp9alFqaWpFanVqb2pB6PvVSaltqZ2pP6kDqcOpo6ljqZOqT
1Nm0SHv0OyGaTpu/BJ5um+6crk73SQ9ID0oPSQ9Pj0pPSDekp6Vnph9JL0gvTi9Lr0w/lV6X3pje
rN8AetxP708fSr+bfj99In0q/Wn6XEZlyjKhTDyTzZQyrTLtM50z3TK99DugNjNYj/tjMhMzUzMz
MrMzczMLMoszyzIrM09l1mU2ZjZnXslsz+zK7M0cyBzOHM0cy5zMnM6czapsWTaSTWbz2aps62zH
bJdsdbZ3tiZbm63LDsuOyo7PTspOzc7Izs7OzS7ILs4uy67Mrsmuz27KbtErmp3ZPdn92UPZd7Pv
Z09kT2U/zZ7L2blALp7L56pyrXMdc11yPXJ9cv1zA3NDciNyY3ITcg25abmZuTm5eblFuWW5lbmn
cutyG3Obc6/ktud25fbmDuQO547mjuVO5k7nzuTO5+28Lx/JJ/P5fFW+db5jvku+Ot87X5Ovzdfl
6/Mj8mPzk/LT8rPyc/ML80vzK/NP5dflN+Y351/Jb8/vyu/NH8gfzh/NH8ufzJ/On8mfr7QrfZWR
ymRlvrKqsnVlx8ouldWVvSv7Vw6qrK8cWTm+sqFyeuXsyrmVCyoXVy6rXFn5VOW6yo2Vmytfqdxe
uatyb+WBysOVRyuPVZ6sPF15pvJ8wS74CpFCspAvVBVaFzoWuhSqC70LNYXaQl2hvjCiMKYwodBQ
mFaYWZhTmFdYWFhSWF5YVVhb2FjYUthW2FXYVzhUOFo4VjhZOF04UzhftIu+YqSYLOaLVcXWxY7F
LsXqYu9iTbG2WFesL44ojilOLE4tziw+UlxQXFJcUXyquL74fPGV4vbiruLe4oHi4eLR4rHiyeLp
4pni+ZJd8pUipWQpX6oqtS51LHUpVZd6l2pKtaW6Un1pRGlMaUKpoTStNLM0pzSvtLC0pLS8tKq0
prS+tKm0pbS1tKO0u7SvdLB0pPRe6Xjpw9InpbMtRAtPi0CLaIt/pe5bwKMqsnXrsTuEkA6ke9eu
3U0I6U6nGyPyCvISQWMggATQoEZEBIyIISIiECC8BOSlPAXCSwRG0HEU0eMDFVEQEkBk1KMoiILI
ICKiIigi6qn6d/mYO947c6/nfOce+/Ov1atWrbVq7eqqtTq9N24kMxKL5EaaRVpF2kfyI10iPSK9
I30i/SODIuWR4ZHRkQmRqZFZkXmRxZEVkTWRRyLrI09HNkW2RXZH3o4ciByJnIicjpyPWtHUaCDq
RjOjsWhutFm0VbR9ND/aJdoj2jvaJ9o/Ojg6LDo6Oik6IzovuiS6Krou+lj0qejG6Obotuiu6BvR
vdED0cPRY9GT0dPRc9kkOyk7NTuQ7WZnZseyc7ObZbfKbp+dn90lu1d2SXb/7MHZw7JHZ0/KnpE9
J3th9rLsVdnrsh/Lfip7Y/bm7G3Zu7LfyN6bfSD7cPax7JPZp7PPx1gsOZamUstwLCsWjzWOtYi1
iXWIFcS6xXrFro31jQ2MDY4NjY2IjY1Nik2L3RdbEFsSWxl7KPZobEPs2dim2NbYjtie2Nux/bFD
saOxE7HTsfM5Vk5qjp2TkRPLaZzTIqdNToecgpxuOb1yrs3pmzMwpyxneM7YnMk5s3IW5CzLWZPz
SM76nKdzXsh5Jac6Z3fOWznv5RzKOZbzZc7ZOIknx+vF3XhmPBbPjTeLt4q3j+fHu8R7xK+N94sP
ig+Nj4pPiE+Lz4kvjC+Lr4qviz8Wfyq+Mb45vi2+K/5GfG/8QPxw/Fj8ZPx0/FyCJJISqYlAwk1k
JmKJ3ESzRKtE+0R+okuiR6J3ok+if2JQojwxPDE6MSExNTErMS+xOLEisSbxSGJ94unEC4lXEtWJ
3Ym3Eu8lPkwcSRxX2aSlf7Om8Bng88CtwGrgLuAe4FsqM1UI2UbAJIPPA18C7ldYC3QydCdDJhky
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
+8g+YrQqo1LEGLVZXRVrNDTEWW11pDhnkkxzccG0Ne3EJdPBdBZXTLJJFoGqp7WIE3n83cK6iI7Q
Xm10eOBvdJSO1kW1TxfTfl1cl9AldYwupWN1GR2vS+s4XVaX0+V1BV1RJ+hKunLgzh0xIfBsucD8
h3AXMoXCRSEVobxCqiTVXISq4SpThKklaqlA6JTQqSI89KfQG6KIp4qnqvB6enh6ikjPeE+uiPZs
9GwSPs85z3nhDysbVk6UCOsa1k3EhE0Km8zxDSs14Yg8WzJqTeTMqAXiP3m2AY8tjciMW9bWnyPa
uFa4VrvWujYGVgJw7XXtd+W7DruO2rIh1WwpG2tL2zhbxsbbCraqrWar2/tsDZtoa9patratY+va
era+bW5b2Ja2lW1t29i2tp1tbzvYjraT7ewd4h3mzfSO9GZ5s71jvDnecbahbWyTbYrtarvbnraX
TbV9bF+b5t/s3+rf7t/pz/PvseVsefH/1eZ/72rzPNJsE9vUNrNJ4s71rHm02Io2wVaylW0Vceta
waHC9c87qtz/7l6vf92JxePIXdedfcscXWBLA/fYm7NkrhPiDM/tWNb28e4EbktkPZ/Gin6gO909
1D3CCYkK/Pyu4cgqKPwvwYm7MxyHBSVwrfWuSbgtlQNXYoOSeGc4vgsKX8s9En0tOHzNwel/t3DM
GBTupeBkF+Tm9+m3JYMZeo+MuFs4Pg1Oxm0Zd1tmBed/cm7QJY6L4qKhaMJxdvuCZ4zefL5olsgR
uWKqmME2b55YKJaKVWKd2MK2cp/IF0cCn5gquDr/e437Qyb+Ee8xsxYjEHLQxkSWj5wSeSBqbtTb
Uct8y3wrfXm+A//VOSzxG3akUAYNCmVuZHN0cmVhbQ0KZW5kb2JqDQoyNzUgMCBvYmoNClsgMFsg
NjU4XSAgM1sgMjIwXSAgNVsgNjExXSAgOVsgNTM3XSAgMTZbIDgxNV0gIDIyWyA0OTZdICAyN1sg
NTcxXSAgMTMxWyA0ODhdICAxMzVbIDQ4OCAzMDNdICAxMzlbIDI3OF0gIDE0MlsgMjcxIDgzMiA1
NTggNTMxIDU1Nl0gIDE0OFsgNDE0IDQzMCAzMzggNTUyXSAgNDgzWyAyNjRdIF0gDQplbmRvYmoN
CjI3NiAwIG9iag0KWyAyMjBdIA0KZW5kb2JqDQoyNzcgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURl
Y29kZS9MZW5ndGggNDczPj4NCnN0cmVhbQ0KeJx9lN2O2jAQhe/zFL7cXqziHxwHCUUCQyQu+qOy
fYCQGBqpOJEJF7x9nTnZbaFVIkH02TM+c8axU7vf7n07sPRb6OqDG9ip9U1w1+4WaseO7tz6RErW
tPUwEf3Xl6pP0ph8uF8Hd9n7U5esViz9HievQ7izl3XTHd2nJP0aGhdaf2YvP+wh8uHW97/cxfmB
8aQoWONOcaHPVf+lujiWUtrrvonz7XB/jTl/It7uvWOSWKCYumvcta9qFyp/dsmKx6dgqzI+ReJ8
8zS/RNbxVP+sAkWrGM255MVIQhItFMiCNJEsQUsitQNZIm2INFbJFqAFKAfRKoJDIRNU3VSHeK/q
3YTgJCYER7Scov9vQog1wkhQCJSWQVBCPsuI9LSgAU15OWgLIoMivojWILQi24DQijg4a8JoMmEy
RG8fTMhnE2aSL0kih7zh8xL5hiRylGfEg4R6lljCvaHtFUu4N+jaRoP034LyH0FLSwgrEI2u2gyD
+ApMPl+FnYqlzioNXWlB2C25m61CYeOUHt3LaB+5OwyWGLSz7VZmgTDqhTLohS5n260MJAz2Xz4a
Fc8SO+yoevjWxzM5Xh0fB76+hRDPOt0vdMjH491693EF9V0/Zo2/39NCSDgNCmVuZHN0cmVhbQ0K
ZW5kb2JqDQoyNzggMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggOTM5MzIvTGVu
Z3RoMSAxOTgzODQ+Pg0Kc3RyZWFtDQp4nOx8B3xUVfr2OfdOy5RkJplJmyQzyZBGAgFCCUUypFFC
C8lAElpCqCrFUEVA7BhELFiw4lpXUCcDSLCiYu+9rW111V3FrrsCSf7Pue89MaDrT/f/+77d/b6c
yXOf57yn3HPee86575gg44wxDy4GNrmseuzoI6u/68WUzxYy5t1UXlJW88mHg7cy9tkBxhIry0vG
l675btB0xj5sYMzSMLqsvOKTR749ypRP1jCmfjF68qTqRXOHn8m4wc74NfbR1aGSR9/9sJMpOxIZ
Gz1rUnXBgB8/euN7xvgbuGtD0+LGZZP2TridsVw7BnBB06oV/vDVB19irP4gY8aU+csWLP7hhwko
63MlY1HJCxqXL2MpLID7T0Z754KTT53/Y0LudYzNfh/9dyyc1zj348yOE9D/DJQPXgiD4w7zJuS3
Id9r4eIVazzb02YxphQxlvXSSfOalzz15qO9GXssh7HoL05e2tTY78700xm7Ff2lVSxuXLMsvX+v
z9C+De39SxoXz8taVfUdY69iPtHxy5YuX9HpZediPP1E+bLmectOukvpwK334HZOJnxrvK7tyTnz
OmbHjPieJVmYSPd+tu4ZwY9mXLn2yOH2zVGfm+9GNoopjBLamVgH4wetO44cPrwj6nOtp27JMFpY
YjJYAzOysUxFSycrYPMYc12k3Zcz1ZDHL0KpxbjdWIgu04jVF9i5CrMwJcaoKIpBVQwfMKUzyHZ1
aiNAmlDt97MgppNKYzBfp2T5Gb9elKn7jNFipug9+qfR8OcxohvEc/l9yVDPdhnKWOMvln3OdnXP
q58em/9nSb3jl+sZjv5kVwy/ra9f7H/mL7c1vc52GXv/6/12T4YM6sc4hzUZao/zwx1s9C+O62MW
0z1vzGC3/+b7tbAMcxo74Wf2bNbvt/bRk/7/TOqrbMbvbWMYyLarc1j9b6zbcMz9jrCZv6WdcgrL
/L3j+r+Z1INs0G+pJ3wlNX+NnfN77sH/1vlq1/1uPKaf7b9U3zSXbe9+v5+Npei3PbOu+npf4hkq
Tx3br5rOqn5LH8qdLP333PN/kzDObb+1rnotyzC2/fwZqqtZrno9y/iZPZfV/W/H15N6Uk/qST3p
vycpV3Prb63LO1lvrU0vdq9iZFfotgukXSS1jm0C8n7vONSE479D6uNbzsq18qOdP/xiu6OdPx5T
fzE7B1irrGAPAr8rHvitSR3ENv+f6PffkfA9+SSdp/ybxzEGuBNoBhbotnn/KeP7fyGpR8V/gelJ
Pakn9aSe1JN6Uk/qST2pJ/WkntSTelJP6kk9qSf1pJ70H5hUHSn02xI+CzkodRwz8BIY+jE/MzAn
lINlsFxWyAazIjaMjWQVbCybyGrZdDaTzWZr2Q52h9/pj/Mn+VM7O7W+HWibw/LZIL3FKDaGjWeT
9RaNXS0S/SlowTu/x32nAvfhk2owdw0xU+2lehnrbFIe/XDOh40flnxYov9uJx/o2zWXgbhHkJXp
uYnHz1Qdp16hhtRmtVY9Wf1cPaR+oX6JublYLEvE/LPQWwF6KGPlbBqrY/VsFpvLFrLlbAU7lSs8
hjt5Mk/jOXwyr+cz+SJ+Ml/KV/JVfD0/n2/mF/CL+FV8Lz/AH+KP8cf5M8zEP9fu/PXPfhPFmaL/
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
G1K8LsVrUrwqxStSvCzFS1K8KMULUjwvxXNSPCvFM1I8LcVTUjwpxRNSPC7FY1I8KsVBKR6R4mEp
HpLigBQPSvGAFPdLcZ8U90pxjxT7pWiTYp8Ud0uxV4o9UuyWIiJFqxRhKe6S4k4p7pBilxQ7pbhd
ij9KcZsUt0pxixQ3S3GTFDdK8QcpbpBihxTXS3GdFNdKcY0UV0txlRTbpbhSiiukuFyKy6TYJsWl
UlwixcVSXCTFVikulGKLFBdIsVmKFinOl2KTFOdJca4U50ghwx4uwx4uwx4uwx4uwx4uwx4uwx4u
wx4uwx4uwx4uwx4uwx4uwx4uwx4uwx4uwx4uwx4uwx7eLIWMf7iMf7iMf7iMf7iMf7iMf7iMf7iM
f7iMf7iMf7iMf7iMf7iMf7iMf7iMf7iMf7iMf7iMf7iMf7iMf7iMf7iMf7iMf7iMf7iMf7iMf7iM
f7iMf7iMf7iMf7iMf7iMf7gMe7gMe7gMe7iMdriMdriMdriMdriMdriMdriMdriMdriMdnjpbiEQ
NUfSRvoQM0fSPKAzKXdGJG0YaCPlTifaEEmzg9ZTbh3RaURriU6NpI4CrYmkloJWE60iWkllKyi3
nKiZjKdEUktAy4iWEi2hKouJTiY6KZJSDjqRaBHRQqIFRPMjKWWgeZSbS9RENIeokaiBaDbRLGo3
k3IziKYT1RPVEdUSTSOaShQiqiGqJppCVEU0mWgS0USiCUTjiSqJxkW8Y0FjicZEvONAo4kqIt5K
UHnEOx5URlRKVEJlo6hdkKiY2o0kOoFoBNUcTjSMmg8lKiIaQjSYaBB1NpCokHoZQNSfqB91VkDU
l9r1IconyiPqTZRLlEOUTV1nEWVSn72IAkQZ1HU6kZ/a+YjSiFKJUoi8RMmR5ImgJKLESPIkUAJR
PBk9RG4yxhHFErmozEkUQ8ZoIgeRncpsRFaiKCqzEJmJTJGkySBjJKkKZCBSyahQjhMxjXgnUYdW
hbdT7ijREaLDVPYj5f5B9HeiH4i+jyTWgL6LJFaDvqXcN0RfE31FZV9S7guiQ0SfU9lnRH8j41+J
PiX6hOhjqvIXyn1EuQ8p92eiD4jep7L3iN4l4ztEfyJ6m+gtqvIm5d4gej2SMA30WiRhKuhVolfI
+DLRS0QvEr1AVZ4neo6MzxI9Q/Q00VNU5UmiJ8j4ONFjRI8SHSR6hGo+TLmHiA4QPUhlDxDdT8b7
iO4luodoP1Eb1dxHubuJ9hLtIdodiS8GRSLx00GtRGGiu4juJLqDaBfRTqLbI/E4r/kfqZfbiG6l
sluIbia6iehGoj8Q3UC0g+h66uw66uVaomuo7Gqiq4i2E11JDa6g3OVElxFto7JLqZdLiC6msouI
thJdSLSF6AKquZlyLUTnE20iOo/o3IinEXROxDMHdDbRWRHPfNCZRGdEPCHQxogHhzE/PeIZDNpA
tJ6ar6N2pxGtjXjmgk6l5muIVhOtIlpJtIJoOXXdTM1PIVoW8TSBllJnS6jmYqKTiU4iOpFoEbVb
SLSARjafms8jmks1m4jmEDUSNRDNJppFk55JI5tBNJ0mXU9d19GNaomm0XCn0o1C1EsNUTXRFKKq
iDsImhxxiztMirjF8p4YcZ8FmhBx9wGNpyqVROMibsQFfCzlxhCNJmNFxL0BVB5xnwcqi7hPB5VG
3BtBJZHYCtAooiBRMdHISCze7/wEyo2IuOpAw4mGRVxiaQwlKoq4RoOGRFy1oMERVz1oEJUNJCqM
uPJBA6hm/4hLTKxfxCX2ZgFRX2reh+6QT5RHnfUmyqXOcoiyibKIMiMu4aVeRAHqM4P6TKfO/NSL
jyiN2qUSpRB5iZKJkiLOmaDEiHMWKCHinA2KJ/IQuYniiGKpgYsaOMkYQxRN5CCyU00b1bSSMYrI
QmQmMlFNI9U0kFElUog4EQt2xszxCXTENPnaY+b6jkIfAQ4DP8L2D9j+DvwAfA98B/u3wDco+xr5
r4AvgS+AQ7B/DnyGsr8h/1fgU+AT4OPoBb6/RC/0fQR8CPwZ+AC298HvAe8C7yD/J/DbwFvAm8Ab
jpN8rzv6+14Dv+o42feKI8v3MvAS9IuOPN8LwPPAcyh/FrZnHIt9T0M/Bf0k9BOOE32POxb5HnMs
9D3qWOA7iLaPoL+HgYeAYOcBXB8EHgDut5/iu8/e7LvXvtx3j32Fbz/QBuyD/W5gL8r2oGw3bBGg
FQgDd9lO9d1pW+u7w7bOt8u23rfTtsF3O/BH4DbgVuAW4GZbH99N4BuBP6DNDeAdtpN810NfB30t
cA301ejrKvS1HX1dCdsVwOXAZcA24FLgErS7GP1dZJ3o22qd5LvQusC3xXqz7wLrrb5z1Ezf2WqR
7yxe5DsztDF0xs6NodND60Mbdq4P2dZz23rv+sr1p63fuf7t9cFYk3VdaG3otJ1rQ6eGVofW7Fwd
ukc5l81XzgmOCK3auTJkWOleuWKl+t1KvnMlL1vJ+63kClvpXOlfqdpXhJpDy3c2h1jz5OaNzeFm
w/Bw8/vNCmvm1rbOA7ubvWkV4OC6Zoez4pTQ0tCynUtDS+YvDp2IAS4qWhBauHNBaH7R3NC8nXND
TUVzQo1FDaHZRTNDs3bODM0oqg9N31kfqiuqDU1D/alFNaHQzppQdVFVaMrOqtCkoomhibBPKKoM
jd9ZGRpXNCY0dueY0OiiilA5Js9SnCn+FNUpBjAxBSNhXl7Szxv0vu/9ymtg3rD3gFeNjUn2JSu5
MUm8dFISX5p0etLWJDUm8flEJZiYm18Rk/B8wnsJXyYY4oIJuX0rWLwz3h+vesTc4ifUVGhcXEbc
f5A21wnxgayKGA+P8fg8SrnPw5nrfddXLtXzoPN5pxITw2NiOmOUYAyqx0T7ohVx6YxWg9H9h1TE
OHwORVw6HWp80AGL6DHbPrmmIsbmsymhYtskmxK0FZdWBG19+lUwlfs5Z9wJUi1iFNzjq8C+3h3P
jRzv89aa6ry8yjYLm1IZtkyeHuabwpnV4hqsqg+bNoVZqH56bSvnF9a1cqW0JuwWv7HV8uds2cJK
UivDqdW14R2pdZXhjRBBITohWGprPCupy5u1fOXyvLwVs3CZtXxFnvaDHF8pcnnCKH6Wr0BefFZq
eZb3q4mqgWYvR1ohjSt+vdV/euL/7gH896dWJv7IYFSncjabq5wFnAmcAWwETgc2AOuBdcBpwFrg
VGANsBpYBawEVgDLgVOAZcBSYAmwGDgZOAk4EVgELAQWAPOBecBcoAmYAzQCDcBsYBYwE5gBTAfq
gTqgFpgGTAVCQA1QDUwBqoDJwCRgIjABGA9UAuOAscAYYDRQAZQDZUApUAKMAoJAMTASOAEYAQwH
hgFDgSJgCDAYGAQMBAqBAUB/oB9QAPQF+gD5QB7QG8gFcoBsIAvIBHoBASADSAf8gA9IA1KBFMAL
JANJQCKQAMQDHsANxAGxgAtwAjFANOAA7IANsAJRgAUwAybACBhGdeKqAgrAAcbmcth4B9AOHAWO
AIeBH4F/AH8HfgC+B74DvgW+Ab4GvgK+BL4ADgGfA58BfwP+CnwKfAJ8DPwF+Aj4EPgz8AHwPvAe
8C7wDvAn4G3gLeBN4A3gdeA14FXgFeBl4CXgReAF4HngOeBZ4BngaeAp4EngCeBx4DHgUeAg8Ajw
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
4P3g18FvgH8PPgB+E3wQ/Bb4EPht8MfGgPYJ+FPwH8F94M/AR8BHwf3gP4E/B/8ZfAwMW7QTYMN4
xTbCeMVRaAw4ZoPngueBFxgfOW7E92JwMfqXgkvApUafowy8DLwCfSvxHQHHUF4FbgI3o74G3zq+
14M3ovwjMNbB8RN8x/F9B/hfUb4T/H94u/f4uOpy3+MrM22SJhOu5VoQwk1BAbkrKFet4KVudauI
e7vjBTQIiCAXdRdag7KRS70BRUVQitxsUWJRREKBQksgkLZJmmZKkzYdkkwnaZJmTaYF/J33mhM5
6Dnndc4/5/zxYWbWrMvv+X6f5/n91hAWt+I23O78d9n+G+8Xef+Q9w97/zh4VMWjKh5V8agqG0LV
evCoikdVPKrqc8xGbAKPqoZCtiqPLWIpYDi0V41gq+9GnXsM45jwmXdVRa+TPvOo+sv4Cs7nVyq6
JZpZnrnS0S1y99PJs6H4O92nxT592KdzZPny9MvRO6MKW4vRB2RmVmZmZWZWZmZlZlZmZmVmVmZm
ZWZWZmbtPSDTSjKtJNNKMq0k00oyrSSLCjKmKGOKMqYoY4qulzybLJv+92h6+ov4kgz6cuiXNVlZ
k5U1WVmTlTVZWZOVNVlZk5U1WVmTlTVZWZPlZJGTRU4WuZjlYpZzRa5luZblVpFTRU5luZLlRpbq
JaqXqF6ieonqJaoWqFqgaJGiRYoWqZilYpGKWSpmqZgtV2xPVEXLM1Rytbn3CXPv0nS7uXaVWchs
U9Y3L8JVItxY1vc/fUqeXbsffb/nDGujc82T9ebJevNkvXmy3jxZb56sN0/WmyfrzZP15sl6VzrR
XHmIufIQNduhZjvUbIea3ahmYzUbq9lYzcZqNjaf7qZmc2o2p2ZzajanZvkdfcS8ebw63ahOe9Xp
RnXam/5SdFj6y8mzZ6PrzKMHmEcPMI/OMnfWmzvrzZ315s56c2e9ubPe3Flv7qw3d9abO+vNnfXm
znq1mFOLObWYU4sdai9Wcx1qrkPN5cxx9ea4evNbvfmt3rxWr1Zy5rZ6c9shaiVnfquX/x3yv0P+
d8j/Dvm/Uf5vlP+x/I/Nf7uZ/3aT/zk53yHnYzmfMwfWm//qzX/15r/6JN/DOK3Hrc9uCd/nwNn6
+Ub9/ApOnM2Je317k2z/YHq1lVRH+Fu6M/pS2b2svXvs1W3GvCVc49OXHLvasWtsPd2xtzh2hWM/
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
Ry08auFRC49aeNTPo34e9fOon0f9POrnUT+P+lVIQYUUVEhBhRRUSEGFFFRIQYUUVEhBhRRUSEGF
FFRIQYUUVEhBhRR43MLjFh638LiFxy08buFxC49beNzJ404ed/K4k8edPO7kcSePO3ncyeNOHnfy
uJPHnTzu5HEnjzt53MnjTh538riTx5087uRxZ9TIwRwHcxzcxu+nubiVcz2c28K5Ec6NcG6EcyP8
z/D/Ee4VuFdI3WjbzZxeEBZzcJCDgxwc5OAgB4c5OCZPnuBiLxd7uVjgYoGLBS4WuFjgYoGLOS7m
uJjjYo6LOS7muJjjYo6LOS7muJjjYo6LOS7muJjjYo6LOS7muJjjYo6LOS7muJjjYo6LOS6NcGmE
SyNcGuHSCJdGuDTCpREujXBphEsjXBrh0giXRrg0wqURLhW4VOBSgUsFLhW4VOBSgUsFLvVyqZdL
vVzq5VIvl3q51MulXi71cqmXS71c6uVSL5d6udTLpV4u9XKpl0u9XOrlUi+XernUG72bS0UuFcvV
+N9dmODCGBfGOFDkQHLfNEbdMeqOUXeMumPUHaNukbpF6hapW6RukbpF6hapW6RukbpF6hapW6Ru
kbpF6hapW6RukbpF6hapW6RukbpF6hapW6RukTpj1Bmjzhh1xqgzRp0x6oxRZyw6Qmd4XWd4XfUX
zOc1qRtFcZMoyqP3/jYsNN/fYd6eZVW3H/bH23AADkQ9DsJX7HM+LsBX8TVYQdJ6ktaTtJ6k9SSt
J2k9SetJWk/SepLWk7SepPUkrSdpPUnrSVpP0noy+hqtB2k9aMQFIy6ogrwqyKuCvCrIl/X/ewXQ
/X/KfCv4VPLLxv8+2wf5MciPQX4M8mOQH4P8GOTHID8G+THIj0F+DPJjkB+D/BjkxyA/BvkxyI9B
fgzyY5Afg/wY5McgPwYpWKBggYIFChYoWKBggYIFChZUQ1415FVDXjXkVUNeNeRVQ1415FVDXjXk
VUNeNeRVQ1415FVDXjXk/y+qIc+hPIfyHMpzKM+hPIfyHMpzKM+hPIfyHMpzKM+hPIfyHMpzKM+h
PIfyHMpzKM+hPIfy5Tl+tPxvIU/kVYFXBd2moNvkaF+gfaJxgcYFGhdoXKBxgcYFGhdoXKBxgcYF
GhdoXKBxgcYFGhdoXKBxgcYFGhdoXKBxgcYFGhdoXKBxEmNBjAUxFsRYEGNBjAUxFsRYEGNBjAUx
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
UZWLE1W5BNGTSzR7mtcaSWYfM9eozM/KGcms+maksuqb0dj3iu8Noyervhn9WOnNuIGV3oz+VpwV
bwywkqwU4ybWezMKrNXWBuM21nszhrPem1HCem9GmPXejBGs92aMtn6wfjbuYY034wHWeDMmscab
MY013ownWePNmMUab8Yc1ngz3mCNN+NN1ngzlti97dHGClZ3Uwaruykfq7spi9XdlMPqbsq1n7Rn
qhjWdVMJrOumElnXTaWzrpuqxbpuqp79gb1SNWBFN3UOK7qp1vZW+2uVw4puqgMruqmLWdFNdWdF
NzWQFd1UET8fp8KucpUqdW3XUSPcoBtUd7qxbpy6y01yk9QoN9lNUaPdDDdDjXFruDXVvay4pu5j
xTU1jhXX1INuE7eJeoh119QE1l1TD7PumnrEbe92UJNYd009yrpragrrrqknWHdNTWPdNTXD7e8O
UDNZd0095Q51h6pnWH1NPcvqa2o2q6+pOe697r1qrjvOHaeedx90x6t5rL6mXmD1NfUiq6+p11h9
Tb3uvui+oRa6b7nL1PvucneFWu1+4X6p1rpr3K1qg7vd/V7tZFU2tZ9V2dQB1/Mb6kdWZVMHWZVN
HWJVNtPwp/irmiHWYzMT/TX99c0kfyN/YzPN39Tf1Kzmb+FvYVb3t/S3MWv42/o7mnX9nfydzEx/
F/8F5ln+rv5uZpb/Yv+lZlP/1f5rzBb+wf4hZstA9UBtM4fV3cwOrO5mXshqbWZXVmszC1mtzSxi
tTZzJKu1mfcGewSvM+fwU3vm66zWZv5bOzrW/Jh12szP9bX6RnM367SZh1mnzedjnTafwzptvgDr
tPmCrNPmq8Q6bb501mnzZbBOm68667T5GulZeo4vk3XafM1Zp83XmnXafOeyTpuvPeu0+TqwTpvv
QtZp83VnnTbfZazT5uuhN+iNvp6ssubrxSprvt6ssubrxyprvhtZZc13M6us+fJjVIzrGxyjY2J8
t8YkxCT5hrGymu+OmP0x+33hWIo1fKWkjI1AvRhEfLEURwbF48+kBKzDPkrG2m1hVa8Df138OVQP
q6BLmUBJP/CwDWngIf+fh3byHzAYMWMEMWOBmFeh1tX4iwdu9kaLfeg6ak/XA0M7AEOHgDncgr+O
NJSGUSUqwl9lKqYwei4FwiYDYTWlGCEjhlLlCeE0Iw6YexYwtx489Y36lGU0MBrC38hohHwmsDhF
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
3tXbST6K2vTmxWvK2jetTkNvmHtieAPL2opVKYHU4C7KzUHhjSq18du19jUbxDs7EhGNt0Vv13xS
T8q+VyaVX2H64mRUTndJrUF9V41xR4vh6XfPhUQ3WfRtAybNy9X5kqKLNxcYJTd8tBpxL0o7d4Ux
ZWFouUtFKvVtIz2s2Gx1MZ4Zc6k4VWOGQv2fHny5W/DGgMnriqMcNM/fEIw8Nkdm+67mNVbBYQXF
Shdknq4JveWcm5LX62jNwJX4w4zfp5tKuKULrk2JfBwv21mw20qLWm/pdfjZvrZ9i2TXbSRbJgvl
sfDJJAsX/36MOBgsnA9mcf3bq+iPPdKYAIPzSxXNdSZFRtdE3u9XgQD8zW9LaIxxsKvVZpBqsKNV
01HXXPKXioiPyBEdJ1yTnacvJzeYiL0p6Xz57gfNYleRjh3nzLlUOiobxfffkaZd5HvplSg3Mgdv
NnpV3ZAnFZbx8PSDbVsEZj9UmJa/PzXJdbPIUNO0ozZi69+tTe2yuzD7WZWKc8pV4zSPQAcX+Tm8
FxPxGMMemV1rL6itsenx3/D4/QzhN/VJaW6T7DP/eCIokHdzT/HbEUddytznrT2LBrwMDL0tllWc
qb6ToPLYsbIhtdBtpd+sA4JcZ5uVmla179oUsTo4rsg082xZ3EarubpKcXbSageHuy7OYobhtcWH
Q+ycK30uRr1g6PtkTokZKOcofXqjcrwy67p/TUnHymPP4twOngBhZBsx2+7YUtrA2/IZHjQ76QlJ
3qaB/H4BiwVtA8vp2H8BDQEXNw0KZW5kc3RyZWFtDQplbmRvYmoNCjI3OSAwIG9iag0KWyAwWyA1
MDddICAzWyAyMjYgNTc5XSAgMTdbIDU0NCA1MzNdICAyNFsgNjE1XSAgMjhbIDQ4OF0gIDM4WyA0
NTldICA0NFsgNjIzXSAgNDdbIDI1Ml0gIDYyWyA0MjBdICA2OFsgODU1IDY0Nl0gIDg3WyA1MTdd
ICA4OVsgNjczIDU0M10gIDk0WyA0NTldICAxMDBbIDQ4N10gIDEwNFsgNjQyXSAgMTE1WyA1Njcg
ODkwXSAgMTIxWyA1MTldICAyNThbIDQ3OV0gIDI3MVsgNTI1IDQyM10gIDI4MlsgNTI1XSAgMjg2
WyA0OThdICAyOTZbIDMwNV0gIDMzNlsgNDcxXSAgMzQ2WyA1MjVdICAzNDlbIDIzMF0gIDM2MVsg
MjM5XSAgMzY0WyA0NTVdICAzNjdbIDIzMF0gIDM3M1sgNzk5IDUyNV0gIDM4MVsgNTI3XSAgMzkz
WyA1MjVdICAzOTVbIDUyNSAzNDldICA0MDBbIDM5MV0gIDQxMFsgMzM1XSAgNDM3WyA1MjVdICA0
NDhbIDQ1MiA3MTVdICA0NTRbIDQzMyA0NTNdICA0NjBbIDM5NV0gIDg1M1sgMjUwXSAgODU1WyAy
NjggMjUyXSAgODU4WyAyNTAgMjUwXSAgODYyWyA0MTggNDE4XSAgODc2WyAzODZdICA4ODJbIDMw
Nl0gIDg4NFsgNDk4XSAgODkwWyA0OThdICA4OTRbIDMwMyAzMDMgMzA3IDMwN10gIDEwMDRbIDUw
NyA1MDcgNTA3IDUwN10gIDEwMDlbIDUwNyA1MDddICAxMDEyWyA1MDddICAxMDkzWyA0OThdIF0g
DQplbmRvYmoNCjI4MCAwIG9iag0KWyAyMjYgMCAwIDAgMCAwIDAgMCAzMDMgMzAzIDAgMCAyNTAg
MzA2IDI1MiAzODYgNTA3IDUwNyA1MDcgNTA3IDAgNTA3IDUwNyAwIDUwNyAwIDI2OCAwIDAgMCA0
OTggMCAwIDU3OSA1NDQgNTMzIDYxNSA0ODggNDU5IDAgNjIzIDI1MiAwIDAgNDIwIDg1NSA2NDYg
MCA1MTcgNjczIDU0MyA0NTkgNDg3IDY0MiA1NjcgODkwIDUxOSAwIDAgMzA3IDAgMzA3IDAgNDk4
IDAgNDc5IDUyNSA0MjMgNTI1IDQ5OCAzMDUgNDcxIDUyNSAyMzAgMjM5IDQ1NSAyMzAgNzk5IDUy
NSA1MjcgNTI1IDUyNSAzNDkgMzkxIDMzNSA1MjUgNDUyIDcxNSA0MzMgNDUzIDM5NV0gDQplbmRv
YmoNCjI4MSAwIG9iag0KWyAyMjYgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDI1MCAwIDAgMCAwIDAg
MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw
IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNDk4IDAgNTE0IDUxNCA0MTYgNTE0IDQ3
OCAwIDUxNCA1MTQgMjMwIDAgNDU1IDIzMCA3OTEgNTE0IDUxMyA1MTQgMCAzNDMgMzg5IDMzNSA1
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
kYY10rBGGtZIwxppWMOLNbxYw4s1vFjDizW8WMOLNbxYw4s1vFjDizW8WMOLNbxYw4s1vFjDizW8
WMOLNbxYw4s1vFjDizW8WMOLNbxYw4s1vFjDizW8WCMNa6RhjTSskYY10rBGGtZIwxppWMMr7MG3
vsfRdhXazkS75Wj3uMqTLdhmC3apwS412OAS9L+E3ofQfQu6b0H3Lei+Bd1r0L0G3WvQvQbda9C9
hjXUsIYa1lDDGmpYQw1rqGENNayhhjzJ4S11qvwsUu0vXeH+jRhs+blxlIw9TG+VJdd42zIP+EC+
sS/4ydtm9pbN7veMt91bjLfDNxlHw98F/5u3e42vqyzzPr6yd5uEdG3KSRA8oMhR5QyeUBTHAwge
GSoKI4KnlmF0OlUKailWKtNSDkU5TgUUxwxFLYKQWkJDaaGlmDaku0k23U3SlLTJSrrSpNm7gbbc
892Z6sd5Ps+L59Xz4sfax7Xu6/+/7uu6VpqWlViF5/ECVmMNXsRavIS/oBnrsB4teBmt2IA8NqIN
HSjgFWxCEZvRia7Qf+Dn8QVY7/gdbTK+9pL93Wt/99rfvXQ7nW6nj9eX5ephE1ZgNV4KvdZesvaS
tZesvWTtJWsvWXvJ2kvWXrL2krWXrL1k7SVrL1l7ydpL1l6y9pK1l6y9ZO0lay9Ze8naS9ZesvaS
tZesvWTtJWsvWXvJ2kvWXuLDpaFA7bUUXvO3n+NUIloSnS6iBu9v8v4QN0a4McKNEZ9t89nz9++S
Sq2YuL9WTJRH93NnhDsjImwQYYMIG0TYIMIGETaIsEGEDSJsEGGDCBtE2CDCBhE2iLBBhA0ibBBh
gwgbRNggwgYRNoiwQYQNImwQYYMIG0TYIMIGETaIsEGEDSJsiM4WRT1f1vJlbWZa9FberLX6BbL/
ZdnfL4p6URyxf68fsX+vP06D3/JtLd/W8m0t39byba2o6kVVL6p6UdWLql5U9aKqF1W9qOpFVS+q
elHVi6peVPWiqhdVvajqRVUvqnpR1YuqXlT1oqoXVb2o6kVVL6p6UdWLql5U9aKqF1W9qOqjGr7s
FcUtolgvijZR3GLVL1j1lmiSeJeLd7lYl4urEtMR3qkXz3LxLBfPcvEsF89yOXBteCMzEzd5fKvj
XZWfyng1zdwks6v8d0ydnBnGPMpnfhZNyNzsU+5cMndHkzP3hj2Z+8KeSYvxKH6H3+MPWILH8Ec8
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
7/bxGWajx23oCKtF0ay27RZFQf3aJIKBv06tonjF5NorirLptdf02qsGbVI7impH0Qr3WWHlt0hX
6I7r4/qQ6JAP65AP65DrdciH7dNt9uk2HXK9vbrCXt1mry6zV5fZq8t0yPXxWt97CS+jNbTrEu26
RLt9uk23XK9brtcx2nWMdvt0hW75sH26wr4q2gNFOV+U37tNsb2m2F45vNsk2ytvd8vZTXJ0tRxd
LUdXy8vd/2vCvdLzq/DXSfc7Pn+1717j+Fh4WH4t0zHX60TtcmW1XNk9Pu3+RFdp0VVa5MZfKL5X
bjxD6Q5K79VVWqi8l8p75cgZukGrbtAqT14anwHL3t+N13ShfSaqiN8TQiuVX6RyZbJ8Sc4U5Exe
zpTlTFnO5FX3vOqeV93z8ucU+ZOo2nlVOy+PmlXpZlW6WZVulkvNKnNRRe5QhfOc2at6tqielbu0
vdzZy50O7nRwpUPVbFE1W1TNFlWzRdVs4UCHStmiUraoji2U36sSdqh+edUvr/p1qH7Nql+zyteh
8hVVvqIqV1Tl8qpaXlXLq2p5Va1ZVWtW1ZpVtaJqllfN8qpZs2rWrIrlVbEOVSzPyRdVpFYVqZWj
L3LzRVWpXVVqV3naVZlWVaZVRWlVUVpVlFautnC1hastqkm7ytHK1RautqgYrVx9kaN7VY0W1aJF
tWhRLVpUixbVokW1aFYpmlWKvEqRVynyKkWzSpFXKVq53qJCtKoQrSpEqwrR6j6+LzqYEzlqj0Zn
25GpXLjO7ltk9y2y+3rkxCw7rMz33/J9Kd+X2lmDfC/wfTHPF/N8sR2U2jUpT2bxZJYdk/Jllh2S
2hWL7IpFdsUinsyyK1K7IrUrFtkVi2R/mWaLabVY9pfptZheBXoV7IIyzQoyv0yjpTRaSqOlNCrI
/rLsL9NpKZ2W0mixbE9l+yKZXhbzUjGuDP8uu3tF0ODZLtWkFB6Uu3qnyEY96xVZn8j69v+8oFnN
SETWLLJmqxu1umara7a6UatrtqpRKxq1oj4r6rOiPqsZtZpRq+mzmj6rabaKUavoc1fUo7KVxieo
TlfqrNRYGqau1uJqo67W4motrlZytRZXa3G1kqu10CKlReqqJVqkrlxy5U5X7nTlTlqkrl5y9ZKr
d7p6p6u3uHrJ1TujOnXyVyLPi7rNlUddcbva16g6t6vOBTWwcbw6V++/z+zyyX73khe5lzwte2l0
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
vvN033m67hRdN6/r5qv/K6qrXg457l6wURfOV/dEdTpxXifO68R5nTjv/rDR/WGj+8NG94eNOnPe
PWKje8TGmk/5/Kcd1VKzcmJWTszKiVm5oHvPNSsnZuVEF5+vi8+v+Y7HUzEtTDczJzUzcR2uxw/x
I8hdXT42Tyfm6YJ5OjFPJ+bpROePdf7YXJ2Yq5MauVojV83XiWkgNmMnZuzEjJ2YsRPTwXTTQWw6
yJm1ExPCdBNCbN5OzNuJeTsxbyfm7cS8nZgc5psc5psc5psc5tfIvxr5VyP/auRfjfwzTcw3Tcw3
Tcw1Tcw1RUw3Rcw3Rcw1RUw3RcSmiLwpIm+KyJsi8qaIvCkib4rImyLypoi8KSJvisibIvKmiLwp
Im+KyJsi8qaIvCkiX3tdVFd7PWaHRvfBjaaK2FQRmypi98ONtb/33h+wBI/hyZCYNvKmjbxpI1+7
0Ws7fC7FkMc7ozoTSN49c+MBl0V1dfeF7XX3YxEeCFeZSq6q+7XHy0NS14QVWBlmmlJm1q32WA8x
reRMKznTSs60kjOt5EwrOdNKzrSSM63kTCs500rOtJIzreRMKznTSs60kjOt5EwrOdNKzrSSM63k
TCs500rOtJIzreRMKznTSs60kjOt5EwrOdNKbFqJTSuxaSU2rcSmldi0EptWYtNKbFqJTSuxaSU2
rcSmldi0EptWYtNKbFqJTSuxaSU2rcSmldi0EptWYtNKbFqJTSuxaSU2rcSmldi0kjOtxKaV2LQS
R0dGt4VP/N2/2LSi6q34WjSl6uvRJVVXRj+uuir6eNU3ok9WfTO6JHN+dFlm2vi/3/aJ7KXh49ll
4bfZ5eGibI97hK1efzWk2W3hjmxfWJPtj96STUJrdiCUo3e6ygHRo6E9WhXaXe0aV7vG1a51tWtd
7QJXO9nVPuBqJ7vaqZX/p6CrHexqB7raB13tXFf7QbYxLMs+g+VvDGSfDU/pN+3Z58Kq7Mpwm1XM
tYKxbG/YZhUftIrbrCJrFb+0ipVRbXZd+E22xdrcoWdbwzeyG8Kfs3nfagubdChaWeNT1viUT35F
H1vv03f79I+zrW+84dO/8ukL9LQnfeM637g/Oia6LTq7KhfVVB2IZ8Ns3fVtuunHMp91r6UyZL6r
wy6Ojs2sDOdlVoeLMp3R2f/N3HXAV1Fs7zMze3f2lk3oJLTQQhURRRQQgg0VBEQFka5iAbEj+lTE
+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
WrcFLNVnW3cG7NXnW3cHXNXjrXsCvuqLrXsDweqp1sHAluprrUOB7dU3Wo8EdlXfbh0O9Jql1hNQ
XevpQMWMRraOKgfMc1svBPrNC1onOkfNCa2XAvvMya1XAgfMaa3TgUPmzNabgaPmnNY7gePmfKc6
cFK8v4Ez5uWG24Fz5iJnRGCs+rATc755pTMmMBl678xrnHGBy+b1zkSf01zuTAlcNZuc6dB6Z1bg
utnmzA3cMjudS/wZhlNOMIZZcSLPMgecq7qYebNzbRc3b3NugO503OiSzbudFR23zHucZs+oea/T
0hVtHnTau2LNQ06Xkms+4vR1xZuHncGuJPMJ55auVPNpS6AjxTzq3N65zXzBuasrwzzh7EXLS87+
ruyZs1xx7uvKM087D/iOmG86D3UVGDZVjyjHzXecR7tWGI45j3eV1KidJ7tW10Q4z3Stq4lynusy
1MSYF3QZDOedY13GmjjnZFdtmeS87E2qSXRe7bLWpDivdzlq0p23utw1WW2sy1+T28b9cs2SNt61
KZT11xS2yV1ba4rbort2CHrp6hGU0tUnfkXpGgh94+gXjNWCKLxT/+PbYQv9VhD6ZaBrf82qttiu
g2J97zoscvCuY+LT2DUS+nVIzA/e8zVrHasxPv1WU7OhLd47YDrZluQdmPn1RvyuMlVTYUnuOlW9
tS2162wo668xt2V0na+x4LssMYnNV11TfcKY6lPVDSapbqn+wdSqzyQV45JG4ixcmiXJbJYUJc1h
emmeFMNmSwukB9gcKVFayO6TUqRH2Tzpdel1Nj9sRdjnWaxmpeZLbIHGpWlncZp3Ne+y+MiKyAr2
UKQx8ussIXJHZB8riXwj8l321cjfzdYw3+zI2Znsh7OzZuexc7iaVUxNuycj2WwWzuaw1WwWW8PK
2Yusgr3C1rN/Y1uYn21lv2UB9h77kJ1kf1RFsN+pZJWefaaarZqnUqkWqFJUOvFXjKr5qnWqKlWc
qloVUKWqgqrtqhWqnarXVV9WvaX6teqrYW+Gvamyq23qZlWLWlH7VK3qoPoVlUv9qvpVlaJ+Tf0N
lVf9LfV3VH71fvWgqls9pH5btVn9U/VPVVvV76h/oXqV9sdtV59V/1b1mnpcPaH6hvqS+mNVj/qv
6r+qetWfqv+u+rb4mzbVHs18zXzVdzXvc51qgM/m6apR/gR/QnWdP8lzVJ/ypXy56h9iB4DqM/5F
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
93z1lFvDraHmuvXdLmqeO9y9U613R7oj1QZ3tDtave3e445V77gT3Ylqo/uA+4B6z53lzlKb3Cfc
J9Rmd5H7uXrfrklGndGNdWOV1G11O1UoOe24ep6e52hvuPeM4/mD/EFOQ3+IP8Rp5A/1hzqN/Tw/
z2ni3+Pf4zT1x/njnAv8e/17nWb+V8FMp3n8yfgLztH4R0XaO8m069Iecu9KeybtgPty0SVFX3F/
Kfpe0R3uadPBdNYp5jZzm06Y283tOt3cYe7QxcwgM0gXN0PMEF3CDDVDdYbJM3m6pLnT3KkzzUgz
Upcyo81oXdqMMWN0GTPWjNVlzXgzXpczE8wEnWUmmom6vJlkJukKZrKZrM8zU8wUnW2mmWm6ollk
FulKZolZos83S81SXdksN8t1FfOaeU1XNa+b13U186Z5U1c3a81aXcOsM+t0TfOWeUvXMu+Z93Rt
s9ls1nXMh+ZDXddsM9t0PbPdbNf1zd/M33QD86n5VDc0u8wu3cjsNrt1Y/Ol+VI3MXvNXt3U7DP7
9AVmv9mvm5kD5oBubr4z3+kW5qA5qFuaQ+aQbmUOm8P6QnPEHNGtzc/mZ32ROW6O6zbmhDmhLza/
md90W/O7+V1fYv4wf+h2psAU6EtNoSnUl9kEdHT7hJfwdIdELBHTlydSE6m6Y6JIooi+IlE0UVR3
Stj/6SsTxRLFdOdEiUQJfVWiZKKk7pIolSiluybKJMrobolyiXL66kT5RHl9TeK8xHn62kTFREV9
XaJKooq+PtEo0Uh3TzRNNNU3JJolmukeiRaJFvrGRKvEhbon+zyH56nGrLW15N7n3OTcZNX9nH7K
8d703lRuLCWWonTKxJSJdvb8dzX+72r8n1mN/1/2lSX75InddW4Pvv1vjv03x/5DOeb4A+0zf7pT
yW2sL/O6qyzVQrVVHVU31cPuOgba5/fR9nlgipqp5qiFaolaodaod9QWtUPtVvvVIXXcPtkrJ3DS
Utcrnbo6dU3qWxzXpm7gmJ/6Nsd1qe/a4xorbeS4JvU9jmtTN3HMT93McV3qB/a41tpt4bgm9UOO
a1O3csxP/YjjutSP7THf2m3nuCb1E45rU3dwzE/9G8d1qZ/a4zpr9xnHNamfc1ybuotjfuoXHNel
vqNcW/q+5drUbZb5qTst1/0bEdlDz1enfhlF5qsoMnujyPw9isy+KDJfRxHZH0Xkmygi30YR+S6K
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
XpR+7fec9+X5+ojYJ5cEtorobrK/8uIXw8TXZQ8ccq0jt6RGhHbOsuQQadPxONlk9vvRbpEDufWM
3I5qm34GOCyxsQ6UrlgQXxvzzrVy1YUPgnV8CW9nt3u0tOn4sUUfCTB7Hf59hZvC5k9bSuvZn2o4
/NDNazvssGxlWENj7K35Sxg1PkpeuTwtfN7msgSDh2H1EdIdLgwXNuuqbC0KXiLTUvMzV+sJM7NA
1wylZXeFj+8/NcOv+/o0kY+Cb//y+ifz7dC6c+mxCPP81+Uhb5YvbGKSN2hikkbEEZthExMPUIiD
7kkUvUZC6WCwQ5PoglgDCeSUyI2YBWIE2gmXYTXkB1a1FoYGRsCK1sjSBFi3oifEvs87HSfJxF6u
/3j31DP9Wc9MVed8RiuzQEnkQlYmf8alF8fVI4pDnhq5+d89Om2nmobRzKYLW0v2lfiH6dxY/Mz8
1+Of7a/jSg9cupq8M8tdyfFMzxL2L4t6g90PlstMU8nVY1TkO/XmVrZ76M/3U2/dO1Jr8WlHEDfX
JyN2o/rP6skJzRV3//yctl37iiNTlabm1jPyZeIqnTOkuld2RD1YpnfFwcHtn/oFgXCB1sWbOEs6
g3rMHsk9ZPr84nymg9hZpbANqyRWneCXepVWKNHm0n3kken2dBYtx/B57gtWhDSxzb8z4+TS6vI3
qYr/vA5+Ebc1Wetns2fzjieRQd9StUQjGVyer1YOKJVSjtzKY/PuRcnPx8ucKloX6by+syeo68m1
DbwMAGyybLkNCmVuZHN0cmVhbQ0KZW5kb2JqDQoyODMgMCBvYmoNClsgMjIwIDAgMCAwIDAgMCAw
IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA2NTIg
MCA1NzMgNzA1IDAgNTUxIDAgNzIyIDAgMCAwIDAgODQ2IDAgMCA2MTQgMCA2NjIgNTEzIDAgMCAw
IDAgMCAwIDAgMCAwIDAgMCAwIDAgNTM1IDAgNDY5IDU5NyA1MzEgMzI2IDUyMCA1OTcgMzE0IDAg
MCAwIDAgNjA0IDU2OSAwIDAgNDYxIDQ1OSAzNjUgNTk3IDAgNzk4XSANCmVuZG9iag0KMjg0IDAg
b2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDk5NDM2L0xlbmd0aDEgMjA5OTI0Pj4N
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
fG1OhvwC5I9G/vnIL0X+t5FfifwE8pch/0HkP4b8Tch/Efm/Qv5vkf828v9M6RHxfS1LrNXykV+E
/HOQPxn5FyN/NvJvRt78wfKzXsyQPwr5xci/FPnlyA8gf5n8fz+Q/xzyf4H8/0D+75HfhfwDyP+r
WKU5xL3IelCbgvwrkX898m9FfgD59chfhfzHkS//aexLg+XnBP6b8t9F/qfI/xvyXcg/F/lTkX8N
8uch34v8GuTfgfz7kf8k8luR/4vB8vWxGfLPQv5X5c+o5c+jkb8Q+auRvx75ryD/deTvQP67yD8u
VmpOcY82GvkTkT8L+TcjP4L8xci/B/nrkP8j5Lch/w3k/wn5Hw2Wn+vIkH828qcj/1bkL0b+Y8hv
Q/4fkd8vlqPnu7SviGZtkribdbRSuwX5YeTfh/znkf9L5O9E/gHkfyHWZeWKh7OKxCNZk7SPsmZm
T836LvaeL/1Ebi7/KyqaMGFm08yDubrItZf52vn4ynLtlPSHKvmE+lXJMZ+nwePx9Mo2eUcqK5so
OpKbx8jfS8qj8PdUulx0J2Vb+zGKF1vVc9VNiOo2kas3bG3vbShq6dV1oevRlqKG3Yt1G1met2+N
5ulanr20iKd8zILo7n5ZYBN5OaX06JGjyJONF+/eHU32L17Rn2cXefYuj6chxKcnL4eaHo/oUjV1
u9Dt/apASrQ3bOfToIQfSKgKORoyftcVbe2S46NlP4+rJ6uGB2TD6Xqe0B2fJmt4V5iqUm6Wlpsj
NdUu2tuzs7U828aNG/NyRZ7S5oSmmTMPqomY6kSfsizvWGWF/FQeU+M9Pt/jW+yTc8mj7EiyQsi0
RJjXI8k8p8hzdnUtbF/YfjNpNumS9ne7ZNtcS7u0NftV6q08kmdDJnrsipYqBWu6/WQF27W83NEu
12LUsDes22SdIRVMgaXg1f1qaugzVCetfoKCc4Wee0AVnJKCbWkFy4Y9tAt/4yQF52VpeaaCLQ07
pIYdDuFwuISLfSDTOWKGuDR5afK9doddc+RNr9wi62+pnO7I0xzO4/JnAcmBVMFelfVyU4r39Kp6
J2pe6t7h1Bz5g3Vval8Jkvo21S87cBy3mlWyWStJFeKzpENH0OLtHVhi9Ort/Xa7Zs9tWC2V3mS3
aXZpJGkMRy7dFeh602t8Ouvtuqy2ffux9o4Gh004bKXVpjmQlCvsuTMqK8s8TTMuf7XJQcTP6xIe
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
+vSBPn2gTx/o0wf6Yqe55lP4v9vRzuW8c0Mn1ExypPd3oksrTlbeda7mYI0VB7vAeBGXaOYYyz2+
2O5VAuZa13OTIU4y0ypOW7kJKzdh5SaszrQVmbASN1mFm6zCrVbGSitipRXxnWh/MGFF3GNF3BPN
eLx3JSyqrITvBZt0zkXVVL/YDC02KxeFlvD8Xl7fy+t7eXsvb+/l0wN8eoBP53n0QDXVbgyf7NxC
nI5z+PFKvtlW3uNW97d7vS8ZGQl6edUArxrgVQO8aiD6haA3ehbsaek5Sc9Jek7Sc5Kek/ScpOck
PSfpOUnPSXpO0nOSnpP0nKTnJD0n6TlJz0l6TtJzkp6T9Jyk5yQ9J+k5Sc9Jek7Sc5Kek/ScVJ8B
9RkI/bE03rBPGm+Qxhve/y+8SeMN0nhDNY2v3yeNr6+m8REdbr0ON6LDrdfhRnS49TpaVjfLSuPx
yu7ilOC3dK5y0s6r8fW605ZKur7csStccyWu8vxqx6/BtWh17AYkIMFK1HGJOi5RxyXquK6Tl6jj
EvUv0vRaj9fjPtyvYywIxXWXrO6S1V3yukted8nrLnndRUdxfgeeD8U57CSHjdNRnMPGpdw4PcXp
Kc5h4/QUp6c4h41z2EkOG6erOF3F6SrOYfMcNs9h8xw2z2HztJbnsHkOm+esWzjrFs66hbNu4axb
OOsWzrqFs27hrFs46xbOuoWzbuGsWzjrFs66hbNukUTjkmhcEo1LonFJNC6JxiXRuCQal0Tjkmhc
Eo1LonFJNC6JxiXRuCQal0TjkmhcEo1LonFJNC6JxiXRuCQal0TjkmhcEo1LonFJNC6JxiXRuCQa
l0TjkmhcEo1LonFJNC6JxiXRuPUUl0TjkmhcEo1bW3FJNG59xa2vuCQal0TjkmjcWotLonFJNM6B
8hwoz4HyHCjPgfIcKM+B8hwoL4nGJdF46N5f+tZziUyztPKdVS/n6OUcA1wjKeOkZJwUJfXKMKlK
hinnl3JWkUMooJcCej/87ajskJIdUrJDSnZIyQ4p2SHFdVKyQ0p2SMkOKQ6U4kApDpSSHVKyQ0p2
SMkOKdkhJTukZIcUd0rJDinZISU7pDhV6oNe/Qehs6nobMo5nmoOp5pequmlml6q6aWaXqrppZpe
qunVT1P6aUo/TemnKf00pZ+m9NOUfprST1P6aUo/TemnKf00pZ+m9NOUfprST1P6aUo/TemnKf00
pZ+m9NPUf2Y/pZDF+7jvove/oQ59NPK2WQphNg7FfJyEc3AxrgitjLXhNnTiATyEVOUb8pWx3wkt
kuaXBrvpYjJ8ceX/D7Scn8j1oemO52XlH8g7P5B3fmBnMCWtv175hmBML8pXrx2bRoPTaDB0M71t
rGbxgfB59uvn09be/UPK1Uu4WZu/s5GjPUiDvTS4cR9XS3G1Nq7WxtXa6LKXDlORct2utXe9DivR
iuvRhhtwIxK4CTfjFtyKdtyG23EH7kQH7sIq3A1OSHcb6W7j/7Gj/Ws3S9Flii5TdJmiyxRdpugy
RZcpbtbGzdq4WRs3a+NmbdysjZu1cbM2btbGzdq4WRs3a+NmbdysjZu1cbM2uu6l61667qXrXrru
peteuu6l61667qXrXrrupeteuu6l61667qXrXrrupeteuu6l61667qXrXrruDdWEz+EZZ7/f1Srf
/yyt7JXyH3zPc/E+3+2UO891ukG1Q/yHfKfyb3WLf8fvNEKfoOKN1V1i/oNfba7GNbi20qvyqptX
3bzq5lU3r7p51c2rbl5186qbV9286uZVN6+6edXNq24+FJGJtpTXWXW+y+sw/8GaO1NFxlQkW61I
eRc+Vq3G2K+oxphqjKnGmGqMqcaYaoypxphqjKnGmGqMqcaYaoypxphqjKnGmGqMqcaYaoypxphq
jKnGmGqMqcaYaoypxth/ajWm8ZZJ1ahUgnY/H6qrHBurHhv7YL62VOdrrDpf2X3mK/v/2XxlzVfW
fGXNV9Z8Zc1X1nxlzVfWfGXNV9Z8Zc1X1nxlzVfWfGXNV9Z8Zc1X1nxlzVfWfGXNV9Z8ZUONFT9e
ymfPq6zp8m9W363kgPJ8lb/P2TszG83MxurMbDQzG/9D/HYQGzCEP8FGfA+b8Kf4s+C71sB3/11n
aEZFUed80M/Gqr1vr54mdbaszpYNXWQms2byB+Ezgl2u7zWb283kLit2l5l8LLwi1GA2x81mNnyZ
Y1c5f10wbka3m9HtZjRrRrNmNGtGs2Y0a0azZjRrRrNmNGtGs2Y0a0azZjRrRrNmNGtGs2Y0a0az
ZjRrRrNmNGtGs2Y0a0azZjQbXR3siq7BWqzDetyH+/EABt3HBgzhT7AR38Mm/ClywbiZHjfT42Z6
3EyPm+lxMz1upsfN9LiZHjfT42Z63EyPm+lxMz1upsfN9LiZHjfT42Z63EyPm+lxMz1e7jTBRjP7
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
rmQ9+kaqV3xd1xhdX8I4oAxk9LxcfH1bT1n8bKcoK9sZRv9XvpMjwXL9tMZEfL4nNrpf85/Y9ET0
dDMX847fb0WyMosSMyrTT3OO9z0k7ntIfCv5fnwrvh73mTTme0g8y0Oy+T7m871m1rjP9eU+q+Z6
Ri+z/hnbZHg+2yv287m+BRu0aK4Xjvkd3nzVkP1bOSFpU4BxjxCFYpAIir3FUBES+4tvszVOnCO+
Ic4Xk+kJbxV3snUX2WlMvC1S4jHRZoVFnTXY2ks0W0Os/cVq66vWd8Q66yzrbPZGrXOtva0Lres5
9iPrLmuk9VPrbmuM9XvrCWuslbRardOstXzGWyk+Z1lt1nquS1sbubLDUtYEKWXQulQWyALrB3Kg
HGhdIQfJQVZc7iX3sq6U+8h9rKvkvnJf62o5VA61JskD5XDrGnmoPNS6QR4mD7dulEWyyLpJHiWP
sm6WR8ti6xb5DTnaukOOlSdYU+W35YnWXfIk+V3rp/IUeYr1P+Xp8gzrZ3KcPMe6V54rS61fygvk
xdZMeam8xqqS18prrUfl9XKK9Ud5o7zR+pO8Sd5kPSZvkbdbj8ufyKnWf8m75E+tp+SvZJVVK38r
f2u9IB+UD1ovyt/LP1rz5WPyMWuh/LP8i/Wq/C/5jFUvn5XPWo1ynpxnvSVflPOtt+Ur8hVrsayT
r1nvytfl69YyuUgushLybfm29b5cLBdbH8j3ZMJaLvlYSblKJq0m2SxXWx/JVtlqtcqUTFlrZJts
s9bKtExbH8vNcou1TnZJZbXb0pZW2nZt19poD7ALrU32XvZe1uf2vvZXrC32fvaBVpc93B4ubftQ
+1AZsA+3j5COPdoeI4N2qX2ZDNmT7B/KfexH7Ufl1+xF9iI5zG6035IH2WvtLXK4rQIFcnSgMHCR
PDlwSeBq+YvA5MBt8oHAnYE75Z+cE5wT5GPOic535ePOqc735F+ccc44Odc52zlbPu1EnXNlrXOe
c778q3ORc7F8zrnMKZPPOxOdifJF5wfOFXK+c6VzpXzJuda5Sb7s3OLcJl937nCmyTedu5y75VtO
pVMp33X+07lfvuc84PxOfuQ86MyRLc6zznzZ6bzqLLMt50NnnT3E+cRZbx/ipJ20fZizyfnMPtzZ
4myxj3aUa9nHoJ4B9nGu5x5nj3FHud+wL3PHuN+yL3e/455kx92T3VPsq9zvuePsSe4E93L7Ovf7
7sP2j91H3dn28+5f3CftV9yn3Fq7zv2b+7xd785359uL3Jfdl+0Gd4G7wG50X3Pr7bfcN9w37Xfc
t9y37XfdJe4Se4m7zF1mL3U/dFfby9xWd629ym1zN9jN7ib3U7vV7XQ77XXuP11lp4JWMGSvDxYE
C+zNwYHBQvuz4ODg3vbnwaHBEXZX8PDgEYFw8Ngglgh+O3hOYN/g+cGyQFFwYvDqQHHwmuC1gW8F
pwRvDnw7eGvwtsApwZ8EpwVOC94VrAh8L1gZvDdwZrA2OC9wVvCl4EuB0uAbwTcC5wcXBRcFLgi+
G3w3cGFwWXBZ4KLg+8H3AxcHlwdXBmLB1gHhQNmAgwcUBe4eMHrAaYFfDLh4wI8DDw14YEB74KUB
nSHLGRo6NnSac1DoitC1zpjQE6EnnO+Engw96ZwUeir0lPPd0NOhp52TQ8+E5jmnhF4MzXfOCL0c
qnPGhepDrzvnhN4ILXHODX0QWuNcFmoPtTvXhjaF/tu5LvRp6FNnSuizUJdzgyc96dzqOd4A5zYv
7IWdH3uF3l7OHd5+3gHOnd5B3mFOhXeEN9K51zvWO9b5pTfGG+P8yhvrfdP5tXeCd7Iz0zvNK3Ee
8M7wxjvVXtQ716nxzvMucP7gXeRd7MzyLvUudx7zrvBudP7s3eH9xJnnTfOmOS94d3t3Oy96ld69
znxvuvdr52XvPu+3zqtetfews8h7xHvUWezN8mY573mPeY85S7zZ3mxnqfe097SzzHvGe85JeC94
850PvZe9V5ykt9B7zWn23vQWOS3eEm+ps8b7wPvA+biguOBEZ13BSQXfdTYXnF5wjtNZcG7BBNcu
KC2IuU7BpQWXueGCywsmuoXhD8IfuIPDyfBqd6/whvAm9ysDxUCb3Fee+A24XpzUMb5OTBDfF/+P
LWpZ73d3SW3gc4t6g5LGPRqqwz8+cTfffyZ4KM/+BpDIPk/NQqY5arzZ+sTI+ck2a97UU2rKYM8s
6mPQBpp37io1j8/HO3z+u+Z7w85Kl7eulP6YUkumTvURwMJq5RescUNf6frLqdK7S/qt3T9f7b1+
vdUrU7019NQxxMSA8RjVuo1r0/n25d/bV1o+a1RTt0+qjduTcqsSbNDyZ2LTt2iq51iq39mpfHt3
12Jq/0It6bZSHhtk2tTa7T39W9DNS3335d/b5wzspFapZT7/behpwU7rR03TnKSm9WuBX+I+e8zv
d3Tpy4Dq5Jyjk5WrhqjJpsxYB63o7wYxzGwv02UYo52t9p5rUmotjDzLlKvz3LEark5pjhPGltrK
fKp9fT+j6rREfDaYb832E7Yhfx01NVDjMlOfUCOyji3rjtat69lY+yVT0mz9D/D61u+2a4up/S2w
Zqeu6kALK7J8dEiec7J6afSxLNOaXV/MvTNsp7XzPHarA/Q4at12r03tdN9qfUEx9/iCFt7bk5nC
nl/UevUq9lv/JUvx0m6qJ8MVPVlgVim/3+eJmT2xaL7L8JC/FHHnYtbF/c5c0fstimGpFZr32DOL
UpPerxlUsx+LZ2aUus/OqSdr77C+tfecsZjPTHV7LxsT10/w/fc89dWRSzeYzL5hO21t6v3OLqkJ
qpFvjfEZ+Ptnbru+nV3UBeD6rcmVtT3W/0zcTn26n1hlStPguH8Y/pqphquf95wxbRclfk09rh73
y2kVVj9XJ6salWfkqH0oS7Nf93FyRk7D7/8XcVFu5kTWVqde2Vb+/K9YsseQZnsbGWo/n2pQc7cX
Ib3t03Gm/r6n2tvtDerFbZ6V6s70fO5shWl+txN3edV852GgXVlUrZ8Rabb4aNtt6NW2zzxfV3tn
4iI/F5mR7KCey4eI7F6gaHe1wF/292v3cmTuliiT5471z/XlgJMGd23RPNadKWcx9DR8rK/XDYHf
M/VUww+RrWTXJq82Z3Tftclk25nx0hzz3TsSbDJ6TJm6dV9VJHL6ykw2aRad8w/uLmX6GvqKYv3t
n5vOfOcf6f6rlm1n18rN2Z7Ule5SapIpr+v9zpS23g4zCtLrRXmOLdJ7GUOu6rvXX69Va/tdcUrO
dnufrbrsrKJrG+3zLbAhe1ttVJvIAfwRrKrPYM8sZrT2bp79Wxk795+FybBkN1eiw1b1jilpL16Q
GVOoB43fZtqqSx/kqfmD/Hu75eFjxviqJTOG9ff+mfs9Qq78XL8r53SPMXvnRQ3MaFGtVh/q7/yt
9Gto6SmtMfy7h+ZbjI52el5BXaKzC3WJKa/s/e4udc8LfpmL8a4+WVGfo8+bjPn5narxS+SpPFlF
I6x/r+4Ld7Ke3Wob9Zuc7VXbODenv1ZXqVP1tyn/1Xy/1HPsryZOth4jw7Z6ZLcuxkvm9GyN6OnN
TE5An+yqwf6c3Uzy1OrMR4/g1GT1R/VLM9v0DFvPZFiZ7XnmWIYXxue5Yx2fZWq86a8jZs89Zp8Z
EamJ2G+Z2TONT5PuTemTV/m112VL6197MteMYG3u2WfGK2eEknny0Pv8QZcM9zV1z4vrGYE9Nyuw
1dn3XRi9qKT5nmeeSnSI3fgMx9fMsuxoMiPxvJn7HuPv7T6Z2M71rzDWyDOy3+51DT7qdu3+fm15
RlNkInn37o777b4FBsjk4oPzHNMROosz7sFKRdov2J5BHN7tXzkLv9Tn3MOnerszDjO7Z0j8GfYs
7tjluYZdjAgiYQWfnWSGrJFF3a76sZj9Ba7Id83O1jM7C194IYfUzLpp+2eKvXZzFjIsZ6z7JS5k
uSt295zBTsvwyVbmTRcL87y1z97F2dtm3jS1Y9nVv++cHG34h37y9P/hEvex68suclGPDb4ULjIS
7Gp/8J56N9/IfjtXpXrGyXV6hLyrS75IzMRn7pP9nl9v9O4fYj47vuwsg0Z28vzcZZgZhRRvs57i
/k+SduOyJ+v+d1mqduCcaJ8tM/8kSnbDfbvxhRd6rQ/FMP1UPs+xpt5ZMbOd+e3PbuqT1Nh/o6yi
I7ff3uka2ndRhGFI8FGeej8yTzFys4o8Z36xu5rnC7tsgwyTq/bMM52cY6/qvfhZ9wxsZj7WPzN3
TnsH7tUnL1InG+l3eaZHva/eNzl2nidwqsHMvvfYwJ/b7Z59X72LnnPR7mnBNu+R17vz/XJtB+vb
4ZmKvr9SQ78b9O9e9JwZpVozmzNTXdf7JF9NZH9LnnpatrK3pw344HtkRY+rR9Qj/p616hL1sLpZ
/V39r35X6l81NWc9AZwIxome36up1tynuWbZSqT0/CZskP98cFCekwblPDsU+c9Ua3p+KZjMREuP
9vrPGnn99nTXcmTXFuX6s+/V5omE+dZzkpRe9X/T1dq3VkY2E/3f2eWbdZzJp0ndYmYzMnOb+nfF
MzNzQ+zPzF02kJmZb7YOzGc1v7YG9XWuHq9/A2i2B2cdm2c84Tjh/wbcfzLWay09q/ThNvK/f9XM
b1327BY92jD/iWdGO9/uSnelfRs8ZfTyN/WCesHY4FdGd8sytu6F8aMf+788vDLPHWeZp0Z3c+2G
TFahnqA8x38Oe4f5RaWe+Z3Fp8H84v0k8yy8z7P6ntpmov9Z5vyHzNG9s45VG5ueIfynsWp573d3
SSUzc6d5l3+VDRqyW0X89p19/4EaofZXPzHlv+lff/Kt40A/7Z6j6mGMJnr/7meZqZ7s/37/11N3
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
zZo1/0sr5Zxm5h3X89jLZ1n74XXOz+jNjpPW8m95I7DCn4BdnvV4KN//q9rlWWK8TcXvX/NeVBW1
nxX6O9nKVFWPmqPWNjuH532URX7v9/Fip2ib7/ZhHwN7+6vG6wm1n8E9P/JOfOV6AlWU+Lwq21jx
nQ7/nGOfKz/7OVje2LBza7Hy6l2/5upff1SuaH0GazZVes5f/HfFGh316IinPsuj2TG1V/HGxe91
nL0tO6vafydmyXWfMM4P8/8Tv7P4jVo8sm75ab9pmHDc3x9VfJ9wTq2e8fepv7RtmPfhucjfsi4+
HoFS5brCp/6G5oTvU4cd/X3qGfT9mdOXOem1y87xuorRkIy+r6jqPWrozdM45RvWQMo3ste58Wz4
U+zK2Cfl91d8TxALm79+YYTlhiu2jl1ZFRI4rKv67bzyE7/nPovjKA+89vR2pXJVjlO+oXsWbf/i
v38/FP87H1XtVfC7t3nYrv2qJ/8r+/D6v6HRw3t8VNxzSdM5bolkPZlJwuyrTRZHL3nMjtpky1yZ
WxnJ5Jh9tckr28sOpGU32Y3iZX/ZnxLkQDmQEuVQOZSSOM6pmhwjx1B1OV5OphryYjmFapt9tSmN
o53SzY7alCFnyplUV14tr6Z68jp5HWWa3bUpy+yuTQ04FipbzpfzqbF8UD5IOWanbWpidtqmpvIR
uZCayUXyMWouH5dPUL78s/wLtZJL5VJqLZ+Tz1EbuVKuorbyZfkyFcnX5evUQb4l36JiuUa+TSVm
v23qzLFTXeR/y/VUKj+Wn1AP+U/5OfWSX8qN1Edulpupv9wh/0UD5C65h4ZwNNV58mf5M42Uh2SM
RpmdtmksR1adb3ktH42z4q0EmmhVs6rTZCvZSqGLrFQrlS6xMqy6NNVqYDWiaVZjqzFd7jznPEcz
nOedlfQfZvdlmmV2X6arzL7LdLXZd5muMfsu07XOdudnusFre+Novtl3mULeW7xB+rN3ifc7Wm32
XRau2XdZVDP7Losc9yl3qWhpdlwWBWbHZVFodlwWrc2Oy6KD2XFZlJgdl0UXs+Oy6Gp2XBYDzY7L
4nz3e/cHMc790S0XF2ihpbhE2zpOXGp2WRZX6mSdJq42uyyLG3VjnStu0210e3G32VlZ3Gd2VhYB
s7OyCJmdlUXU7KwsHtEj9RixSI/T4wXvrCyW6Gv0NWJF3Ka4reIF899c8VJceVy5eM38N1esxrj8
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
CG+QCDkeh+8ln6PcUTkaH3VOkVJYVCEluQZvwHrhDWaTX9/y6OtISwexyYf6GgmvRXyzDyW+2b/5
ogL6+jT1+jSVSUm5n8Qqj4J6o75Mr9Pr9Tl6gz5Xn6fP1xfoC/VF+mJ9ib7UW6WgMaFOSt+kb6as
vlPfKWNpJWPicrq97qg76666h+6l++r+epQercfosXqcztXj9QQ9UU/6rXb3ddHtvIco3UF38GuP
dSe5fxfdRUrZXXcno3vqnhToProPWd1P9yMn7TmSQuGsOVL/5Ont5OpOclV3yd1Hcg3Sg/UQPVQP
08P1SXqEPlmP/C1OxNPb++/fS+n97qfOurM8vavuKk/voXvI03vpXvL0vrqvPL2/7i9PHyXcFIIO
vz69vTy9szy9hzy9728+/Tfo4a0oKXdHeXoXeaKSsveSJ/aTp1gp7TKxrJP7Sx6fw5/3Z49VpnD/
dqhdJ9SrO2rUB3XxMiH3Dyqo9dJrOQ454pgznOUcLsAFuRAX5iJclItxcS7BJbkUl+YyXJbLcXmu
wBXFPqnMVfg4rsrVuDrX4Jpci48Xe6UO1+V6XJ8biNXSSGyWJtyUm3FzbsEtuRW3FvulLbfj9tyB
O4oV05m7cFfuxt25B/fkXtxbbJq+3I/7i1VzAg8Uq2YQD+YhPJSH8XA+iUfwyTySR/FosXTGip2T
y+N5Ak/kSTxZ7J2pPI2ni8Uzk2fxbJ7Dc3kez+cFvFDsn8W8hJfyMl7Op/CpfBqv4JW8ik/n1Xwr
f85f8Jf8NzVeTVAT1SQ1WU1RU9U0NV3NUDPVLDVbzVFz1Tw1Xy1QC9UitVgtUUvVMrGeTlGnqtPU
CrVSrVKnq9VqnTqivlHfqu/U9+oH9aP6SRQ2a6W1NjrQVjsd6kjHOqOzOkcX0AV1IV1YF9FFdTFd
XJfQJcV6Kq3L6LK6nLegdEWxoCp7+0lX1dV0dbGhaupa+nhd23Q13Ux308P0NL1Mb9PH9DX9TH8z
wJxgBpoTzSAz2AwxQ80wM9ycZEaYk81IM8qMNmPMWDNOrKzxZoKZaCaZyWaKmSr21nQzw8w0s8xs
M8fMNQvNcnubvd3eYe+0d9m77Xa7w+60u+w99l57n/2D/aO93z5gH7QP2YftbvuIfdQ+Zh+3T9g9
9km71z5l99mn7X77jH1Wfs/L70X5vWxfsa/a1+zr9g37pn3Lvm3/ZN+xf/b2lH3f21P2Q/kdsh/J
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
aXplIDI4OS9XWyAxIDQgMl0gL1Jvb3QgMSAwIFIvSW5mbyA0NyAwIFIvSURbPDE4QUFGRDUzNjNB
QjE1NDBCQzA4NzkwQzdGOEU2NTdFPjwxOEFBRkQ1MzYzQUIxNTQwQkMwODc5MEM3RjhFNjU3RT5d
IC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDYyND4+DQpzdHJlYW0NCnicNdVZUM5RGMfx/1sp
ZGvf98UWot5CSBGVfU2khCyFqFC0vKVklyzZKUu2JEuUfd+XspWMWzNcmHGRsUx5/8+Xc/F85sw8
Z86c5+L8FEW/Wls1+mqmKCpZUCcYmAtmVYJ5EETBH8EiTLAMge+C1TfBOg2KBRs/4AbbZMHOTrA3
hWrBoVxw9IFI+Co4aQVnb2gQXOoF1zzBLQOaBXdLqIAfgscnwVMneMUL3iWCltdqPwsBLUJ4ghCR
LcSGQroQlySkBOsHph9doPIG3sI7eA0m8K/zvf5cqvP/nQYMwBCMoA0YQ1toB+3BFDpAR+gEnaEL
2IA5mIElWIA1WIEtOIA92IErOIEjNIALOIMbuIMHeIIXeENX6AbdoQf0BB9ohF7QG/qAL/SFfuAH
/qCFABgGg6A/BMJAGABBEApDYDAMhWAIAR2Ew3AYAWHwAUbCWIiECBgNo2AMTIbxMA4mwgSYBDNg
KkyBaIiCaTAdEmAmxMAciIU4mAXxMBvmQhLMh3mwEBZAIqTCYlgEy2AJJMNSSIEMWA5psBJWQDrk
wGpYBVmQCdnwCgphDeRCE+RBAeTDWiiGzbAO1sMG2AiboAi2wFbYBntgJ2yHHVACu2A3HIJ9sBcO
wH44CMegFA7DESiDo1ABJ+E4lMMJOA2n4AxcgEo4C1VwDs7DNbgEF6EWquEyXIEauAp34SZchxtw
G27BHXgM9+EePIQH8AhewlN4As/hGbyAOqjX/+w5BIOuUUXT8lFoTYMiFQONjYphfoxQYAv+QmG0
ilFzmfDTV/ilE35nqhj7SVIa+5eqmNQkCrWSYyZfKqFJUf4CE03ICQ0KZW5kc3RyZWFtDQplbmRv
YmoNCnhyZWYNCjAgMjkwDQowMDAwMDAwMDQ4IDY1NTM1IGYNCjAwMDAwMDAwMTcgMDAwMDAgbg0K
MDAwMDAwMDEyNSAwMDAwMCBuDQowMDAwMDAwMjA5IDAwMDAwIG4NCjAwMDAwMDA1MzAgMDAwMDAg
bg0KMDAwMDAwNDUyOSAwMDAwMCBuDQowMDAwMDA0NjY3IDAwMDAwIG4NCjAwMDAwMDQ2OTUgMDAw
MDAgbg0KMDAwMDAwNDg2MCAwMDAwMCBuDQowMDAwMDA0OTMzIDAwMDAwIG4NCjAwMDAwMDUxODUg
MDAwMDAgbg0KMDAwMDAwNTM2MiAwMDAwMCBuDQowMDAwMDA1NjE1IDAwMDAwIG4NCjAwMDAwMDU3
NDggMDAwMDAgbg0KMDAwMDAwNTc3OCAwMDAwMCBuDQowMDAwMDA1OTM5IDAwMDAwIG4NCjAwMDAw
MDYwMTMgMDAwMDAgbg0KMDAwMDAwNjI1NSAwMDAwMCBuDQowMDAwMDA2NDI1IDAwMDAwIG4NCjAw
MDAwMDY2NjcgMDAwMDAgbg0KMDAwMDAwNjgzOCAwMDAwMCBuDQowMDAwMDA3MDc5IDAwMDAwIG4N
CjAwMDAwMDcyMTIgMDAwMDAgbg0KMDAwMDAwNzI0MiAwMDAwMCBuDQowMDAwMDA3NDAzIDAwMDAw
IG4NCjAwMDAwMDc0NzcgMDAwMDAgbg0KMDAwMDAwNzcxOCAwMDAwMCBuDQowMDAwMDA3ODk2IDAw
MDAwIG4NCjAwMDAwMDgxNDYgMDAwMDAgbg0KMDAwMDAwODMyMiAwMDAwMCBuDQowMDAwMDA4NTY5
IDAwMDAwIG4NCjAwMDAwMDg2OTQgMDAwMDAgbg0KMDAwMDAwODcyNCAwMDAwMCBuDQowMDAwMDA4
ODc3IDAwMDAwIG4NCjAwMDAwMDg5NTEgMDAwMDAgbg0KMDAwMDAwOTE4MiAwMDAwMCBuDQowMDAw
MDA5MzQ0IDAwMDAwIG4NCjAwMDAwMDk1NjkgMDAwMDAgbg0KMDAwMDAwOTg3OSAwMDAwMCBuDQow
MDAwMDEzNzQ1IDAwMDAwIG4NCjAwMDAwMTM3OTkgMDAwMDAgbg0KMDAwMDAxNDA3OCAwMDAwMCBu
DQowMDAwMDE4NTMzIDAwMDAwIG4NCjAwMDAwMTg4MTQgMDAwMDAgbg0KMDAwMDAyNDEzMCAwMDAw
MCBuDQowMDAwMDI0MTg0IDAwMDAwIG4NCjAwMDAwMjQ0MjcgMDAwMDAgbg0KMDAwMDAyOTI0NyAw
MDAwMCBuDQowMDAwMDAwMDQ5IDY1NTM1IGYNCjAwMDAwMDAwNTAgNjU1MzUgZg0KMDAwMDAwMDA1
MSA2NTUzNSBmDQowMDAwMDAwMDUyIDY1NTM1IGYNCjAwMDAwMDAwNTMgNjU1MzUgZg0KMDAwMDAw
MDA1NCA2NTUzNSBmDQowMDAwMDAwMDU1IDY1NTM1IGYNCjAwMDAwMDAwNTYgNjU1MzUgZg0KMDAw
MDAwMDA1NyA2NTUzNSBmDQowMDAwMDAwMDU4IDY1NTM1IGYNCjAwMDAwMDAwNTkgNjU1MzUgZg0K
MDAwMDAwMDA2MCA2NTUzNSBmDQowMDAwMDAwMDYxIDY1NTM1IGYNCjAwMDAwMDAwNjIgNjU1MzUg
Zg0KMDAwMDAwMDA2MyA2NTUzNSBmDQowMDAwMDAwMDY0IDY1NTM1IGYNCjAwMDAwMDAwNjUgNjU1
MzUgZg0KMDAwMDAwMDA2NiA2NTUzNSBmDQowMDAwMDAwMDY3IDY1NTM1IGYNCjAwMDAwMDAwNjgg
NjU1MzUgZg0KMDAwMDAwMDA2OSA2NTUzNSBmDQowMDAwMDAwMDcwIDY1NTM1IGYNCjAwMDAwMDAw
NzEgNjU1MzUgZg0KMDAwMDAwMDA3MiA2NTUzNSBmDQowMDAwMDAwMDczIDY1NTM1IGYNCjAwMDAw
MDAwNzQgNjU1MzUgZg0KMDAwMDAwMDA3NSA2NTUzNSBmDQowMDAwMDAwMDc2IDY1NTM1IGYNCjAw
MDAwMDAwNzcgNjU1MzUgZg0KMDAwMDAwMDA3OCA2NTUzNSBmDQowMDAwMDAwMDc5IDY1NTM1IGYN
CjAwMDAwMDAwODAgNjU1MzUgZg0KMDAwMDAwMDA4MSA2NTUzNSBmDQowMDAwMDAwMDgyIDY1NTM1
IGYNCjAwMDAwMDAwODMgNjU1MzUgZg0KMDAwMDAwMDA4NCA2NTUzNSBmDQowMDAwMDAwMDg1IDY1
NTM1IGYNCjAwMDAwMDAwODYgNjU1MzUgZg0KMDAwMDAwMDA4NyA2NTUzNSBmDQowMDAwMDAwMDg4
IDY1NTM1IGYNCjAwMDAwMDAwODkgNjU1MzUgZg0KMDAwMDAwMDA5MCA2NTUzNSBmDQowMDAwMDAw
MDkxIDY1NTM1IGYNCjAwMDAwMDAwOTIgNjU1MzUgZg0KMDAwMDAwMDA5MyA2NTUzNSBmDQowMDAw
MDAwMDk0IDY1NTM1IGYNCjAwMDAwMDAwOTUgNjU1MzUgZg0KMDAwMDAwMDA5NiA2NTUzNSBmDQow
MDAwMDAwMDk3IDY1NTM1IGYNCjAwMDAwMDAwOTggNjU1MzUgZg0KMDAwMDAwMDA5OSA2NTUzNSBm
DQowMDAwMDAwMTAwIDY1NTM1IGYNCjAwMDAwMDAxMDEgNjU1MzUgZg0KMDAwMDAwMDEwMiA2NTUz
NSBmDQowMDAwMDAwMTAzIDY1NTM1IGYNCjAwMDAwMDAxMDQgNjU1MzUgZg0KMDAwMDAwMDEwNSA2
NTUzNSBmDQowMDAwMDAwMTA2IDY1NTM1IGYNCjAwMDAwMDAxMDcgNjU1MzUgZg0KMDAwMDAwMDEw
OCA2NTUzNSBmDQowMDAwMDAwMTA5IDY1NTM1IGYNCjAwMDAwMDAxMTAgNjU1MzUgZg0KMDAwMDAw
MDExMSA2NTUzNSBmDQowMDAwMDAwMTEyIDY1NTM1IGYNCjAwMDAwMDAxMTMgNjU1MzUgZg0KMDAw
MDAwMDExNCA2NTUzNSBmDQowMDAwMDAwMTE1IDY1NTM1IGYNCjAwMDAwMDAxMTYgNjU1MzUgZg0K
MDAwMDAwMDExNyA2NTUzNSBmDQowMDAwMDAwMTE4IDY1NTM1IGYNCjAwMDAwMDAxMTkgNjU1MzUg
Zg0KMDAwMDAwMDEyMCA2NTUzNSBmDQowMDAwMDAwMTIxIDY1NTM1IGYNCjAwMDAwMDAxMjIgNjU1
MzUgZg0KMDAwMDAwMDEyMyA2NTUzNSBmDQowMDAwMDAwMTI0IDY1NTM1IGYNCjAwMDAwMDAxMjUg
NjU1MzUgZg0KMDAwMDAwMDEyNiA2NTUzNSBmDQowMDAwMDAwMTI3IDY1NTM1IGYNCjAwMDAwMDAx
MjggNjU1MzUgZg0KMDAwMDAwMDEyOSA2NTUzNSBmDQowMDAwMDAwMTMwIDY1NTM1IGYNCjAwMDAw
MDAxMzEgNjU1MzUgZg0KMDAwMDAwMDEzMiA2NTUzNSBmDQowMDAwMDAwMTMzIDY1NTM1IGYNCjAw
MDAwMDAxMzQgNjU1MzUgZg0KMDAwMDAwMDEzNSA2NTUzNSBmDQowMDAwMDAwMTM2IDY1NTM1IGYN
CjAwMDAwMDAxMzcgNjU1MzUgZg0KMDAwMDAwMDEzOCA2NTUzNSBmDQowMDAwMDAwMTM5IDY1NTM1
IGYNCjAwMDAwMDAxNDAgNjU1MzUgZg0KMDAwMDAwMDE0MSA2NTUzNSBmDQowMDAwMDAwMTQyIDY1
NTM1IGYNCjAwMDAwMDAxNDMgNjU1MzUgZg0KMDAwMDAwMDE0NCA2NTUzNSBmDQowMDAwMDAwMTQ1
IDY1NTM1IGYNCjAwMDAwMDAxNDYgNjU1MzUgZg0KMDAwMDAwMDE0NyA2NTUzNSBmDQowMDAwMDAw
MTQ4IDY1NTM1IGYNCjAwMDAwMDAxNDkgNjU1MzUgZg0KMDAwMDAwMDE1MCA2NTUzNSBmDQowMDAw
MDAwMTUxIDY1NTM1IGYNCjAwMDAwMDAxNTIgNjU1MzUgZg0KMDAwMDAwMDE1MyA2NTUzNSBmDQow
MDAwMDAwMTU0IDY1NTM1IGYNCjAwMDAwMDAxNTUgNjU1MzUgZg0KMDAwMDAwMDE1NiA2NTUzNSBm
DQowMDAwMDAwMTU3IDY1NTM1IGYNCjAwMDAwMDAxNTggNjU1MzUgZg0KMDAwMDAwMDE1OSA2NTUz
NSBmDQowMDAwMDAwMTYwIDY1NTM1IGYNCjAwMDAwMDAxNjEgNjU1MzUgZg0KMDAwMDAwMDE2MiA2
NTUzNSBmDQowMDAwMDAwMTYzIDY1NTM1IGYNCjAwMDAwMDAxNjQgNjU1MzUgZg0KMDAwMDAwMDE2
NSA2NTUzNSBmDQowMDAwMDAwMTY2IDY1NTM1IGYNCjAwMDAwMDAxNjcgNjU1MzUgZg0KMDAwMDAw
MDE2OCA2NTUzNSBmDQowMDAwMDAwMTY5IDY1NTM1IGYNCjAwMDAwMDAxNzAgNjU1MzUgZg0KMDAw
MDAwMDE3MSA2NTUzNSBmDQowMDAwMDAwMTcyIDY1NTM1IGYNCjAwMDAwMDAxNzMgNjU1MzUgZg0K
MDAwMDAwMDE3NCA2NTUzNSBmDQowMDAwMDAwMTc1IDY1NTM1IGYNCjAwMDAwMDAxNzYgNjU1MzUg
Zg0KMDAwMDAwMDE3NyA2NTUzNSBmDQowMDAwMDAwMTc4IDY1NTM1IGYNCjAwMDAwMDAxNzkgNjU1
MzUgZg0KMDAwMDAwMDE4MCA2NTUzNSBmDQowMDAwMDAwMTgxIDY1NTM1IGYNCjAwMDAwMDAxODIg
NjU1MzUgZg0KMDAwMDAwMDE4MyA2NTUzNSBmDQowMDAwMDAwMTg0IDY1NTM1IGYNCjAwMDAwMDAx
ODUgNjU1MzUgZg0KMDAwMDAwMDE4NiA2NTUzNSBmDQowMDAwMDAwMTg3IDY1NTM1IGYNCjAwMDAw
MDAxODggNjU1MzUgZg0KMDAwMDAwMDE4OSA2NTUzNSBmDQowMDAwMDAwMTkwIDY1NTM1IGYNCjAw
MDAwMDAxOTEgNjU1MzUgZg0KMDAwMDAwMDE5MiA2NTUzNSBmDQowMDAwMDAwMTkzIDY1NTM1IGYN
CjAwMDAwMDAxOTQgNjU1MzUgZg0KMDAwMDAwMDE5NSA2NTUzNSBmDQowMDAwMDAwMTk2IDY1NTM1
IGYNCjAwMDAwMDAxOTcgNjU1MzUgZg0KMDAwMDAwMDE5OCA2NTUzNSBmDQowMDAwMDAwMTk5IDY1
NTM1IGYNCjAwMDAwMDAyMDAgNjU1MzUgZg0KMDAwMDAwMDIwMSA2NTUzNSBmDQowMDAwMDAwMjAy
IDY1NTM1IGYNCjAwMDAwMDAyMDMgNjU1MzUgZg0KMDAwMDAwMDIwNCA2NTUzNSBmDQowMDAwMDAw
MjA1IDY1NTM1IGYNCjAwMDAwMDAyMDYgNjU1MzUgZg0KMDAwMDAwMDIwNyA2NTUzNSBmDQowMDAw
MDAwMjA4IDY1NTM1IGYNCjAwMDAwMDAyMDkgNjU1MzUgZg0KMDAwMDAwMDIxMCA2NTUzNSBmDQow
MDAwMDAwMjExIDY1NTM1IGYNCjAwMDAwMDAyMTIgNjU1MzUgZg0KMDAwMDAwMDIxMyA2NTUzNSBm
DQowMDAwMDAwMjE0IDY1NTM1IGYNCjAwMDAwMDAyMTUgNjU1MzUgZg0KMDAwMDAwMDIxNiA2NTUz
NSBmDQowMDAwMDAwMjE3IDY1NTM1IGYNCjAwMDAwMDAyMTggNjU1MzUgZg0KMDAwMDAwMDIxOSA2
NTUzNSBmDQowMDAwMDAwMjIwIDY1NTM1IGYNCjAwMDAwMDAyMjEgNjU1MzUgZg0KMDAwMDAwMDIy
MiA2NTUzNSBmDQowMDAwMDAwMjIzIDY1NTM1IGYNCjAwMDAwMDAyMjQgNjU1MzUgZg0KMDAwMDAw
MDIyNSA2NTUzNSBmDQowMDAwMDAwMjI2IDY1NTM1IGYNCjAwMDAwMDAyMjcgNjU1MzUgZg0KMDAw
MDAwMDIyOCA2NTUzNSBmDQowMDAwMDAwMjI5IDY1NTM1IGYNCjAwMDAwMDAyMzAgNjU1MzUgZg0K
MDAwMDAwMDIzMSA2NTUzNSBmDQowMDAwMDAwMjMyIDY1NTM1IGYNCjAwMDAwMDAyMzMgNjU1MzUg
Zg0KMDAwMDAwMDIzNCA2NTUzNSBmDQowMDAwMDAwMjM1IDY1NTM1IGYNCjAwMDAwMDAyMzYgNjU1
MzUgZg0KMDAwMDAwMDIzNyA2NTUzNSBmDQowMDAwMDAwMjM4IDY1NTM1IGYNCjAwMDAwMDAyMzkg
NjU1MzUgZg0KMDAwMDAwMDI0MCA2NTUzNSBmDQowMDAwMDAwMjQxIDY1NTM1IGYNCjAwMDAwMDAy
NDIgNjU1MzUgZg0KMDAwMDAwMDI0MyA2NTUzNSBmDQowMDAwMDAwMjQ0IDY1NTM1IGYNCjAwMDAw
MDAyNDUgNjU1MzUgZg0KMDAwMDAwMDI0NiA2NTUzNSBmDQowMDAwMDAwMjQ3IDY1NTM1IGYNCjAw
MDAwMDAyNDggNjU1MzUgZg0KMDAwMDAwMDI0OSA2NTUzNSBmDQowMDAwMDAwMjUwIDY1NTM1IGYN
CjAwMDAwMDAyNTEgNjU1MzUgZg0KMDAwMDAwMDI1MiA2NTUzNSBmDQowMDAwMDAwMjUzIDY1NTM1
IGYNCjAwMDAwMDAyNTQgNjU1MzUgZg0KMDAwMDAwMDI1NSA2NTUzNSBmDQowMDAwMDAwMjU2IDY1
NTM1IGYNCjAwMDAwMDAyNTcgNjU1MzUgZg0KMDAwMDAwMDI1OCA2NTUzNSBmDQowMDAwMDAwMjU5
IDY1NTM1IGYNCjAwMDAwMDAyNjAgNjU1MzUgZg0KMDAwMDAwMDI2MSA2NTUzNSBmDQowMDAwMDAw
MjYyIDY1NTM1IGYNCjAwMDAwMDAyNjMgNjU1MzUgZg0KMDAwMDAwMDI2NCA2NTUzNSBmDQowMDAw
MDAwMjY1IDY1NTM1IGYNCjAwMDAwMDAyNjYgNjU1MzUgZg0KMDAwMDAwMDI2NyA2NTUzNSBmDQow
MDAwMDAwMjY4IDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAzMjYxOSAwMDAwMCBu
DQowMDAwMDMyOTg1IDAwMDAwIG4NCjAwMDAxMzA3ODAgMDAwMDAgbg0KMDAwMDEzMDkzMiAwMDAw
MCBuDQowMDAwMTMwOTYwIDAwMDAwIG4NCjAwMDAxMzEzNTEgMDAwMDAgbg0KMDAwMDIzMDQ5MiAw
MDAwMCBuDQowMDAwMjMwNjgwIDAwMDAwIG4NCjAwMDAyMzA3MDggMDAwMDAgbg0KMDAwMDIzMTI1
NyAwMDAwMCBuDQowMDAwMzI1MjgyIDAwMDAwIG4NCjAwMDAzMjU5MzYgMDAwMDAgbg0KMDAwMDMy
NjI3MiAwMDAwMCBuDQowMDAwMzI2NTI0IDAwMDAwIG4NCjAwMDA0MDY0MzkgMDAwMDAgbg0KMDAw
MDQwNjY4OSAwMDAwMCBuDQowMDAwNTA2MjE4IDAwMDAwIG4NCjAwMDA1MDY1MTkgMDAwMDAgbg0K
MDAwMDUxODgzMSAwMDAwMCBuDQowMDAwNTE4ODc1IDAwMDAwIG4NCjAwMDA1MTg5MDMgMDAwMDAg
bg0KdHJhaWxlcg0KPDwvU2l6ZSAyOTAvUm9vdCAxIDAgUi9JbmZvIDQ3IDAgUi9JRFs8MThBQUZE
NTM2M0FCMTU0MEJDMDg3OTBDN0Y4RTY1N0U+PDE4QUFGRDUzNjNBQjE1NDBCQzA4NzkwQzdGOEU2
NTdFPl0gPj4NCnN0YXJ0eHJlZg0KNTE5NzMwDQolJUVPRg0KeHJlZg0KMCAwDQp0cmFpbGVyDQo8
PC9TaXplIDI5MC9Sb290IDEgMCBSL0luZm8gNDcgMCBSL0lEWzwxOEFBRkQ1MzYzQUIxNTQwQkMw
ODc5MEM3RjhFNjU3RT48MThBQUZENTM2M0FCMTU0MEJDMDg3OTBDN0Y4RTY1N0U+XSAvUHJldiA1
MTk3MzAvWFJlZlN0bSA1MTg5MDM+Pg0Kc3RhcnR4cmVmDQo1MjU2OTANCiUlRU9G

--_002_048EAD622912254A9DEA24C1734613C18C86D229FFFTLPMAILBOX02_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--_002_048EAD622912254A9DEA24C1734613C18C86D229FFFTLPMAILBOX02_--


From xen-users-bounces@lists.xen.org Wed Oct 17 13:03:09 2012
Return-path: <xen-users-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Oct 2012 13:03:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-users-bounces@lists.xen.org>)
	id 1TOTFw-000196-S6; Wed, 17 Oct 2012 13:01:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lili6955@126.com>) id 1TORa1-0005QV-SD
	for xen-users@lists.xen.org; Wed, 17 Oct 2012 11:14:31 +0000
Received: from [85.158.137.99:18333] by server-7.bemta-3.messagelabs.com id
	1E/E0-06991-4139E705; Wed, 17 Oct 2012 11:14:28 +0000
X-Env-Sender: lili6955@126.com
X-Msg-Ref: server-10.tower-217.messagelabs.com!1350472454!21812008!1
X-Originating-IP: [220.181.15.34]
X-SpamReason: No, hits=0.9 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiAyMjAuMTgxLjE1LjM0ID0+IDQ1Njg=\n,sa_preprocessor: 
	QmFkIElQOiAyMjAuMTgxLjE1LjM0ID0+IDQ1Njg=\n,HTML_20_30,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10038 invoked from network); 17 Oct 2012 11:14:16 -0000
Received: from m15-34.126.com (HELO m15-34.126.com) (220.181.15.34)
	by server-10.tower-217.messagelabs.com with SMTP;
	17 Oct 2012 11:14:16 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com;
	s=s110527; h=Received:Date:From:To:Subject:Content-Type:
	MIME-Version:Message-ID; bh=PRSM2XQfrSwSguzA+ojFJOyjQcw5ug8zsN4f
	FajXvac=; b=cIZYO00SKtrx544Dv0fCWKjqSjJEOmrW2d7W8dKPmZQc9xyiX28P
	5UKJCo7KDeMWW+rRKMlG3v2jv/Q//VNelvtog0NQiy+s3KUpsSZHwnAoU5bV38PT
	VXVjJUhktoaSXzNgMo5jk7VP3LPDRd4CuaQFaW8OnoxMnaFjbne3TAA=
Received: from lili6955$126.com ( [211.147.222.195] ) by
	ajax-webmail-wmsvr34 (Coremail) ; Wed, 17 Oct 2012 19:14:12 +0800 (CST)
X-Originating-IP: [211.147.222.195]
Date: Wed, 17 Oct 2012 19:14:12 +0800 (CST)
From: =?GBK?B?wO7Bog==?= <lili6955@126.com>
To: xen-users@lists.xen.org
X-Priority: 3
X-Mailer: Coremail Webmail Server Version SP_ntes V3.5 build
	20120914(19817.4926.4909) Copyright (c) 2002-2012 www.mailtech.cn
	126com
X-CM-CTRLDATA: vARjoWZvb3Rlcl9odG09MjEyMzY6ODE=
Content-Type: multipart/mixed; 
	boundary="----=_Part_8334202_207369620.1350472452953"
MIME-Version: 1.0
Message-ID: <48f2fe1f.220148.13a6e6e4b5a.Coremail.lili6955@126.com>
X-CM-TRANSID: IsqowEC5DUQFk35QywEwAA--.3940W
X-CM-SenderInfo: poloxlqzvvqiyswou0bp/1tbiGBhLGkl1vWowKgAAsg
X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU==
X-Mailman-Approved-At: Wed, 17 Oct 2012 13:01:50 +0000
Subject: [Xen-users] vhd format support failed  on suse11 x86_64 sp2
X-BeenThere: xen-users@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen user discussion <xen-users.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-users>,
	<mailto:xen-users-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-users@lists.xen.org>
List-Help: <mailto:xen-users-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-users>,
	<mailto:xen-users-request@lists.xen.org?subject=subscribe>
Sender: xen-users-bounces@lists.xen.org
Errors-To: xen-users-bounces@lists.xen.org

------=_Part_8334202_207369620.1350472452953
Content-Type: multipart/alternative; 
	boundary="----=_Part_8334204_306851553.1350472452953"

------=_Part_8334204_306851553.1350472452953
Content-Type: text/plain; charset=GBK
Content-Transfer-Encoding: 7bit


Hi all,
   I had met with a question about vhd format when i install xen 4.2.0 source code on suse11_x86_64_sp2.
execute steps:
   1)Install fully suse 11 sp2 to host pc
   2)Boot from Xen kernel menu
   3)Download xen 4.2.0 source code from  http://xen.org/download/index_4.2.0.html
   4)Download bin86-0.16.19.tar.gz cmake-2.8.9.tar.gz Dev86src-0.16.19.tar.gz         gettext-0.18.1.1.tar.gz glib-2.32.4.tar.xz libffi-3.0.9.tar.gz
lloyd-yajl-2.0.1-0- gf4b2b1a.tar.gz openssl-1.0.1c.tar.gz util-linux-2.22.tar.gz uuid-1.6.2.tar.gz xz-5.0.4.tar.gz zlib-1.2.7.tar.bz2 python-devel-2.6.0-8.6.x86_64.rpm  for building xen 4.2.0
   5)#rpm -e xen-libs-4.1.2_14-0.5.5
     #rpm -e xen-tools-4.1.2_14-0.5.5
     #rpm -e xen-libs-32bits-4.1.2_14-0.5.5 --nodeps
   6)install  git tools to update xen 4.2.0 source
   7)# make world
     # make install
   8)# /etc/init.d/xencommons  start
     # /etc/init.d/xend  start
     #modprobe blktap2
     #modprobe blktap
   9)localhost:~/work/test # vhd-util create -n vdisk.vhd  -s 10240MB
   10)modfiy  /etc/xen/xmexample.hvm
          see accessoriy file xmexample.hvm
   11)localhost:~/work/test # xm list
 Name                                        ID   Mem VCPUs      State   Time(s)
 Domain-0                                     0  1773     4     r-----  16853.0
   12)xm info
     host                   : localhost
release                : 3.0.13-0.27-xen
version                : #1 SMP Wed Feb 15 13:33:49 UTC 2012 (d73692b)
machine                : x86_64
nr_cpus                : 4
nr_nodes               : 1
cores_per_socket       : 4
threads_per_core       : 1
cpu_mhz                : 3093
hw_caps                : bfebfbff:28100800:00000000:00003f40:17bae3ff:00000000:00000001:00000000
virt_caps              : hvm hvm_directio
total_memory           : 1959
free_memory            : 149
free_cpus              : 0
xen_major              : 4
xen_minor              : 2
xen_extra              : .0
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : unavailable
xen_commandline        :
cc_compiler            : gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973]
cc_compile_by          : root
cc_compile_domain      :
cc_compile_date        : Thu Oct 25 10:59:12 EDT 2012
xend_config_format     : 4
   13)xm create -c  /etc/xen/xmexample.hvm
   14)localhost:~/work/test # vncviewer 127.0.0.1:0
 
   see accessory  IMAG0160.jpg
 
/var/log/xen/xend.log:
   [2012-10-25 17:50:39 6523] DEBUG (XendDomainInfo:103) XendDomainInfo.create(['vm', ['name', 'Windows'], ['memory', 128], ['on_xend_start', 'ignore'], ['on_xend_stop', 'ignore'], ['vcpus', 1], ['oos', 1], ['image', ['hvm', ['kernel', 'hvmloader'], ['videoram', 4], ['serial', 'pty'], ['acpi', 1], ['apic', 1], ['boot', 'c'], ['cpuid', []], ['cpuid_check', []], ['device_model', 'qemu-dm'], ['display', ':0.0'], ['fda', ''], ['fdb', ''], ['guest_os_type', 'default'], ['hap', 1], ['hpet', 0], ['isa', 0], ['keymap', ''], ['localtime', 0], ['nestedhvm', 0], ['nographic', 0], ['opengl', 1], ['oos', 1], ['pae', 1], ['pci', []], ['pci_msitranslate', 1], ['pci_power_mgmt', 0], ['rtc_timeoffset', 0], ['sdl', 0], ['soundhw', ''], ['stdvga', 0], ['timer_mode', 1], ['usb', 0], ['usbdevice', ''], ['vcpus', 1], ['vnc', 1], ['vncunused', 1], ['viridian', 0], ['vpt_align', 1], ['xauthority', '/var/run/gdm/auth-for-root-aeJHqG/database'], ['xen_platform_pci', 1], ['memory_sharing', 0], ['vncpasswd', 'XXXXXXXX'], ['tsc_mode', 0], ['nomigrate', 0]]], ['s3_integrity', 1], ['device', ['tap2', ['uname', 'tap2:tapdisk:aio:/root/work/test/vdisk.vhd'], ['dev', 'xvda'], ['mode', 'w']]], ['device', ['tap', ['uname', 'tap:tapdisk:aio:/root/work/test/windows.iso'], ['dev', 'xvdb'], ['mode', 'r']]], ['device', ['vif', ['bridge', 'br0'], ['type', 'ioemu']]]])
[2012-10-25 17:50:39 6523] DEBUG (XendDomainInfo:2501) XendDomainInfo.constructDomain
[2012-10-25 17:50:39 6523] DEBUG (balloon:187) Balloon: 153496 KiB free; need 16384; done.
[2012-10-25 17:50:39 6523] DEBUG (XendDomain:476) Adding Domain: 5
[2012-10-25 17:50:39 6523] DEBUG (XendDomainInfo:2844) XendDomainInfo.initDomain: 5 256
[2012-10-25 17:50:39 6523] DEBUG (image:339) No VNC passwd configured for vfb access
[2012-10-25 17:50:39 6523] DEBUG (image:891) args: boot, val: c
[2012-10-25 17:50:39 6523] DEBUG (image:891) args: fda, val: None
[2012-10-25 17:50:39 6523] DEBUG (image:891) args: fdb, val: None
[2012-10-25 17:50:39 6523] DEBUG (image:891) args: soundhw, val: None
[2012-10-25 17:50:39 6523] DEBUG (image:891) args: localtime, val: 0
[2012-10-25 17:50:39 6523] DEBUG (image:891) args: serial, val: ['pty']
[2012-10-25 17:50:39 6523] DEBUG (image:891) args: std-vga, val: 0
[2012-10-25 17:50:39 6523] DEBUG (image:891) args: isa, val: 0
[2012-10-25 17:50:39 6523] DEBUG (image:891) args: acpi, val: 1
[2012-10-25 17:50:39 6523] DEBUG (image:891) args: usb, val: 0
[2012-10-25 17:50:39 6523] DEBUG (image:891) args: usbdevice, val: None
[2012-10-25 17:50:39 6523] DEBUG (image:891) args: gfx_passthru, val: None
[2012-10-25 17:50:39 6523] INFO (image:822) Need to create platform device.[domid:5]
[2012-10-25 17:50:39 6523] DEBUG (XendDomainInfo:2871) _initDomain:shadow_memory=0x0, memory_static_max=0x8000000, memory_static_min=0x0.
[2012-10-25 17:50:39 6523] INFO (image:182) buildDomain os=hvm dom=5 vcpus=1
[2012-10-25 17:50:39 6523] DEBUG (image:950) domid          = 5
[2012-10-25 17:50:39 6523] DEBUG (image:951) image          = /usr/lib/xen/boot/hvmloader
[2012-10-25 17:50:39 6523] DEBUG (image:952) store_evtchn   = 3
[2012-10-25 17:50:39 6523] DEBUG (image:953) memsize        = 128
[2012-10-25 17:50:39 6523] DEBUG (image:954) target         = 128
[2012-10-25 17:50:39 6523] DEBUG (image:955) vcpus          = 1
[2012-10-25 17:50:39 6523] DEBUG (image:956) vcpu_avail     = 1
[2012-10-25 17:50:39 6523] DEBUG (image:957) acpi           = 1
[2012-10-25 17:50:39 6523] DEBUG (image:958) apic           = 1
[2012-10-25 17:50:39 6523] INFO (XendDomainInfo:2350) 12345 _createDevices
[2012-10-25 17:50:39 6523] INFO (XendDomainInfo:2360) createDevice: vfb : {'vncunused': 1, 'other_config': {'vncunused': 1, 'vnc': '1'}, 'vnc': '1', 'uuid': '3441d0c2-271f-2dbb-3a39-601517ed91ef'}
[2012-10-25 17:50:39 6523] DEBUG (DevController:63) 12345 DevController:createDevice
[2012-10-25 17:50:39 6523] DEBUG (DevController:96) DevController: writing {'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/vfb/5/0'} to /local/domain/5/device/vfb/0.
[2012-10-25 17:50:39 6523] DEBUG (DevController:98) DevController: writing {'vncunused': '1', 'domain': 'Windows', 'frontend': '/local/domain/5/device/vfb/0', 'uuid': '3441d0c2-271f-2dbb-3a39-601517ed91ef', 'frontend-id': '5', 'state': '1', 'online': '1', 'vnc': '1'} to /local/domain/0/backend/vfb/5/0.
[2012-10-25 17:50:39 6523] INFO (XendDomainInfo:2360) createDevice: tap2 : {'bootable': 1, 'uname': 'tap2:tapdisk:aio:/root/work/test/vdisk.vhd', 'mode': 'w', 'dev': 'xvda', 'uuid': '7ab43f67-5cdc-9e14-5223-3ba2e6da4f47'}
[2012-10-25 17:50:39 6523] DEBUG (DevController:63) 12345 DevController:createDevice
[2012-10-25 17:50:39 6523] DEBUG (DevController:96) DevController: writing {'backend-id': '0', 'virtual-device': '51712', 'device-type': 'disk', 'state': '1', 'backend': '/local/domain/0/backend/vbd/5/51712'} to /local/domain/5/device/vbd/51712.
[2012-10-25 17:50:39 6523] DEBUG (DevController:98) DevController: writing {'domain': 'Windows', 'frontend': '/local/domain/5/device/vbd/51712', 'uuid': '7ab43f67-5cdc-9e14-5223-3ba2e6da4f47', 'bootable': '1', 'dev': 'xvda', 'state': '1', 'params': '/dev/xen/blktap-2/tapdev0', 'mode': 'w', 'online': '1', 'frontend-id': '5', 'type': 'phy', 'tapdisk-params': 'tapdisk:aio:/root/work/test/vdisk.vhd'} to /local/domain/0/backend/vbd/5/51712.
[2012-10-25 17:50:40 6523] INFO (XendDomainInfo:2360) createDevice: tap : {'bootable': 0, 'uname': 'tap:tapdisk:aio:/root/work/test/windows.iso', 'mode': 'r', 'dev': 'xvdb', 'uuid': '36e83db7-f935-d0e2-f89e-c3da5007666a'}
[2012-10-25 17:50:40 6523] DEBUG (DevController:63) 12345 DevController:createDevice
[2012-10-25 17:50:40 6523] DEBUG (DevController:96) DevController: writing {'backend-id': '0', 'virtual-device': '51728', 'device-type': 'disk', 'state': '1', 'backend': '/local/domain/0/backend/tap/5/51728'} to /local/domain/5/device/vbd/51728.
[2012-10-25 17:50:40 6523] DEBUG (DevController:98) DevController: writing {'domain': 'Windows', 'frontend': '/local/domain/5/device/vbd/51728', 'uuid': '36e83db7-f935-d0e2-f89e-c3da5007666a', 'bootable': '0', 'dev': 'xvdb', 'state': '1', 'params': 'tapdisk:aio:/root/work/test/windows.iso', 'mode': 'r', 'online': '1', 'frontend-id': '5', 'type': 'tap'} to /local/domain/0/backend/tap/5/51728.
[2012-10-25 17:50:40 6523] INFO (XendDomainInfo:2360) createDevice: vif : {'bridge': 'br0', 'mac': '00:16:3e:6d:78:c5', 'type': 'ioemu', 'uuid': 'b3ac119a-e271-1b75-4145-0222bd4dc8c8'}
[2012-10-25 17:50:40 6523] DEBUG (DevController:63) 12345 DevController:createDevice
[2012-10-25 17:50:40 6523] DEBUG (DevController:96) DevController: writing {'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/vif/5/0'} to /local/domain/5/device/vif/0.
[2012-10-25 17:50:40 6523] DEBUG (DevController:98) DevController: writing {'bridge': 'br0', 'domain': 'Windows', 'handle': '0', 'uuid': 'b3ac119a-e271-1b75-4145-0222bd4dc8c8', 'script': '/etc/xen/scripts/vif-bridge', 'mac': '00:16:3e:6d:78:c5', 'frontend-id': '5', 'state': '1', 'online': '1', 'frontend': '/local/domain/5/device/vif/0', 'type': 'ioemu'} to /local/domain/0/backend/vif/5/0.
[2012-10-25 17:50:40 6523] INFO (image:418) spawning device models: /usr/lib/xen/bin/qemu-dm ['/usr/lib/xen/bin/qemu-dm', '-d', '5', '-domain-name', 'Windows', '-videoram', '4', '-vnc', '127.0.0.1:0', '-vncunused', '-vcpus', '1', '-vcpu_avail', '0x1', '-boot', 'c', '-serial', 'pty', '-acpi', '-net', 'nic,vlan=1,macaddr=00:16:3e:6d:78:c5,model=rtl8139', '-net', 'tap,vlan=1,ifname=vif5.0-emu,bridge=br0,script=no,downscript=no', '-M', 'xenfv']
[2012-10-25 17:50:40 6523] INFO (image:467) device model pid: 28014
[2012-10-25 17:50:40 6523] INFO (image:590) waiting for sentinel_fifo
[2012-10-25 17:50:40 6523] DEBUG (XendDomainInfo:3428) Storing VM details: {'on_xend_stop': 'ignore', 'pool_name': 'Pool-0', 'shadow_memory': '2', 'uuid': '35a5c3a2-5261-fd1e-94ef-710c70ca2a62', 'on_reboot': 'restart', 'start_time': '1351201840.05', 'on_poweroff': 'destroy', 'bootloader_args': '', 'on_xend_start': 'ignore', 'on_crash': 'restart', 'xend/restart_count': '0', 'vcpus': '1', 'vcpu_avail': '1', 'bootloader': '', 'image': "(hvm (kernel '') (superpages 0) (videoram 4) (hpet 0) (stdvga 0) (loader /usr/lib/xen/boot/hvmloader) (xen_platform_pci 1) (opengl 1) (nestedhvm 0) (rtc_timeoffset 0) (pci ()) (hap 1) (localtime 0) (timer_mode 1) (pci_msitranslate 1) (oos 1) (apic 1) (sdl 0) (display :0.0) (vpt_align 1) (serial pty) (vncunused 1) (boot c) (pae 1) (viridian 0) (acpi 1) (vnc 1) (nographic 0) (nomigrate 0) (usb 0) (tsc_mode 0) (guest_os_type default) (device_model /usr/lib/xen/bin/qemu-dm) (pci_power_mgmt 0) (xauthority /var/run/gdm/auth-for-root-aeJHqG/database) (isa 0) (notes (SUSPEND_CANCEL 1)))", 'name': 'Windows'}
[2012-10-25 17:50:40 6523] DEBUG (XendDomainInfo:1796) Storing domain details: {'console/port': '4', 'description': '', 'console/limit': '1048576', 'vm': '/vm/35a5c3a2-5261-fd1e-94ef-710c70ca2a62', 'domid': '5', 'store/port': '3', 'console/type': 'ioemu', 'cpu/0/availability': 'online', 'memory/target': '131072', 'control/platform-feature-multiprocessor-suspend': '1', 'store/ring-ref': '1044476', 'control/platform-feature-xs_reset_watches': '1', 'image/suspend-cancel': '1', 'name': 'Windows'}
[2012-10-25 17:50:40 6523] DEBUG (DevController:63) 12345 DevController:createDevice
[2012-10-25 17:50:40 6523] DEBUG (DevController:96) DevController: writing {'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/console/5/0'} to /local/domain/5/device/console/0.
[2012-10-25 17:50:40 6523] DEBUG (DevController:98) DevController: writing {'domain': 'Windows', 'frontend': '/local/domain/5/device/console/0', 'uuid': 'c112b1a4-a8fd-f0aa-7ebc-01ef41df0d51', 'frontend-id': '5', 'state': '1', 'location': '4', 'online': '1', 'protocol': 'vt100'} to /local/domain/0/backend/console/5/0.
[2012-10-25 17:50:40 6523] DEBUG (XendDomainInfo:1883) XendDomainInfo.handleShutdownWatch
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices tap2.
[2012-10-25 17:50:40 6523] DEBUG (DevController:145) Waiting for 51712.
[2012-10-25 17:50:40 6523] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/5/51712/hotplug-status.
[2012-10-25 17:50:40 6523] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/5/51712/hotplug-status.
[2012-10-25 17:50:40 6523] DEBUG (DevController:643) hotplugStatusCallback 1.
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vif.
[2012-10-25 17:50:40 6523] DEBUG (DevController:145) Waiting for 0.
[2012-10-25 17:50:40 6523] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vif/5/0/hotplug-status.
[2012-10-25 17:50:40 6523] DEBUG (DevController:643) hotplugStatusCallback 1.
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vkbd.
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices ioports.
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices tap.
[2012-10-25 17:50:40 6523] DEBUG (DevController:145) Waiting for 51728.
[2012-10-25 17:50:40 6523] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/tap/5/51728/hotplug-status.
[2012-10-25 17:50:40 6523] DEBUG (DevController:643) hotplugStatusCallback 1.
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vif2.
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices console.
[2012-10-25 17:50:40 6523] DEBUG (DevController:145) Waiting for 0.
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vscsi.
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vbd.
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices irq.
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vfb.
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices pci.
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vusb.
[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vtpm.
[2012-10-25 17:50:40 6523] INFO (XendDomain:1225) Domain Windows (5) unpaused.
[2012-10-25 17:50:40 6523] WARNING (XendDomainInfo:581) Could not unpause blktap disk: ('unpause', '-p27922', '-m0') failed (5632  )
[2012-10-25 17:51:56 6523] INFO (XendDomainInfo:2080) Domain has shutdown: name=Windows id=5 reason=poweroff.
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:3079) XendDomainInfo.destroy: domid=5
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2404) Destroying device model
[2012-10-25 17:51:56 6523] INFO (image:615) Windows device model terminated
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2411) Releasing devices
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing tap2/51712
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = tap2, device = tap2/51712
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing vif/0
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = vif, device = vif/0
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing tap/51728
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = tap, device = tap/51728
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing console/0
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = console, device = console/0
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing vfb/0
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = vfb, device = vfb/0
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2409) No device model
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2411) Releasing devices
[2012-10-25 17:51:56 6523] DEBUG (DevController:650) deviceDestroyCallback /local/domain/0/backend/vbd/5/51712/hotplug-status.
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing tap2/51712
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = tap2, device = tap2/51712
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing vif/0
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = vif, device = vif/0
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing tap/51728
[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = tap, device = tap/51728
[2012-10-25 17:51:56 6523] DEBUG (DevController:650) deviceDestroyCallback /local/domain/0/backend/vbd/5/51712/hotplug-status.
[2012-10-25 17:51:56 6523] DEBUG (DevController:659) deviceDestroyCallback 6.
------=_Part_8334204_306851553.1350472452953
Content-Type: text/html; charset=GBK
Content-Transfer-Encoding: 7bit

<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><DIV style="FONT-SIZE: 14px; COLOR: #000000; LINE-HEIGHT: 1.7; FONT-FAMILY: arial">
<DIV><BR>Hi all,</DIV>
<DIV>&nbsp;&nbsp; I had met with a question about vhd format when i install xen 4.2.0 source code on suse11_x86_64_sp2.</DIV>
<DIV>execute steps:</DIV>
<DIV>&nbsp;&nbsp; 1)Install fully suse 11 sp2 to host pc</DIV>
<DIV>&nbsp;&nbsp; 2)Boot from Xen kernel menu</DIV>
<DIV>&nbsp;&nbsp; 3)Download xen 4.2.0 source code from&nbsp; <A href="http://xen.org/download/index_4.2.0.html">http://xen.org/download/index_4.2.0.html</A></DIV>
<DIV>&nbsp;&nbsp; 4)Download bin86-0.16.19.tar.gz cmake-2.8.9.tar.gz Dev86src-0.16.19.tar.gz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;gettext-0.18.1.1.tar.gz glib-2.32.4.tar.xz libffi-3.0.9.tar.gz <BR>lloyd-yajl-2.0.1-0- gf4b2b1a.tar.gz openssl-1.0.1c.tar.gz util-linux-2.22.tar.gz uuid-1.6.2.tar.gz xz-5.0.4.tar.gz zlib-1.2.7.tar.bz2 python-devel-2.6.0-8.6.x86_64.rpm&nbsp; for building xen 4.2.0</DIV>
<DIV>&nbsp;&nbsp; 5)#rpm -e xen-libs-4.1.2_14-0.5.5<BR>&nbsp;&nbsp;&nbsp;&nbsp; #rpm -e xen-tools-4.1.2_14-0.5.5<BR>&nbsp;&nbsp;&nbsp;&nbsp; #rpm -e xen-libs-32bits-4.1.2_14-0.5.5 --nodeps</DIV>
<DIV>&nbsp;&nbsp; 6)install&nbsp; git tools to update xen 4.2.0 source</DIV>
<DIV>&nbsp;&nbsp; 7)# make world <BR>&nbsp;&nbsp;&nbsp;&nbsp; # make install</DIV>
<DIV>&nbsp;&nbsp; 8)# /etc/init.d/xencommons&nbsp; start<BR>&nbsp;&nbsp;&nbsp;&nbsp; # /etc/init.d/xend&nbsp; start<BR>&nbsp;&nbsp;&nbsp;&nbsp; #modprobe blktap2<BR>&nbsp;&nbsp;&nbsp;&nbsp; #modprobe blktap<BR>&nbsp;&nbsp; 9)localhost:~/work/test # vhd-util create -n vdisk.vhd&nbsp; -s 10240MB</DIV>
<DIV>&nbsp;&nbsp; 10)modfiy&nbsp; /etc/xen/xmexample.hvm </DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #ff0000">see accessoriy file xmexample.hvm<BR></SPAN>&nbsp;&nbsp; 11)localhost:~/work/test # xm list<BR>&nbsp;Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ID&nbsp;&nbsp; Mem VCPUs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; State&nbsp;&nbsp; Time(s)<BR>&nbsp;Domain-0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp; 1773&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp; r-----&nbsp; 16853.0<BR>&nbsp;&nbsp; 12)xm info<BR>&nbsp;&nbsp;&nbsp;&nbsp; host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : localhost<BR>release&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 3.0.13-0.27-xen<BR>version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : #1 SMP Wed Feb 15 13:33:49 UTC 2012 (d73692b)<BR>machine&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : x86_64<BR>nr_cpus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 4<BR>nr_nodes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 1<BR>cores_per_socket&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 4<BR>threads_per_core&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 1<BR>cpu_mhz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 3093<BR>hw_caps&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : bfebfbff:28100800:00000000:00003f40:17bae3ff:00000000:00000001:00000000<BR>virt_caps&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : hvm hvm_directio<BR>total_memory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 1959<BR>free_memory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 149<BR>free_cpus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 0<BR>xen_major&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 4<BR>xen_minor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 2<BR>xen_extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : .0<BR>xen_caps&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 <BR>xen_scheduler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : credit<BR>xen_pagesize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 4096<BR>platform_params&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : virt_start=0xffff800000000000<BR>xen_changeset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : unavailable<BR>xen_commandline&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <BR>cc_compiler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973]<BR>cc_compile_by&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : root<BR>cc_compile_domain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <BR>cc_compile_date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Thu Oct 25 10:59:12 EDT 2012<BR>xend_config_format&nbsp;&nbsp;&nbsp;&nbsp; : 4</DIV>
<DIV>&nbsp;&nbsp; 13)xm create -c&nbsp; /etc/xen/xmexample.hvm</DIV>
<DIV style="COLOR: #ff0000">&nbsp;&nbsp; 14)localhost:~/work/test # vncviewer 127.0.0.1:0</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp; see accessory&nbsp; IMAG0160.jpg</DIV>
<DIV>&nbsp;</DIV>
<DIV>/var/log/xen/xend.log:<BR>&nbsp;&nbsp; [2012-10-25 17:50:39 6523] DEBUG (XendDomainInfo:103) XendDomainInfo.create(['vm', ['name', 'Windows'], ['memory', 128], ['on_xend_start', 'ignore'], ['on_xend_stop', 'ignore'], ['vcpus', 1], ['oos', 1], ['image', ['hvm', ['kernel', 'hvmloader'], ['videoram', 4], ['serial', 'pty'], ['acpi', 1], ['apic', 1], ['boot', 'c'], ['cpuid', []], ['cpuid_check', []], ['device_model', 'qemu-dm'], ['display', ':0.0'], ['fda', ''], ['fdb', ''], ['guest_os_type', 'default'], ['hap', 1], ['hpet', 0], ['isa', 0], ['keymap', ''], ['localtime', 0], ['nestedhvm', 0], ['nographic', 0], ['opengl', 1], ['oos', 1], ['pae', 1], ['pci', []], ['pci_msitranslate', 1], ['pci_power_mgmt', 0], ['rtc_timeoffset', 0], ['sdl', 0], ['soundhw', ''], ['stdvga', 0], ['timer_mode', 1], ['usb', 0], ['usbdevice', ''], ['vcpus', 1], ['vnc', 1], ['vncunused', 1], ['viridian', 0], ['vpt_align', 1], ['xauthority', '/var/run/gdm/auth-for-root-aeJHqG/database'], ['xen_platform_pci', 1], ['memory_sharing', 0], ['vncpasswd', 'XXXXXXXX'], ['tsc_mode', 0], ['nomigrate', 0]]], ['s3_integrity', 1], ['device', ['tap2', ['uname', 'tap2:tapdisk:aio:/root/work/test/vdisk.vhd'], ['dev', 'xvda'], ['mode', 'w']]], ['device', ['tap', ['uname', 'tap:tapdisk:aio:/root/work/test/windows.iso'], ['dev', 'xvdb'], ['mode', 'r']]], ['device', ['vif', ['bridge', 'br0'], ['type', 'ioemu']]]])<BR>[2012-10-25 17:50:39 6523] DEBUG (XendDomainInfo:2501) XendDomainInfo.constructDomain<BR>[2012-10-25 17:50:39 6523] DEBUG (balloon:187) Balloon: 153496 KiB free; need 16384; done.<BR>[2012-10-25 17:50:39 6523] DEBUG (XendDomain:476) Adding Domain: 5<BR>[2012-10-25 17:50:39 6523] DEBUG (XendDomainInfo:2844) XendDomainInfo.initDomain: 5 256<BR>[2012-10-25 17:50:39 6523] DEBUG (image:339) No VNC passwd configured for vfb access<BR>[2012-10-25 17:50:39 6523] DEBUG (image:891) args: boot, val: c<BR>[2012-10-25 17:50:39 6523] DEBUG (image:891) args: fda, val: None<BR>[2012-10-25 17:50:39 6523] DEBUG (image:891) args: fdb, val: None<BR>[2012-10-25 17:50:39 6523] DEBUG (image:891) args: soundhw, val: None<BR>[2012-10-25 17:50:39 6523] DEBUG (image:891) args: localtime, val: 0<BR>[2012-10-25 17:50:39 6523] DEBUG (image:891) args: serial, val: ['pty']<BR>[2012-10-25 17:50:39 6523] DEBUG (image:891) args: std-vga, val: 0<BR>[2012-10-25 17:50:39 6523] DEBUG (image:891) args: isa, val: 0<BR>[2012-10-25 17:50:39 6523] DEBUG (image:891) args: acpi, val: 1<BR>[2012-10-25 17:50:39 6523] DEBUG (image:891) args: usb, val: 0<BR>[2012-10-25 17:50:39 6523] DEBUG (image:891) args: usbdevice, val: None<BR>[2012-10-25 17:50:39 6523] DEBUG (image:891) args: gfx_passthru, val: None<BR>[2012-10-25 17:50:39 6523] INFO (image:822) Need to create platform device.[domid:5]<BR>[2012-10-25 17:50:39 6523] DEBUG (XendDomainInfo:2871) _initDomain:shadow_memory=0x0, memory_static_max=0x8000000, memory_static_min=0x0.<BR>[2012-10-25 17:50:39 6523] INFO (image:182) buildDomain os=hvm dom=5 vcpus=1<BR>[2012-10-25 17:50:39 6523] DEBUG (image:950) domid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 5<BR>[2012-10-25 17:50:39 6523] DEBUG (image:951) image&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = /usr/lib/xen/boot/hvmloader<BR>[2012-10-25 17:50:39 6523] DEBUG (image:952) store_evtchn&nbsp;&nbsp; = 3<BR>[2012-10-25 17:50:39 6523] DEBUG (image:953) memsize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 128<BR>[2012-10-25 17:50:39 6523] DEBUG (image:954) target&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 128<BR>[2012-10-25 17:50:39 6523] DEBUG (image:955) vcpus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 1<BR>[2012-10-25 17:50:39 6523] DEBUG (image:956) vcpu_avail&nbsp;&nbsp;&nbsp;&nbsp; = 1<BR>[2012-10-25 17:50:39 6523] DEBUG (image:957) acpi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 1<BR>[2012-10-25 17:50:39 6523] DEBUG (image:958) apic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 1<BR>[2012-10-25 17:50:39 6523] INFO (XendDomainInfo:2350) 12345 _createDevices<BR>[2012-10-25 17:50:39 6523] INFO (XendDomainInfo:2360) createDevice: vfb : {'vncunused': 1, 'other_config': {'vncunused': 1, 'vnc': '1'}, 'vnc': '1', 'uuid': '3441d0c2-271f-2dbb-3a39-601517ed91ef'}<BR>[2012-10-25 17:50:39 6523] DEBUG (DevController:63) 12345 DevController:createDevice</DIV>
<DIV>[2012-10-25 17:50:39 6523] DEBUG (DevController:96) DevController: writing {'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/vfb/5/0'} to /local/domain/5/device/vfb/0.<BR>[2012-10-25 17:50:39 6523] DEBUG (DevController:98) DevController: writing {'vncunused': '1', 'domain': 'Windows', 'frontend': '/local/domain/5/device/vfb/0', 'uuid': '3441d0c2-271f-2dbb-3a39-601517ed91ef', 'frontend-id': '5', 'state': '1', 'online': '1', 'vnc': '1'} to /local/domain/0/backend/vfb/5/0.<BR>[2012-10-25 17:50:39 6523] INFO (XendDomainInfo:2360) createDevice: tap2 : {'bootable': 1, 'uname': 'tap2:tapdisk:aio:/root/work/test/vdisk.vhd', 'mode': 'w', 'dev': 'xvda', 'uuid': '7ab43f67-5cdc-9e14-5223-3ba2e6da4f47'}<BR>[2012-10-25 17:50:39 6523] DEBUG (DevController:63) 12345 DevController:createDevice</DIV>
<DIV>[2012-10-25 17:50:39 6523] DEBUG (DevController:96) DevController: writing {'backend-id': '0', 'virtual-device': '51712', 'device-type': 'disk', 'state': '1', 'backend': '/local/domain/0/backend/vbd/5/51712'} to /local/domain/5/device/vbd/51712.<BR>[2012-10-25 17:50:39 6523] DEBUG (DevController:98) DevController: writing {'domain': 'Windows', 'frontend': '/local/domain/5/device/vbd/51712', 'uuid': '7ab43f67-5cdc-9e14-5223-3ba2e6da4f47', 'bootable': '1', 'dev': 'xvda', 'state': '1', 'params': '/dev/xen/blktap-2/tapdev0', 'mode': 'w', 'online': '1', 'frontend-id': '5', 'type': 'phy', 'tapdisk-params': 'tapdisk:aio:/root/work/test/vdisk.vhd'} to /local/domain/0/backend/vbd/5/51712.<BR>[2012-10-25 17:50:40 6523] INFO (XendDomainInfo:2360) createDevice: tap : {'bootable': 0, 'uname': 'tap:tapdisk:aio:/root/work/test/windows.iso', 'mode': 'r', 'dev': 'xvdb', 'uuid': '36e83db7-f935-d0e2-f89e-c3da5007666a'}<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:63) 12345 DevController:createDevice</DIV>
<DIV>[2012-10-25 17:50:40 6523] DEBUG (DevController:96) DevController: writing {'backend-id': '0', 'virtual-device': '51728', 'device-type': 'disk', 'state': '1', 'backend': '/local/domain/0/backend/tap/5/51728'} to /local/domain/5/device/vbd/51728.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:98) DevController: writing {'domain': 'Windows', 'frontend': '/local/domain/5/device/vbd/51728', 'uuid': '36e83db7-f935-d0e2-f89e-c3da5007666a', 'bootable': '0', 'dev': 'xvdb', 'state': '1', 'params': 'tapdisk:aio:/root/work/test/windows.iso', 'mode': 'r', 'online': '1', 'frontend-id': '5', 'type': 'tap'} to /local/domain/0/backend/tap/5/51728.<BR>[2012-10-25 17:50:40 6523] INFO (XendDomainInfo:2360) createDevice: vif : {'bridge': 'br0', 'mac': '00:16:3e:6d:78:c5', 'type': 'ioemu', 'uuid': 'b3ac119a-e271-1b75-4145-0222bd4dc8c8'}<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:63) 12345 DevController:createDevice</DIV>
<DIV>[2012-10-25 17:50:40 6523] DEBUG (DevController:96) DevController: writing {'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/vif/5/0'} to /local/domain/5/device/vif/0.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:98) DevController: writing {'bridge': 'br0', 'domain': 'Windows', 'handle': '0', 'uuid': 'b3ac119a-e271-1b75-4145-0222bd4dc8c8', 'script': '/etc/xen/scripts/vif-bridge', 'mac': '00:16:3e:6d:78:c5', 'frontend-id': '5', 'state': '1', 'online': '1', 'frontend': '/local/domain/5/device/vif/0', 'type': 'ioemu'} to /local/domain/0/backend/vif/5/0.<BR>[2012-10-25 17:50:40 6523] INFO (image:418) spawning device models: /usr/lib/xen/bin/qemu-dm ['/usr/lib/xen/bin/qemu-dm', '-d', '5', '-domain-name', 'Windows', '-videoram', '4', '-vnc', '127.0.0.1:0', '-vncunused', '-vcpus', '1', '-vcpu_avail', '0x1', '-boot', 'c', '-serial', 'pty', '-acpi', '-net', 'nic,vlan=1,macaddr=00:16:3e:6d:78:c5,model=rtl8139', '-net', 'tap,vlan=1,ifname=vif5.0-emu,bridge=br0,script=no,downscript=no', '-M', 'xenfv']<BR>[2012-10-25 17:50:40 6523] INFO (image:467) device model pid: 28014<BR>[2012-10-25 17:50:40 6523] INFO (image:590) waiting for sentinel_fifo<BR>[2012-10-25 17:50:40 6523] DEBUG (XendDomainInfo:3428) Storing VM details: {'on_xend_stop': 'ignore', 'pool_name': 'Pool-0', 'shadow_memory': '2', 'uuid': '35a5c3a2-5261-fd1e-94ef-710c70ca2a62', 'on_reboot': 'restart', 'start_time': '1351201840.05', 'on_poweroff': 'destroy', 'bootloader_args': '', 'on_xend_start': 'ignore', 'on_crash': 'restart', 'xend/restart_count': '0', 'vcpus': '1', 'vcpu_avail': '1', 'bootloader': '', 'image': "(hvm (kernel '') (superpages 0) (videoram 4) (hpet 0) (stdvga 0) (loader /usr/lib/xen/boot/hvmloader) (xen_platform_pci 1) (opengl 1) (nestedhvm 0) (rtc_timeoffset 0) (pci ()) (hap 1) (localtime 0) (timer_mode 1) (pci_msitranslate 1) (oos 1) (apic 1) (sdl 0) (display :0.0) (vpt_align 1) (serial pty) (vncunused 1) (boot c) (pae 1) (viridian 0) (acpi 1) (vnc 1) (nographic 0) (nomigrate 0) (usb 0) (tsc_mode 0) (guest_os_type default) (device_model /usr/lib/xen/bin/qemu-dm) (pci_power_mgmt 0) (xauthority /var/run/gdm/auth-for-root-aeJHqG/database) (isa 0) (notes (SUSPEND_CANCEL 1)))", 'name': 'Windows'}<BR>[2012-10-25 17:50:40 6523] DEBUG (XendDomainInfo:1796) Storing domain details: {'console/port': '4', 'description': '', 'console/limit': '1048576', 'vm': '/vm/35a5c3a2-5261-fd1e-94ef-710c70ca2a62', 'domid': '5', 'store/port': '3', 'console/type': 'ioemu', 'cpu/0/availability': 'online', 'memory/target': '131072', 'control/platform-feature-multiprocessor-suspend': '1', 'store/ring-ref': '1044476', 'control/platform-feature-xs_reset_watches': '1', 'image/suspend-cancel': '1', 'name': 'Windows'}<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:63) 12345 DevController:createDevice</DIV>
<DIV>[2012-10-25 17:50:40 6523] DEBUG (DevController:96) DevController: writing {'state': '1', 'backend-id': '0', 'backend': '/local/domain/0/backend/console/5/0'} to /local/domain/5/device/console/0.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:98) DevController: writing {'domain': 'Windows', 'frontend': '/local/domain/5/device/console/0', 'uuid': 'c112b1a4-a8fd-f0aa-7ebc-01ef41df0d51', 'frontend-id': '5', 'state': '1', 'location': '4', 'online': '1', 'protocol': 'vt100'} to /local/domain/0/backend/console/5/0.<BR>[2012-10-25 17:50:40 6523] DEBUG (XendDomainInfo:1883) XendDomainInfo.handleShutdownWatch<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices tap2.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:145) Waiting for 51712.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/5/51712/hotplug-status.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/5/51712/hotplug-status.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:643) hotplugStatusCallback 1.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vif.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:145) Waiting for 0.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vif/5/0/hotplug-status.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:643) hotplugStatusCallback 1.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vkbd.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices ioports.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices tap.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:145) Waiting for 51728.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/tap/5/51728/hotplug-status.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:643) hotplugStatusCallback 1.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vif2.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices console.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:145) Waiting for 0.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vscsi.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vbd.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices irq.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vfb.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices pci.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vusb.<BR>[2012-10-25 17:50:40 6523] DEBUG (DevController:140) Waiting for devices vtpm.<BR>[<SPAN style="COLOR: #ff0000">2012-10-25 17:50:40 6523] INFO (XendDomain:1225) Domain Windows (5) unpaused.<BR></SPAN><SPAN style="COLOR: #ff0000">[2012-10-25 17:50:40 6523] WARNING (XendDomainInfo:581) Could not unpause blktap disk: ('unpause', '-p27922', '-m0') failed (5632&nbsp; )</SPAN><BR>[2012-10-25 17:51:56 6523] INFO (XendDomainInfo:2080) Domain has shutdown: name=Windows id=5 reason=poweroff.<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:3079) XendDomainInfo.destroy: domid=5<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2404) Destroying device model<BR>[2012-10-25 17:51:56 6523] INFO (image:615) Windows device model terminated<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2411) Releasing devices<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing tap2/51712<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = tap2, device = tap2/51712<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing vif/0<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = vif, device = vif/0<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing tap/51728<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = tap, device = tap/51728<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing console/0<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = console, device = console/0<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing vfb/0<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = vfb, device = vfb/0<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2409) No device model<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2411) Releasing devices<BR>[2012-10-25 17:51:56 6523] DEBUG (DevController:650) deviceDestroyCallback /local/domain/0/backend/vbd/5/51712/hotplug-status.<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing tap2/51712<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = tap2, device = tap2/51712<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing vif/0<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = vif, device = vif/0<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:2417) Removing tap/51728<BR>[2012-10-25 17:51:56 6523] DEBUG (XendDomainInfo:1277) XendDomainInfo.destroyDevice: deviceClass = tap, device = tap/51728<BR>[2012-10-25 17:51:56 6523] DEBUG (DevController:650) deviceDestroyCallback /local/domain/0/backend/vbd/5/51712/hotplug-status.<BR>[2012-10-25 17:51:56 6523] DEBUG (DevController:659) deviceDestroyCallback 6.</DIV></DIV></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>
------=_Part_8334204_306851553.1350472452953--

------=_Part_8334202_207369620.1350472452953
Content-Type: application/octet-stream; name="xmexample.hvm"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="xmexample.hvm"

IyAgLSotIG1vZGU6IHB5dGhvbjsgLSotCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgUHl0aG9uIGNv
bmZpZ3VyYXRpb24gc2V0dXAgZm9yICd4bSBjcmVhdGUnLgojIFRoaXMgc2NyaXB0IHNldHMgdGhl
IHBhcmFtZXRlcnMgdXNlZCB3aGVuIGEgZG9tYWluIGlzIGNyZWF0ZWQgdXNpbmcgJ3htIGNyZWF0
ZScuCiMgWW91IHVzZSBhIHNlcGFyYXRlIHNjcmlwdCBmb3IgZWFjaCBkb21haW4geW91IHdhbnQg
dG8gY3JlYXRlLCBvciAKIyB5b3UgY2FuIHNldCB0aGUgcGFyYW1ldGVycyBmb3IgdGhlIGRvbWFp
biBvbiB0aGUgeG0gY29tbWFuZCBsaW5lLgojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKIy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIyBLZXJuZWwgaW1hZ2UgZmlsZS4Ka2VybmVsID0gImh2bWxvYWRlciIKCiMg
VGhlIGRvbWFpbiBidWlsZCBmdW5jdGlvbi4gSFZNIGRvbWFpbiB1c2VzICdodm0nLgpidWlsZGVy
PSdodm0nCgojIEluaXRpYWwgbWVtb3J5IGFsbG9jYXRpb24gKGluIG1lZ2FieXRlcykgZm9yIHRo
ZSBuZXcgZG9tYWluLgojCiMgV0FSTklORzogQ3JlYXRpbmcgYSBkb21haW4gd2l0aCBpbnN1ZmZp
Y2llbnQgbWVtb3J5IG1heSBjYXVzZSBvdXQgb2YKIyAgICAgICAgICBtZW1vcnkgZXJyb3JzLiBU
aGUgZG9tYWluIG5lZWRzIGVub3VnaCBtZW1vcnkgdG8gYm9vdCBrZXJuZWwKIyAgICAgICAgICBh
bmQgbW9kdWxlcy4gQWxsb2NhdGluZyBsZXNzIHRoYW4gMzJNQnMgaXMgbm90IHJlY29tbWVuZGVk
LgptZW1vcnkgPSAxMjgKCiMgU2hhZG93IHBhZ2V0YWJsZSBtZW1vcnkgZm9yIHRoZSBkb21haW4s
IGluIE1CLgojIElmIG5vdCBleHBsaWNpY3RseSBzZXQsIHhlbmQgd2lsbCBwaWNrIGFuIGFwcHJv
cHJpYXRlIHZhbHVlLiAgCiMgU2hvdWxkIGJlIGF0IGxlYXN0IDJLQiBwZXIgTUIgb2YgZG9tYWlu
IG1lbW9yeSwgcGx1cyBhIGZldyBNQiBwZXIgdmNwdS4KIyBzaGFkb3dfbWVtb3J5ID0gOAoKIyBX
aGV0aGVyIHRvIHRyYW5zcGFyZW50bHkgc2hhcmUgdGhpcyBkb21haW4ncyBtZW1vcnkgd2l0aCBv
dGhlciBkb21haW5zLgojIGRlZmF1bHQgPSAwCiMgbWVtb3J5X3NoYXJpbmcgPSAwCgojIEEgbmFt
ZSBmb3IgeW91ciBkb21haW4uIEFsbCBkb21haW5zIG11c3QgaGF2ZSBkaWZmZXJlbnQgbmFtZXMu
Cm5hbWUgPSAiV2luZG93cyIKCiMgMTI4LWJpdCBVVUlEIGZvciB0aGUgZG9tYWluLiAgVGhlIGRl
ZmF1bHQgYmVoYXZpb3IgaXMgdG8gZ2VuZXJhdGUgYSBuZXcgVVVJRAojIG9uIGVhY2ggY2FsbCB0
byAneG0gY3JlYXRlJy4KI3V1aWQgPSAiMDZlZDAwZmUtMTE2Mi00ZmM0LWI1ZDgtMTE5OTNlZTRh
OGI5IgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhlIG51bWJlciBvZiBjcHVzIGd1ZXN0IHBs
YXRmb3JtIGhhcywgZGVmYXVsdD0xCiN2Y3B1cz0xCgojIEVuYWJsZS9kaXNhYmxlIEhWTSBndWVz
dCBQQUUsIGRlZmF1bHQ9MSAoZW5hYmxlZCkKI3BhZT0xCgojIEVuYWJsZS9kaXNhYmxlIEhWTSBn
dWVzdCBBQ1BJLCBkZWZhdWx0PTEgKGVuYWJsZWQpCiNhY3BpPTEKCiMgRW5hYmxlL2Rpc2FibGUg
SFZNIEFQSUMgbW9kZSwgZGVmYXVsdD0xIChlbmFibGVkKQojIE5vdGUgdGhhdCB0aGlzIG9wdGlv
biBpcyBpZ25vcmVkIGlmIHZjcHVzID4gMQojYXBpYz0xCgojIEVuYWJsZS9kaXNhYmxlIGV4dGVu
ZGVkIHBvd2VyIG1hbmFnZW1lbnQgc3VwcG9ydCB3aXRoaW4gSFZNIGd1ZXN0LCBpLmUuLCBiZXlv
bmQKIyBTMywgUzQsIFM1IHdpdGhpbiBndWVzdCBsaWtlIGV4cG9zaW5nIGJhdHRlcnkgbWV0ZXIu
CiMgMCAoZGVmYXVsdCBvcHRpb24sIGV4dGVuZGVkIHBvd2VyIG1hbmFnZW1lbnQgc3VwcG9ydCBk
aXNhYmxlZCkKIyAxIChwYXNzLXRocm91Z2ggbW9kZTsgdXNlcyBwYXNzLXRocm91Z2ggYXMgbmVl
ZGVkOyBlZmZpY2llbnQgYnV0IGxpbWl0ZWQgaW4gc2NvcGUpCiMgMiAobm9uIHBhc3MtdGhyb3Vn
aCBtb2RlOyBleHRlbmRlZCBzY29wZSwgbGlrZWx5IHRvIHdvcmsgb24gYWxsIGFwcGxpY2FibGUg
ZW52aXJvbm1lbnQKIyAgICBidXQgY29tcGFyaXRpdmVseSBsZXNzIGVmZmljaWVudCB0aGFuIHBh
c3MtdGhyb3VnaCBtb2RlKQojIHhlbl9leHRlbmRlZF9wb3dlcl9tZ210PTAKCiMgTGlzdCBvZiB3
aGljaCBDUFVTIHRoaXMgZG9tYWluIGlzIGFsbG93ZWQgdG8gdXNlLCBkZWZhdWx0IFhlbiBwaWNr
cwojY3B1cyA9ICIiICAgICAgICAgIyBsZWF2ZSB0byBYZW4gdG8gcGljawojY3B1cyA9ICIwIiAg
ICAgICAgIyBhbGwgdmNwdXMgcnVuIG9uIENQVTAKI2NwdXMgPSAiMC0zLDUsXjEiICMgYWxsIHZj
cHVzIHJ1biBvbiBjcHVzIDAsMiwzLDUKI2NwdXMgPSBbIjIiLCAiMyJdICMgVkNQVTAgcnVucyBv
biBDUFUyLCBWQ1BVMSBydW5zIG9uIENQVTMKCiMgT3B0aW9uYWxseSBkZWZpbmUgbWFjIGFuZC9v
ciBicmlkZ2UgZm9yIHRoZSBuZXR3b3JrIGludGVyZmFjZXMuCiMgUmFuZG9tIE1BQ3MgYXJlIGFz
c2lnbmVkIGlmIG5vdCBnaXZlbi4KI3ZpZiA9IFsgJ3R5cGU9aW9lbXUsIG1hYz0wMDoxNjozZTow
MDowMDoxMSwgYnJpZGdlPXhlbmJyMCwgbW9kZWw9bmUya19wY2knIF0KIyB0eXBlPWlvZW11IHNw
ZWNpZnkgdGhlIE5JQyBpcyBhbiBpb2VtdSBkZXZpY2Ugbm90IG5ldGZyb250CnZpZiA9IFsgJ3R5
cGU9aW9lbXUsIGJyaWRnZT1icjAnIF0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRGVmaW5lIHRo
ZSBkaXNrIGRldmljZXMgeW91IHdhbnQgdGhlIGRvbWFpbiB0byBoYXZlIGFjY2VzcyB0bywgYW5k
CiMgd2hhdCB5b3Ugd2FudCB0aGVtIGFjY2Vzc2libGUgYXMuCiMgRWFjaCBkaXNrIGVudHJ5IGlz
IG9mIHRoZSBmb3JtIHBoeTpVTkFNRSxERVYsTU9ERQojIHdoZXJlIFVOQU1FIGlzIHRoZSBkZXZp
Y2UsIERFViBpcyB0aGUgZGV2aWNlIG5hbWUgdGhlIGRvbWFpbiB3aWxsIHNlZSwKIyBhbmQgTU9E
RSBpcyByIGZvciByZWFkLW9ubHksIHcgZm9yIHJlYWQtd3JpdGUuCgojZGlzayA9IFsgJ3BoeTpo
ZGExLGhkYTEscicgXQpkaXNrID0gWyAndGFwMjp0YXBkaXNrOmFpbzovcm9vdC93b3JrL3Rlc3Qv
dmRpc2sudmhkLHh2ZGEsdycsICd0YXA6dGFwZGlzazphaW86L3Jvb3Qvd29yay90ZXN0L3dpbmRv
d3MuaXNvLHh2ZGIscicgXQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb25maWd1cmUgdGhlIGJl
aGF2aW91ciB3aGVuIGEgZG9tYWluIGV4aXRzLiAgVGhlcmUgYXJlIHRocmVlICdyZWFzb25zJwoj
IGZvciBhIGRvbWFpbiB0byBzdG9wOiBwb3dlcm9mZiwgcmVib290LCBhbmQgY3Jhc2guICBGb3Ig
ZWFjaCBvZiB0aGVzZSB5b3UKIyBtYXkgc3BlY2lmeToKIwojICAgImRlc3Ryb3kiLCAgICAgICAg
bWVhbmluZyB0aGF0IHRoZSBkb21haW4gaXMgY2xlYW5lZCB1cCBhcyBub3JtYWw7CiMgICAicmVz
dGFydCIsICAgICAgICBtZWFuaW5nIHRoYXQgYSBuZXcgZG9tYWluIGlzIHN0YXJ0ZWQgaW4gcGxh
Y2Ugb2YgdGhlIG9sZAojICAgICAgICAgICAgICAgICAgICAgb25lOwojICAgInByZXNlcnZlIiwg
ICAgICAgbWVhbmluZyB0aGF0IG5vIGNsZWFuLXVwIGlzIGRvbmUgdW50aWwgdGhlIGRvbWFpbiBp
cwojICAgICAgICAgICAgICAgICAgICAgbWFudWFsbHkgZGVzdHJveWVkICh1c2luZyB4bSBkZXN0
cm95LCBmb3IgZXhhbXBsZSk7IG9yCiMgICAicmVuYW1lLXJlc3RhcnQiLCBtZWFuaW5nIHRoYXQg
dGhlIG9sZCBkb21haW4gaXMgbm90IGNsZWFuZWQgdXAsIGJ1dCBpcwojICAgICAgICAgICAgICAg
ICAgICAgcmVuYW1lZCBhbmQgYSBuZXcgZG9tYWluIHN0YXJ0ZWQgaW4gaXRzIHBsYWNlLgojCiMg
SW4gdGhlIGV2ZW50IGEgZG9tYWluIHN0b3BzIGR1ZSB0byBhIGNyYXNoLCB5b3UgaGF2ZSB0aGUg
YWRkaXRpb25hbCBvcHRpb25zOgojCiMgICAiY29yZWR1bXAtZGVzdHJveSIsIG1lYW5pbmcgZHVt
cCB0aGUgY3Jhc2hlZCBkb21haW4ncyBjb3JlIGFuZCB0aGVuIGRlc3Ryb3k7CiMgICAiY29yZWR1
bXAtcmVzdGFydCcsIG1lYW5pbmcgZHVtcCB0aGUgY3Jhc2hlZCBkb21haW4ncyBjb3JlIGFuZCB0
aGUgcmVzdGFydC4KIwojIFRoZSBkZWZhdWx0IGlzCiMKIyAgIG9uX3Bvd2Vyb2ZmID0gJ2Rlc3Ry
b3knCiMgICBvbl9yZWJvb3QgICA9ICdyZXN0YXJ0JwojICAgb25fY3Jhc2ggICAgPSAncmVzdGFy
dCcKIwojIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3ZSBhbHNvIHN1cHBvcnQgdGhlIGRl
cHJlY2F0ZWQgb3B0aW9uIHJlc3RhcnQKIwojIHJlc3RhcnQgPSAnb25yZWJvb3QnIG1lYW5zIG9u
X3Bvd2Vyb2ZmID0gJ2Rlc3Ryb3knCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25fcmVi
b290ICAgPSAncmVzdGFydCcKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbl9jcmFzaCAg
ICA9ICdkZXN0cm95JwojCiMgcmVzdGFydCA9ICdhbHdheXMnICAgbWVhbnMgb25fcG93ZXJvZmYg
PSAncmVzdGFydCcKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbl9yZWJvb3QgICA9ICdy
ZXN0YXJ0JwojICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uX2NyYXNoICAgID0gJ3Jlc3Rh
cnQnCiMKIyByZXN0YXJ0ID0gJ25ldmVyJyAgICBtZWFucyBvbl9wb3dlcm9mZiA9ICdkZXN0cm95
JwojICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uX3JlYm9vdCAgID0gJ2Rlc3Ryb3knCiMg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb25fY3Jhc2ggICAgPSAnZGVzdHJveScKCiNvbl9w
b3dlcm9mZiA9ICdkZXN0cm95Jwojb25fcmVib290ICAgPSAncmVzdGFydCcKI29uX2NyYXNoICAg
ID0gJ3Jlc3RhcnQnCgojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKIyBEZXZpY2UgTW9kZWwgdG8gYmUg
dXNlZApkZXZpY2VfbW9kZWwgPSAncWVtdS1kbScKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIGJv
b3Qgb24gZmxvcHB5IChhKSwgaGFyZCBkaXNrIChjKSwgTmV0d29yayAobikgb3IgQ0QtUk9NIChk
KSAKIyBkZWZhdWx0OiBoYXJkIGRpc2ssIGNkLXJvbSwgZmxvcHB5CiNib290PSJjZGEiCgojLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIyAgd3JpdGUgdG8gdGVtcG9yYXJ5IGZpbGVzIGluc3RlYWQgb2Yg
ZGlzayBpbWFnZSBmaWxlcwojc25hcHNob3Q9MQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBlbmFi
bGUgU0RMIGxpYnJhcnkgZm9yIGdyYXBoaWNzLCBkZWZhdWx0ID0gMApzZGw9MAoKIy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIyBlbmFibGUgT3BlbkdMIGZvciB0ZXh0dXJlIHJlbmRlcmluZyBpbnNpZGUg
dGhlIFNETCB3aW5kb3csIGRlZmF1bHQgPSAxCiMgdmFsaWQgb25seSBpZiBzZGwgaXMgZW5hYmxl
ZC4Kb3BlbmdsPTEKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgZW5hYmxlIFZOQyBsaWJyYXJ5IGZv
ciBncmFwaGljcywgZGVmYXVsdCA9IDEKdm5jPTEKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgYWRk
cmVzcyB0aGF0IHNob3VsZCBiZSBsaXN0ZW5lZCBvbiBmb3IgdGhlIFZOQyBzZXJ2ZXIgaWYgdm5j
IGlzIHNldC4KIyBkZWZhdWx0IGlzIHRvIHVzZSAndm5jLWxpc3Rlbicgc2V0dGluZyBmcm9tCiMg
YXV4YmluLnhlbl9jb25maWdkaXIoKSArIC94ZW5kLWNvbmZpZy5zeHAKI3ZuY2xpc3Rlbj0iMTI3
LjAuMC4xIgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBzZXQgVk5DIGRpc3BsYXkgbnVtYmVyLCBk
ZWZhdWx0ID0gZG9taWQKI3ZuY2Rpc3BsYXk9MQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyB0cnkg
dG8gZmluZCBhbiB1bnVzZWQgcG9ydCBmb3IgdGhlIFZOQyBzZXJ2ZXIsIGRlZmF1bHQgPSAxCiN2
bmN1bnVzZWQ9MQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBzZXQgcGFzc3dvcmQgZm9yIGRvbWFp
bidzIFZOQyBjb25zb2xlCiMgZGVmYXVsdCBpcyBkZXBlbnRzIG9uIHZuY3Bhc3N3ZCBpbiB4ZW5k
LWNvbmZpZy5zeHAKdm5jcGFzc3dkPScnCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIG5vIGdyYXBo
aWNzLCB1c2Ugc2VyaWFsIHBvcnQKI25vZ3JhcGhpYz0wCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj
IGVuYWJsZSBzdGR2Z2EsIGRlZmF1bHQgPSAwICh1c2UgY2lycnVzIGxvZ2ljIGRldmljZSBtb2Rl
bCkKc3RkdmdhPTAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojICAgc2VyaWFsIHBvcnQgcmUtZGly
ZWN0IHRvIHB0eSBkZWl2Y2UsIC9kZXYvcHRzL24gCiMgICB0aGVuIHhtIGNvbnNvbGUgb3IgbWlu
aWNvbSBjYW4gY29ubmVjdApzZXJpYWw9J3B0eScKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgICB0
c2NfbW9kZSA6IFRTQyBtb2RlICgwPWRlZmF1bHQsIDE9bmF0aXZlIFRTQywgMj1uZXZlciBlbXVs
YXRlLCAzPXB2cmR0c2NwKQojICAgZW11bGF0ZSBUU0MgcHJvdmlkZXMgc3luY2VkIFRTQyBmb3Ig
YWxsIHZjcHVzLCBidXQgbG9zZSBwZXJmb21yYW5jZS4KIyAgIG5hdGl2ZSBUU0MgbGV2ZXJhZ2Vz
IGhhcmR3YXJlJ3MgVFNDKG5vIHBlcmYgbG9zcyksIGJ1dCB2Y3B1J3MgVFNDIG1heSBsb3NlCiMg
ICAgc3luYyBkdWUgdG8gaGFyZHdhcmUncyB1bnJlbGlhYmxlL3Vuc3luY2VkIFRTQyBiZXR3ZWVu
IENQVXMuCiMgICBkZWZhdWx0IGludGVsbGlnZW50bHkgdXNlcyBuYXRpdmUgVFNDIG9uIG1hY2hp
bmVzIHdoZXJlIGl0IGlzIHNhZmUsIGJ1dAojICAgIHN3aXRjaGVzIHRvIGVtdWxhdGVkIGlmIG5l
Y2Vzc2FyeSBhZnRlciBzYXZlL3Jlc3RvcmUvbWlncmF0aW9uCiMgICBwdnJkdHNjcCBpcyBmb3Ig
aW50ZWxsaWdlbnQgYXBwcyB0aGF0IHVzZSBzcGVjaWFsIFhlbi1vbmx5IHBhcmF2aXJ0dWFsaXpl
ZAojICAgIGNwdWlkIGluc3RydWN0aW9ucyB0byBvYnRhaW4gb2Zmc2V0L3NjYWxpbmcvbWlncmF0
aW9uIGluZm8gYW5kIG1heGltaXplCiMgICAgcGVyZm9ybWFuY2Ugd2l0aGluIHBvb2xzIG9mIG1h
Y2hpbmVzIHRoYXQgc3VwcG9ydCB0aGUgcmR0c2NwIGluc3RydWN0aW9uCnRzY19tb2RlPTAKCiMt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQojICAgUWVtdSBNb25pdG9yLCBkZWZhdWx0IGlzIGRpc2FibGUK
IyAgIFVzZSBjdHJsLWFsdC0yIHRvIGNvbm5lY3QKI21vbml0b3I9MQoKCiMtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQojICAgZW5hYmxlIHNvdW5kIGNhcmQgc3VwcG9ydCwgW3NiMTZ8ZXMxMzcwfGFsbHwu
LiwuLl0sIGRlZmF1bHQgbm9uZQojc291bmRodz0nc2IxNicKCgojLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIyAgICBzZXQgdGhlIHJlYWwgdGltZSBjbG9jayB0byBsb2NhbCB0aW1lIFtkZWZhdWx0PTAg
aS5lLiBzZXQgdG8gdXRjXQojbG9jYWx0aW1lPTEKCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyAg
ICBzZXQgdGhlIHJlYWwgdGltZSBjbG9jayBvZmZzZXQgaW4gc2Vjb25kcyBbZGVmYXVsdD0wIGku
ZS4gc2FtZSBhcyBkb20wXQojcnRjX3RpbWVvZmZzZXQ9MzYwMAoKIy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiMgICAgc3RhcnQgaW4gZnVsbCBzY3JlZW4KI2Z1bGwtc2NyZWVuPTEgICAKCgojLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIyAgIEVuYWJsZSBVU0Igc3VwcG9ydCAoc3BlY2lmaWMgZGV2aWNlcyBz
cGVjaWZpZWQgYXQgcnVudGltZSB0aHJvdWdoIHRoZQojCQkJbW9uaXRvciB3aW5kb3cpCiN1c2I9
MQoKIyAgIEVuYWJsZSBVU0IgbW91c2Ugc3VwcG9ydCAob25seSBlbmFibGUgb25lIG9mIHRoZSBm
b2xsb3dpbmcsIGBtb3VzZScgZm9yCiMJCQkgICAgICBQUy8yIHByb3RvY29sIHJlbGF0aXZlIG1v
dXNlLCBgdGFibGV0JyBmb3IKIwkJCSAgICAgIGFic29sdXRlIG1vdXNlKQojdXNiZGV2aWNlPSdt
b3VzZScKI3VzYmRldmljZT0ndGFibGV0JwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgICBTZXQg
a2V5Ym9hcmQgbGF5b3V0LCBkZWZhdWx0IGlzIGVuLXVzIGtleWJvYXJkLiAKI2tleW1hcD0namEn
CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyAgIEVuYWJsZS9kaXNhYmxlIHhlbiBwbGF0Zm9ybSBQ
Q0kgZGV2aWNlLCBkZWZhdWx0PTEgKGVuYWJsZWQpCiN4ZW5fcGxhdGZvcm1fcGNpPTEKCiMtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQojICAgQ29uZmlndXJlIGd1ZXN0IENQVUlEIHJlc3BvbnNlczoKIwoj
Y3B1aWQ9WyAnMTplY3g9eHh4eHh4eHh4eHgwMHh4eHh4eHh4eHh4eHh4eHh4eHgsCiMgICAgICAg
ICAgIGVheD14eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eCcgXQojIC0gVW5zZXQgdGhl
IFNTRTQgZmVhdHVyZXMgKENQVUlELjFbRUNYXVsyMC0xOV0pCiMgLSBEZWZhdWx0IGJlaGF2aW91
ciBmb3IgYWxsIG90aGVyIGJpdHMgaW4gRUNYIEFuZCBFQVggcmVnaXN0ZXJzLgojIAojIEVhY2gg
c3VjY2Vzc2l2ZSBjaGFyYWN0ZXIgcmVwcmVzZW50IGEgbGVzc2VyLXNpZ25pZmljYW50IGJpdDoK
IyAgJzEnIC0+IGZvcmNlIHRoZSBjb3JyZXNwb25kaW5nIGJpdCB0byAxCiMgICcwJyAtPiBmb3Jj
ZSB0byAwCiMgICd4JyAtPiBHZXQgYSBzYWZlIHZhbHVlIChwYXNzIHRocm91Z2ggYW5kIG1hc2sg
d2l0aCB0aGUgZGVmYXVsdCBwb2xpY3kpCiMgICdrJyAtPiBwYXNzIHRocm91Z2ggdGhlIGhvc3Qg
Yml0IHZhbHVlCiMgICdzJyAtPiBhcyAnaycgYnV0IHByZXNlcnZlIGFjcm9zcyBzYXZlL3Jlc3Rv
cmUgYW5kIG1pZ3JhdGlvbgojIAojICAgRXhwb3NlIHRvIHRoZSBndWVzdCBtdWx0aS1jb3JlIGNw
dSBpbnN0ZWFkIG9mIG11bHRpcGxlIHByb2Nlc3NvcnMKIyBFeGFtcGxlIGZvciBpbnRlbCwgZXhw
b3NlIGEgOC1jb3JlIHByb2Nlc3NvciA6CiNjcHVpZD1bJzE6ZWR4PXh4eDF4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4LAojICAgICAgICAgIGVieD14eHh4eHh4eDAwMDEwMDAweHh4eHh4eHh4
eHh4eHh4eCcsCiMgICAgICc0LDA6ZWF4PTAwMTExMXh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
J10KIyAgLSBDUFVJRC4xW0VEWF1bSFRdIDogRW5hYmxlIEhUCiMgIC0gQ1BVSUQuMVtFQlhdIDog
TnVtYmVyIG9mIHZjcHVzICogMgojICAtIENQVUlELjQsMFtFQVhdIDogTnVtYmVyIG9mIHZjcHVz
ICogMiAtIDEKI3ZjcHVzPTgKIwojIEV4YW1wbGUgZm9yIGFtZCwgZXhwb3NlIGEgNS1jb3JlIHBy
b2Nlc3NvciA6CiMgY3B1aWQgPSBbJzE6ZWJ4PXh4eHh4eHh4MDAwMDEwMTB4eHh4eHh4eHh4eHh4
eHh4LAojICAgICAgICAgICAgIGVkeD14eHgxeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eCcs
CiMgJzB4ODAwMDAwMDE6ZWN4PXh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eDF4JywKIyAn
MHg4MDAwMDAwODplY3g9eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgwMDEwMDEnXQojICAgLSBD
UFVJRC4xW0VCWF0gOiBUaHJlYWRzIHBlciBDb3JlICogQ29yZXMgcGVyIFNvY2tldCAoMiAqICN2
Y3B1cykKIyAgIC0gQ1BVSUQuMVtFRFhdW0hUXSA6IEVuYWJsZSBIVAojICAgLSBDUFVJRC4weDgw
MDAwMDAxW0NtcExlZ2FjeV0gOiBVc2UgbGVnYWN5IG1ldGhvZAojICAgLSBDUFVJRC4weDgwMDAw
MDA4W0VDWF0gOiAjdmNwdXMgKiAyIC0gMQojdmNwdXM9NQojCiMgIERvd25ncmFkZSB0aGUgY3B1
aWQgdG8gbWFrZSBhIGJldHRlciBjb21wYXRpYmlsaXR5IGZvciBtaWdyYXRpb24gOgojIExvb2sg
bGlrZSBhIGdlbmVyaWMgNjg2IDoKIyBjcHVpZCA9IFsgJzA6ZWF4PTB4MyxlYng9MHgwLGVjeD0w
eDAsZWR4PTB4MCcsCiMgICAgICAgICAgICcxOmVheD0weDA2YjEsCiMgICAgICAgICAgICAgIGVj
eD14eHh4eHh4eHh4eDAwMDB4eDAweHh4MDAwMDAwMHh4MCwKIyAgICAgICAgICAgICAgZWR4PXh4
eDAwMDAweHh4eHh4eDB4eHh4eHh4eHgweHh4eHh4JywKIyAgICAgICAgICAgJzQ6ZWF4PTB4Myxl
Yng9MHgwLGVjeD0weDAsZWR4PTB4MCcsCiMgICcweDgwMDAwMDAwOmVheD0weDMsZWJ4PTB4MCxl
Y3g9MHgwLGVkeD0weDAnXQojICB3aXRoIHRoZSBoaWdoZXN0IGxlYWYKIyAgLSBDUFVJRC4wW0VB
WF0gOiBTZXQgdGhlIGhpZ2hlc3QgbGVhZgojICAtIENQVUlELjFbRUFYXSA6IDY4NiAKIyAgLSBD
UFVJRC4xW0VDWF0gOiBNYXNrIHNvbWUgZmVhdHVyZXMKIyAgLSBDUFVJRC4xW0VEWF0gOiBNYXNr
IHNvbWUgZmVhdHVyZXMKIyAgLSBDUFVJRC40IDogUmVwbHkgbGlrZSB0aGUgaGlnaGVzdCBsZWFm
LCBpbiBvdXIgY2FzZSBDUFVJRC4zCiMgIC0gQ1BVSUQuMHg4MDAwMDAwMCA6IE5vIGV4dGVuc2lv
biB3ZSBhcmUgb24gYSBQZW50aXVtIElJSSwgcmVwbHkgbGlrZSB0aGUKIyAgaGlnaGVzdCBsZWFm
IChDUFVJRC4zKS4KIwojICAgQ29uZmlndXJlIGhvc3QgQ1BVSUQgY29uc2lzdGVuY3kgY2hlY2tz
LCB3aGljaCBtdXN0IGJlIHNhdGlzZmllZCBmb3IgdGhpcwojICAgVk0gdG8gYmUgYWxsb3dlZCB0
byBydW4gb24gdGhpcyBob3N0J3MgcHJvY2Vzc29yIHR5cGU6CiNjcHVpZF9jaGVjaz1bICcxOmVj
eD14eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eDF4eHh4eCcgXQojIC0gSG9zdCBtdXN0IGhhdmUg
Vk1YIGZlYXR1cmUgZmxhZyBzZXQKIwojIFRoZSBmb3JtYXQgaXMgc2ltaWxhciB0byB0aGUgYWJv
dmUgZm9yICdjcHVpZCc6CiMgICcxJyAtPiB0aGUgYml0IG11c3QgYmUgJzEnCiMgICcwJyAtPiB0
aGUgYml0IG11c3QgYmUgJzAnCiMgICd4JyAtPiB3ZSBkb24ndCBjYXJlIChkbyBub3QgY2hlY2sp
CiMgICdzJyAtPiB0aGUgYml0IG11c3QgYmUgdGhlIHNhbWUgYXMgb24gdGhlIGhvc3QgdGhhdCBz
dGFydGVkIHRoaXMgVk0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojICAgQ29uZmlndXJlIHBhc3N0
aHJvdWdoIFBDSXssLVgsZX0gZGV2aWNlczoKIwojICAgcGNpPVsgJ1tTU1NTOl1CQjpERC5GWyxv
cHRpb24xWyxvcHRpb24yWy4uLl1dXScsIC4uLiBdCiMKIyAgIFtTU1NTXTpCQjpERC5GICAiYnVz
IHNlZ21lbnQ6YnVzOmRldmljZS5mdW5jdGlvbiIoMSkgb2YgdGhlIGRldmljZSB0bwojICAgICAg
ICAgICAgICAgICAgIGJlIGFzc2lnbmVkLCBidXMgc2VnbWVudCBpcyBvcHRpb25hbC4gQWxsIGZp
ZWxkcyBhcmUKIyAgICAgICAgICAgICAgICAgICBpbiBoZXhhZGVjaW1hbCBhbmQgbm8gZmllbGQg
c2hvdWxkIGJlIGxvbmdlciB0aGFuIHRoYXQKIyAgICAgICAgICAgICAgICAgICBhcyBzaG93biBp
biB0aGUgcGF0dGVybi4gU3VjY2Vzc2Z1bCBhc3NpZ25tZW50IG1heSBuZWVkCiMgICAgICAgICAg
ICAgICAgICAgY2VydGFpbiBoYXJkd2FyZSBzdXBwb3J0IGFuZCBhZGRpdGlvbmFsIGNvbmZpZ3Vy
YXRpb25zCiMgICAgICAgICAgICAgICAgICAgKGUuZy4gVlQtZCwgc2VlIGRvY3MvbWlzYy92dGQu
dHh0IGZvciBtb3JlIGRldGFpbHMpLgojCiMgICAgICAgKDEpIGJ1cyBzZWdtZW50IGlzIHNvbWV0
aW1lcyBhbHNvIHJlZmVycmVkIHRvIGFzIHRoZSBQQ0kgImRvbWFpbiIsCiMgICAgICAgICAgIG5v
dCB0byBiZSBjb25mdXNlZCB3aXRoIFhlbiBkb21haW4uCiMKIwojICAgb3B0aW9uTiAgICAgICAg
IHBlci1kZXZpY2Ugb3B0aW9ucyBpbiAia2V5PXZhbCIgZm9ybWF0LiBDdXJyZW50CiMgICAgICAg
ICAgICAgICAgICAgYXZhaWxhYmxlIG9wdGlvbnMgYXJlOgojICAgICAgICAgICAgICAgICAgIC0g
bXNpdHJhbnNsYXRlPTB8MQojICAgICAgICAgICAgICAgICAgICAgIHBlci1kZXZpY2Ugb3ZlcnJp
ZGVuIG9mIHBjaV9tc2l0cmFuc2xhdGUsIHNlZSBiZWxvdwojICAgICAgICAgICAgICAgICAgIC0g
cG93ZXJfbWdtdD0wfDEKIyAgICAgICAgICAgICAgICAgICAgICBwZXItZGV2aWNlIG92ZXJyaWRl
biBvZiBwY2lfcG93ZXJfbWdtdCwgc2VlIGJlbG93CiMKI3BjaT1bICcwNzowMC4wJywgJzA3OjAw
LjEnIF0KCiMgICBNU0ktSU5UeCB0cmFuc2xhdGlvbiBmb3IgTVNJIGNhcGFibGUgZGV2aWNlczoK
IwojICAgSWYgaXQncyBzZXQsIFhlbiB3aWxsIGVuYWJsZSBNU0kgZm9yIHRoZSBkZXZpY2UgdGhh
dCBzdXBwb3J0cyBpdCBldmVuCiMgaWYgdGhlIGd1ZXN0IGRvbid0IHVzZSBNU0kuIEluIHRoZSBj
YXNlLCBhbiBJTy1BUElDIHR5cGUgaW50ZXJydXB0IHdpbGwKIyBiZSBpbmplY3RlZCB0byB0aGUg
Z3Vlc3QgZXZlcnkgdGltZSBhIGNvcnJlc3BvbmRpbmcgTVNJIG1lc3NhZ2UgaXMKIyByZWNlaXZl
ZC4KIyAgIElmIHRoZSBndWVzdCBlbmFibGVzIE1TSSBvciBNU0ktWCwgdGhlIHRyYW5zbGF0aW9u
IGlzIGF1dG9tYXRpY2FsbHkKIyB0dXJuZWQgb2ZmLgojIAojcGNpX21zaXRyYW5zbGF0ZT0xCgoj
ICAgUENJIFBvd2VyIE1hbmFnZW1lbnQ6CiMKIyAgIElmIGl0J3Mgc2V0LCB0aGUgZ3Vlc3QgT1Mg
d2lsbCBiZSBhYmxlIHRvIHByb2dyYW0gRDAtRDNob3Qgc3RhdGVzIG9mIHRoZQojIFBDSSBkZXZp
Y2UgZm9yIHRoZSBwdXJwb3NlIG9mIGxvdyBwb3dlciBjb25zdW1wdGlvbi4KIyAKI3BjaV9wb3dl
cl9tZ210PTAKCiMgICBFbmFibGUgZ3JhcGhpY3MgcGFzc3Rocm91Z2g6CiMKIyAgIElmIGl0J3Mg
c2V0LCBhbmQgc3BlY2lmeSBncmFwaGljcyBkZXZpY2UgQkRGIGluIHBjaSBwYXNzdGhyb3VnaCBv
cHRpb24sCiMgbGlrZSBwY2k9Wyd4eDp4eC54J10sIGl0IGVuYWJsZXMgZ3JhcGhpY3MgcGFzc3Ro
cm91Z2gsIGRlZmF1bHQ9MCAoZGlzYWJsZWQpCiNnZnhfcGFzc3RocnU9MAoKIy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiMgICBDb25maWd1cmUgUFZTQ1NJIGRldmljZXM6CiMKI3ZzY3NpPVsgJ1BERVYs
IFZERVYnIF0KIwojICAgUERFViAgIGdpdmVzIHBoeXNpY2FsIFNDU0kgZGV2aWNlIHRvIGJlIGF0
dGFjaGVkIHRvIHNwZWNpZmllZCBndWVzdAojICAgICAgICAgIGRvbWFpbiBieSBvbmUgb2YgdGhl
IGZvbGxvd2luZyBpZGVudGlmaWVyIGZvcm1hdC4KIyAgICAgICAgICAtIFhYOlhYOlhYOlhYICg0
LXR1cGxlcyB3aXRoIGRlY2ltYWwgbm90YXRpb24gd2hpY2ggc2hvd3MKIyAgICAgICAgICAgICAg
ICAgICAgICAgICAgImhvc3Q6Y2hhbm5lbDp0YXJnZXQ6bHVuIikKIyAgICAgICAgICAtIC9kZXYv
c2R4eCBvciBzZHgKIyAgICAgICAgICAtIC9kZXYvc3R4eCBvciBzdHgKIyAgICAgICAgICAtIC9k
ZXYvc2d4eCBvciBzZ3gKIyAgICAgICAgICAtIHJlc3VsdCBvZiAnc2NzaV9pZCAtZ3UgLXMnLgoj
ICAgICAgICAgICAgZXguICMgc2NzaV9pZCAtZ3UgLXMgL2Jsb2NrL3NkYgojICAgICAgICAgICAg
ICAgICAgMzYwMDBiNWQwMDA2YTAwMDAwMDZhMDI1NzAwNGMwMDAwCiMKIyAgIFZERVYgICBnaXZl
cyB2aXJ0dWFsIFNDU0kgZGV2aWNlIGJ5IDQtdHVwbGVzIChYWDpYWDpYWDpYWCkgYXMgCiMgICAg
ICAgICAgd2hpY2ggdGhlIHNwZWNpZmllZCBndWVzdCBkb21haW4gcmVjb2duaXplLgojCgojdnNj
c2kgPSBbICcvZGV2L3NkeCwgMDowOjA6MCcgXQo=
------=_Part_8334202_207369620.1350472452953
Content-Type: image/jpeg; name="IMAG0160.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="IMAG0160.jpg"

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
1A9J7A/S6WkPgzU+zWLfS7SvdWgjPBjT8VFQvb2wHzww490FPmSDU8NPgzWMcRW5H+zcx/40h8G6
yAP9EQ/SdD/WvcPsVqR/x6wH/tkv+FRtptketlbE+vkr/hU8yCzPED4O1sjjT5D9HU/1qF/CetL1
0u4P0Ga9wbS7DH/Hlbf9+l/wqFtI0/P/AB5wj6LTjJA0z//Z/9sAhAADAgIDAgIDAwMDBAMDBAUI
BQUEBAUKBwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUUAQMEBAUEBQkF
BQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/
wAARCATACAADASIAAhEBAxEB/8QBogAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoLEAACAQMD
AgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUm
JygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaX
mJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4
+foBAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKCxEAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9R7PT
LPTlItLSC1U9RBGEB/Kvj/8AbKV7v4veDIGlxsRHRAeo8w5HH0PWvskda+Kv2u3kb44+HNhdpI44
tiDnHJOR+td2D0lJrTT9UcmIlZw9f0Zz3jART38jW+zKMSqjOEbutc9MpmXy3ODt59zjmuj8ZIy3
2QoRY1wm0dR3Le9c28xjLMOWYEHAGRn2+lfeUdYxXVP1Z8TWSp3ut/kn+pyPjjxNrXhrT2n0aO2k
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
y54+uKzUYPrYrmtrY+Kbj9m74oI4VfDTsztj5c4X3yf6VDL+z58TrN33+FZpxjaxiBVWPYgHmvuJ
PC3xkiADXelurH5S8vP4YpH8PfGeFemnMMY27i38+apKNtw9q5KzW3qfCv8Awo/4lRzszeD7tYsc
KqnfmoJfg38QFxC3hG9twcZlZDgH69K+7TYfGO1TIj0x0GfmLDGfTnvVd7v40xMx/sC3eNQOVVSD
7jmk6a05enmZp8ic31Pg/wD4VZ4yiXa/h7U4JRnYkkHyP9T1B/SqjeCvFMccoufDmoREKAF8hsh+
/wD9avvFb34v7S7+GUmLc5CqB+FSweJPilBbqJvBhkZf4wFBx+VPlsXGXbofAc3hXWoWUDw/qW1h
gyJC3yfhVafQtQaU+bo+pGXg4+zNlsV+gsnjf4gxKpk8Bx7D0BP+eapXPxI8SpH5d58P5FZv4RCS
rVlTi4t2WnqVUlFaJH59y6dfOrhbW4gwSDvgYPj2OMZ9qgmtpIWQGwumlUkqTER+R/KvviX4l6nI
6JP8OXdgfuJaFsj0BI61CfHtmpxdfDZ0U/fjjscn8yP6V0qFtGmZRqWbfQ+xqKKKYgooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKAcUUUAGTQeaKKAAHH4UxreJ33mKMv/eKjNPopWQBULWdu90ly0ET
XKKUWYoN6r3AbqBU1FMAqleaJYX9/Z31xaQzXlmWNvO65aLIwcGrtFG4BmuO1Dwd4T1nxDcSOEh1
gbTMLe4aKQ8cEgEZ474rsayNa8I6R4gcSX9jHNMAAJhlXA9Nw5poDzX48eA7LxH8OZtCsvOvNRMq
PAju88n3uepOK9F8CaLL4d8F6Hpc+PPtLOKKQD+8FGf1qXQfCel+GmlbT7byXlxvdnLE/iTWvQ3z
W8hRckmm9wooopDCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo
oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoxmiigAooooAKKK
KACiiigAooooAKKKKACiiigAooooAKKKKACijrRQAUUUHigAoAxQDkUUAB6cUgBx70tFACE4HNLi
iigAIyKQiloIyKADPFIRilzg0UANBJPU0uSB1NKBikzgUrANHWlDFe9KDTWXJ5o2AUOSOtIBlv60
YNHaotYBCT2/Wggke/pSENjjGaVScc9amyvqMQnv1ppGQQcMh5KkZBpSpGf5Uwkg5Xn6ms5Ow0IL
aAHP2aEHsRGKQoAR3xwKlB45/KmkEKcj8qyil03G2Rqu0YJzz1ppizkbug47VLv3cEUjKNxznHQC
m07bgmQOijkEA+uKaI1VTuOMHqamc4BGOMdahZduCxBB71F1a/QtaiMmc84xUCxgsDkqT3JqUjDA
rk8c0hO0jcvPXI71nFaaO5ZDOm5+CQVGfrUHkorIQTgnsKtODKWGcEcGmGPb8u3txmqjFfCxbSuV
TDt3c556n0pfJ3YwQARg1Pt5PUnPKmhlywAIwOhxTaa0uNpXKgG1sAA49eaUICCA2B6U15fs6Oz9
F9sVnLr0TyhGiKbsBXAyGNYNuNtLJo2ural0W6kEE/MORSNJgcu+8HBZeTTwvQcFhwcetOAxwVwS
PvUoyc3ZLYUkrXK0oLFC2Rjv71IzSFh87gdSN3epGQgY3Enn73pUYBI5OT/eNUrppWFp0ZXvHknc
N5z4zgkEihZJ1cP9okaQDht56VJIqiJ22h0BAYD3ppAGAAQMd/Sno3dLUpasbJdyoikyNu653cZq
Nr2ck7pWcZ/i5ApZzk4IAGajCsrk5GCMYPT3rNRtaDjb/hxSavdsSS6vTER58hHXOeB9KgN1cyrl
iiyP1kKDP596e0gAIzy3GBTSXeQKOQvauum5y+LdGbim9D//2Q==
------=_Part_8334202_207369620.1350472452953
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-users mailing list
Xen-users@lists.xen.org
http://lists.xen.org/xen-users
------=_Part_8334202_207369620.1350472452953--



From xen-api-bounces@lists.xen.org Thu Oct 18 18:25:12 2012
Return-path: <xen-api-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Oct 2012 18:25:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-api-bounces@lists.xen.org>)
	id 1TOumG-0007Tt-4N; Thu, 18 Oct 2012 18:25:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <bmenges@gogrid.com>) id 1TOumE-0007To-Hd
	for xen-api@lists.xen.org; Thu, 18 Oct 2012 18:25:03 +0000
Received: from [85.158.139.211:27963] by server-3.bemta-5.messagelabs.com id
	C8/ED-28618-D7940805; Thu, 18 Oct 2012 18:25:01 +0000
X-Env-Sender: bmenges@gogrid.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1350584696!22882135!1
X-Originating-IP: [216.93.160.25]
X-SpamReason: No, hits=0.6 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_30_40,HTML_MESSAGE
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7177 invoked from network); 18 Oct 2012 18:24:57 -0000
Received: from smtp1.servepath.com (HELO smtp1.servepath.com) (216.93.160.25)
	by server-6.tower-206.messagelabs.com with DHE-RSA-AES256-SHA
	encrypted SMTP; 18 Oct 2012 18:24:57 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=january; d=gogrid.com;
	h=Received:Received:From:To:Date:Subject:Thread-Topic:Thread-Index:Message-ID:Accept-Language:Content-Language:X-MS-Has-Attach:X-MS-TNEF-Correlator:acceptlanguage:Content-Type:MIME-Version;
	b=LzgMXUQVJvZKlvI/hXhujd/inIAbU8Q/ETjCrTau5hZ1zf5NS6DfSwNHJSB1knj9qXdp/je1yP9gtC5LAT621rffFMiEkYaq3UEXMceiOOlf/SE22P1gIHPB3WpmwL5S;
Received: from [192.168.1.12] (helo=fe-002-sfo.servepath.com)
	by smtp1.servepath.com with esmtp (Exim 4.68 (FreeBSD))
	(envelope-from <bmenges@gogrid.com>) id 1TOum8-000CjD-B4
	for xen-api@lists.xen.org; Thu, 18 Oct 2012 11:24:56 -0700
Received: from EX-004-SFO.servepath.com ([::1]) by fe-002-sfo.servepath.com
	([::1]) with mapi; Thu, 18 Oct 2012 11:24:55 -0700
From: Brian Menges <bmenges@gogrid.com>
To: "xen-api@lists.xen.org" <xen-api@lists.xen.org>
Date: Thu, 18 Oct 2012 11:24:55 -0700
Thread-Topic: Odd state when joining pool with two default local storage
	repositories
Thread-Index: Ac2tXd80NYNNRKI9TxiyeQAgm0E0VA==
Message-ID: <3968CAC7E1BE7242B18501F292F3C7F1018E01A9@EX-004-SFO.servepath.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
acceptlanguage: en-US
MIME-Version: 1.0
Subject: [Xen-API] Odd state when joining pool with two default local
 storage repositories
X-BeenThere: xen-api@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: User and development list for XCP and XAPI <xen-api.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-api>,
	<mailto:xen-api-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-api@lists.xen.org>
List-Help: <mailto:xen-api-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api>,
	<mailto:xen-api-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8565787190529464708=="
Sender: xen-api-bounces@lists.xen.org
Errors-To: xen-api-bounces@lists.xen.org

--===============8565787190529464708==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_3968CAC7E1BE7242B18501F292F3C7F1018E01A9EX004SFOservepa_"

--_000_3968CAC7E1BE7242B18501F292F3C7F1018E01A9EX004SFOservepa_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

I've installed two like-hosts with XCP 1.6, created a pool, and after telli=
ng my second host to join the pool the whole thing gets into a very odd sta=
te. The pool master knows about some of the storage repos of the second hos=
t, but cannot communicate with it, and isn't listed in xencenter. The secon=
d host cannot be reached by xencenter anymore, and doesn't think it is a me=
mber of the pool, even after a reboot.

I get into this state when I have a server join the pool, and each server h=
as a locally defined default 'Local storage' SR, or when neither have a def=
ault storage repository. When ONLY one host doesn't have a 'default' marker=
 on the SR 'Local storage' it joins fine, and is a member.

NOTE: I know this will be tagged as the "reason", but I do have to perform =
a forced pool join due to a mismatch in the 'stepping' between my cpus. I f=
eel this is extremely minor, they're both the same model, just different st=
epping numbers (6 vs 10). This shouldn't be the reason why.

If you'd like logs, then I'll have to rebuild a new cluster, but the only w=
ay I've seen to resolve this is not define a default on more than one inten=
ded pool member, and join them. Also once I get into this state, I have to =
re-format/install because the master won't destroy/leave the pool, and the =
other server won't join because of an error message: ("'NoneType' object ha=
s no attribute 'xenapi'",)

Let me know what might be useful, here's an example of it unable to communi=
cate in the logs:

---
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Reading config file]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Reading config file D:bcd08e857=
3be created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Readi=
ng config file D:bcd08e8573be|config_shared] Disabling logging for: http
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Readi=
ng config file D:bcd08e8573be|config_shared] Disabling logging for: db_writ=
e
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Readi=
ng config file D:bcd08e8573be|config_shared] Disabling logging for: redo_lo=
g
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Reading external global variables defi=
nition]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Reading external global variabl=
es definition D:e04155f8aa81 created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [XAPI SERVER STARTING]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task XAPI SERVER STARTING D:ed55d357=
43b8 created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|XAPI =
SERVER STARTING D:ed55d35743b8|xapi] on_system_boot=3Dtrue pool_role=3Dslav=
e:192.168.2.26
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Parsing inventory file]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Parsing inventory file D:d98a4d=
e00be2 created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Initialising local database]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Initialising local database D:2=
46722c23497 created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Initi=
alising local database D:246722c23497|hashtbl_xml] Converting dtd
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Initi=
alising local database D:246722c23497|localdb] host_disabled_until_reboot =
=3D false
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Initi=
alising local database D:246722c23497|localdb] this_node_just_became_master=
 =3D false
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Initi=
alising local database D:246722c23497|localdb] host_restarted_cleanly =3D f=
alse
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Initi=
alising local database D:246722c23497|localdb] master_scripts =3D false
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Initi=
alising local database D:246722c23497|localdb] ha.armed =3D false
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Loading DHCP leases]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Loading DHCP leases D:a579dfaf8=
357 created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [ info|xs-02.dde.gogrid.net|0 thread_zero|Loadi=
ng DHCP leases D:a579dfaf8357|xapi_udhcpd] Caught exception Unix.Unix_error=
(20, "open", "/var/xapi/dhcp-leases.db") loading /var/xapi/dhcp-leases.db: =
creating new empty leases database
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Reading pool secret]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Reading pool secret D:bf33756ca=
a9b created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Logging xapi version info]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Logging xapi version info D:710=
38c9b733c created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Loggi=
ng xapi version info D:71038c9b733c|xapi] Server configuration:
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Loggi=
ng xapi version info D:71038c9b733c|xapi] platform_version: 1.6.06
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Loggi=
ng xapi version info D:71038c9b733c|xapi] platform_name: XCP
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Loggi=
ng xapi version info D:71038c9b733c|xapi] build_number: 61002c
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Loggi=
ng xapi version info D:71038c9b733c|xapi] git changeset:
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Loggi=
ng xapi version info D:71038c9b733c|xapi] version: 1.3
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Loggi=
ng xapi version info D:71038c9b733c|xapi] use-xenopsd: true
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Setting signal handlers]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Setting signal handlers D:b9e51=
4546ef6 created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Initialising random number generator]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Initialising random number gene=
rator D:b754cadd6b4f created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Running startup check]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Running startup check D:3c90a6a=
b7aa7 created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Runni=
ng startup check D:3c90a6ab7aa7|xapi] Binary appears to be correctly linked
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Initialising SM state]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Initialising SM state D:17b7be4=
21e02 created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [ info|xs-02.dde.gogrid.net|0 thread_zero|Initi=
alising SM state D:17b7be421e02|storage_impl] No storage state is persisted=
 in /var/run/nonpersistent/xapi/storage.db; creating blank database
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Starting SM internal event service]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Starting SM internal event serv=
ice D:d0aef07a81d6 created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Starting SM service]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|1||storage] Schedul=
er sleep until 1350580534 (another 3600 seconds)
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Starting SM service D:0f6f55e61=
32f created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Starting SM xapi event service]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Starting SM xapi event service =
D:0c269e2f8574 created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Registering http handlers]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Registering http handlers D:0d6=
e49963c6d created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Listening unix socket]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Listening unix socket D:70e8ca2=
e9195 created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [ info|xs-02.dde.gogrid.net|0 thread_zero|Liste=
ning unix socket D:70e8ca2e9195|xapi] Successfully bound socket to: UNIX /v=
ar/xapi/xapi
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Checking HA configuration]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Checking HA configuration D:b14=
fa653a0c2 created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Checking for non-HA redo-log]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Checking for non-HA redo-log D:=
33225a1d0e58 created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [Setup DB configuration]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task Setup DB configuration D:d0df4d=
adff1f created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Setup=
 DB configuration D:d0df4dadff1f|xapi] parsing db config file
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Setup=
 DB configuration D:d0df4dadff1f|xapi] [/var/xapi/state.db]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Setup=
 DB configuration D:d0df4dadff1f|xapi] mode:no_limit
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Setup=
 DB configuration D:d0df4dadff1f|xapi] format:xml
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Setup=
 DB configuration D:d0df4dadff1f|xapi] compress:false
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Setup=
 DB configuration D:d0df4dadff1f|xapi] is_on_remote_storage:false
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Setup=
 DB configuration D:d0df4dadff1f|xapi] available_this_boot:true
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Setup=
 DB configuration D:d0df4dadff1f|xapi] format:xml
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|Setup=
 DB configuration D:d0df4dadff1f|xapi]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [bringing up management interface]
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|dummytaskhelper] task bringing up management interfac=
e D:2c0efe3501de created by task D:d790ab93e94f
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|bring=
ing up management interface D:2c0efe3501de|xapi] Starting new server
Oct 18 09:15:33 xs-02 xapi: [error|xs-02.dde.gogrid.net|0 thread_zero|bring=
ing up management interface D:2c0efe3501de|master_connection] Caught Master=
_connection.Goto_handler
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|bring=
ing up management interface D:2c0efe3501de|master_connection] Connection to=
 master died. I will continue to retry indefinitely (supressing future logg=
ing of this message).
Oct 18 09:15:33 xs-02 xapi: [error|xs-02.dde.gogrid.net|0 thread_zero|bring=
ing up management interface D:2c0efe3501de|master_connection] Connection to=
 master died. I will continue to retry indefinitely (supressing future logg=
ing of this message).
Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|bring=
ing up management interface D:2c0efe3501de|master_connection] Sleeping 2.00=
0000 seconds before retrying master connection...
Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [debug|xs-02.dde.gog=
rid.net|0 monitor|main|rrdd_monitor] Creating fresh RRD for VM uuid=3Dafbbf=
737-5e8c-4bf4-91ab-8408f910fdc3
Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [debug|xs-02.dde.gog=
rid.net|0 monitor|main|rrdd_monitor] Sending back RRD for VM uuid=3D0000000=
0-0000-0000-0000-000000000000
Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [debug|xs-02.dde.gog=
rid.net|0 monitor|main|rrdd_shared] Archiving RRD for object uuid=3D0000000=
0-0000-0000-0000-000000000000 to remote master
Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [debug|xs-02.dde.gog=
rid.net|0 monitor|main|rrdd_shared] About to send to master.
Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [debug|xs-02.dde.gog=
rid.net|0 monitor|main|rrdd_shared] Sending RRD for object uuid=3D00000000-=
0000-0000-0000-000000000000 archiving=3Dtrue to address: 192.168.2.26
Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [debug|xs-02.dde.gog=
rid.net|0 monitor|main|stunnel] Using commandline: /usr/sbin/stunnel -fd 35=
5c3b40-cdf1-aca3-93b9-1a09f49dbee1
Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [debug|xs-02.dde.gog=
rid.net|0 monitor|main|stunnel] stunnel has pidty: (FEFork (15,7050))
Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [debug|xs-02.dde.gog=
rid.net|0 monitor|main|stunnel] stunnel start
Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [debug|xs-02.dde.gog=
rid.net|0 monitor|main|xmlrpc_client] stunnel pid: 7050 (cached =3D false) =
connected to 192.168.2.26:443
Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [debug|xs-02.dde.gog=
rid.net|0 monitor|main|xmlrpc_client] with_recorded_stunnelpid task_opt=3DN=
one s_pid=3D7050
Oct 18 09:15:34 xs-02 /opt/xensource/libexec/xcp-rrdd: [ warn|xs-02.dde.gog=
rid.net|0 monitor|main|xmlrpc_client] stunnel pid: 7050 caught Http_client.=
Http_request_rejected("404: { frame =3D false; method =3D PUT; uri =3D /rrd=
; query =3D [ archive=3Dtrue; uuid=3D00000000-0000-0000-0000-000000000000 ]=
; content_length =3D [  ]; transfer encoding =3D ; version =3D 1.0; cookie =
=3D [ pool_secret=3Db7ab33f3-8864-a7fc-4c68-ea3d4741e37c/d8392808-edbf-9d6e=
-573a-993a12570e3b/d3227802-ec5c-6eeb-80d8-e1bac35c20ac ]; task =3D ; subta=
sk_of =3D ; content-type =3D ; host =3D ; user_agent =3D xapi/1.3 }")
Oct 18 09:15:34 xs-02 /opt/xensource/libexec/xcp-rrdd: [debug|xs-02.dde.gog=
rid.net|0 monitor|main|rrdd_main] Monitor thread caught an exception. Pausi=
ng for 10s, then restarting.
Oct 18 09:15:34 xs-02 /opt/xensource/libexec/xcp-rrdd: [debug|xs-02.dde.gog=
rid.net|0 monitor|main|rrdd_main] Raised at http_client.ml:166.21-83 -> htt=
p_client.ml:175.4-75 -> xmlrpc_client.ml:258.2-63 -> xmlrpc_client.ml:237.7=
-10 -> xmlrpc_client.ml:242.13-14 -> pervasiveext.ml:22.2-9 -> pervasiveext=
.ml:26.22-25 -> pervasiveext.ml:22.2-9 -> pervasiveext.ml:26.22-25 -> rrdd_=
shared.ml:120.1-131 -> list.ml:69.12-15 -> pervasiveext.ml:22.2-9 -> pervas=
iveext.ml:26.22-25 -> rrdd_main.ml:591.4-17
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|bring=
ing up management interface D:2c0efe3501de|master_connection] stunnel: Usin=
g commandline: /usr/sbin/stunnel -fd ce4b99ec-9f06-9d25-c3df-993f25a295af
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|bring=
ing up management interface D:2c0efe3501de|master_connection] stunnel: stun=
nel has pidty: (FEFork (19,7242))
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|bring=
ing up management interface D:2c0efe3501de|master_connection] stunnel: stun=
nel start
Oct 18 09:15:35 xs-02 xapi: [ info|xs-02.dde.gogrid.net|0 thread_zero|bring=
ing up management interface D:2c0efe3501de|master_connection] stunnel conne=
cted pid=3D7242 fd=3D16
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|bring=
ing up management interface D:2c0efe3501de|backtrace] Raised at db_rpc_clie=
nt_v1.ml:39.14-41 -> db_actions.ml:7192.28-63 -> xapi_mgmt_iface.ml:52.17-4=
9 -> threadext.ml:20.20-24 -> threadext.ml:20.62-65 -> xapi.ml:310.3-71
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|bring=
ing up management interface D:2c0efe3501de|xapi] Caught exception bringing =
up management interface: UUID_INVALID: [ host; e32c5aa1-b129-4e0c-92ca-0892=
68dc0ee9 ]
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [starting thread Starting periodic sche=
duler]
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|startup] task [starting thread Remote requests]
Oct 18 09:15:35 xs-02 xapi: [ info|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|xapi] Running in 'Pool Slave' mode
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|xapi] Running in 'Pool Slave' mode
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 UNIX /var/xapi/xa=
pi|session.login_with_password D:b00f1a1b3a11|backtrace] Raised at db_rpc_c=
lient_v1.ml:39.14-41 -> db_actions.ml:7192.28-63 -> xapi_session.ml:363.57-=
91 -> xapi_session.ml:36.12-17 -> xapi_session.ml:36.67-68 -> server_helper=
s.ml:72.10-22
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 UNIX /var/xapi/xa=
pi|session.login_with_password D:b00f1a1b3a11|dispatcher] Server_helpers.ex=
ec exception_handler: Got exception UUID_INVALID: [ host; e32c5aa1-b129-4e0=
c-92ca-089268dc0ee9 ]
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|7||dummytaskhelper]=
 task Starting periodic scheduler D:5a6404e4d45b created by task D:d790ab93=
e94f
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 UNIX /var/xapi/xa=
pi|session.login_with_password D:b00f1a1b3a11|dispatcher] Raised at string.=
ml:150.25-34 -> stringext.ml:108.13-29
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 UNIX /var/xapi/xa=
pi|session.login_with_password D:b00f1a1b3a11|backtrace] Raised at string.m=
l:150.25-34 -> stringext.ml:108.13-29
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 UNIX /var/xapi/xa=
pi|session.login_with_password D:b00f1a1b3a11|xapi] Raised at server_helper=
s.ml:94.14-15 -> pervasiveext.ml:22.2-9
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 UNIX /var/xapi/xa=
pi|session.login_with_password D:b00f1a1b3a11|xapi] Raised at pervasiveext.=
ml:26.22-25 -> pervasiveext.ml:22.2-9
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 UNIX /var/xapi/xa=
pi|dispatch:session.login_with_password D:0ae69a1a4b95|xapi] Raised at perv=
asiveext.ml:26.22-25 -> pervasiveext.ml:22.2-9
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 UNIX /var/xapi/xa=
pi|dispatch:session.login_with_password D:0ae69a1a4b95|backtrace] Raised at=
 pervasiveext.ml:26.22-25 -> server_helpers.ml:140.10-106 -> server.ml:501.=
19-183 -> server_helpers.ml:119.4-7
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|7|Starting periodic=
 scheduler D:5a6404e4d45b|backgroundscheduler] Periodic scheduler started
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|8||dummytaskhelper]=
 task Remote requests D:f9d74e761ad1 created by task D:d790ab93e94f
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 UNIX /var/xapi/xa=
pi|session.login_with_password D:49aa80495cc6|backtrace] Raised at db_rpc_c=
lient_v1.ml:39.14-41 -> db_actions.ml:7192.28-63 -> xapi_session.ml:363.57-=
91 -> xapi_session.ml:36.12-17 -> xapi_session.ml:36.67-68 -> server_helper=
s.ml:72.10-22
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 UNIX /var/xapi/xa=
pi|session.login_with_password D:49aa80495cc6|dispatcher] Server_helpers.ex=
ec exception_handler: Got exception UUID_INVALID: [ host; e32c5aa1-b129-4e0=
c-92ca-089268dc0ee9 ]
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 UNIX /var/xapi/xa=
pi|session.login_with_password D:49aa80495cc6|dispatcher] Raised at string.=
ml:150.25-34 -> stringext.ml:108.13-29
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 UNIX /var/xapi/xa=
pi|session.login_with_password D:49aa80495cc6|backtrace] Raised at string.m=
l:150.25-34 -> stringext.ml:108.13-29
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 UNIX /var/xapi/xa=
pi|session.login_with_password D:49aa80495cc6|xapi] Raised at server_helper=
s.ml:94.14-15 -> pervasiveext.ml:22.2-9
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 UNIX /var/xapi/xa=
pi|session.login_with_password D:49aa80495cc6|xapi] Raised at pervasiveext.=
ml:26.22-25 -> pervasiveext.ml:22.2-9
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 UNIX /var/xapi/xa=
pi|dispatch:session.login_with_password D:f5474e285cad|xapi] Raised at perv=
asiveext.ml:26.22-25 -> pervasiveext.ml:22.2-9
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 UNIX /var/xapi/xa=
pi|dispatch:session.login_with_password D:f5474e285cad|backtrace] Raised at=
 pervasiveext.ml:26.22-25 -> server_helpers.ml:140.10-106 -> server.ml:501.=
19-183 -> server_helpers.ml:119.4-7
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|xapi] Attempting to acquire a management IP address
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|mscgen] xapi=3D>networkd [label=3D"Interface.get_ipv4=
_addr"];
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|xapi] Acquired management IP address: 192.168.2.27
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|xapi] Attempting to communicate with master
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|mscgen] xapi=3D>xapi [label=3D"<methodCall><methodNam=
e>session.slave_local_login</methodName><params><param><value>b7ab33f3-8864=
-a7fc-4c68-ea3d4741e37c/d8392808-edbf-9d6e-573a-993a12570e3b/d3227802-ec5c-=
6eeb-80d8-e1bac35c20ac</value></param></params></methodCall>"];
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|stunnel] Using commandline: /usr/sbin/stunnel -fd 3b0=
e7995-8114-e0e7-2d1b-bdea55aae31e
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|stunnel] stunnel has pidty: (FEFork (18,7253))
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|stunnel] stunnel start
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|xmlrpc_client] stunnel pid: 7253 (cached =3D false) c=
onnected to 192.168.2.26:443
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|xmlrpc_client] with_recorded_stunnelpid task_opt=3DNo=
ne s_pid=3D7253
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|mscgen] xapi=3D>xapi [label=3D"<methodCall><methodNam=
e>pool.hello</methodName><params><param><value>OpaqueRef:310d373c-0430-04be=
-8f3f-fbf9009a4879</value></param><param><value>e32c5aa1-b129-4e0c-92ca-089=
268dc0ee9</value></param><param><value>192.168.2.27</value></param></params=
></methodCall>"];
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|stunnel] Using commandline: /usr/sbin/stunnel -fd 06d=
7eda5-2a57-d147-2dae-ec097936e8c3
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|stunnel] stunnel has pidty: (FEFork (18,7257))
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|stunnel] stunnel start
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|xmlrpc_client] stunnel pid: 7257 (cached =3D false) c=
onnected to 192.168.2.26:443
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|xmlrpc_client] with_recorded_stunnelpid task_opt=3DNo=
ne s_pid=3D7257
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|xapi] Master claims he has no record of us being a sl=
ave
Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 thread_zero|serve=
r_init D:d790ab93e94f|mscgen] xapi=3D>xapi [label=3D"<methodCall><methodNam=
e>session.local_logout</methodName><params><param><value>OpaqueRef:310d373c=
-0430-04be-8f3f-fbf9009a4879</value></param></params></methodCall>"];---
---

UPDATE: did this a second time without defining a default local storage rep=
o (but changed my storage repos from EXT to LVM), and I got the same result=
. This time I've saved the logs (all of /var/log)... let me know which migh=
t be useful.



- Brian Menges
Principal Engineer, DevOps
GoGrid | ServePath | ColoServe | UpStream Networks


________________________________
The information contained in this message, and any attachments, may contain=
 confidential and legally privileged material. It is solely for the use of =
the person or entity to which it is addressed. Any review, retransmission, =
dissemination, or action taken in reliance upon this information by persons=
 or entities other than the intended recipient is prohibited. If you receiv=
e this in error, please contact the sender and delete the material from any=
 computer.

--_000_3968CAC7E1BE7242B18501F292F3C7F1018E01A9EX004SFOservepa_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">I&#8217;ve installed two like-hosts with XCP 1.6, cr=
eated a pool, and after telling my second host to join the pool the whole t=
hing gets into a very odd state. The pool master knows about some of the st=
orage repos of the second host, but cannot
 communicate with it, and isn&#8217;t listed in xencenter. The second host =
cannot be reached by xencenter anymore, and doesn&#8217;t think it is a mem=
ber of the pool, even after a reboot.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">I get into this state when I have a server join the =
pool, and each server has a locally defined default &#8216;Local storage&#8=
217; SR, or when neither have a default storage repository. When ONLY one h=
ost doesn&#8217;t have a &#8216;default&#8217; marker on the SR
 &#8216;Local storage&#8217; it joins fine, and is a member.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">NOTE: I know this will be tagged as the &#8220;reaso=
n&#8221;, but I do have to perform a forced pool join due to a mismatch in =
the &#8216;stepping&#8217; between my cpus. I feel this is extremely minor,=
 they&#8217;re both the same model, just different stepping numbers
 (6 vs 10). This shouldn&#8217;t be the reason why.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">If you&#8217;d like logs, then I&#8217;ll have to re=
build a new cluster, but the only way I&#8217;ve seen to resolve this is no=
t define a default on more than one intended pool member, and join them. Al=
so once I get into this state, I have to re-format/install
 because the master won&#8217;t destroy/leave the pool, and the other serve=
r won&#8217;t join because of an error message: (&#8220;&#8217;NoneType&#82=
17; object has no attribute &#8216;xenapi&#8217;&#8221;,)<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Let me know what might be useful, here&#8217;s an ex=
ample of it unable to communicate in the logs:<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">---<o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Reading config file]<o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Reading config =
file D:bcd08e8573be created by task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Reading config file D:bcd08e8573be|config_shared] Disabling logg=
ing for: http<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Reading config file D:bcd08e8573be|config_shared] Disabling logg=
ing for: db_write<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Reading config file D:bcd08e8573be|config_shared] Disabling logg=
ing for: redo_log<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Reading external globa=
l variables definition]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Reading externa=
l global variables definition D:e04155f8aa81 created
 by task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [XAPI SERVER STARTING]<=
o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task XAPI SERVER STA=
RTING D:ed55d35743b8 created by task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|XAPI SERVER STARTING D:ed55d35743b8|xapi] on_system_boot=3Dtrue =
pool_role=3Dslave:192.168.2.26<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Parsing inventory file=
]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Parsing invento=
ry file D:d98a4de00be2 created by task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Initialising local dat=
abase]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Initialising lo=
cal database D:246722c23497 created by task D:d790ab93e94f<o:p></o:p></span=
></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Initialising local database D:246722c23497|hashtbl_xml] Converti=
ng dtd<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Initialising local database D:246722c23497|localdb] host_disable=
d_until_reboot =3D false<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Initialising local database D:246722c23497|localdb] this_node_ju=
st_became_master =3D false<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Initialising local database D:246722c23497|localdb] host_restart=
ed_cleanly =3D false<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Initialising local database D:246722c23497|localdb] master_scrip=
ts =3D false<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Initialising local database D:246722c23497|localdb] ha.armed =3D=
 false<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Loading DHCP leases]<o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Loading DHCP le=
ases D:a579dfaf8357 created by task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [ info|xs-02.dde.gogrid.net|0 t=
hread_zero|Loading DHCP leases D:a579dfaf8357|xapi_udhcpd] Caught exception=
 Unix.Unix_error(20, &quot;open&quot;, &quot;/var/xapi/dhcp-leases.db&quot;=
)
 loading /var/xapi/dhcp-leases.db: creating new empty leases database<o:p><=
/o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Reading pool secret]<o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Reading pool se=
cret D:bf33756caa9b created by task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Logging xapi version i=
nfo]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Logging xapi ve=
rsion info D:71038c9b733c created by task D:d790ab93e94f<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Logging xapi version info D:71038c9b733c|xapi] Server configurat=
ion:<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Logging xapi version info D:71038c9b733c|xapi] platform_version:=
 1.6.06<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Logging xapi version info D:71038c9b733c|xapi] platform_name: XC=
P<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Logging xapi version info D:71038c9b733c|xapi] build_number: 610=
02c<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Logging xapi version info D:71038c9b733c|xapi] git changeset:
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Logging xapi version info D:71038c9b733c|xapi] version: 1.3<o:p>=
</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Logging xapi version info D:71038c9b733c|xapi] use-xenopsd: true=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Setting signal handler=
s]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Setting signal =
handlers D:b9e514546ef6 created by task D:d790ab93e94f<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Initialising random nu=
mber generator]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Initialising ra=
ndom number generator D:b754cadd6b4f created by
 task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Running startup check]=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Running startup=
 check D:3c90a6ab7aa7 created by task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Running startup check D:3c90a6ab7aa7|xapi] Binary appears to be =
correctly linked<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Initialising SM state]=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Initialising SM=
 state D:17b7be421e02 created by task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [ info|xs-02.dde.gogrid.net|0 t=
hread_zero|Initialising SM state D:17b7be421e02|storage_impl] No storage st=
ate is persisted in /var/run/nonpersistent/xapi/storage.db;
 creating blank database<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Starting SM internal e=
vent service]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Starting SM int=
ernal event service D:d0aef07a81d6 created by
 task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Starting SM service]<o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|1||=
storage] Scheduler sleep until 1350580534 (another 3600 seconds)<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Starting SM ser=
vice D:0f6f55e6132f created by task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Starting SM xapi event=
 service]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Starting SM xap=
i event service D:0c269e2f8574 created by task
 D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Registering http handl=
ers]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Registering htt=
p handlers D:0d6e49963c6d created by task D:d790ab93e94f<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Listening unix socket]=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Listening unix =
socket D:70e8ca2e9195 created by task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [ info|xs-02.dde.gogrid.net|0 t=
hread_zero|Listening unix socket D:70e8ca2e9195|xapi] Successfully bound so=
cket to: UNIX /var/xapi/xapi<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Checking HA configurat=
ion]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Checking HA con=
figuration D:b14fa653a0c2 created by task D:d790ab93e94f<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Checking for non-HA re=
do-log]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Checking for no=
n-HA redo-log D:33225a1d0e58 created by task D:d790ab93e94f<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [Setup DB configuration=
]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task Setup DB config=
uration D:d0df4dadff1f created by task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Setup DB configuration D:d0df4dadff1f|xapi] parsing db config fi=
le<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Setup DB configuration D:d0df4dadff1f|xapi] [/var/xapi/state.db]=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Setup DB configuration D:d0df4dadff1f|xapi] mode:no_limit<o:p></=
o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Setup DB configuration D:d0df4dadff1f|xapi] format:xml<o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Setup DB configuration D:d0df4dadff1f|xapi] compress:false<o:p><=
/o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Setup DB configuration D:d0df4dadff1f|xapi] is_on_remote_storage=
:false<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Setup DB configuration D:d0df4dadff1f|xapi] available_this_boot:=
true<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Setup DB configuration D:d0df4dadff1f|xapi] format:xml<o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|Setup DB configuration D:d0df4dadff1f|xapi]
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [bringing up management=
 interface]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|dummytaskhelper] task bringing up man=
agement interface D:2c0efe3501de created by task
 D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|bringing up management interface D:2c0efe3501de|xapi] Starting n=
ew server<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [error|xs-02.dde.gogrid.net|0 t=
hread_zero|bringing up management interface D:2c0efe3501de|master_connectio=
n] Caught Master_connection.Goto_handler<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|bringing up management interface D:2c0efe3501de|master_connectio=
n] Connection to master died. I will continue
 to retry indefinitely (supressing future logging of this message).<o:p></o=
:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [error|xs-02.dde.gogrid.net|0 t=
hread_zero|bringing up management interface D:2c0efe3501de|master_connectio=
n] Connection to master died. I will continue
 to retry indefinitely (supressing future logging of this message).<o:p></o=
:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|bringing up management interface D:2c0efe3501de|master_connectio=
n] Sleeping 2.000000 seconds before retrying master
 connection...<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [deb=
ug|xs-02.dde.gogrid.net|0 monitor|main|rrdd_monitor] Creating fresh RRD for=
 VM uuid=3Dafbbf737-5e8c-4bf4-91ab-8408f910fdc3<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [deb=
ug|xs-02.dde.gogrid.net|0 monitor|main|rrdd_monitor] Sending back RRD for V=
M uuid=3D00000000-0000-0000-0000-000000000000<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [deb=
ug|xs-02.dde.gogrid.net|0 monitor|main|rrdd_shared] Archiving RRD for objec=
t uuid=3D00000000-0000-0000-0000-000000000000 to
 remote master<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [deb=
ug|xs-02.dde.gogrid.net|0 monitor|main|rrdd_shared] About to send to master=
.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [deb=
ug|xs-02.dde.gogrid.net|0 monitor|main|rrdd_shared] Sending RRD for object =
uuid=3D00000000-0000-0000-0000-000000000000 archiving=3Dtrue
 to address: 192.168.2.26<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [deb=
ug|xs-02.dde.gogrid.net|0 monitor|main|stunnel] Using commandline: /usr/sbi=
n/stunnel -fd 355c3b40-cdf1-aca3-93b9-1a09f49dbee1<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [deb=
ug|xs-02.dde.gogrid.net|0 monitor|main|stunnel] stunnel has pidty: (FEFork =
(15,7050))<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [deb=
ug|xs-02.dde.gogrid.net|0 monitor|main|stunnel] stunnel start<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [deb=
ug|xs-02.dde.gogrid.net|0 monitor|main|xmlrpc_client] stunnel pid: 7050 (ca=
ched =3D false) connected to 192.168.2.26:443<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:33 xs-02 /opt/xensource/libexec/xcp-rrdd: [deb=
ug|xs-02.dde.gogrid.net|0 monitor|main|xmlrpc_client] with_recorded_stunnel=
pid task_opt=3DNone s_pid=3D7050<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:34 xs-02 /opt/xensource/libexec/xcp-rrdd: [ wa=
rn|xs-02.dde.gogrid.net|0 monitor|main|xmlrpc_client] stunnel pid: 7050 cau=
ght Http_client.Http_request_rejected(&quot;404: {
 frame =3D false; method =3D PUT; uri =3D /rrd; query =3D [ archive=3Dtrue;=
 uuid=3D00000000-0000-0000-0000-000000000000 ]; content_length =3D [&nbsp; =
]; transfer encoding =3D ; version =3D 1.0; cookie =3D [ pool_secret=3Db7ab=
33f3-8864-a7fc-4c68-ea3d4741e37c/d8392808-edbf-9d6e-573a-993a12570e3b/d3227=
802-ec5c-6eeb-80d8-e1bac35c20ac
 ]; task =3D ; subtask_of =3D ; content-type =3D ; host =3D ; user_agent =
=3D xapi/1.3 }&quot;)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:34 xs-02 /opt/xensource/libexec/xcp-rrdd: [deb=
ug|xs-02.dde.gogrid.net|0 monitor|main|rrdd_main] Monitor thread caught an =
exception. Pausing for 10s, then restarting.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:34 xs-02 /opt/xensource/libexec/xcp-rrdd: [deb=
ug|xs-02.dde.gogrid.net|0 monitor|main|rrdd_main] Raised at http_client.ml:=
166.21-83 -&gt; http_client.ml:175.4-75 -&gt; xmlrpc_client.ml:258.2-63
 -&gt; xmlrpc_client.ml:237.7-10 -&gt; xmlrpc_client.ml:242.13-14 -&gt; per=
vasiveext.ml:22.2-9 -&gt; pervasiveext.ml:26.22-25 -&gt; pervasiveext.ml:22=
.2-9 -&gt; pervasiveext.ml:26.22-25 -&gt; rrdd_shared.ml:120.1-131 -&gt; li=
st.ml:69.12-15 -&gt; pervasiveext.ml:22.2-9 -&gt; pervasiveext.ml:26.22-25
 -&gt; rrdd_main.ml:591.4-17<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|bringing up management interface D:2c0efe3501de|master_connectio=
n] stunnel: Using commandline: /usr/sbin/stunnel
 -fd ce4b99ec-9f06-9d25-c3df-993f25a295af&nbsp; <o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|bringing up management interface D:2c0efe3501de|master_connectio=
n] stunnel: stunnel has pidty: (FEFork (19,7242))
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|bringing up management interface D:2c0efe3501de|master_connectio=
n] stunnel: stunnel start
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [ info|xs-02.dde.gogrid.net|0 t=
hread_zero|bringing up management interface D:2c0efe3501de|master_connectio=
n] stunnel connected pid=3D7242 fd=3D16<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|bringing up management interface D:2c0efe3501de|backtrace] Raise=
d at db_rpc_client_v1.ml:39.14-41 -&gt; db_actions.ml:7192.28-63
 -&gt; xapi_mgmt_iface.ml:52.17-49 -&gt; threadext.ml:20.20-24 -&gt; thread=
ext.ml:20.62-65 -&gt; xapi.ml:310.3-71<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|bringing up management interface D:2c0efe3501de|xapi] Caught exc=
eption bringing up management interface: UUID_INVALID:
 [ host; e32c5aa1-b129-4e0c-92ca-089268dc0ee9 ]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [starting thread Starti=
ng periodic scheduler]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|startup] task [starting thread Remote=
 requests]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [ info|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|xapi] Running in 'Pool Slave' mode<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|xapi] Running in 'Pool Slave' mode<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 U=
NIX /var/xapi/xapi|session.login_with_password D:b00f1a1b3a11|backtrace] Ra=
ised at db_rpc_client_v1.ml:39.14-41 -&gt; db_actions.ml:7192.28-63
 -&gt; xapi_session.ml:363.57-91 -&gt; xapi_session.ml:36.12-17 -&gt; xapi_=
session.ml:36.67-68 -&gt; server_helpers.ml:72.10-22<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 U=
NIX /var/xapi/xapi|session.login_with_password D:b00f1a1b3a11|dispatcher] S=
erver_helpers.exec exception_handler: Got exception
 UUID_INVALID: [ host; e32c5aa1-b129-4e0c-92ca-089268dc0ee9 ]<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|7||=
dummytaskhelper] task Starting periodic scheduler D:5a6404e4d45b created by=
 task D:d790ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 U=
NIX /var/xapi/xapi|session.login_with_password D:b00f1a1b3a11|dispatcher] R=
aised at string.ml:150.25-34 -&gt; stringext.ml:108.13-29<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 U=
NIX /var/xapi/xapi|session.login_with_password D:b00f1a1b3a11|backtrace] Ra=
ised at string.ml:150.25-34 -&gt; stringext.ml:108.13-29<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 U=
NIX /var/xapi/xapi|session.login_with_password D:b00f1a1b3a11|xapi] Raised =
at server_helpers.ml:94.14-15 -&gt; pervasiveext.ml:22.2-9<o:p></o:p></span=
></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 U=
NIX /var/xapi/xapi|session.login_with_password D:b00f1a1b3a11|xapi] Raised =
at pervasiveext.ml:26.22-25 -&gt; pervasiveext.ml:22.2-9<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 U=
NIX /var/xapi/xapi|dispatch:session.login_with_password D:0ae69a1a4b95|xapi=
] Raised at pervasiveext.ml:26.22-25 -&gt; pervasiveext.ml:22.2-9<o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|5 U=
NIX /var/xapi/xapi|dispatch:session.login_with_password D:0ae69a1a4b95|back=
trace] Raised at pervasiveext.ml:26.22-25 -&gt; server_helpers.ml:140.10-10=
6
 -&gt; server.ml:501.19-183 -&gt; server_helpers.ml:119.4-7<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|7|S=
tarting periodic scheduler D:5a6404e4d45b|backgroundscheduler] Periodic sch=
eduler started<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|8||=
dummytaskhelper] task Remote requests D:f9d74e761ad1 created by task D:d790=
ab93e94f<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 U=
NIX /var/xapi/xapi|session.login_with_password D:49aa80495cc6|backtrace] Ra=
ised at db_rpc_client_v1.ml:39.14-41 -&gt; db_actions.ml:7192.28-63
 -&gt; xapi_session.ml:363.57-91 -&gt; xapi_session.ml:36.12-17 -&gt; xapi_=
session.ml:36.67-68 -&gt; server_helpers.ml:72.10-22<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 U=
NIX /var/xapi/xapi|session.login_with_password D:49aa80495cc6|dispatcher] S=
erver_helpers.exec exception_handler: Got exception
 UUID_INVALID: [ host; e32c5aa1-b129-4e0c-92ca-089268dc0ee9 ]<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 U=
NIX /var/xapi/xapi|session.login_with_password D:49aa80495cc6|dispatcher] R=
aised at string.ml:150.25-34 -&gt; stringext.ml:108.13-29<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 U=
NIX /var/xapi/xapi|session.login_with_password D:49aa80495cc6|backtrace] Ra=
ised at string.ml:150.25-34 -&gt; stringext.ml:108.13-29<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 U=
NIX /var/xapi/xapi|session.login_with_password D:49aa80495cc6|xapi] Raised =
at server_helpers.ml:94.14-15 -&gt; pervasiveext.ml:22.2-9<o:p></o:p></span=
></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 U=
NIX /var/xapi/xapi|session.login_with_password D:49aa80495cc6|xapi] Raised =
at pervasiveext.ml:26.22-25 -&gt; pervasiveext.ml:22.2-9<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 U=
NIX /var/xapi/xapi|dispatch:session.login_with_password D:f5474e285cad|xapi=
] Raised at pervasiveext.ml:26.22-25 -&gt; pervasiveext.ml:22.2-9<o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|6 U=
NIX /var/xapi/xapi|dispatch:session.login_with_password D:f5474e285cad|back=
trace] Raised at pervasiveext.ml:26.22-25 -&gt; server_helpers.ml:140.10-10=
6
 -&gt; server.ml:501.19-183 -&gt; server_helpers.ml:119.4-7<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|xapi] Attempting to acquire a managem=
ent IP address<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|mscgen] xapi=3D&gt;networkd [label=3D=
&quot;Interface.get_ipv4_addr&quot;];<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|xapi] Acquired management IP address:=
 192.168.2.27<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|xapi] Attempting to communicate with =
master<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|mscgen] xapi=3D&gt;xapi [label=3D&quo=
t;&lt;methodCall&gt;&lt;methodName&gt;session.slave_local_login&lt;/methodN=
ame&gt;&lt;params&gt;&lt;param&gt;&lt;value&gt;b7ab33f3-8864-a7fc-4c68-ea3d=
4741e37c/d8392808-edbf-9d6e-573a-993a12570e3b/d3227802-ec5c-6eeb-80d8-e1bac=
35c20ac&lt;/value&gt;&lt;/param&gt;&lt;/params&gt;&lt;/methodCall&gt;&quot;=
];<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|stunnel] Using commandline: /usr/sbin=
/stunnel -fd 3b0e7995-8114-e0e7-2d1b-bdea55aae31e<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|stunnel] stunnel has pidty: (FEFork (=
18,7253))<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|stunnel] stunnel start<o:p></o:p></sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|xmlrpc_client] stunnel pid: 7253 (cac=
hed =3D false) connected to 192.168.2.26:443<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|xmlrpc_client] with_recorded_stunnelp=
id task_opt=3DNone s_pid=3D7253<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|mscgen] xapi=3D&gt;xapi [label=3D&quo=
t;&lt;methodCall&gt;&lt;methodName&gt;pool.hello&lt;/methodName&gt;&lt;para=
ms&gt;&lt;param&gt;&lt;value&gt;OpaqueRef:310d373c-0430-04be-8f3f-fbf9009a4=
879&lt;/value&gt;&lt;/param&gt;&lt;param&gt;&lt;value&gt;e32c5aa1-b129-4e0c=
-92ca-089268dc0ee9&lt;/value&gt;&lt;/param&gt;&lt;param&gt;&lt;value&gt;192=
.168.2.27&lt;/value&gt;&lt;/param&gt;&lt;/params&gt;&lt;/methodCall&gt;&quo=
t;];<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|stunnel] Using commandline: /usr/sbin=
/stunnel -fd 06d7eda5-2a57-d147-2dae-ec097936e8c3<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|stunnel] stunnel has pidty: (FEFork (=
18,7257))<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|stunnel] stunnel start<o:p></o:p></sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|xmlrpc_client] stunnel pid: 7257 (cac=
hed =3D false) connected to 192.168.2.26:443<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|xmlrpc_client] with_recorded_stunnelp=
id task_opt=3DNone s_pid=3D7257<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|xapi] Master claims he has no record =
of us being a slave<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:8.0pt;font-family:&quot;Cou=
rier New&quot;">Oct 18 09:15:35 xs-02 xapi: [debug|xs-02.dde.gogrid.net|0 t=
hread_zero|server_init D:d790ab93e94f|mscgen] xapi=3D&gt;xapi [label=3D&quo=
t;&lt;methodCall&gt;&lt;methodName&gt;session.local_logout&lt;/methodName&g=
t;&lt;params&gt;&lt;param&gt;&lt;value&gt;OpaqueRef:310d373c-0430-04be-8f3f=
-fbf9009a4879&lt;/value&gt;&lt;/param&gt;&lt;/params&gt;&lt;/methodCall&gt;=
&quot;];</span>---<o:p></o:p></p>
<p class=3D"MsoNormal">---<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">UPDATE: did this a second time without defining a de=
fault local storage repo (but changed my storage repos from EXT to LVM), an=
d I got the same result. This time I&#8217;ve saved the logs (all of /var/l=
og)&#8230; let me know which might be useful.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">- Brian Menges<o:p></o:p></p>
<p class=3D"MsoNormal">Principal Engineer, DevOps<o:p></o:p></p>
<p class=3D"MsoNormal">GoGrid | ServePath | ColoServe | UpStream Networks<o=
:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<br>
<hr>
<font face=3D"Courier New" color=3D"Gray" size=3D"1">The information contai=
ned in this message, and any attachments, may contain confidential and lega=
lly privileged material. It is solely for the use of the person or entity t=
o which it is addressed. Any review, retransmission,
 dissemination, or action taken in reliance upon this information by person=
s or entities other than the intended recipient is prohibited. If you recei=
ve this in error, please contact the sender and delete the material from an=
y computer.<br>
</font>
</body>
</html>

--_000_3968CAC7E1BE7242B18501F292F3C7F1018E01A9EX004SFOservepa_--


--===============8565787190529464708==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-api mailing list
Xen-api@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api

--===============8565787190529464708==--


From xen-devel-bounces@lists.xen.org Fri Oct 19 20:13:57 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Oct 2012 20:13:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TPIwv-000783-OG; Fri, 19 Oct 2012 20:13:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jinsong.liu@intel.com>) id 1TPIwt-00077y-3b
	for xen-devel@lists.xensource.com; Fri, 19 Oct 2012 20:13:40 +0000
Received: from [85.158.138.51:26800] by server-1.bemta-3.messagelabs.com id
	E9/F5-31728-274B1805; Fri, 19 Oct 2012 20:13:38 +0000
X-Env-Sender: jinsong.liu@intel.com
X-Msg-Ref: server-15.tower-174.messagelabs.com!1350677611!33283098!1
X-Originating-IP: [192.55.52.88]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTkyLjU1LjUyLjg4ID0+IDMzMTM2Mg==\n
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1495 invoked from network); 19 Oct 2012 20:13:32 -0000
Received: from mga01.intel.com (HELO mga01.intel.com) (192.55.52.88)
	by server-15.tower-174.messagelabs.com with SMTP;
	19 Oct 2012 20:13:32 -0000
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
	by fmsmga101.fm.intel.com with ESMTP; 19 Oct 2012 13:13:30 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.80,615,1344236400"; 
	d="pdf'?scan'208";a="236127249"
Received: from fmsmsx106.amr.corp.intel.com ([10.19.9.37])
	by fmsmga001.fm.intel.com with ESMTP; 19 Oct 2012 13:13:30 -0700
Received: from fmsmsx152.amr.corp.intel.com (10.19.17.221) by
	FMSMSX106.amr.corp.intel.com (10.19.9.37) with Microsoft SMTP Server
	(TLS) id 14.1.355.2; Fri, 19 Oct 2012 13:13:29 -0700
Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by
	fmsmsx152.amr.corp.intel.com (10.19.17.221) with Microsoft SMTP Server
	(TLS) id 14.1.355.2; Fri, 19 Oct 2012 13:13:28 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.134]) by
	SHSMSX102.ccr.corp.intel.com ([169.254.2.123]) with mapi id
	14.01.0355.002; Sat, 20 Oct 2012 04:13:26 +0800
From: "Liu, Jinsong" <jinsong.liu@intel.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Thread-Topic: [Xen-devel] [PATCH 4/5] Xen/MCE: Abort live migration when
	vMCE	occur
Thread-Index: AQHNrglhllpCBVDw6Ui6h+f8GVa/apfA6fPQ
Date: Fri, 19 Oct 2012 20:13:25 +0000
Message-ID: <DE8DF0795D48FD4CA783C40EC82923353610F0@SHSMSX101.ccr.corp.intel.com>
References: <DE8DF0795D48FD4CA783C40EC829233534A62F@SHSMSX101.ccr.corp.intel.com>
	<20609.26910.2416.305293@mariner.uk.xensource.com>
In-Reply-To: <20609.26910.2416.305293@mariner.uk.xensource.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: multipart/mixed;
	boundary="_002_DE8DF0795D48FD4CA783C40EC82923353610F0SHSMSX101ccrcorpi_"
MIME-Version: 1.0
Cc: Christoph Egger <Christoph.Egger@amd.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"Keir \(Xen.org\)" <keir@xen.org>, Ian Campbell <Ian.Campbell@citrix.com>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [Xen-devel] [PATCH 4/5] Xen/MCE: Abort live migration when
	vMCE	occur
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--_002_DE8DF0795D48FD4CA783C40EC82923353610F0SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Ian Jackson wrote:
> Liu, Jinsong writes ("[Xen-devel] [PATCH 4/5] Xen/MCE: Abort live
> migration when vMCE occur"):=20
>> This patch monitor the critical area of live migration (from vMCE
>> point of view, the copypages stage of migration is the critical area
>> while other areas are not).
>=20
> Sorry for the delay reviewing this.
>=20
> Just to be clear, can you explain what a vMCE is ?  I think I know but
> I'm not entirely sure and it would be helpful if you'd confirm, as I
> seem to have missed the background here.  I couldn't easily find the
> 0/5 posting of your series (in part because the tool you're using to
> send your series doesn't link the messages together in the same
> thread).
>=20

vMCE is a virtual MCE interface to guest. Its general purpose is to emulate=
 a well defined interface to guest, so that when MCE occur in the range of =
guest, hypervisor can filter/expose necessary MCE error information to gues=
t which would continue handle it.

These vMCE series patches is used to replace old xen vMCE implement, since =
old vMCE has some issues, including
1). old vMCE bound to host MCE, which would bring troubles like non-arch is=
sue, save/restore issue, etc;
2). weird per-domain msr semantic
3). questionable vMCE injection method

I don't know if I have introduced it clear, but we have the Xen vMCE design=
 doc as attached, including many vMCE details.

>> If a vMCE occur at the critical area of live migration, there is
>> risk that error data may be copied to the target. Currently we don't
>> have convenient way to handle this case, so for the sake of safe, we
>> abort it and try migration later (at that time broken page would not
>> be mapped and copied to the target).
>=20
> The "error data" that you refer to is erroneous page contents, or
> something else ?

Yes, it's erroneous page contents.

>=20
> When you say "we abort it and try migration later", that's not
> actually implemented in your patch, is it ?  What actually happens is
> that the migration is aborted and the user is expected to retry later.

Yes, and to make it more accurate how about update as "... we abort it. Use=
r can try migration later (at that time the broken page would not be mapped=
 and copied to the target)"?

>=20
> I think this situation deserves a specific error code at the very
> least.  That specific error code should be plumbed up to libxl.
>=20
> Wouldn't it be better to actually restart the migration somehow ?

Seems libxl save/restore changed greatly recently, and I know almost nothin=
g about the new save helper mechanism (I spend some time to study it but st=
ill not quite clear).
Maybe to achieve 'restart migration' is some overkilled/complicated for vMC=
E itself? after all mce during migration rarely occur in real life, and the=
 main target of this patch is only for the sake of safe, so 'abort migratio=
n' is an acceptable option?

>=20
> I have some more minor comments about the implementation:
>=20
>> @@ -1109,6 +1111,12 @@
>>          goto out;
>>      }
>>=20
>> +    if ( xc_domain_vmce_monitor_start(xch, dom) )
>> +    {
>> +        PERROR("Error when start vmce monitor\n");
>=20
> "Error starting vmc monitor" would be better English.  Messages sent
> with PERROR should not have a \n.
>=20
>> +    vmce_while_monitor =3D xc_domain_vmce_monitor_end(xch, dom);
>> +    if ( vmce_while_monitor < 0 )
>> +    {
>> +        PERROR("Error when end vmce monitor\n");
>=20
> Grammar and \n again.
>=20
>> +    else if ( vmce_while_monitor > 0 )
>> +    {
>> +        fprintf(stderr, "vMCE occurred, abort this time and try
>> later.\n"); +        goto out;
>=20
> This message should be sent with one of the logging macros, not
> fprintf.  ERROR, probably.
>=20
> Ian.

Will update accordingly.

Thanks,
Jinsong


--_002_DE8DF0795D48FD4CA783C40EC82923353610F0SHSMSX101ccrcorpi_
Content-Type: application/pdf; name="xen vMCE design (v0 2).pdf"
Content-Description: xen vMCE design (v0 2).pdf
Content-Disposition: attachment; filename="xen vMCE design (v0 2).pdf";
	size=256622; creation-date="Wed, 27 Jun 2012 03:21:05 GMT";
	modification-date="Wed, 27 Jun 2012 03:18:50 GMT"
Content-Transfer-Encoding: base64

JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu
Zyhlbi1VUykgL1N0cnVjdFRyZWVSb290IDc4IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4+
Pg0KZW5kb2JqDQoyIDAgb2JqDQo8PC9UeXBlL1BhZ2VzL0NvdW50IDE0L0tpZHNbIDMgMCBSIDE0
IDAgUiA0MSAwIFIgNTQgMCBSIDU2IDAgUiA1OCAwIFIgNjAgMCBSIDYyIDAgUiA2NSAwIFIgNjcg
MCBSIDY5IDAgUiA3MSAwIFIgNzMgMCBSIDc1IDAgUl0gPj4NCmVuZG9iag0KMyAwIG9iag0KPDwv
VHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9YT2JqZWN0PDwvSW1hZ2U1IDUgMCBS
L0ltYWdlNiA2IDAgUi9JbWFnZTcgNyAwIFIvSW1hZ2U4IDggMCBSPj4vRm9udDw8L0YxIDkgMCBS
L0YyIDEyIDAgUj4+L0V4dEdTdGF0ZTw8L0dTMTEgMTEgMCBSPj4vUHJvY1NldFsvUERGL1RleHQv
SW1hZ2VCL0ltYWdlQy9JbWFnZUldID4+L01lZGlhQm94WyAwIDAgNzIwIDU0MF0gL0NvbnRlbnRz
IDQgMCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pi9U
YWJzL1MvU3RydWN0UGFyZW50cyAwPj4NCmVuZG9iag0KNCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRl
RGVjb2RlL0xlbmd0aCA2NDA+Pg0Kc3RyZWFtDQp4nKWU32/aMBDH3yPlf7hHpyqOzz9jCVVdoauK
WqnbkLqp2gNqKU0FQStj0/77nU0oBAJ72EOc5GLf9/s5nwP5HXS7+W3vug/i7Awu+j34kSYCBBdC
oJTCgZMCjBbwNk6T+xOo6DMXCjXNUc7SaI2Ht8n7KiEsCt1Y9nySJp/SBC5vewBbkrgn2bJ4penQ
c2eApoFR60cuDS2Ax1ma5Nez0WRsoD+HNiW5UerUQgK9qzkLhdiiacRaUnuO0oBCXlDEx0VbsvaQ
rNqXNQb9cVntiGtFasBGYR1ItxXdIUW9r2gLbVeKUmtsKy4K9V5cERGt8MGEi+ob2eKQrMlvRtUE
2OuoM7jLag8XQ1r3EaHgtKXDZ9KJEkgiiheK4tpJGM5CR1lfAPVQfvWFajJZrENXafLAZNbRTIQB
wxBfc5vT3TCXfYfhIE0uhy2u7JaRd21juJRb2g8MjuVwh8jWCbVDTsek4MqsE+KxhEVrDrsqyCbH
UVO+UWEJSu6WWKLhgj4o6mFf17j91O6HP8eqfx1XkGn267Z3Cf3xopxkilVbphr+PflvqP0DAMUO
Adn1xQ4C9aA3gB65UnXSmzIzbHmaWUrfQcMG9FqSy2pBD3PaJ4pq1n0tKwou5mGccBqmdJVZR7Hl
+fqp+klZxlMeuulxHnppdnYAz5AT3TRynA5b6GwDDh39xOhmNdemzjmI1hSjfjslECnYt2X1sqH6
EwGqF5pGQf5ajiLfeRkQCEezccCYhmmc8jyGOJF5NqO3g3D0OzW66eQ4nWzpYCld5FGOG1dn+bCc
0q48RRZk9zRGvGl9Ubhg3d+74eB8tAwb9vSfZJo2jM5Tw9Me2V+R5XLyDQplbmRzdHJlYW0NCmVu
ZG9iag0KNSAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMTAyNC9I
ZWlnaHQgNzY4L0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9GaWx0ZXIv
RENURGVjb2RlL0ludGVycG9sYXRlIHRydWUvTGVuZ3RoIDE4NzExPj4NCnN0cmVhbQ0K/9j/4AAQ
SkZJRgABAQEAAAAAAAD/7AARRHVja3kAAQAEAAAAZAAA/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwL
CwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwY
DQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy
/8AAEQgDAAQAAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQ
AAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYX
GBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqS
k5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz
9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQE
AAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1
Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKj
pKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwD
AQACEQMRAD8A9/ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
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
/wC/Un/xdH/C4/EP/Pnpf/fqT/4uvPKKPqlD+VB9br/zM9D/AOFx+If+fPS/+/Un/wAXR/wuPxD/
AM+el/8AfqT/AOLrzyij6pQ/lQfW6/8AMz0P/hcfiH/nz0v/AL9Sf/F0f8Lj8Q/8+el/9+pP/i68
8oo+qUP5UH1uv/Mz0P8A4XH4h/589L/79Sf/ABdH/C4/EP8Az56X/wB+pP8A4uvPKKPqlD+VB9br
/wAzPQ/+Fx+If+fPS/8Av1J/8XR/wuPxD/z56X/36k/+Lrzyij6pQ/lQfW6/8zPQ/wDhcfiH/nz0
v/v1J/8AF0f8Lj8Q/wDPnpf/AH6k/wDi688oo+qUP5UH1uv/ADM9D/4XH4h/589L/wC/Un/xdH/C
4/EP/Pnpf/fqT/4uvPKKPqlD+VB9br/zMKKKK6DnCiiigAoPAopD0oA27uLR7BoYZbK6mkaGORnF
wFBLDPAxUH2nQ/8AoGXf/gV/9jRr3/H7B/16Q/8AoAqna2FzeJNJDC7QwKHmkVciNc4yfasopct2
/wATVt81kvwLn2nQ/wDoGXf/AIFf/Y0n2rQ/+gZd59rr/wCxqVL3RtPH+j6edQmH/La8Yqn4Iv8A
U1ZbxbrdsQkS21iCAVSKyROPxGTSs3svvZSaW7+5XKP2rQx10y7H/b0P/iaVU0e8bZG1xYyn7rTM
JIyfcgZH1rWsPE/iTUpZIhDbakI4zJJFNaxt8g6k8A0/UNIsNX0O41bTbQ2F3aKr3diG3IY26SJ3
A9qnm5XaWnzuVy8yvHX5WOYuraazuZLedNkqHBGc/iD3FRVpXjfaNC0+4c5ljZ7fd3KjBX8skVm1
vF3WpzyST0CiiimIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii
igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKOldZa6BoekwR3XiXUt0joHTT7I75CD
yNzdF+lROahuXCDnscrFFJPKIoY3kkPREUsT+ArqNN+HPibUlDiw+zRn+O5YJx9OtW2+IR02MweG
tGtNMi6eYy+ZKfqa56/8Sa3qjE3mqXUoPVfMIX8hxWTdaWyS9dX/AF8zRKjHdt+mh1y/DCG2XOqe
J9PtiOqqQSPzIpw8F+Co+JvGSs3+yV/+vXnRAJyeT6mjA9BR7Gq96j+5Fe2pLamvvZ6UvgLwjdfL
aeMY9/YOyf4iorr4Raj5Rl0zVLO9TsM7SfxGRXnW0HsKt2OqX2mTCSxvZ7Zwesbkfp0NS6VZfDP7
0Cq0X8UPuZPq2g6poc3l6lZS25PRmGVb6MODWdXqnhr4kQ6qF0bxVDDLFN8guCo2k9t47fUVheP/
AAQPDU631hubTJ2wATkxN6Z7g9jRTxEuf2dVWfTsx1KEeT2lJ3XXujiKKKK6jlCiiigAooooAKKK
KACiiigApD0paQ9KBG/dWDap4j02wQ4a4ht48+mVGT/OtqzW1v4PFXlxlLextBHaqrFcKHxk4PzE
9Tn1rIl1D+yfFGlaht3C3it5CvqAoz+ma1dY0DVrFrzUvDrSXmi6kpJe3G8hCclHXqCDXHPom7bW
+/U7YLdpX7/cbOoaHoD3F/pEeiwwyQaSL1LuOVt+/bnGCcYq5f6bp2ta/aRX1pERY6LHdM7SMBNx
gK2Oijk8c8157Lr2vfbZriSSYXEtt9lkJhxmLGNuMVbstW8X3MliLM30r2a7ICkGSFIxtJxyPrWb
oVEk+b8WWq8G2uX8Dr9LtdGi1WS40p7ZZZtIuftMFq7PGjADBUtzg1z+jW8nh/wVq2qX4MTanCLW
zhf70gJyXx6CtiPw94vvphq2u6pDpMUcLRF5NinyyPmUKOOfevPb7ULvUZEa7uZJzEgjj3HhUHAA
HYU6UOdtKV9r9dvMVWfIk3G29um/kTyceGrb/r6k/wDQRWfWjJ/yLVt/19Sf+gis6u2PU459Aooo
qiQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
oooAKKKKACiiigAooooAKKKKACtHTNEvNVt7y5hULbWcRkmmc4VcdF+p9KrWFlPqWoW9lbLumnkE
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
i3kaAF0JVeCNoA53AdfWsvxVqmlXumWsenpbYyjLtXbJF8gDKflAwWyepqr/AMIJ4i/58U/8CY//
AIqj/hBPEf8Az4p/4ER//FUckuwc8e6Nzwz/AMiYn/X8/wD6AKuUabpd3o/heK1vkWOdrt3CCRWO
3aBngmivocEmqEU/P8z5/HNOvK3l+QUUUV1HKFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR
RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF
FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBNZ3c1hewXdu22aBw
6H0Ir3CJ9D+KPhtFmPlXkQ+YL/rIHxyR6qa8JqxY393pl4l3Y3EkE6dHQ4/A+ormxGH9raUXaS2Z
0Yev7O6krxe6Om1v4b+INHdmjtzfW46S24yce69RXKSwywOUmikiYdVkUqf1r0/RfjHNEqxa1Yeb
jgz25wfxU/0NdZB4/wDB2qqBPdQqT1W6hx/MEVz/AFjE09KkL+aOj6vh6mtOdvJngG4eoo3D1FfQ
4uPAtz827RGz6iMU8Xfgi2G4SaImO4EdDzB/yMf1Bfzo+eoYJrhtsMMkh9EQt/Kt3T/AviXUyPJ0
qaNT/HP+7H617LL468H6evyajajH8MEZP8hWHf8Axi0WEEWVnd3TdiwEY/Wl9bxE/gp/f/SD6rQh
8dQydI+DcjFX1jUQq94rYcn/AIEa7eDTfC/gexaYLb2Y24M0pzI34nk/QV5fqvxY8QXytHZrBYRn
vGN7/mf8K4u7vbrUJzPeXMtxKeryuWNL6tiK38aVl2Q/rOHo/wAKN33Yy4YPczOpyrOzA+xNR0UV
6Z5oUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAmB6UYHpS0UAJgelGB6UtFACYHpRgelLRQAmAKWii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEwPQUbR6ClooAKKKKACiiigAooooAKKKKACi
iigAooooA//ZDQplbmRzdHJlYW0NCmVuZG9iag0KNiAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1
YnR5cGUvSW1hZ2UvV2lkdGggNzIvSGVpZ2h0IDcwL0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQ
ZXJDb21wb25lbnQgOC9GaWx0ZXIvRENURGVjb2RlL0ludGVycG9sYXRlIHRydWUvTGVuZ3RoIDcy
OT4+DQpzdHJlYW0NCv/Y/+AAEEpGSUYAAQEBAEgASAAA/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwL
CwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwY
DQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy
/8AAEQgARgBIAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQ
AAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYX
GBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqS
k5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz
9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQE
AAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1
Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKj
pKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwD
AQACEQMRAD8A4yiiivrT5MKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC
iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//
2Q0KZW5kc3RyZWFtDQplbmRvYmoNCjcgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0lt
YWdlL1dpZHRoIDk5L0hlaWdodCAxMTUvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBv
bmVudCA4L0ZpbHRlci9EQ1REZWNvZGUvSW50ZXJwb2xhdGUgdHJ1ZS9MZW5ndGggNDQ5Nz4+DQpz
dHJlYW0NCv/Y/+AAEEpGSUYAAQEBAEgASAAA/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP
FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc
ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgA
cwBjAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC
BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn
KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY
mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5
+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB
AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD
REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip
qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR
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
/wDf9qKKPZwerSBVJrRMP+Ez8Tf9B2//AO/7Uf8ACZ+Jv+g7f/8Af9qKKXsqf8q+4ftZ92H/AAmf
ib/oO3//AH/aj/hM/E3/AEHb/wD7/tRRR7Kn/KvuD2s+7D/hM/E3/Qdv/wDv+1H/AAmfib/oO3//
AH/aiij2VP8AlX3B7Wfdh/wmfib/AKDt/wD9/wBqP+Ez8Tf9B2//AO/7UUUeyp/yr7g9rPuw/wCE
z8Tf9B2//wC/7Uf8Jn4m/wCg7f8A/f8Aaiij2VP+VfcHtZ92ZbyPNI0sjF5HJZmJyST1NFFFUQf/
2Q0KZW5kc3RyZWFtDQplbmRvYmoNCjggMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0lt
YWdlL1dpZHRoIDIwMC9IZWlnaHQgOTgvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBv
bmVudCA4L0ZpbHRlci9EQ1REZWNvZGUvSW50ZXJwb2xhdGUgdHJ1ZS9MZW5ndGggNTQ5ND4+DQpz
dHJlYW0NCv/Y/+AAEEpGSUYAAQEBASwBLAAA/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP
FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc
ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgA
YgDIAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC
BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn
KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY
mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5
+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB
AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD
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
910Zr+FtYh0HxNZ6hcqzWylo5gvXYylSfwzn8KsTeFbG3WaeHxToslkAWiPnnzmHYGMDIb9K58jI
qPyFzmonSlz88XYqFSPJySVzutD1y5ufBttpel+I7fRdRs7iRmFzL5STxtzneQRkHtWRrVzevrGk
rqXia31h4ZQxaFy8cALLn5yADnHb0rnWiVhyKFhVRWawtpuRq8TeKiddNe2Z+Mn9oC6gNp/aSv8A
aBIDHtyOd2cY96b4Z1KxtfibdXdxdRRWss10qzs3yDeHCkn0ORz71ygjUCjy1xij6srWv0sL6y73
t1udX4SuY/Cut39jcatawNe2LQx39rKJo4JDgqxK8Y459Min6zc66mjXKaj46sL6ORdq2lrcmczc
jg4XCjvz6VyAhUDGKQQKDkCk8LeXM2NYm0eVHQa3dW0/gbwhax3EUk9v9s86JXBaPdKCu4dRkcjN
YYGBTRGM5p9dFKnyKxhVqc7uFFFFaGYUUUUAFFFFABRRRQIKKKKBhRRRQAUUUUAFFFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/9kNCmVuZHN0cmVhbQ0KZW5kb2JqDQo5IDAgb2Jq
DQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YxL0Jhc2VGb250L0FCQ0RFRStW
ZXJkYW5hLEJvbGQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDEwIDAg
Ui9GaXJzdENoYXIgMzIvTGFzdENoYXIgMTIxL1dpZHRocyA5MzQgMCBSPj4NCmVuZG9iag0KMTAg
MCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQUJDREVFK1ZlcmRhbmEsQm9s
ZC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCAxMDA1L0Rlc2NlbnQgLTIwNy9DYXBIZWln
aHQgNzY1L0F2Z1dpZHRoIDU2OC9NYXhXaWR0aCAyMjU3L0ZvbnRXZWlnaHQgNzAwL1hIZWlnaHQg
MjUwL1N0ZW1WIDU2L0ZvbnRCQm94WyAtNTUwIC0yMDcgMTcwNyA3NjVdIC9Gb250RmlsZTIgOTM1
IDAgUj4+DQplbmRvYmoNCjExIDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvQ0Eg
MT4+DQplbmRvYmoNCjEyIDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1l
L0YyL0Jhc2VGb250L0FCQ0RFRStWZXJkYW5hL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250
RGVzY3JpcHRvciAxMyAwIFIvRmlyc3RDaGFyIDMyL0xhc3RDaGFyIDEyMi9XaWR0aHMgOTM5IDAg
Uj4+DQplbmRvYmoNCjEzIDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0FC
Q0RFRStWZXJkYW5hL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDEwMDUvRGVzY2VudCAt
MjA3L0NhcEhlaWdodCA3NjUvQXZnV2lkdGggNTA4L01heFdpZHRoIDIwMDYvRm9udFdlaWdodCA0
MDAvWEhlaWdodCAyNTAvU3RlbVYgNTAvRm9udEJCb3hbIC01NjAgLTIwNyAxNDQ3IDc2NV0gL0Zv
bnRGaWxlMiA5MzcgMCBSPj4NCmVuZG9iag0KMTQgMCBvYmoNCjw8L1R5cGUvUGFnZS9QYXJlbnQg
MiAwIFIvUmVzb3VyY2VzPDwvWE9iamVjdDw8L0ltYWdlNSA1IDAgUi9JbWFnZTE2IDE2IDAgUi9J
bWFnZTcgNyAwIFIvSW1hZ2U4IDggMCBSL0ltYWdlMTcgMTcgMCBSL0ltYWdlMjggMjggMCBSPj4v
Rm9udDw8L0YyIDEyIDAgUi9GMSA5IDAgUi9GMyAzOSAwIFI+Pi9QYXR0ZXJuPDwvUDIwIDIwIDAg
Ui9QMzEgMzEgMCBSPj4vRXh0R1N0YXRlPDwvR1MyNyAyNyAwIFIvR1MzOCAzOCAwIFI+Pi9Qcm9j
U2V0Wy9QREYvVGV4dC9JbWFnZUIvSW1hZ2VDL0ltYWdlSV0gPj4vTWVkaWFCb3hbIDAgMCA3MjAg
NTQwXSAvQ29udGVudHMgMTUgMCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9D
Uy9EZXZpY2VSR0I+Pi9UYWJzL1MvU3RydWN0UGFyZW50cyAxPj4NCmVuZG9iag0KMTUgMCBvYmoN
Cjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjY2NT4+DQpzdHJlYW0NCnicpVrbTxw3F39H
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
bG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9GaWx0ZXIvRENURGVjb2RlL0lu
dGVycG9sYXRlIHRydWUvTGVuZ3RoIDcyOT4+DQpzdHJlYW0NCv/Y/+AAEEpGSUYAAQEBAEgASAAA
/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0
NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgARgBIAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEB
AAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQci
cRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpj
ZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfI
ycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgME
BQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkj
M1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2
d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ
2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A4yiiivrT5MKKKKACiiigAooooAKKKKAC
iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooA//2Q0KZW5kc3RyZWFtDQplbmRvYmoNCjE3IDAgb2JqDQo8
PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAxNzIxL0hlaWdodCAzNjMvQ29sb3JT
cGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ZpbHRlci9EQ1REZWNvZGUvSW50ZXJw
b2xhdGUgdHJ1ZS9TTWFzayAxOCAwIFIvTGVuZ3RoIDI5NDEyPj4NCnN0cmVhbQ0K/9j/4AAQSkZJ
RgABAQEAeAB4AAD/4QBaRXhpZgAATU0AKgAAAAgABQMBAAUAAAABAAAASgMDAAEAAAABAAAAAFEQ
AAEAAAABAQAAAFERAAQAAAABAAASdFESAAQAAAABAAASdAAAAAAAAYagAACxj//bAEMACAYGBwYF
CAcHBwkJCAoMFA0MCwsMGRITDxQdGh8eHRocHCAkLicgIiwjHBwoNyksMDE0NDQfJzk9ODI8LjM0
Mv/bAEMBCQkJDAsMGA0NGDIhHCEyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy
MjIyMjIyMjIyMjIyMv/AABEIAWsGuQMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQID
BAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHB
FVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2
d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna
4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1
EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ0
4SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeI
iYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery
8/T19vf4+fr/2gAMAwEAAhEDEQA/APn+ur+H2gWXiPxFJZ36sYFt2kwrEHO5R2/3q5Su/wDhB/yN
8/8A15t/6MjqoK8kTN2iz0EfB/wyRkLPj/ro3+NL/wAKe8M/3Z/+/jf411N1dzwShY32rtzjANQf
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
aN1/z1/8dH+FH9o3X/PX/wAdH+FHLHsHNPuc7/wp7wz/AHZ/+/jf40f8Ke8M/wB2f/v43+NdF/aN
1/z1/wDHR/hR/aN1/wA9f/HR/hRyx7BzT7nO/wDCnvDP92f/AL+N/jR/wp7wz/dn/wC/jf410X9o
3X/PX/x0f4Uf2jdf89f/AB0f4Ucsewc0+5zv/CnvDP8Adn/7+N/jR/wp7wz/AHZ/+/jf410X9o3X
/PX/AMdH+FH9o3X/AD1/8dH+FHLHsHNPuc7/AMKe8M/3Z/8Av43+NH/CnvDP92f/AL+N/jXRf2jd
f89f/HR/hR/aN1/z1/8AHR/hRyx7BzT7nO/8Ke8M/wB2f/v43+NH/CnvDP8Adn/7+N/jXRf2jdf8
9f8Ax0f4Uf2jdf8APX/x0f4Ucsewc0+5zv8Awp7wz/dn/wC/jf40f8Ke8M/3Z/8Av43+NdF/aN1/
z1/8dH+FH9o3X/PX/wAdH+FHLHsHNPuc7/wp7wz/AHZ/+/jf40f8Ke8M/wB2f/v43+NdF/aN1/z1
/wDHR/hR/aN1/wA9f/HR/hRyx7BzT7nO/wDCnvDP92f/AL+N/jQPg94Zzytxj/rqf8a6L+0br/nr
/wCOj/CnJqF0zqvm9Tj7o/wo5Y9g5p9zxz4i/D+Hw2qahpXnPY5CTI/zGJj0bP8AdPTnocc8gDz2
vqu9jjuBNFOivFIpV1cZDKRggj0xXypWFWKT0OilNyVmFd/8IP8Akb5/+vNv/RkdcBXofweiLeKb
qXHC2pU/i6n+lTD4kVU+FnsOof69f93+pqpVi/Obgeyiqua6jjHUU3NGaQx1FNzRmgB1FNzRmgB1
FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzR
mgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1
FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzR
mgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1
FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzR
mgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1
FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzR
mgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1
FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzR
mgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1
FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1SQf6+P8A3h/Ooc1JAf8ASIv98fzp
gS65P9n0jUZ+R5dvI/HspNfL9fS3ir/kVtb/AOvKf/0Bq+aawrbo3obMK9S+C8YN9qsvdViUfjvP
9K8tr1X4Lf6/V/8Atj/KSop/Ei6vwM9KvTm6f2x/Kq9TXn/H2/4fyqCuo5RaKSikAtFJRQAtFJRQ
AtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJ
RQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAt
FJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQ
AtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJ
RQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAt
FJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQ
AtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJ
RQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAt
SQf8fEX++P51FU1qM3UY980wIfFX/Ira3/15T/8AoDV8019K+LGC+FdaJOB9inH5oa+aqwrbo3ob
MK9U+C/+v1f/ALY/ykryuvWfgvFhNWm7M0S/kG/+KqKfxIur8DPRLz/j7f8AD+VQVJdnN1Ifeoa6
TlHUU2igY6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOopt
FADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOopt
FADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOopt
FADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOopt
FADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOopt
FADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOopt
FADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOopt
FADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOopt
FADqKbRQA6im0UAOoptFADqKbRQA6im0UAOoptFADqKbRQA6im0UAOqxZf8AH3H+P8qq1Ysv+PuP
8f5GgRl+PpzB4I1aQHGYgn/fTBf618717/8AEn/kQNT/AO2X/o1K8ArCt8R0UPhCvZ/g2gGgXsnd
rpl/JU/xrxivafg7/wAi3df9fb/+gR0qXxDrfCddcHNxJ/vGo806f/j4k/3j/OmV0HMLmjNJRQMX
NGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigB
c0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKA
FzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkoo
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
ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03
NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjN
NzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZo
zTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2
aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoA
dmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGa
AHZq3px/ft/uH+Yqlmr2mj55D7AU0D2OQ+L/APyKdr/1/J/6LkrxWvafjA4HhazTub1SPwR/8a8W
rnq/EdFH4Qr3r4af8iPY/wDbT/0Y9eC1794Bj+z+B7Af9M2f82Lf1p0fiFW+EtUU3NGa2MR1FNzR
mgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1
FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzR
mgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1
FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzR
mgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1
FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzR
mgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1
FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzR
mgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1
FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzR
mgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1aGl9Zfw/
rWbmtHSj80n4f1poT2OD+MsxWz0iHPDySvj6BR/7NXkleq/Gf/mCf9t//adeVVzVPiZ00vgQV9De
GQE8F6eB/wA+UZ/8hg18819C+HD/AMUZYf8AXlH/AOixVUd2TW2QmaM0zNGa2MR+aM0zNGaAH5oz
TM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+a
M0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAf
mjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaA
H5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRm
gB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0
ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0z
NGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjN
MzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5o
zTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+
aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoA
fmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGaAH5ozTM0ZoAfmjNMzRmgB+aM0zNGa
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
FJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC
0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0A
LRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQ
AtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjN
AC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM
0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZo
zQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJm
jNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0AT23+vX2zXcfEn/kQNT/
AO2X/o1K4mwTzLpU9eP1rsPifN5XgW7Tj97JGn/j4b/2WrXwszl8SPBqKKK5zpO/8CqRpU5PeYkf
kKkuTm6lPq5/nUngxAmgo399mP6kf0quzbmJ9TmtuiMftMKKSikMWikooAWikooAWikooAWikooA
WikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWiko
oAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWi
kooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooA
WikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWiko
oAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWi
kooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooAWikooA
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
/PL/AMeP+NeWf8JTrf8A0EZfyH+FH/CU63/0EZfyH+FHOg9nLuep/YLb/nl/48f8aPsFt/zy/wDH
j/jXln/CU63/ANBGX8h/hR/wlOt/9BGX8h/hRzoPZy7nqf2C2/55f+PH/Gj7Bbf88v8Ax4/415Z/
wlOt/wDQRl/If4Uf8JTrf/QRl/If4Uc6D2cu56n9gtv+eX/jx/xo+wW3/PL/AMeP+NeWf8JTrf8A
0EZfyH+FH/CU63/0EZfyH+FHOg9nLuep/YLb/nl/48f8aPsFt/zy/wDHj/jXln/CU63/ANBGX8h/
hR/wlOt/9BGX8h/hRzoPZy7nq8FrBb3EcyRDfG4dck9Qc+tVfircpd+C7OVDwb5MjPQ+XJxXmX/C
U63/ANBGX8h/hVe91vUtRtxBd3kksQYPsOMbgCAf1P50OorWBU3dMoUUUVkbH//ZDQplbmRzdHJl
YW0NCmVuZG9iag0KMTggMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRo
IDE3MjEvSGVpZ2h0IDM2My9Db2xvclNwYWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0
c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5n
dGggMjgyMT4+DQpzdHJlYW0NCnic7d1LcpvHGYZRLQVLwU7IbCRkFpKQWUPudmz4LsuWI9mObEuy
Atm6BAAJQgB/8CaqFFcTnDTb/zDdX9U5w2/0zp4CCtW4dQsAAID/g9/+HgAaVQrX6C0AtKoQrnHt
TQDw626Gq/YiAOjxB+ECIBThAiAW4QIgFuECIJRxKVx3AaAxj9frq0gJFwARCBcAoTwVLgAieSFc
AEQyEy4AIrkOl18VAhDCYn2aGjUSLgAiWK/PUqP2hAuACNbr89SoHeECIALhAiCU9foiNWpLuACI
YL1+nRo1FC4AIlivL1OjBsIFQATCBUAo6/WbwsMZm3B9CQBtuVt+8Um4AGhU15XCNUi389rjACDX
F65V7XEAkCuHa5huB7XHAUCuHK5t4QKgTeVw7abbi9rjACDXF65x7XEAkCuHaz/dfqg9DgBy5XCN
hAuANpXDNU63r2uPA4BcX7hqbwOAG8rh8uITAI0SLgBCES4AIrkvXABEIlwAhPJAuACI5JFwARDJ
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
Z38BgMaUw7Wbbo9qjwOAXDlc++l2v/Y4AMiVwzVKt9u1xwFAri9co9rjACBXDtdYuABoUzlcV7fa
2wDgBuECIBThAiAU4QIgFOECIJJ3hQuASIQLgFA+Ei4AIrkjXABEck+4AIjkO+ECIBLhAiCUJ5tw
jYULgAiezeZXD8GXwvVnAGiLcAEQy3S6SI3aEy4AIphOV6lRO8IFQATTaZcatSVcAERwHa6hcAEQ
wXR6KlwAxDGdXqRGDYQLgAim08vCwxnCBUCjyuEapNu69jgAyE2npacKr8I1rz0OAHLlcA3T7Vnt
cQCQK4drW7gAaFM5XLvp9rD2OADI9YXrfu1xAJArh2s/3T6rPQ4AcuVwjYQLgDaVwzVOt/drjwOA
XF+4am8DgBvK4fLiEwCNEi4AQhEuAEIRLgBCES4AInlHuACI5EPhAiCSz4ULgEiEC4BQ/iVcAETy
oC9cfwKAxvwoXABE8ngySY0aCxcAEfw0OUiNGgkXABFMJkepUXvCBUAEk8lSuACI4zpcO8IFQAST
SZcatSVcAEQwmZykRg2FC4AIJpPz1KiBcAEQgXABEMpkcll4OOMqXOva4wAgt3k4IwvXQLgAaFM5
XMN0m9ceBwC5cri20+1Z7XEAkOsL18Pa4wAgVw7Xbrrdqz0OAHLlcO0LFwBtKodrlG6f1h4HALly
uMbp9l7tcQCQEy4AQimHy4tPADRKuAAIpS9cEwBoj3ABEEopXE/fAkDTbpU+cgFAq24pFwCR5OFS
LgCadiNcv6m9CAB63AiXH2gA0LKb4fJlIQANK4Tr1h8BoFG/K4ULAEL4H94CKEINCmVuZHN0cmVh
bQ0KZW5kb2JqDQoxOSAwIG9iag0KPDwvRnVuY3Rpb25UeXBlIDAvU2l6ZVsgMjU2XSAvRGVjb2Rl
WyAwIDEgMCAxIDAgMV0gL1JhbmdlWyAwIDEgMCAxIDAgMV0gL0JpdHNQZXJTYW1wbGUgOC9Eb21h
aW5bIDAgMV0gL0VuY29kZVsgMCAyNTVdIC9PcmRlciAxL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5n
dGggNDgyPj4NCnN0cmVhbQ0KeJyNwmVXWgEYAOBfuFI23Ryl5KUuXLq7u7tBBRsFAxDFANe6bv/J
3nsuR4/7sLPnPPWL6/q/j69r49//8dfk6M7q7Z/48zsr+B/4s79+L8PTm9+IpRPi18khvjj8cvv4
c+Hm0SeYx3/MDyZzgw+5Q+L7bJ94le3hM73LTBef7r5LHxDfpvbhG5jce01M7L7Cd17GYfsFjLUv
YjtwHN2Go2hrFGmdw/DWWXgTnobgxkkQrg+Da8cBuHrkhysDH2weept9b6PvafQ8y133EjxwL+67
YH3PWdt11jqOasdebdsrO7Yy3LaWWtZiy1LcshQ2zfkNaMqtG7NrxsyqAaZX9KmmLtXQJZe1iSWo
iS9qYnV1tKaCkaoyXFGGyopQSR4sygNFmb8g8+elvhzmzWKejAS602JXCnUmUWdC5IgL7TGhLSaw
RQXWCN8S5ptDPHMIMQURY4Br8HMMPo7ex9Z52VoPS+tmaVxMtYuhdjJUjgWlfV5hg3S5lS6z0GRm
mtRMxUxUzEiRGChiA1msJ6O656h2TqSdE2rgM4H6KV+F5ylneYpZRDGDyGe4MviEI4WP2RgksSQk
lpjEFE8z0WkGOsUQTS1A4aN5KMDT+Q8hDfIeQCpE7lMgF96DZA78A4Rh2QoNCmVuZHN0cmVhbQ0K
ZW5kb2JqDQoyMCAwIG9iag0KPDwvUGF0dGVyblR5cGUgMi9TaGFkaW5nPDwvQ29sb3JTcGFjZS9E
ZXZpY2VSR0IvU2hhZGluZ1R5cGUgMi9Db29yZHNbIDM1NCAxMzIgMzU0IDc4XSAvRXh0ZW5kWyB0
cnVlIHRydWVdIC9GdW5jdGlvbiAxOSAwIFI+Pj4+DQplbmRvYmoNCjIxIDAgb2JqDQo8PC9UeXBl
L01hc2svUy9MdW1pbm9zaXR5L0cgMjIgMCBSL0JDIDIzIDAgUj4+DQplbmRvYmoNCjIyIDAgb2Jq
DQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9Gb3JtL0JCb3hbIDQ4IDc4IDY2MCAxMzJdIC9Hcm91
cCAyNCAwIFIvUmVzb3VyY2VzPDwvUGF0dGVybjw8L1AyNiAyNiAwIFI+Pj4+L0xlbmd0aCA0Mz4+
DQpzdHJlYW0NCi9QYXR0ZXJuIGNzIC9QMjYgc2NuDQo0OCA3OCA2MTIgNTQgcmUNCmYqDQoNCmVu
ZHN0cmVhbQ0KZW5kb2JqDQoyMyAwIG9iag0KWyAwIDAgMF0gDQplbmRvYmoNCjI0IDAgb2JqDQo8
PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pg0KZW5kb2JqDQoyNSAwIG9iag0KPDwvRnVu
Y3Rpb25UeXBlIDAvU2l6ZVsgMjU2XSAvRGVjb2RlWyAwIDEgMCAxIDAgMV0gL1JhbmdlWyAwIDEg
MCAxIDAgMV0gL0JpdHNQZXJTYW1wbGUgOC9Eb21haW5bIDAgMV0gL0VuY29kZVsgMCAyNTVdIC9P
cmRlciAxL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTU4Pj4NCnN0cmVhbQ0KeJx9wYVOgmEA
htG7pUukRErpkhBQCYtUlLxBtmd7t+8fP5xzPNo4XLW/YGdne2Zj9W/4s1obfuXHsJKlLGQuM5ni
W77wKR94lwnGGGEob3jFCwboo4dndNFBGy08oYkG6qihigrKKKGIAvJ4xANyyEoGaaRwL0ncSQJx
iSEqEbmVsNxIyBCUgMFv5TN4rTxn3HZcFzivctg5AUDupZANCmVuZHN0cmVhbQ0KZW5kb2JqDQoy
NiAwIG9iag0KPDwvUGF0dGVyblR5cGUgMi9TaGFkaW5nPDwvQ29sb3JTcGFjZS9EZXZpY2VSR0Iv
U2hhZGluZ1R5cGUgMi9Db29yZHNbIDM1NCAxMzIgMzU0IDc4XSAvRXh0ZW5kWyB0cnVlIHRydWVd
IC9GdW5jdGlvbiAyNSAwIFI+Pj4+DQplbmRvYmoNCjI3IDAgb2JqDQo8PC9UeXBlL0V4dEdTdGF0
ZS9CTS9Ob3JtYWwvY2EgMS9TTWFzayAyMSAwIFI+Pg0KZW5kb2JqDQoyOCAwIG9iag0KPDwvVHlw
ZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMTE0Ni9IZWlnaHQgNDA2L0NvbG9yU3BhY2Uv
RGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9GaWx0ZXIvRENURGVjb2RlL0ludGVycG9sYXRl
IHRydWUvU01hc2sgMjkgMCBSL0xlbmd0aCAyMDIyOT4+DQpzdHJlYW0NCv/Y/+AAEEpGSUYAAQEB
AHgAeAAA/+EAWkV4aWYAAE1NACoAAAAIAAUDAQAFAAAAAQAAAEoDAwABAAAAAQAAAABREAABAAAA
AQEAAABREQAEAAAAAQAAEnRREgAEAAAAAQAAEnQAAAAAAAGGoAAAsY//2wBDAAgGBgcGBQgHBwcJ
CQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBD
AQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy
MjIyMjIyMjL/wAARCAGWBHoDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcI
CQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAk
M2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqD
hIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl
5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgEC
BAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcY
GRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOU
lZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3
+Pn6/9oADAMBAAIRAxEAPwDwO3gkurmK3hUNLK4RASBkk4HJ4H410f8AwrzxSf8AmGD/AMCYv/iq
xdH/AOQ3Yf8AXzH/AOhCvqEEjpWlOCluZVKjjsfPH/CvPFP/AECx/wCBMX/xVH/CvPFP/QLH/gTF
/wDFV9AS3kkchUBSB6imfb5f7qfka09lEz9tI8C/4V54p/6BY/8AAmL/AOKo/wCFeeKf+gWP/AmL
/wCKr337fL/dT8jR9vl/up+Ro9lEPbSPA/8AhXfin/oFj/wIi/8AiqP+Fd+Kv+gWP/AiL/4qvfPt
8v8AdT8jR9vl/up+Ro9lEPbSPA/+Fd+Kv+gWP/AiL/4qj/hXfir/AKBY/wDAiL/4qvfPt8v91PyN
H2+X+6n5Gj2UQ9tI8D/4V34q/wCgWP8AwIi/+Ko/4V34q/6BY/8AAiL/AOKr3z7fL/dT8jR9vl/u
p+Ro9lEPbSPA/wDhXfir/oFj/wACYv8A4qj/AIV34q/6BY/8CYv/AIqvfPt8v91PyNH2+X+6n5Gj
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
/AmL/wCKo/4Vx4s/6BQ/8CYv/iq96+3y/wB1PyNH2+X+6n5Gj2UQ9tI8F/4Vx4s/6BQ/8CYv/iqP
+FceLP8AoFD/AMCYv/iq96+3y/3U/I0fb5f7qfkaPZRD20jwX/hXHiz/AKBQ/wDAmL/4qj/hXHiz
/oFD/wACYv8A4qvevt8v91PyNH2+X+6n5Gj2UQ9tI8F/4Vx4s/6BQ/8AAmL/AOKo/wCFceLP+gUP
/AmL/wCKr3r7fL/dT8jR9vl/up+Ro9lEPbSPBf8AhXHiz/oFD/wJi/8AiqP+FceLP+gUP/AmL/4q
vevt8v8AdT8jR9vl/up+Ro9lEPbSPBf+FceLP+gUP/AmL/4qj/hXHiz/AKBQ/wDAmL/4qvevt8v9
1PyNH2+X+6n5Gj2UQ9tI8F/4Vv4s/wCgUP8AwJi/+Ko/4Vv4s/6BQ/8AAmL/AOLr3r7fL/dT8jR9
vl/up+Ro9lEPbSPBf+Fb+LP+gUP/AAJi/wDi6P8AhW/iz/oFD/wJi/8Ai696+3y/3U/I0fb5f7qf
kaPZRD20jwX/AIVv4s/6BQ/8CYv/AIqj/hW/iz/oFD/wJi/+Kr3r7fL/AHU/I0fb5f7qfkaPZRD2
0jwX/hW/iz/oFD/wJi/+Ko/4Vv4s/wCgUP8AwJi/+Kr3r7fL/dT8jR9vl/up+Ro9lEPbSPBf+Fb+
LP8AoFD/AMCYv/iqP+Fb+LP+gUP/AAJi/wDiq96+3y/3U/I0fb5f7qfkaPZRD20jwX/hW/iz/oFD
/wACYv8A4qj/AIVv4s/6BQ/8CYv/AIqvevt8v91PyNH2+X+6n5Gj2UQ9tI+ctb8L6z4dW3bVbP7O
txu8o+Yj7tuM/dJx1HWsivb/AIrKt34RhllUbonLpjjB3Kv8mNeIVlOPK7I2pycldl3R/wDkN2H/
AF8x/wDoQr6fr5g0f/kN2H/XzH/6EK+n60o7Myr7oo3H+vb8P5VFUtx/r2/D+VRVqYhRRRQAUUUU
AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA
UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR
RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF
FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHK/E3/AJEv8f8A2oleIV7f
8Tf+RL/H/wBqJXiFYVfiOmj8Jd0f/kN2H/XzH/6EK+nc18xaP/yG7D/r5j/9CFfTtXR2ZFfdFG4/
17fh/KoqluP9e34fyqKtTEKKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF
FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU
UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
RRRQAUUUUAct8TP+RL/H/wBqJXiNe3fEz/kS/wAf/aiV4jWFX4jpo/CXdH/5Ddh/18x/+hCvpyvm
PR/+Q3Yf9fMf/oQr6cqqOzIr7oo3H+vb8P5VFUtx/r2/D+VRVsYhRRRSGFFFFABRRRQAUUUUAFFF
FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA
UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR
RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF
FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBy/xL/wCRL/H/ANqJXiNe3fEv/kS/x/8AaiV4
jXPV+I6KPwl3R/8AkN2H/XzH/wChCvpuvmTR/wDkN2H/AF8x/wDoQr6bzV0dmRX3RQuf9e34fyqK
pbk/v2/D+VRZrUxCijNGaBhRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmj
NABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRm
jNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRR
mjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABR
RmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNAB
RRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNA
BRRmjNABRRmjNABRRmjNABRRmjNABRRmjNABRRmjNAHMfEr/AJEv8f8A2oleJV7b8Sv+RL/H/wBq
JXiVc9X4joo/CXdH/wCQ3Yf9fMf/AKEK+mc18zaP/wAhuw/6+Y//AEIV9MVdHZkV90Ubk/v2/D+V
RZqS5/17fh/Koq1MRc0ZpKKBi5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSU
UALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJ
RQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0
lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5oz
SUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmj
NJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAua
M0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5
ozSUUALmjNJRQBzXxJ/5Ev8AH/2oleJ17Z8SD/xRZ+v/ALUSvE656vxHRR+Eu6P/AMhqw/6+I/8A
0IV9L180aR/yGrD/AK+I/wD0IV9LVdHZkV90Ubk/6Q34fyqLNSXP/Hw34fyqGtTIdmjNNooAdmjN
NooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooA
dmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjN
NooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooA
dmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjN
NooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooA
dmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjN
NooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooAdmjNNooA
dmjNNooA5z4j/wDIln6/+1ErxSvaviP/AMiWfr/7USvFa56vxHRR+EuaR/yGrD/r4j/9CFfSua+a
tI/5DVh/18R/+hCvpSro7Mivuijcn/SG/D+VQ5qS5/4+G/D+VRVqZC5ozSUUgFzRmkooAXNGaSig
Bc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKK
AFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmko
oAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaS
igBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0Zp
KKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRm
kooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNGaSigBc0ZpKKAFzRmkooAXNG
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
CjI5IDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAxMTQ2L0hlaWdo
dCA0MDYvQ29sb3JTcGFjZS9EZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25l
bnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE0MTg+Pg0K
c3RyZWFtDQp4nO3Wx00dUBQAUTpzra7BOAeccwc4xw84hzWWl0i85Z0vpHOKGM3ODgAAAAAAAJwp
xwAF5QF655QH6CkP0FMeoLd3enmeAww5/HtiepQHCCgP0FMeoKc8QE95gJ7yAD3lAXrKA/SUB+gp
D9BTHqCnPEBPeYCe8gA95QF6ygP0lAfoKQ/QUx6gpzxAb12eZwBDDpQHyB38UR6gpjxAT3mAnvIA
PeUBesoD9JQH6CkP0FMeoKc8QE95gJ7yAD3lAXrKA/SUB+gpD9BTHqCnPEBPeYCe8gA95QF6ygP0
lAfoKQ/QUx6gpzxAT3mAnvIAPeUBesoD9NbleQowRHmAnvIAPeUBesoD9JQH6CkP0FMeoKc8QE95
gJ7yAD3lAXrKA/SUB+gpD9BTHqCnPEBPeYCe8gA95QF6ygP0lAforcvzBGCI8gA95QF6ygP0lAfo
KQ/QUx6gpzxAT3mAnvIAPeUBesoD9JQH6CkP0FMeoKc8QE95gN66PI8Bhmx+Kw9QUx6gpzxAT3mA
nvIAPeUBesoD9JQH6CkP0FMeoKc8QE95gJ7yAL11eR4BDFEeoKc8QE95gJ7yAD3lAXrKA/SUB+gp
D9BTHqCnPEBPeYCe8gC9dXkeAsxQHmALPv9SHqCmPEBPeYCe8gA95QF6ygP0lAfoKQ/QUx6gty7P
A4AhygP0lAfoKQ/QUx6gpzxAT3mAnvIAPeUBesoD9JQH6CkP0FMeoLcuz32AIZ9+Kg9QUx6gpzxA
T3mAnvIAPeUBesoD9JQH6K3Lcw9giPIAPeUBesoD9JQH6CkP0FMeoKc8QE95gJ7yAD3lAXrr8twF
GPLxh/IANeUBesoD9JQH6CkP0FMeoKc8QE95gN66PHcAhnxQHiCnPEBPeYCe8gA95QF6ygP0lAfo
KQ/QW5fnNsAQ5QF6778rD1BTHqCnPEBPeYCe8gA95QF6ygP01uXZA5ihPMAWKA/QUx6gpzxAT3mA
nvIAPeUBesoD9JQH6CkP0FuX5xbAEOUBeu++KQ9QUx6gpzxAT3mAnvIAPeUBesoD9NbluQkwQ3mA
LXirPEBOeYCe8gA95QF6ygP0lAfoKQ/QUx6gty7PDYAhb74qD1BTHqCnPEBPeYCe8gA95QF6ygP0
lAfoKQ/QW5fnOsAM5QG2QHmAnvIAPeUBesoD9JQH6CkP0FMeoKc8QG9dnmsAQ15/UR6gpjxAT3mA
nvIAPeUBesoD9JQH6CkP0FMeoKc8QE95gN66PFcBhigP0FMeoKc8QE95gJ7yAD3lAXrKA/SUB+gp
D9BTHqC3Ls8VgCGvjpQHqCkP0FMeoKc8QE95gJ7yAD3lAXrKA/SUB+gpD9BTHqCnPEBPeYDeujyX
AYYoD9BTHqCnPEBPeYCe8gA95QF6ygP0lAfoKQ/QUx6gpzxAT3mA3ro8lwBGKA+wDS8PlQeoKQ/Q
Ux6gpzxAT3mAnvIAPeUBesoD9JQH6CkP0FMeoKc8QE95gJ7yAD3lAXrr8lwEmKE8wBYoD9BTHqCn
PEBPeYCe8gA95QF6ygP0lAfoKQ/QUx6gpzxAT3mAnvIAPeUBesoD9JQH6CkP0FMeoKc8QE95gN66
PLsAQ14cKA9QUx6gpzxAT3mAnvIAPeUBesoD9JQH6CkP0FMeoKc8QE95gJ7yAD3lAXrKA/SUB+gp
D9BTHqCnPEBPeYCe8gA95QF6ygP0lAfoKQ/QUx6gpzxAT3mAnvIAPeUBesoD9NbluQAwY3dfeYDc
/kZ5gJryAD3lAXrKA/SUB+gpD9BTHqCnPEBPeYCe8gA95QF6ygP0lAfoKQ/QUx6gpzxAT3mAnvIA
PeUBesoD9JQH6CkP0FMeoKc8QG9dng3AmFV5jgDGnCjPf+ePAcbtnEJ+gFmnlQcAAACAs+kfpG8Q
rA0KZW5kc3RyZWFtDQplbmRvYmoNCjMwIDAgb2JqDQo8PC9GdW5jdGlvblR5cGUgMC9TaXplWyA1
MTJdIC9EZWNvZGVbIDAgMSAwIDEgMCAxXSAvUmFuZ2VbIDAgMSAwIDEgMCAxXSAvQml0c1BlclNh
bXBsZSA4L0RvbWFpblsgMCAxXSAvRW5jb2RlWyAwIDUxMV0gL09yZGVyIDEvRmlsdGVyL0ZsYXRl
RGVjb2RlL0xlbmd0aCA4NTA+Pg0Kc3RyZWFtDQp4nJWU5zubYRhH/0KrulvEliAiNkmERKwIIgRB
xGoRe+89W1106/pPeu48b40PPvS6zmfyPvfvnKiErChBH5Woj77GEJ1kiBGyY3RCrJATmyzECblx
KWCEe6mQJ6SZ4iEd8u9DhlnILHgQ4WFWITzSFwmGYnicXQJPckojlD3NhfJnxgp4nmd5brIkmKwJ
JltCvi3RXJloticVQJWusEpXVJ1c5EgudqQUO1NKalJLXZBWVptWXpcOFfUZlgbItDZmWd1ZtiZ9
pUdv9xjszYaqluxqaM1xeHOcbblOn7HGZ3S157k68mr9pjq/qb4zv77L3NBtbgwUgLunsKm30NNX
BM3B4pb+kpZQSetAqXegzDtY1jZU7huGivaRio4XFv9Li3/U2jlq7RqzdY1XdocrA2F7YMLeM1nV
OwXVfdOO4IwjOOvsn3WG5mpC8zUD867BBdfgYu3QUu3wUt3wct3ISj28WG14uQaNo+uNoxvusQ33
+GbT+FZTeMsT3vZMwE7z5C60TO1B6/R+6/SBdwYOvbOHbXNH4Js79s3DSfsCnLYvnnYsvupYeu1X
LJ91wsobYfVtl/Cuew3eC+vvA+sfAhtw3gObcAG9W/BR2P7Yt/1JY+dzUONLcFfoh72vV4T2voX2
r/gOAweKS43Dy0HhxzVHwtDRz1scK37B8E1OFL/vYgRO//wfd/+1CJH/eOM3DGlEfuHtn62+5dbX
HconX39+5DXUy1w/1N63m2/Yv6u9rTxy5LV59qsTcA7tLlsX6lJyso3zgPCBU3JQ7bJr7zg05+bo
2vWXzxiDWgXzYCRMRQazcMJ4ZEJzx2pRTEsGNnPA2Jic2p7aIYOUWYa3mShDZa6MlukyYLVkJs2w
mTcjZ+oMntkzfhRABHRACtRAEDRRviAO+iARKiEUWiEXiiEauiGdsg8NkRElERM9kRRVERZtkReF
ERmdkRq1ERzNkR3lER/9iQApIAhkgTiQCEJBLogG6SAgZET1hLCQFyJDalRziA8JIkTkiCiRJgJF
pogVySJcki+TlZQRNFU2EkfoyJ3qnmqg6qFqo+qkaibx1Cqanh8vSGDJrNbbVKMqsKSYICdrfZZQ
67RuS8CTJOaS9H95J/US/Ej5/wKcWpEGDQplbmRzdHJlYW0NCmVuZG9iag0KMzEgMCBvYmoNCjw8
L1BhdHRlcm5UeXBlIDIvU2hhZGluZzw8L0NvbG9yU3BhY2UvRGV2aWNlUkdCL1NoYWRpbmdUeXBl
IDIvQ29vcmRzWyA1NjkuODEgNjA5LjI1IDU2OS44MSAzMjYuNzVdIC9FeHRlbmRbIHRydWUgdHJ1
ZV0gL0Z1bmN0aW9uIDMwIDAgUj4+Pj4NCmVuZG9iag0KMzIgMCBvYmoNCjw8L1R5cGUvTWFzay9T
L0x1bWlub3NpdHkvRyAzMyAwIFIvQkMgMzQgMCBSPj4NCmVuZG9iag0KMzMgMCBvYmoNCjw8L1R5
cGUvWE9iamVjdC9TdWJ0eXBlL0Zvcm0vQkJveFsgNDc5LjEzIDMyNi43NSA2NjAuNSA0NjhdIC9H
cm91cCAzNSAwIFIvUmVzb3VyY2VzPDwvUGF0dGVybjw8L1AzNyAzNyAwIFI+Pj4+L0xlbmd0aCA1
OD4+DQpzdHJlYW0NCi9QYXR0ZXJuIGNzIC9QMzcgc2NuDQo0NzkuMTMgMzI2Ljc1IDE4MS4zNyAx
NDEuMjUgcmUNCmYqDQoNCmVuZHN0cmVhbQ0KZW5kb2JqDQozNCAwIG9iag0KWyAwIDAgMF0gDQpl
bmRvYmoNCjM1IDAgb2JqDQo8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pg0KZW5kb2Jq
DQozNiAwIG9iag0KPDwvRnVuY3Rpb25UeXBlIDAvU2l6ZVsgNTEyXSAvRGVjb2RlWyAwIDEgMCAx
IDAgMV0gL1JhbmdlWyAwIDEgMCAxIDAgMV0gL0JpdHNQZXJTYW1wbGUgOC9Eb21haW5bIDAgMV0g
L0VuY29kZVsgMCA1MTFdIC9PcmRlciAxL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTI4Pj4N
CnN0cmVhbQ0KeJy91IcNwCAQA8D95yG99z5UBrAd9CDlJkC8bedCJBFSi8wn1wqhFCqmZhrQMh3o
wQBGMDEzWJiV2YRdOLTT57K4Izw/inmn6UO83/txGnVNdX0aFRoqzB6NKCYZ046NwNbQcmEHaVVp
qdUCqMX4GBnvQJnmLmZXg4bcvQ6mfT0NCmVuZHN0cmVhbQ0KZW5kb2JqDQozNyAwIG9iag0KPDwv
UGF0dGVyblR5cGUgMi9TaGFkaW5nPDwvQ29sb3JTcGFjZS9EZXZpY2VSR0IvU2hhZGluZ1R5cGUg
Mi9Db29yZHNbIDU2OS44MSA2MDkuMjUgNTY5LjgxIDMyNi43NV0gL0V4dGVuZFsgdHJ1ZSB0cnVl
XSAvRnVuY3Rpb24gMzYgMCBSPj4+Pg0KZW5kb2JqDQozOCAwIG9iag0KPDwvVHlwZS9FeHRHU3Rh
dGUvQk0vTm9ybWFsL2NhIDEvU01hc2sgMzIgMCBSPj4NCmVuZG9iag0KMzkgMCBvYmoNCjw8L1R5
cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL05hbWUvRjMvQmFzZUZvbnQvQUJDREVFK1ZlcmRhbmEs
SXRhbGljL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3JpcHRvciA0MCAwIFIvRmly
c3RDaGFyIDMyL0xhc3RDaGFyIDExNC9XaWR0aHMgOTQwIDAgUj4+DQplbmRvYmoNCjQwIDAgb2Jq
DQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0FCQ0RFRStWZXJkYW5hLEl0YWxpYy9G
bGFncyAzMi9JdGFsaWNBbmdsZSAtMTMvQXNjZW50IDEwMDUvRGVzY2VudCAtMjA3L0NhcEhlaWdo
dCA3NjUvQXZnV2lkdGggNTA4L01heFdpZHRoIDE5MTQvRm9udFdlaWdodCA0MDAvWEhlaWdodCAy
NTAvU3RlbVYgNTAvRm9udEJCb3hbIC00NTMgLTIwNyAxNDYxIDc2NV0gL0ZvbnRGaWxlMiA5NDEg
MCBSPj4NCmVuZG9iag0KNDEgMCBvYmoNCjw8L1R5cGUvUGFnZS9QYXJlbnQgMiAwIFIvUmVzb3Vy
Y2VzPDwvWE9iamVjdDw8L0ltYWdlNDMgNDMgMCBSL0ltYWdlNiA2IDAgUi9JbWFnZTcgNyAwIFIv
SW1hZ2U4IDggMCBSPj4vRm9udDw8L0YxIDkgMCBSL0YyIDEyIDAgUi9GNCA0NCAwIFIvRjUgNDkg
MCBSPj4vRXh0R1N0YXRlPDwvR1MxMSAxMSAwIFI+Pi9Qcm9jU2V0Wy9QREYvVGV4dC9JbWFnZUIv
SW1hZ2VDL0ltYWdlSV0gPj4vTWVkaWFCb3hbIDAgMCA3MjAgNTQwXSAvQ29udGVudHMgNDIgMCBS
L0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJzL1Mv
U3RydWN0UGFyZW50cyAyPj4NCmVuZG9iag0KNDIgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29k
ZS9MZW5ndGggMTI5MT4+DQpzdHJlYW0NCnicnVdLb+M2EL4b8H/gkVrUNN+kgCCHPLrdRV1skxRb
IOhBdRTH2UjKynL69ztD24lkS4rig2mb0jy+mfmGQzL9Rk5OprPzLxeEn56Ss4tz8nM84oQzzrmQ
kjviJCdGc1Km49H3TySHx4wroeEd5Sys1sSkXLxKcW4F1w2x+0/j0Z/jEbmcnRNSMykOTLYIb2w6
ETNnCLxGjNr9ZNKAAJln49H0S5YsUq3IRUHaTMk3U5OtJS5itwXqlRAtRg3f2dQxE9IQJZiHnTgI
1ezaLrPq0KwxIu43qx0A20A1xAbDGqHWLboui/rQovXabixKrUVbdAVXr9HlAaLlMTrhgvU3s77L
rJn+nuQLQh+Tyddv0daHsxuQ+1UQzyCnN/dgJ5gQYEQxr2BfO0luMiwpG3sCRTT9fA0xWax2W5/H
o1sqo4mmHBeBS/g7tVP4NtRF/5Cbr+PR5U2LV7bmyKttY5iUNdu3lPTpcF3Idgq1Ewx44pkyO4Wq
T6Fv1WE3AXnT0etU3IiwJNKx2DZCLEEj0EF7y5zbxridtofbVyHqZ8n8x6KMNC3WGPD8ruZQw3ct
mfN1S+84L3jDe02k2PdeIN9AJ1CBb3WecO7dadOFAJ3vV5eCWPqmMP07jSzNSQbrPI0UOGjovMhg
fS7yFEDm1aoDnzSKiT11/fhEA58hwjO/RwCzwSc1i+NXfGeXLfjAdF3SOWZ9UxLA5SSaWDoDYOeX
0URS8uUav646IInYMiOaSvohycGQgNrqOEg1yTZIq+K+WuJe+bMrU1BITjQV9cNSQ2EpD6o3OgVy
xeIqoeyRQs2dwJ6PQa9pv6UvMwDckTfgOeSt8Xo/QD0YoOVMxMc0ig9CfbNzSy+KjJNsnj5FE0WL
ReDlxNElNva8SkvYuE+Arx3p9p6JpkIStfnB4OBr9UV5ZoZR2gxtWYo75s2RLasuTBXJEuhPjwUs
JXkuIBjLCOOyIpGnxT2BXga1gr35Enee4GGxWEaOzjsCpqRhMC81rPTDtkPLR3rz2v0/VhB1Sfpb
8R+WAnbnqiCbOnhM51W9F3QUA5xC8Z62fmxuMDarmTgOW01yD1uarUPVJxWePqHsEd/1VecxBAe6
2VPZD9APBgixM8cBrEnuAXzC5IUMvqQkCz+Q4CUC7jpoDVO6qfOQ0KKH0HBhYbEeFJx4KKFFzHFe
PI7QdWE6Sx5xmipDvnH8yFdVmdRpLfmW1/N1WaZhN2zuaN7Fa+eZbdrqBS/50MoQFlqsPqYy6pL0
rFjndwSK4qFYVV3Z5xoH1oZcPwqxl0Jh9lMYCyZgoBbaI3V6U3goLOAKJExDGEp8telFDzhEVvBJ
y2KR5mmxXm1orDj9t0yTH2FkiSaeZiHBii4g1bBXbf8W+S/wWHo6T3L4mxeoVyisigobfoFUetqc
iFLRl2VC5s9rrJSuOdxycFQ3/e0PoBwcQBkzdXQAa8L0D2RA3jXeaI63oIbApPNd6AJ77ybl/AHD
FYcIrzAja8zTCjcFUCskZYY91mBchaEpXgHWeHQmMFzabt9UrJBjdXP9wW0bLW07ySBxQr5Hsq6e
V5em3wFyGioM2m15t4Hp6PN2u+wKprUhmHVVnYF3Guetxrt3mFWYVvR2dCMz+NlzlMH1w+mmiv5g
Dh5j4RJq3g1lWxhrgvSvPE+qdZk8YdMlkZD1a0i4goShZImPi5ys0gy7eF4F8PMu1CqWrOnhIej/
AQcEAa0NCmVuZHN0cmVhbQ0KZW5kb2JqDQo0MyAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5
cGUvSW1hZ2UvV2lkdGggMTAyNC9IZWlnaHQgNzY4L0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQ
ZXJDb21wb25lbnQgOC9GaWx0ZXIvRENURGVjb2RlL0ludGVycG9sYXRlIHRydWUvTGVuZ3RoIDE4
NzExPj4NCnN0cmVhbQ0K/9j/4AAQSkZJRgABAQEAAAAAAAD/7AARRHVja3kAAQAEAAAAZAAA/9sA
QwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8n
OT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgDAAQAAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAA
AAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQy
gZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVm
Z2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS
09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYH
CAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1Lw
FWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5
eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj
5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A9/ooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
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
o+qUP5UH1uv/ADM9D/4XH4h/589L/wC/Un/xdH/C4/EP/Pnpf/fqT/4uvPKKPqlD+VB9br/zM9D/
AOFx+If+fPS/+/Un/wAXR/wuPxD/AM+el/8AfqT/AOLrzyij6pQ/lQfW6/8AMz0P/hcfiH/nz0v/
AL9Sf/F0f8Lj8Q/8+el/9+pP/i688oo+qUP5UH1uv/Mz0P8A4XH4h/589L/79Sf/ABdH/C4/EP8A
z56X/wB+pP8A4uvPKKPqlD+VB9br/wAzPQ/+Fx+If+fPS/8Av1J/8XR/wuPxD/z56X/36k/+Lrzy
ij6pQ/lQfW6/8zPQ/wDhcfiH/nz0v/v1J/8AF0f8Lj8Q/wDPnpf/AH6k/wDi688oo+qUP5UH1uv/
ADM9D/4XH4h/589L/wC/Un/xdH/C4/EP/Pnpf/fqT/4uvPKKPqlD+VB9br/zMKKKK6DnCiiigAoP
AopD0oA27uLR7BoYZbK6mkaGORnFwFBLDPAxUH2nQ/8AoGXf/gV/9jRr3/H7B/16Q/8AoAqna2Fz
eJNJDC7QwKHmkVciNc4yfasopct2/wATVt81kvwLn2nQ/wDoGXf/AIFf/Y0n2rQ/+gZd59rr/wCx
qVL3RtPH+j6edQmH/La8Yqn4Iv8AU1ZbxbrdsQkS21iCAVSKyROPxGTSs3svvZSaW7+5XKP2rQx1
0y7H/b0P/iaVU0e8bZG1xYyn7rTMJIyfcgZH1rWsPE/iTUpZIhDbakI4zJJFNaxt8g6k8A0/UNIs
NX0O41bTbQ2F3aKr3diG3IY26SJ3A9qnm5XaWnzuVy8yvHX5WOYuraazuZLedNkqHBGc/iD3FRVp
XjfaNC0+4c5ljZ7fd3KjBX8skVm1vF3WpzyST0CiiimIKKKKACiiigAooooAKKKKACiiigAooooA
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo
oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii
igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKOl
dZa6BoekwR3XiXUt0joHTT7I75CDyNzdF+lROahuXCDnscrFFJPKIoY3kkPREUsT+ArqNN+HPibU
lDiw+zRn+O5YJx9OtW2+IR02MweGtGtNMi6eYy+ZKfqa56/8Sa3qjE3mqXUoPVfMIX8hxWTdaWyS
9dX/AF8zRKjHdt+mh1y/DCG2XOqeJ9PtiOqqQSPzIpw8F+Co+JvGSs3+yV/+vXnRAJyeT6mjA9BR
7Gq96j+5Fe2pLamvvZ6UvgLwjdfLaeMY9/YOyf4iorr4Raj5Rl0zVLO9TsM7SfxGRXnW0HsKt2Oq
X2mTCSxvZ7Zwesbkfp0NS6VZfDP70Cq0X8UPuZPq2g6poc3l6lZS25PRmGVb6MODWdXqnhr4kQ6q
F0bxVDDLFN8guCo2k9t47fUVheP/AAQPDU631hubTJ2wATkxN6Z7g9jRTxEuf2dVWfTsx1KEeT2l
J3XXujiKKKK6jlCiiigAooooAKKKKACiiigApD0paQ9KBG/dWDap4j02wQ4a4ht48+mVGT/OtqzW
1v4PFXlxlLextBHaqrFcKHxk4PzE9Tn1rIl1D+yfFGlaht3C3it5CvqAoz+ma1dY0DVrFrzUvDrS
Xmi6kpJe3G8hCclHXqCDXHPom7bW+/U7YLdpX7/cbOoaHoD3F/pEeiwwyQaSL1LuOVt+/bnGCcYq
5f6bp2ta/aRX1pERY6LHdM7SMBNxgK2Oijk8c8157Lr2vfbZriSSYXEtt9lkJhxmLGNuMVbstW8X
3MliLM30r2a7ICkGSFIxtJxyPrWboVEk+b8WWq8G2uX8Dr9LtdGi1WS40p7ZZZtIuftMFq7PGjAD
BUtzg1z+jW8nh/wVq2qX4MTanCLWzhf70gJyXx6CtiPw94vvphq2u6pDpMUcLRF5NinyyPmUKOOf
evPb7ULvUZEa7uZJzEgjj3HhUHAAHYU6UOdtKV9r9dvMVWfIk3G29um/kTyceGrb/r6k/wDQRWfW
jJ/yLVt/19Sf+gis6u2PU459AoooqiQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii
igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK
ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACtHTNEvNVt7y5hULbWcRkmm
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
VWfJLsXzx7o3n1vQ7bRP3E8Mt8sDi3kaAF0JVeCNoA53AdfWsvxVqmlXumWsenpbYyjLtXbJF8gD
KflAwWyepqr/AMIJ4i/58U/8CY//AIqj/hBPEf8Az4p/4ER//FUckuwc8e6Nzwz/AMiYn/X8/wD6
AKuUabpd3o/heK1vkWOdrt3CCRWO3aBngmivocEmqEU/P8z5/HNOvK3l+QUUUV1HKFFFFABRRRQA
UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR
RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF
FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
AFFFFABRRRQBNZ3c1hewXdu22aBw6H0Ir3CJ9D+KPhtFmPlXkQ+YL/rIHxyR6qa8JqxY393pl4l3
Y3EkE6dHQ4/A+ormxGH9raUXaS2Z0Yev7O6krxe6Om1v4b+INHdmjtzfW46S24yce69RXKSwywOU
mikiYdVkUqf1r0/RfjHNEqxa1Yebjgz25wfxU/0NdZB4/wDB2qqBPdQqT1W6hx/MEVz/AFjE09Kk
L+aOj6vh6mtOdvJngG4eoo3D1FfQ4uPAtz827RGz6iMU8Xfgi2G4SaImO4EdDzB/yMf1Bfzo+eoY
JrhtsMMkh9EQt/Kt3T/AviXUyPJ0qaNT/HP+7H617LL468H6evyajajH8MEZP8hWHf8Axi0WEEWV
nd3TdiwEY/Wl9bxE/gp/f/SD6rQh8dQydI+DcjFX1jUQq94rYcn/AIEa7eDTfC/gexaYLb2Y24M0
pzI34nk/QV5fqvxY8QXytHZrBYRnvGN7/mf8K4u7vbrUJzPeXMtxKeryuWNL6tiK38aVl2Q/rOHo
/wAKN33Yy4YPczOpyrOzA+xNR0UV6Z5oUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAmB6UYHpS0UAJ
gelGB6UtFACYHpRgelLRQAmAKWiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEwPQUbR6
ClooAKKKKACiiigAooooAKKKKACiiigAooooA//ZDQplbmRzdHJlYW0NCmVuZG9iag0KNDQgMCBv
YmoNCjw8L1R5cGUvRm9udC9TdWJ0eXBlL1R5cGUwL0Jhc2VGb250L0FCQ0RFRStWZXJkYW5hL0Vu
Y29kaW5nL0lkZW50aXR5LUgvRGVzY2VuZGFudEZvbnRzIDQ1IDAgUi9Ub1VuaWNvZGUgOTM2IDAg
Uj4+DQplbmRvYmoNCjQ1IDAgb2JqDQpbIDQ2IDAgUl0gDQplbmRvYmoNCjQ2IDAgb2JqDQo8PC9C
YXNlRm9udC9BQkNERUUrVmVyZGFuYS9TdWJ0eXBlL0NJREZvbnRUeXBlMi9UeXBlL0ZvbnQvQ0lE
VG9HSURNYXAvSWRlbnRpdHkvRFcgMTAwMC9DSURTeXN0ZW1JbmZvIDQ3IDAgUi9Gb250RGVzY3Jp
cHRvciA0OCAwIFIvVyA5MzggMCBSPj4NCmVuZG9iag0KNDcgMCBvYmoNCjw8L09yZGVyaW5nKElk
ZW50aXR5KSAvUmVnaXN0cnkoQWRvYmUpIC9TdXBwbGVtZW50IDA+Pg0KZW5kb2JqDQo0OCAwIG9i
ag0KPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9BQkNERUUrVmVyZGFuYS9GbGFncyAz
Mi9JdGFsaWNBbmdsZSAwL0FzY2VudCAxMDA1L0Rlc2NlbnQgLTIwNy9DYXBIZWlnaHQgNzY1L0F2
Z1dpZHRoIDUwOC9NYXhXaWR0aCAyMDA2L0ZvbnRXZWlnaHQgNDAwL1hIZWlnaHQgMjUwL1N0ZW1W
IDUwL0ZvbnRCQm94WyAtNTYwIC0yMDcgMTQ0NyA3NjVdIC9Gb250RmlsZTIgOTM3IDAgUj4+DQpl
bmRvYmoNCjQ5IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMC9CYXNlRm9udC9BQkNE
RUUrV2luZ2RpbmdzL0VuY29kaW5nL0lkZW50aXR5LUgvRGVzY2VuZGFudEZvbnRzIDUwIDAgUi9U
b1VuaWNvZGUgOTQyIDAgUj4+DQplbmRvYmoNCjUwIDAgb2JqDQpbIDUxIDAgUl0gDQplbmRvYmoN
CjUxIDAgb2JqDQo8PC9CYXNlRm9udC9BQkNERUUrV2luZ2RpbmdzL1N1YnR5cGUvQ0lERm9udFR5
cGUyL1R5cGUvRm9udC9DSURUb0dJRE1hcC9JZGVudGl0eS9EVyAxMDAwL0NJRFN5c3RlbUluZm8g
NTIgMCBSL0ZvbnREZXNjcmlwdG9yIDUzIDAgUi9XIDk0NCAwIFI+Pg0KZW5kb2JqDQo1MiAwIG9i
ag0KPDwvT3JkZXJpbmcoSWRlbnRpdHkpIC9SZWdpc3RyeShBZG9iZSkgL1N1cHBsZW1lbnQgMD4+
DQplbmRvYmoNCjUzIDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0FCQ0RF
RStXaW5nZGluZ3MvRmxhZ3MgMzIvSXRhbGljQW5nbGUgMC9Bc2NlbnQgODk5L0Rlc2NlbnQgMjA1
L0NhcEhlaWdodCA3NzEvQXZnV2lkdGggODkwL01heFdpZHRoIDEzNTkvRm9udFdlaWdodCA0MDAv
WEhlaWdodCAyNTAvU3RlbVYgODkvRm9udEJCb3hbIDAgMjA1IDEzNTkgNzcxXSAvRm9udEZpbGUy
IDk0MyAwIFI+Pg0KZW5kb2JqDQo1NCAwIG9iag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9S
ZXNvdXJjZXM8PC9YT2JqZWN0PDwvSW1hZ2U1IDUgMCBSL0ltYWdlNiA2IDAgUi9JbWFnZTcgNyAw
IFIvSW1hZ2U4IDggMCBSPj4vRm9udDw8L0YxIDkgMCBSL0YyIDEyIDAgUi9GNCA0NCAwIFIvRjUg
NDkgMCBSPj4vRXh0R1N0YXRlPDwvR1MxMSAxMSAwIFI+Pi9Qcm9jU2V0Wy9QREYvVGV4dC9JbWFn
ZUIvSW1hZ2VDL0ltYWdlSV0gPj4vTWVkaWFCb3hbIDAgMCA3MjAgNTQwXSAvQ29udGVudHMgNTUg
MCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJz
L1MvU3RydWN0UGFyZW50cyAzPj4NCmVuZG9iag0KNTUgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURl
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
5yCGNX2wNDKr8fUZPKtd1OJRHw9rbHVb/Keeql0nALE0iLp6OviiFrLaHw9QMKwpwdLzBBltqNU1
emCogbF3D4iJW1kVa8Dh+Y6tOQIbwy2QTPrgxc5x/5x2bh15WKN6x0cTRN1njXscR9EDFBV7qT3Q
ileHtNzn594m8D8+mDrkPvoYHtZUNuV/HvphAgeSzOMGnwZWj4FE6P0E0wXn66KBp82ogFwxYAM2
rO8d3EBoS9ko9oBSxxhXY4LCeCaVCQUAmFBgkGkqAINMVUcDzGgBxApgFFPGIACgZcJ0tBe2lk9D
4Ykv3wcei3ENRbheXSxY3YDEe+Z8pen55ALKKVxhBwyrr1gbbRGJZCWklU3E0C64mjW9DGNok1Sf
3qyMa4rjeCvdcBykNx95XON78/OZxzXFcTwfN2JcU/lQgpLK3I6NXIaF0VQ38Dyucb3jZM8dr+od
x2a28ZCqryUj45q+cjEy1NzVNiHIuCb2xU4Z1/jq4c4PxjUcA7z4a6wAY2Vc0xc3QaY1faDhEVDs
SxnDsxWKEsU7na4z38q5hvAINKHWNjZJJOpLmeg4VpXsQABlOZrJbJXDp0Szoj/LZwp4w/f5Qf6H
C3RKlrIyrt9VZXz4mIqsg5j9/1aP5s4NCmVuZHN0cmVhbQ0KZW5kb2JqDQo1NiAwIG9iag0KPDwv
VHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9YT2JqZWN0PDwvSW1hZ2U1IDUgMCBS
L0ltYWdlNiA2IDAgUi9JbWFnZTcgNyAwIFIvSW1hZ2U4IDggMCBSPj4vRm9udDw8L0YxIDkgMCBS
L0YyIDEyIDAgUi9GNCA0NCAwIFIvRjUgNDkgMCBSPj4vRXh0R1N0YXRlPDwvR1MxMSAxMSAwIFI+
Pi9Qcm9jU2V0Wy9QREYvVGV4dC9JbWFnZUIvSW1hZ2VDL0ltYWdlSV0gPj4vTWVkaWFCb3hbIDAg
MCA3MjAgNTQwXSAvQ29udGVudHMgNTcgMCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFy
ZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJzL1MvU3RydWN0UGFyZW50cyA0Pj4NCmVuZG9iag0KNTcg
MCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTg3Mj4+DQpzdHJlYW0NCnicnVht
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
veVI2C46NKFNNH3w3RC+ZM3L8D4ZSnjuOYfjsCW+uUNakag9dv8BXj+mtg0KZW5kc3RyZWFtDQpl
bmRvYmoNCjU4IDAgb2JqDQo8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL1Jlc291cmNlczw8L1hP
YmplY3Q8PC9JbWFnZTUgNSAwIFIvSW1hZ2U2IDYgMCBSL0ltYWdlNyA3IDAgUi9JbWFnZTggOCAw
IFI+Pi9Gb250PDwvRjEgOSAwIFIvRjIgMTIgMCBSPj4vRXh0R1N0YXRlPDwvR1MxMSAxMSAwIFI+
Pi9Qcm9jU2V0Wy9QREYvVGV4dC9JbWFnZUIvSW1hZ2VDL0ltYWdlSV0gPj4vTWVkaWFCb3hbIDAg
MCA3MjAgNTQwXSAvQ29udGVudHMgNTkgMCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFy
ZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJzL1MvU3RydWN0UGFyZW50cyA1Pj4NCmVuZG9iag0KNTkg
MCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNDIxPj4NCnN0cmVhbQ0KeJx9k09P
8zAMxu+V+h187JCW2knsJBLiwAYIBBIvVOKAOExoTCAG4s/3F263bt27dhe3dWP/Hj9JoLyF4+Py
ZnI5BTw5gdPpBL7yDAENIpK1GCBYBPYI3/M8eziCD/1t0JHXNS6IRuEE34tNFaIQ+p2yl6M8+5dn
cHYzAeggaQ/ZU7xiBkomMOgyYNe+GstaAM/LPCsvl7PFnGH6CX0kuyWN1yCkFNZzRkfUw2RskT4Z
sgyOTNRMaoo6WBnCun0sM6XDWB90rtWkDNKAfT1plxiGiH6fKNHLimi9pz5zCd3GXGxGFEy1iNDQ
t9g4hOXyevaxgOJtNr66Ha01nFZad04QjW5p9aKcBkEKcSY6zftgoVrWJ0pSBD1D5cW9erL4aVMX
efZY2NHYF1gHqkPzWUqpTy7C6Amqqzw7q3pUSUfIhs1srO2wHws41CMMTdY29IGMXpNoHLcN5VDD
2NtDVoZsexwUlXYctuBkx1+bdPeiZtVmvza4/8rup+8ay6fz39nr+8gVPx0Z7X7+R/PWGpEubVf9
gMjIJiYtIzFuaOY/qW/tbg0KZW5kc3RyZWFtDQplbmRvYmoNCjYwIDAgb2JqDQo8PC9UeXBlL1Bh
Z2UvUGFyZW50IDIgMCBSL1Jlc291cmNlczw8L1hPYmplY3Q8PC9JbWFnZTUgNSAwIFIvSW1hZ2U2
IDYgMCBSL0ltYWdlNyA3IDAgUi9JbWFnZTggOCAwIFI+Pi9Gb250PDwvRjEgOSAwIFIvRjIgMTIg
MCBSL0Y0IDQ0IDAgUi9GNSA0OSAwIFI+Pi9FeHRHU3RhdGU8PC9HUzExIDExIDAgUj4+L1Byb2NT
ZXRbL1BERi9UZXh0L0ltYWdlQi9JbWFnZUMvSW1hZ2VJXSA+Pi9NZWRpYUJveFsgMCAwIDcyMCA1
NDBdIC9Db250ZW50cyA2MSAwIFIvR3JvdXA8PC9UeXBlL0dyb3VwL1MvVHJhbnNwYXJlbmN5L0NT
L0RldmljZVJHQj4+L1RhYnMvUy9TdHJ1Y3RQYXJlbnRzIDY+Pg0KZW5kb2JqDQo2MSAwIG9iag0K
PDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA0MTEwPj4NCnN0cmVhbQ0KeJytG2tv20byuwH/
BwIFDlQR0fveZa5nIFactEVS+GIXVyA9GLIiO25tySfZTXO//mb2Qe5SXEry9UNkajWvnZ33MsXR
WfHdd0fvJz+8LsjxcXHyelL85/CAFKQihFDGiC40I4UUpFjNDw/+9W2xgJ8rwqkAGK4VfCpZF6ub
BosQRYlI0K6/PTz45+FBcfp+UhQRS7rBsgfZ8dS0rrQsAKyQPDxWTAJCMbs/PDj64X56M5fF62XR
x4m1nMaeEaG19vs0nNIenpIElqKuKJMFp5WBldoiRWxVji3fZCslrYfZCg37cjuVhbKMBe405qhz
HMUmR2WEchyZELRPuZTwRrnEblGRGoXQlnvL1uTYyqN308VNUf42Hf94NvIynFwA3htamAqO9OIa
+FgWFJjwynBYF5oVF/doUao2BdjQ0dtz0MnNOiy9PTz4WLLRWJQEPyh+2K9H6gj+ylKP/l1c/Hh4
cHrRI5WKBGl4S1kxFvH+WBZDNHRuZ4Gg0LQCNzEVl4HgoFCml4ZyCmlpDApVJxpmBdNVbVIdU6Uq
MHBUNQlK7nfbzeUPVu1ny9vFY0FfFu/PR6L8UIzGupzfP91NH2+XsLAoUP+/lvTXUSRqqmpWMRGL
sGVbNMQgUklj7YFr0IkpwGwrI+F3g3YKNiqauCIMGClvIDhHu00gFCMRDSM2SOCmQeZK1ww+jWFW
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
Y2VzPDwvWE9iamVjdDw8L0ltYWdlNSA1IDAgUi9JbWFnZTYgNiAwIFIvSW1hZ2U2NCA2NCAwIFIv
SW1hZ2U4IDggMCBSPj4vRm9udDw8L0YxIDkgMCBSL0YyIDEyIDAgUi9GNCA0NCAwIFIvRjUgNDkg
MCBSPj4vRXh0R1N0YXRlPDwvR1MxMSAxMSAwIFI+Pi9Qcm9jU2V0Wy9QREYvVGV4dC9JbWFnZUIv
SW1hZ2VDL0ltYWdlSV0gPj4vTWVkaWFCb3hbIDAgMCA3MjAgNTQwXSAvQ29udGVudHMgNjMgMCBS
L0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJzL1Mv
U3RydWN0UGFyZW50cyA3Pj4NCmVuZG9iag0KNjMgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29k
ZS9MZW5ndGggMTQ1ND4+DQpzdHJlYW0NCnicxVhbT+NGFH5Hyn8YqS/jFZnMfcar7UoQWMSqqJSk
24fdqjLEsGmTeGsnIP59z7ET8DixifLSBxx7fC5zvvnOxZDBNfnwYXA1vDwj/ONHcno2JP/2jjjh
jHMupOSOOMmJ0Zzkae/oj3dkAa8ZV0KDjHIWrtbEJH940eLcCq4Dtft3vaPfekfk/GpISM2l2HK5
Q7ny6UTMnCEgRoza3DJpQIHczXtHg8t58pAacpaRXZ7kq6f+2hEXsVvH6ZUQO3wavnGpYyakIUow
DytxqVRza9vcqm23xoi42612EFcVqSG2dKwx0sCjbnOpt11ar23lUmotdqEruHpBl5cxWh7jLlzp
/tWvb3NrBr8kiwdC/076n6+j9R5Ox6D3SRDP4EzH9+CndCHAiWJewbp2koznSCkbewIkGlyMAJSH
YrN00Tv6SmXU15TjReClfBzYAfwa6qI/yfhz7+h8vGNXtraRF9/GMClrvr9S0mXDtUW2MaidYJAn
nimzMei7DPqdNmwFyKuNzk3FAcKSSMdiG0AsrGVAcO0tc26N8e603V6+KVG/zqaLJYn6ior35GoU
KXoDT56m89UsWU6zBUH8v1H5LaptNYRaMqnre3gjLMGDuDSRgsU+5E7MLNrUihld2fzAuXcfwy2U
oEBoNlQGnJQPtel5nmeRpXlLEM4xz32o0m+RhUBj2ZCdRoYu7jMSCVndL9Mcfu6Tu7TFihSexSa0
0g2bCGAzBAw0UNOmgg3KqHpB7fR8B2rCB4rWM4nhvyrSE7IEMuTJorhP8YbMor6lyXPaBqGEYgJZ
XbfRHY9s0ECYJr29YFZ7omI4HdlNg23lON5Spp8iDcej6Az+MLw0B3oLOK5s0RKVcIY5FVppI4bw
ksUN2dENuDn5dTCK+o7eYJ6d4ApmnKe3yeKfosWYUorphrFuPNXeeEIdcofC+apLx8iOGUCaLFMg
O8QkFf2eFcvqwdNkMskx5LQAoQLfixL2DG/pwwrWTblQnUIo3oKLlhKyO9hHNyx6b1igZxh/KC41
ZXoG+09nEBty7THN37cRxioGHT/Q7Q7GNINRTMmwJQgH5R3oY6EWvBGMbrZsoUxTmZ4/JhDODPm7
SjBvUqhyjiYLuJ+QKKaTFE+zFJji5RGzSni6/J7i6zkQonwuUniDomjAQu7lWfkIT5wuM/IIgN39
WPG2PgN7DTZG2lBdBwH1UeyXOXbfyipjGCsOqaw1RXoFwA0v/hqNT8a/j9piiBWzIlDrDsHty3Lp
YAo8tJjWlenpdJ29Fk9R4eW9ItUJYwan+WM6OcZU5/SpXJ6DcIElV0pafAeRbDWbYO5regukAO4U
yRyM4r1QNMGSAT17Mi+VQCoDToFa/oTWMLkKfKwKz8X1Ty1gWsWZCffexp1NnDDT2L1w93tTR8YH
UudVsaJOmWRv0Mdr7Fp11e4w4h30acSx4Q93+zSP5jwXN5XpEDtHmpSzBTaL22dSsWQK68uyUWsK
M3lJBV4cVwftgErTJUxyL2+BXaIgd2hohf0EuGdpxbGLaxBqY4XWcMY22FKTFZ25IGAO3K9qS74v
SbAhCH8IS+qadZqcnJ3hh9TN4AqgWa9dAUCXo2HbHGcNfCyEBrvDE/vWHqHFwYNHTZeeYyFZYYOt
Jg+sIVJv6kUye0qei6pgYI1A4R8zLBR4ly42sx9qKQffNgusRCjPq1ozgOdNweqvKxYIQoEhVZOD
NSxwKxyMv0XHJd8664mAocVsBmucDvAP58AvcC6aXqLZ0fALpsHP5ScweuTVfmHGehmuFhlJJrin
ST4oE+A+a2M3hwqgA8fdh7j3NC64wAHswFOsKUMFwENJ8gr62+dyGEDgq3PDQ8LfqgYY/N8AtI3j
zXC5KRYNQUBJlILkDpYSKAnrgfKtLrGuB8EOuyHbe+D2nEl1aM+tK/+vI3ewkS1k/gMc9TgFDQpl
bmRzdHJlYW0NCmVuZG9iag0KNjQgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdl
L1dpZHRoIDk5L0hlaWdodCAxMTUvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVu
dCA4L0ZpbHRlci9EQ1REZWNvZGUvSW50ZXJwb2xhdGUgdHJ1ZS9MZW5ndGggNDQ5Nz4+DQpzdHJl
YW0NCv/Y/+AAEEpGSUYAAQEBAEgASAAA/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a
Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAcwBj
AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF
BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq
NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi
o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E
AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR
BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG
R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz
tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A
q2jaZpvhCzv7jRba/uLi7liLTSOu1VVSMbSPU1W/4SHSP+hR03/v/N/8VRef8k/0r/sIXH/oKVz1
fTQgpXbvu+rPmpzcbJW2XRdjov8AhIdI/wChR03/AL/zf/FUf8JDpH/Qo6b/AN/5v/iq52ir9lHz
+9/5ke1l5fcv8jov+Eh0j/oUdN/7/wA3/wAVR/wkOkf9Cjpv/f8Am/8Aiq5+OOSaRY4keSRuAiKS
T+Arp7L4eeI7uITTWsdjB/z0vZRGPy6/pUTVKHxO3zf+ZcJVZ/Cr/Jf5EH/CQ6R/0KOm/wDf+b/4
qj/hIdI/6FHTf+/83/xVaf8AwhOiWpxqPjTTY2HVbdfMx+OalHhrwL0PjNyfUWxx/Ks+el0v/wCT
GnJV62/8lMf/AISHSP8AoUdN/wC/83/xVH9v6K3EnhGw299lzMp/Pca208BaJqB26T4ysZZD0SZd
hP6/0rH1vwF4g0KNpp7Pz7ZRkz2x3qB6kdR+VOM6Ena7v5tr8xShWir2VvJJglj4d1s+Xp1xNpV6
33IL5w8Mh9BIACp/3h+NYd9Y3Wm3klpeQPDcRnDI45H+I96rdR7V1NnK3ifQpdOuDv1PToTNZSn7
0kS8vET3wPmH0IrV3p63uvyMlappaz/M5eiiitTI6C8/5J/pX/YQuP8A0FK56uhvP+Sf6V/2ELj/
ANBSufVSzBVBLE4AA5JrOls/V/maVd16L8hACSAASScACtKxtbKC7P8Abi3sECpuWOKLDynP3QW4
A9+a1dS0eHw//Ztk37zXpJY5pgW+S3B+7GfUnIJPatrx3aeItX8S6TY6rFYRXc6eXALd2KHLfxE9
OazdZNpLZ319OxaotJt7q2nr3MY+NZ7GJrfw9YW2kQkYLxr5k7D/AGpG5/LFc/eX95qEplvbue4c
nJaWQt/Ou0/4VF4m/vWH/f4//E1X8K+HJbD4jWmka3ZRscOWikAdHGwkEdiKmNWhFOUGm0r+Zcqd
dtRndJu3kcUAO1LXdfEPwhc6VrL31tbwJY3cyxW0EH3t20cbQO5BpIPhP4mmsxOy2sTkZELy/P8A
Q4GAfxq1iaXIpt2uQ8NV53FK9jjbSwutRn8iztZbibBbZEhY4HfArpfDnivxF4XupIgtxPaQHFza
TAkIO/X7prV+GFncaf8AEKS0u4WhuIreRXRhyDxWD4qvri28Wa/DFJtjmunEgx1GamUlUm6TSatc
qMXTgqqbTvY6Tx14d06+0SDxfoKBLWfBuIlGApJxux2IPBFch4UuTa+LNKlHT7SiMPVWO0j8ia77
wdmb4Q6/Hccwr52zP+4D/OvOdA/5GLS/+vuL/wBDFRRb5J03ra6+RdZLnhUWl7P5kOpQLaareW6/
dindB9AxFFTa7/yMOpf9fUv/AKGaK646xTOSWkmaN5/yT/Sv+whcf+gpV74a6bFf+Lo5rhd0NjE1
ywPcr0/U5/CqN5/yT/Sv+whcf+gpW78JJY/+Enu7SQ4+1Wbov4EE/pmuWq2qE2vP8zqpJOvBPy/I
5WS/l1TxSL6ZiZLi8WQ/i4wPyr1Lxx/yU7wp/vL/AOh15Nf2lxousz2soKT2sxHPqDkH+RrptW8e
DWPEWiaxNYlJNPx5qK/EhDZ+X0/GlVpOUoyhtZ/itApVFGMoz3uvwept+Prq5h+KOnrFcSxr/o/C
OQPvntXTa0B/wuPw+ccmzfP/AI/XmXiTxXFr3i221pLR4Uh8vMTOCTsbPWr+vfEB9R8Wabr1haNb
yWUezy5X3B+TkcdiDisfq9RxirfZaN/rEFKTv9pM6OELc/HaWKd2aONi8aMxIDCIYIFWtbuPDlr4
3k1C98Vahb31tKpNuEOxAAPl6dCP51yniHx/Bqt1Zajp2krYapbzCVrnIYvgY2ngEj61qP8AErQb
6SO81TwpFPqKAfvAVIJHTkjP55qXRq+7Lle1tLf1qUq1P3o8y3vrf+tDe0vV9K1z4sw32kzCZG05
llYKV+YN7+2K8/1nRr7XviJqtjp8DSyvePk4+VBnqx7CmQ+NJ7Txm/iO2sLaAvkPbJwrKRg5Pqeu
fWr9n8QrzSLrWrqzsFjuNVmEyNKciIc9Bj5uv0rWNGpTd4LolqzKVWnUVpvq3odH41ubTwf4HtvC
VlKHup1BnYdducsx/wB48D2rzbQP+Rj0z/r7i/8AQxVW7vLi/u5bq7mea4lbc8jnJJq1oH/Ix6Z/
19xf+hit6dL2VNpu7d2/UwqVfaVE0rJWS9A13/kYdS/6+pf/AEM0Ua7/AMjDqX/X1L/6GaK3h8KM
J/EzRvP+Sf6V/wBhC4/9BSsnS9RuNI1O31C1bbPA4dc9D6g+xHFa15/yT/Sv+whcf+gpXPVnTScW
n3f5mlRtSTXZfke0XWmaB8U9OS/s5xZ6vGgWQdWHs6/xD0Yf/Wrg9T+G/ifTXbGnm7jHSS2YPn8O
v6VzFrdXFlcJcWs8kE6HKyRsVYfiK7jS/i34hsUWO7S3vlH8Ui7H/Nf8K5/ZV6OlJ3XZnR7WhW1q
qz7o4+XRtVgJE2mXiEf3oGH9KbHpWpSnEenXbn/ZgY/0r1OH41QFR5+iTBu/lzgj9QKkb41WOPl0
a6J95VFL2+J/59/iHsMN/wA/PwPOrTwX4lvSBDot3g95E2D82xXTab8H9buSrX9zbWadwD5j/px+
taF18ablhi00WJD6zTlv0AFc5qPxO8UagCq3iWiHtbRhT/30cmi+MnslEdsJDq5Hodp4H8H+EYVv
NVmjmkXkSXrjGf8AZTv+teYeOtZstd8UTXmnbjaiNI0LLtztGOB6VgXFzcXkxmup5Z5T1eVyx/M1
FWlHDuEuecm2ZVsQpx5IRsgrQ0D/AJGPTP8Ar7i/9DFZ9aGgf8jHpn/X3F/6GK6J/CzCHxINd/5G
HUv+vqX/ANDNFGu/8jDqX/X1L/6GaKcPhQp/EzTu9W0PSvh/pba3b6hMkl/cCL7E6KQQqZzuH0rn
v+Ev8B/9A/xF/wB/4f8ACmeOP+ScaD/2Ebr/ANBjrzSvBr4mrCrKMZWVz3aGHpTpRlKN3Y9O/wCE
v8B/9A/xF/3/AIf8KP8AhL/Af/QP8Rf9/wCH/CvMaKy+uV/5jX6pQ/lPTv8AhL/Af/QP8Rf9/wCH
/Cj/AIS/wH/0D/EX/f8Ah/wrzGij65X/AJg+qUP5T07/AIS/wH/0D/EX/f8Ah/wo/wCEv8B/9A/x
F/3/AIf8K8xoo+uV/wCYPqlD+U9O/wCEv8B/9A/xF/3/AIf8KP8AhL/Af/QP8Rf9/wCH/CvMaKPr
lf8AmD6pQ/lPTv8AhL/Af/QP8Rf9/wCH/CtDQfFfgmbxFpkVvYa+Jnu4ljMk0JUMXGM4HTNeQ1r+
FP8AkcdE/wCv+D/0YtJ4uu18Q1hKCfwnouu/8jDqX/X1L/6GaKNe/wCRh1P/AK+pf/QzRX0kPhR8
7P4mZ3jj/knGg/8AYRuv/QY680r0vxx/yTjQf+wjdf8AoMdeaV83iv40vU+iwv8ABj6Hfa54c8I+
GZE0zU59dfUWtUm+1QJF9nZnQMNqnll5xnPY1zmleDvEWuWMl7pmj3d1bISDJGmQSOoH94+wzXov
hXRfE9xaxaH4v0V5vCwhZ1vrrH+gLtJEkU2eB0+XJB6Yqo2j63rum+Brnw1HPPaWUPlSSQNhbacT
MzM/9zIKtk9RXOdBj+E/h/LqvhvVNdvtN1G4htwq20NrIkZkYkhySwOAu3kY5qldfDTxHbeGrLWh
ZSPHdSFfKUAtGMqEJOedxbAx6V0WuXdrd6V8SrmwkVraXVbZo2jOFYGSTkexrLuYL9/hP4dvrGCa
WOw1C7eeSJSywnMRUvj7uccZoA4qbT7y3uLmCW2lWW1YrOpQ5jIOCG9OeKu2XhfXNRezSz0u5ma9
R5LfYn+sVThmHsDxmvabuS207V3RyiQeObrLdOYXtwAf+/03/jtc9daDDeeIodAuori4n8P+Ho8a
dbS+W91cHDvGDgnrISQBn5aAPPZvB3iO31qLR5dGuxqEy74oBHkuv94Y4I4PPtUw8CeKG1ZtLXRb
lr1YhM0agHahOASQcAZHc16tZxtbw+GI30qfSHTS9ZAtJ3dnQeXkHL/Ng8kVyfgWOLUfh7rmnR6X
dardm+gmksrS58qZ4grDdwpLqGPIA7g0Aee6lpl9o99JY6jay2t1GfnilXawq74U/wCRx0T/AK/4
P/Ri1tfEK6u5b3SrW80SfSXs7FYEiuLjzpWQMxUucAjrjBHQCsXwp/yOOif9f8H/AKMWgD0XXv8A
kYdT/wCvqX/0M0Ua9/yMOp/9fUv/AKGaK+sh8KPlJ/EzO8cf8k40H/sI3X/oMdeaV6j4xtLm7+HO
hC2tppiuo3WfLjLY+WPrivO/7G1T/oG3n/fhv8K+bxX8aXqfR4X+DH0K/wBpnMHkedJ5PXy952/l
SRzzRI6RyuiuMOqsQG+vrVn+xtU/6Bt5/wB+G/wo/sbVP+gbef8Afhv8K5zoKgdgpUMQrdRng05Z
5o4niSV1jf7yBiA31HerP9jap/0Dbz/vw3+FH9jap/0Dbz/vw3+FAFVppG2bpHOwYTLE7R7elKZ5
TN5xlfzc537juz65qz/Y2qf9A28/78N/hR/Y2qf9A28/78N/hQBXkuriWTzJJ5XkxjczknHpmmxS
yQyCSKR43HRkbBH41a/sbVP+gbef9+G/wo/sbVP+gbef9+G/woAqO7SOXdizHksxyTWr4U/5HHRP
+v8Ag/8ARi1V/sbVP+gbef8Afhv8K1/C2kakni7RXfTrtVW+gJJgYADzB7UAdxr3/Iw6n/19S/8A
oZoo17/kYdT/AOvqX/0M0V9ZD4UfKz+JiWfiHWNKhMFhqd1bQk7ikUhUZ9cCrH/CZ+Jv+g7f/wDf
9qKKPZwerSBVJrRMP+Ez8Tf9B2//AO/7Uf8ACZ+Jv+g7f/8Af9qKKXsqf8q+4ftZ92H/AAmfib/o
O3//AH/aj/hM/E3/AEHb/wD7/tRRR7Kn/KvuD2s+7D/hM/E3/Qdv/wDv+1H/AAmfib/oO3//AH/a
iij2VP8AlX3B7Wfdh/wmfib/AKDt/wD9/wBqP+Ez8Tf9B2//AO/7UUUeyp/yr7g9rPuw/wCEz8Tf
9B2//wC/7Uf8Jn4m/wCg7f8A/f8Aaiij2VP+VfcHtZ92ZbyPNI0sjF5HJZmJyST1NFFFUQf/2Q0K
ZW5kc3RyZWFtDQplbmRvYmoNCjY1IDAgb2JqDQo8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL1Jl
c291cmNlczw8L1hPYmplY3Q8PC9JbWFnZTUgNSAwIFIvSW1hZ2U2IDYgMCBSL0ltYWdlNyA3IDAg
Ui9JbWFnZTggOCAwIFI+Pi9Gb250PDwvRjEgOSAwIFIvRjIgMTIgMCBSL0Y0IDQ0IDAgUi9GNSA0
OSAwIFI+Pi9FeHRHU3RhdGU8PC9HUzExIDExIDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdl
Qi9JbWFnZUMvSW1hZ2VJXSA+Pi9NZWRpYUJveFsgMCAwIDcyMCA1NDBdIC9Db250ZW50cyA2NiAw
IFIvR3JvdXA8PC9UeXBlL0dyb3VwL1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQj4+L1RhYnMv
Uy9TdHJ1Y3RQYXJlbnRzIDg+Pg0KZW5kb2JqDQo2NiAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVj
b2RlL0xlbmd0aCAxNzg5Pj4NCnN0cmVhbQ0KeJydWNtu4zYQfQ/gf+CjXNQ0h3cVqYHEuWAXmzbd
uOjDbrHwOk7qIo5TO1tg/74zpGSJtiS7ebBkUXPhHB4OZ8SGt+z0dHgzfnfBxGjEzi/G7J/eiWCC
CyFASuGYk4IZLdh63jv54wf2jK+5UKBRRjmLV2tytn7caglhQehE7eGH3slvvRN2eTNmrOYS9lw2
KEefDnLuDEMxZlT5l0uDCmy27J0M3y2nj3PDLlasyZOsPA0KRwJyV8TpFUCDTyNKlzrnIA1TwD2O
5EGp5ta2uVX7bo2BvNutdhhXjNQwGxxrirTu0bV51Pserdc2epRaQxO4INQWXBFCtCKnSbjgvXLr
29ya4Yfp8yPL/p4O3t/2izmcT1DvCpjnuKSTB/QTXAA6UdwrHNdOssmSGGVzz5BDw+s7xORxUw5d
904+ZbI/0JmgC9AlPA7tEO8mc/0/2eR97+Ry0jArW5vI1rcxXMqa708Z67Lh2iIrDWoHHLeJ58qU
BvMug77Rho2AVDY6J5UnCEsmHc9tAjFYy5Hf2lvuXIFx867dH/4YUL9dLZ5fWX+gMviJ3dz1VfYR
n3w2X357mr4uVs+M8P+cqc/92lRTqCWXuj6HA2GBSOLSTALPfcqdnFuyqRU3Oto8FcK7UTqFAAqG
ZlNlxEn5VDv7ZYWhsb7JnlfPLYHkuOO1T9UGLbIgPAeXyk7XaH72F+uDyxb4d7P5Nu/rbIMDPps+
4t/pou+zNvfSA5cqNdmNIyQ4Ggae78CoTcQR06rawnh+2QAj+ETRei6FrytmV6s1e5guF8SHJ7p8
b8PGeJ6rRLcVRuu4yBPR5eoeV2qOHiSGDzILDissBzZbr1ZIWZc9rFdLhoIumz/2bTadfWcva1rn
WZDdrNabNs5qyXEP1v12Qy13KAtmdyvi6llkj8od97KdsjWyNYhLN9J4MxJ/gCtl8e4wpavRwOG4
xmet6XTBu8fxq5E5ja+B/ugzfOfjO2PDO+NGqi5iSESOBjQYRKMJXXgBexpdhymEwWCqFCfPRhUz
GNMr8tbEpz2AVC6RjEnEB0BXR4OOidV1p4l93XIFKt3sOpLsFTdvSILEJjyFvs7xCXS2LKlFj7jV
py/Tr4snZN4CX7zij+7zTRRQIvt3MWXEzpvx9Zcxpdiz2x/jS8wCRGEk9uzl2wIt3LcRFYsRm8yx
GzLdcOyUIOGRaPxRVsyxiUUpycG/JbPUNUNqoX2vad+3JxUPqVp7VgmnYiK7eSHrM7yEfPKwoEQy
C+kkSTBtyTk3eIKmJrsxtEeTF/A89m9lb02ZSibKmTYQFeHEp3Y8reZKpfqteGLtY3ZkNy9z2g20
PYj1DwFEwlNZfCAon3D4vhVP5znWIInJbjzdLp6KK5kWQ+CwsMGlAu46MnDAU+8Wq6DMrnJ2QwiO
rymyLxjQePIBj+/hDQI8XuCGdhkOtIUnODYAibXu8PzR4TlF5dYbw6spF+HhwoEI8d1Nzia/37H+
rj3dYE9iXqIA08mcw1GTkVpQLZ1MZtdtJauxVWmY+N3414tQWWHimFNyDYUAjuSBmzgwW9DIwwJZ
qbBEWK9X67BBZqTQ7E27nHvbPrP9ddut0WFn0YwKuBsXQDhsUO4Wx615Qyo8FOwb80ZdObvCxSds
VDyatsfV5AOSXQeytzPdYx4xqb3uAOFopuPtUF5sJXqlG04XKiT3t3M8jaXL7hcU+Gb69YkOBDzu
pckCe/CQBsCDnJTwMJfQYOXLbd9FMz8z0UYs+ragk2l1o7RXcLahBHm9tv9/KNV0d1CqskLH0svw
PaFupDumvXquca+AVxzaU0r9UNqTVjbWz7GM1uN4oxr1siqDQyWtq9L3KkiVNTaWUKE4DrW3bUJT
7iUz6+rzOICCPg4F7IykPR6GVFxiaa7zImTqC2Iv4MMI1uux/A/dRdVBlB1GqO2py7gYDYLaOAjo
snswo0EN3RLrwui2VTHRVyJUvjRlmzMayDr0qrBRrkiQDB2JiR5ssXS1abtWL0HQxmeSPjf11mak
GgzQlzsVPBas2GIliq4KtnM6L0z7Q9GGeUA051IahvZpHBdnz3eBe9HaFVw+i60YxFsBYB2egNpZ
rUOLUDU3aSn1rM2JRHUuHeCyaWg3SgIb4Pqo2kceXSoDVR0dtc/OIbcjLvOquTYVW2n9FH02tREw
LSmP4M/Rp9R4Vz6OkbwSBZdIiQZJUcm4KYoGvuQGiLCyxWKF9Q8LpqvOu+rMbWytdbFLIzUCH/Ji
ZnbLqzAJXTbkJqUCCeTlZpaxuT+ySTd0qKTIHVi8o+tygKRXbDipmgrN8qRKlVXxYQQBijkhpPgQ
uYQqvcc8dRW3Ib6DPGaZuESRDXGl4kK5iFdMmfVPKWEbHVXaxr6mPt19/P4D8pwsBQ0KZW5kc3Ry
ZWFtDQplbmRvYmoNCjY3IDAgb2JqDQo8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL1Jlc291cmNl
czw8L1hPYmplY3Q8PC9JbWFnZTUgNSAwIFIvSW1hZ2U2IDYgMCBSL0ltYWdlNyA3IDAgUi9JbWFn
ZTggOCAwIFI+Pi9Gb250PDwvRjEgOSAwIFIvRjIgMTIgMCBSL0Y0IDQ0IDAgUi9GNSA0OSAwIFI+
Pi9FeHRHU3RhdGU8PC9HUzExIDExIDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdlQi9JbWFn
ZUMvSW1hZ2VJXSA+Pi9NZWRpYUJveFsgMCAwIDcyMCA1NDBdIC9Db250ZW50cyA2OCAwIFIvR3Jv
dXA8PC9UeXBlL0dyb3VwL1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQj4+L1RhYnMvUy9TdHJ1
Y3RQYXJlbnRzIDk+Pg0KZW5kb2JqDQo2OCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xl
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
eUB51ZUToV52De36wXJHOrmEbfBvHd9WJ69TAkSaEHKAEDjE5A7N/xSsh0oQwzTGriLFumNXQHQW
znDFgMK5IaHf3IM7Qpe5TkSx6jPXdJnbpNRirMsmhplgTwPfQwND+/BXXYXeB7ZS1K5PEtooE2qB
ULPnclx2PULvxtOMVTva0PUw1LYh2itaUc1IE6RdIPfWJkjTHKy3m9Z030lKyw0kj+OyxrF3Eqlp
f066ktRo+STEzzW2MuAQTdMCXetdmVfR0zRdU75nNL8qP2vtXPzEtvVQS/7yuKAyQFet2+83k0tq
1+bT6TMG7s7uiMKmbF2zfpzabjLtoQxgODW51mh5ep9vIG2ATa/3VgpRnf+LUDLG/zrVmfTapA+u
MZ02CYG9pBONqhHzdb4N0fZHCK4JXM9zurIX8BVjBsSIu32k3ha1xqgpBq9K8Hm+ZThRQiMg72EZ
uH0uaPrn0FvL0qITIziVEXpzXacDkP4PSmk7Wg0KZW5kc3RyZWFtDQplbmRvYmoNCjY5IDAgb2Jq
DQo8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL1Jlc291cmNlczw8L1hPYmplY3Q8PC9JbWFnZTUg
NSAwIFIvSW1hZ2U2IDYgMCBSL0ltYWdlNyA3IDAgUi9JbWFnZTggOCAwIFI+Pi9Gb250PDwvRjEg
OSAwIFIvRjIgMTIgMCBSL0Y0IDQ0IDAgUi9GNSA0OSAwIFI+Pi9FeHRHU3RhdGU8PC9HUzExIDEx
IDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdlQi9JbWFnZUMvSW1hZ2VJXSA+Pi9NZWRpYUJv
eFsgMCAwIDcyMCA1NDBdIC9Db250ZW50cyA3MCAwIFIvR3JvdXA8PC9UeXBlL0dyb3VwL1MvVHJh
bnNwYXJlbmN5L0NTL0RldmljZVJHQj4+L1RhYnMvUy9TdHJ1Y3RQYXJlbnRzIDEwPj4NCmVuZG9i
ag0KNzAgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTE0NT4+DQpzdHJlYW0N
CnicnVbfT9tIEH6PlP9hHtdVs9nfu64QJwi0oioSd43UB3oPvmCSlGDn4gTKf3+zawfsJDYcL2t7
vTPffJ9nxgPDKzg6Gl6OLs6AHR/D6dkI/u33GDDKGONCMAtWMNCKwSrt9358gAxfUya5wjPSGlyN
jmE1fbZizHCmGma3H/q9P/s9OL8cAdQg+R7kAeMS0/KYWg14DLTc3lKh0QAm9/3e8OI+maYaznI4
hCRekAYVEOOxrXg6yfkBTM22kCqmXGiQnDrciYNRDda0wcp9WK153A2rLPIqmWowAVh5pnVE24ao
9hGNU6ZEFErxQ+JyJp/FZYGiYbEPwgb0F1jXBquH35JsCuRXMvh6FVUxnI7R7jMHR/GTjm8RJ0Bw
BJHUSdxXVsD43meUiR1gDg2/fEdNpsV260u/d01ENFCE+YX7JTwOzRCvmtjobxh/7ffOxweiMrVA
nrG1pkLUsK8JdPmwbcy2DpXlFMvEUalLh15rJQ2MJ9eE8y7f7pA7JygWVN1d8NQZZNxQXICwNDYN
yQVTlFv0bqi1leaHq3h/+6/wFa7yebaGaCCJ/ASXo3O8NWSe/UonkSTreZ7VAmwIzhWN68CvcOGs
QUaB4LtklKBcKVDYCIwrfR4x5uxxM4KgBNtLvpjGrGlMLpBGZMgE+XFGHi5HPsWQIVdknQO+SRaR
JYtIk8D6YbLcFC10JRNU8Kb7br68wVcDd9Q1Q7au5Ms1xcuW7+n5Ab7cNSw5wx7WMCQn2ZP/iIBk
VnNfQsWdv3+cpRkEYnAMy8kyUmRTfES6MUmyG3yCuafuv/d67uXJswLyyWSzgmQNCQR90FueTSPZ
YFxXp4xHxjJQDPGU3u5T8NaP+GBJdpOjj8c/WpwIgXR400u3xGInpVCPeEdjjmmKeS+toFJ159Qh
ayl2rclnFC1fBQWRliSZ++hljAZckzXepQUm1rrcsmSON9nN3Gdh4gvKH/BnY5LftaWaNFTJJmi3
DvKADuagDJr7LvmqDOagCjXjSoUy4wYOc0SSIMbmd6WGKDfWUXVikmTbW7+XL1JcV8m6TBC/NZtj
vhZeHImni61Skvwk4zx7CqbfNhPcv/sZtXUl/8vbCbVbO/Vm7SSj/L3SvdjuKvc9XySreYHUP5b6
SPZ24bhoKmd2hTvxjmd5u2C+geMcUQ+wWy/9Zr2Yw3p6r2A1YzLKMZ1I5r98uso+le0aq232tExX
D/6dF6wIRSkUKWZe4c3ixj9y8k8K003qVakkRctkmuXFusrZSWsucV+AjVC6tTFvbfnCaardO1p+
3ZCcLJc+FfJkMoPIkVsUIKhRdXls+D7L/Jlqp63h4OzEZN0394OC8auwLswPzZ1ydOgWw765OQuj
/Kj1junl/7fyGtY1thXft1IsJuzPVT3NQ6K0/KF8vLLpo1sEtyuCpFI048LR3MelNOWvtRe1O/Rw
43aNyY98VfgswKFHMN8PkBh3JPyBizAIhXJ4PnEXpoWFfx0WPBKXp9dFuvC/udu2vEF0nPcb6Hty
/AePjAe7DQplbmRzdHJlYW0NCmVuZG9iag0KNzEgMCBvYmoNCjw8L1R5cGUvUGFnZS9QYXJlbnQg
MiAwIFIvUmVzb3VyY2VzPDwvWE9iamVjdDw8L0ltYWdlNSA1IDAgUi9JbWFnZTYgNiAwIFIvSW1h
Z2U3IDcgMCBSL0ltYWdlOCA4IDAgUj4+L0ZvbnQ8PC9GMSA5IDAgUi9GMiAxMiAwIFI+Pi9FeHRH
U3RhdGU8PC9HUzExIDExIDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdlQi9JbWFnZUMvSW1h
Z2VJXSA+Pi9NZWRpYUJveFsgMCAwIDcyMCA1NDBdIC9Db250ZW50cyA3MiAwIFIvR3JvdXA8PC9U
eXBlL0dyb3VwL1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQj4+L1RhYnMvUy9TdHJ1Y3RQYXJl
bnRzIDExPj4NCmVuZG9iag0KNzIgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGgg
NDI4Pj4NCnN0cmVhbQ0KeJx9k01PwzAMhu+V+h987JCW2kmcDwlx2AYIBBIflThMHKZpmwQan+L/
43bryFi7S9q6sZ/XrxMo7+D0tLwdX00Az85gNBnDZ54hoEJE0ho9eI3AFuFrkWdPJ/AmvxUasrLH
eCer4whfq10WoiO0e2nLkzy7zzM4vx0DJEg6QHYkb5ieovIMsg3YtK9KsyTAfJ1n5dV6tlowTN6h
i6T/SMMtCCn6bZ/BEHUwGVukjYo0gyEVJBKbpATr+rDmEMtM8TjWeulr0ymDa8C27jQl+j6iPSS6
YN2GqK2lLnMJzc5cbFp0GGsRvqH/YUMflsub2dsKipfZ8PpusNUwqiTvgiAoGWm1FE6DIIEYFYzE
rddQresT5WIAOUPl5aN4svpuQ5d5Ni30YGgLrBeql+azdKU8ufCDZ6iu8+y86lDlEiE7NrPSOmFP
CzhWw/d11ha0npRck6AMbwrWXlvjoJpPC9LHaoeuckEruVBpuabSUZFxz3ENNT3xW0fpWYLiut36
3X2DD8MPzQRGs/nrz0eioB3tP5DVTgWXkvaF9+gLrEKUNHLK9M3kFyfA77oNCmVuZHN0cmVhbQ0K
ZW5kb2JqDQo3MyAwIG9iag0KPDwvVHlwZS9QYWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9Y
T2JqZWN0PDwvSW1hZ2U1IDUgMCBSL0ltYWdlNiA2IDAgUi9JbWFnZTcgNyAwIFIvSW1hZ2U4IDgg
MCBSPj4vRm9udDw8L0YxIDkgMCBSL0YyIDEyIDAgUj4+L0V4dEdTdGF0ZTw8L0dTMTEgMTEgMCBS
Pj4vUHJvY1NldFsvUERGL1RleHQvSW1hZ2VCL0ltYWdlQy9JbWFnZUldID4+L01lZGlhQm94WyAw
IDAgNzIwIDU0MF0gL0NvbnRlbnRzIDc0IDAgUi9Hcm91cDw8L1R5cGUvR3JvdXAvUy9UcmFuc3Bh
cmVuY3kvQ1MvRGV2aWNlUkdCPj4vVGFicy9TL1N0cnVjdFBhcmVudHMgMTI+Pg0KZW5kb2JqDQo3
NCAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxMjA5Pj4NCnN0cmVhbQ0KeJyt
V9tuIzcMfTfgf+BTMRPAsiTqCiwWyNppkMUaSGMXfQgWCydNjGxzq9Oiv19yfNkZW5qpnT54PHFE
HfKQOqRgeAkfPgwno4sxyI8f4dN4BH/2exKkkFIqraUHryVYI2F51+/9dgLP9G8hURlag97R09kI
y8XWSkqnpGmY3Z/0e7/0e3A2GQHUINUeZMJ4helVFN4CLQOLm1ehLRnA7VO/N7x4mi/uLIxfIIWk
fyAN1kBSRb+OM6BSCUwrN5AmCqUtoBKBfomVUQ3W5WBxH9ZaFdthjae4VpFacBWw4UjriD6HaPYR
XTBuhaiNUSlylcQtubIK0cnITvgK/QdsyMHa4Zf58wKK7/PB58ty7cOnGdn9rCAISunsnnAqCAVo
gqDYgjBew+yJK8rFAFRDw/MpcbJ42/x03u9dF7ocmELyQ/Gj+nPohvRtC19+hdnnfu9slvDK1RzZ
YscooqlhXxfQtofPRbbdUFkRNG2IdrUhc23Qwez2ulDYtndIbae9QNPYrtqp1cnYYFwD7RFdg3Id
rIgKTHDC+zXn6VO8//NVlYXJ6AzKgSsm0xKLq7eaO3X3DaLAOkyH52ojO0yaV4xokJ7KqcodRaUS
AmgbQNHBcJoIqip0oysG/qmc3jVmp9utpyl31A6TiopXN6tX+cAZ0i4KxDWV0TF6lJpFyYc1k7u/
roksTTE6/1baYnR6maFROzp6vo7RxaPu4pEkDEFLIxxmqMyz2G6bJBL3iNwhMQrnQNPhifYoEpFJ
HM3o+0uWRMfs1TC6SNyoJyNihbvxgzng4K3MkNc02fKWtUmSZhOCQGkQYfV1ZLlVTE1npdPFaWl9
Mft1mmOMVIJafg2rizHXXnZI58dz41QcfsUC/tey67JNMuhTkmoC2WkR/bH0PZQDX2yKjTtQTvzo
1DawuugL2YLj6LFN+BIF12qTpGu3cSTkDtFy/36f3D1w5/hGb9syDAWzma1EQ2fH6AMEUMtWKl2H
9mXYbDNLEar3+8fO5GMqMt8le6tqPB2PeRC6yhJI1gdon9Yt/FX6f5D2tdokmcPkyfWCBvz3ad+K
rknpiovpKHtyaVCIBwifrg3amZGJtv0OcK3Ifw1fCQZ+hx7KCIY+hMCvCnm0h8eKk+TFxe6OdjvD
SCRYDdHRQK2PmusWjy835UAX88dsG9WCbhA1iC5u3J7PSVUJVB+SkrbZ9PVumXEB/aov1VcPcmt5
0o3NtTfz5z+y58Tw+N5Y3h5dqsVoa3ngNZoPQmc4OlI4qrk6G46kcLC59vb179xqGnjdjh/t0YT2
Bm69FJYSqOkmSNMx8qGu3epzvbvFLHn49/qQblSLJcLomPBAR3V7uA5cPFPreaDPX/T5iav9lZRh
+cI3yBt6uysH2OCpzqmjBuCpD1gKJq45ZWGZlqy+JMFv1b3oJGfOU6BqmremBPOdzBLXiu5WrKx7
uUiocHZ9KgmoEoVtg+RS1YryGY5g/my5ZG5fmPPccXCKLeoY+ePgqKG5nbWc2GdKyP0LJSLs5Saz
kcZKgEjW1GajbApRCauaa9tT2HEb49GCkoHO8oR72G2syzaZ2o7bGFoqDkMyS/Or+l+G5FybrVS2
hpMg8l+7eAi/DQplbmRzdHJlYW0NCmVuZG9iag0KNzUgMCBvYmoNCjw8L1R5cGUvUGFnZS9QYXJl
bnQgMiAwIFIvUmVzb3VyY2VzPDwvWE9iamVjdDw8L0ltYWdlNSA1IDAgUi9JbWFnZTYgNiAwIFIv
SW1hZ2U3IDcgMCBSL0ltYWdlOCA4IDAgUj4+L0ZvbnQ8PC9GMiAxMiAwIFIvRjEgOSAwIFI+Pi9F
eHRHU3RhdGU8PC9HUzExIDExIDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdlQi9JbWFnZUMv
SW1hZ2VJXSA+Pi9NZWRpYUJveFsgMCAwIDcyMCA1NDBdIC9Db250ZW50cyA3NiAwIFIvR3JvdXA8
PC9UeXBlL0dyb3VwL1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQj4+L1RhYnMvUy9TdHJ1Y3RQ
YXJlbnRzIDEzPj4NCmVuZG9iag0KNzYgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5n
dGggMTg5NT4+DQpzdHJlYW0NCnicrVlNb9s4EL0b8H/gUS4aWfyUhC0KpEm266Ipso2LFgj24NqK
m21sZ2Wn3f77nSEpm5RFJgL2UMUSR+89zgw5Q5WMr8irV+PLs8k5yV6/Jm/Oz8g/w0FGsjTLMspY
lpOcZUSKjNTVcPD5BVnDcJpxKsCG5wquSpakXu7fyjJFM+G9dvtiOPhzOCAXl2eEOJT0iLLjZcOZ
0zLNJQEzInnzM2USXiDz1XAwnqxmy0qS8w3pYmIHphNLlNEyt/MsOKUdnDJrKEWZUiYJp2kBT0r9
kkOrQrT8mFZKWsZpRQ7zMjOVRGligTN1GfMQozhmVIVQhpEJQbucSzO+d26mp6iyEkXkmv1AW4Ro
paV9MwXT3xlheVoqMr0FbA1LCQMf5gw8WUDCkOkqmEbjt9fgluW20+Dj2+HgJvlSrcnH02syOpHJ
djfbPW5Hf5Hpu+HgYtqhTTnaGjVCKUB11dwkJAaSWxCQUaAYqSWVimrNTKG3hAQ0mLtJVVZqTzb5
zyAI1oCCk4/GeanSPQTPuiDQBTCBNC8ZXIuCudyU4h/LDSnE29zGwHC3xi23sbDcbQjNwpV0WZTH
YActg2qh29EGXbWRaRlBNoMhZDMaQma51L60yDz1/WKHLbY7atDteIPuGsD+k2M8bFCUEw7GhTsd
2iY1w5aUHpOa8YbUe13j06JMD/AibQXbDFt4b9Tgm/EG3n/d4MPDQyrDTTuVrcGe4jiVrcWBpDhi
KU1+B6dhx8PzsAadE4F3ioLsIyKl3suCXHY8zGUNOrko+YkX2Jxgb/mbmAVXlGRlsdETktwPB9fD
QbPazLDFdg04gg2YTju7H4BhninngbGkrqVZvY6leWBJjZFdhAcj+8A3MuvJMTIPPCO7LA5G9oFv
ZNLYMTIPPCOTiwcbc++bmFRybMwDz8jmwsHIPmiMzDZpg2JSwgsLvnWwsHe+ifV0UXiCzb1nYnPl
YGMfGKOj4lK0qictvNLJeSokJJTK04zpYkUxr3W+3SSTXTUSySpWvMqOCpjD/EoP9IkKSLMOFCa5
dpqLcv1kRaa0AwqaoZTzPoJYV2HHVqbwUc42q1W13sUl8Q4w6C7TopePhBdJCg9SaGe7ggmbOo21
QcHm5/JsdMKSUzKiMrlb345UUs+2cN2NeFI/QirMd3itK0eoOyla0BQaiIOAp+YkI3F3QLbA//jw
sKnhL2qpFgEBHFzAyh4COhs4G2cH5HLzowKv5MktemIzksmKLEYnPNnA/Sojuw14iXz7Bc55qEYn
4KIfd1uwwuE6oFUJqbvWZ2vNuzLbhJyXILlJyQsMIhmVyWwNehZklCefzj6chmLGYbV6AHEVRThk
LkjfkD1fQNeOY0PmgnxCBVW9fZjNK+MQLrSSjf13jwbkHn8ulxjLu/WSjFjuuE3/mt3/wjVwtw3F
EUhVDw+yrs2uiSO0xqpsZrCeb/RqQylVXetkgr5gDslY/wqogWM1lAMfKC6na8NsAuqi9I7o8yVE
dlsP5VJHcrWpcaFhhqOmef349auJndy7KSBNYpBUH2lde3cjjcMW3qC8xwzisEdkSfXvw/3dXGcU
+gl0qeQn3tZwL5LQ5ikBDrW5qCdB2zwVLQVfZ/PvwFU85QNFoc3zX427QETyNaNwaN3XQkzVA792
BqQrxgwfRLKWFnnahouLilQOD6V31j5fQqR2eCjnsx2UghluNfBn4booFF4G7hV9tHTVBquFFXA+
alAmayxLTj2/Q1FrgrW+2s2/mQR+Qh1Ueap83Li6rpphM4jBoYPmTbfCuMTPSVxy/CPFvl85HjAd
y+kVLqyLiW5Z3lx8xLtpKMmoXjQO41O6u0qNTTIP5fPpJETKyhzT6vmkvKs8NKF0Uc6xOEDvgaHS
28v6JYQSd0V9N9ObDd5+x02nXlf34CTo6KrZIrQMFZe4BfUQ29lt28hSlaoGxYsThkkk1+E4Ka3C
fT+uoqt+NHFyUfpuBj0kROqEh9JE7dBkBLpGvRKhAQgVMplmLehQsVCwjbRMfza9a/092J3SVLI+
HoiUCZrDuYB2psLkw7tgGnBU4L0bVxCpCR5K3zToISFSEzyU48UbkIBfALJeXogcEyiD0ybvisMf
F9fTMX7zfgu/QgFRJZ7uPJC4lMhZwUP5MA6dTlgBO1LehzNyPPBQ/t+F6EHHF6Jn+uyF+HwPiMj5
omApy1nLA19wCayJrp34Px85nIR22A/UtzPsr0MNK2MKp+5hxpVFjhoeyufJVTAfwA1lH87I2cJD
WemOvbrfLF/qU+D8Ae8fIfpUB2h9f7eGlKj0KsEHt/YfPK90j7/YYCpVv+kFRbDyNpfA0jYqlIRe
r+mjXNZvG/vpZbZYvNRfH1YVjjbnH3ecwE+tcolBhdNQ5LBatjjj/uPj9zM4XCV/z07eXY1a36CK
o09QokglRDMV1rEZHLT0p3LzQzdtDJdYhheKF307VmOGns2jYjprTAnbknAon5qRDM3o8LlQpgUD
RC4NIvacgisynd8kVETBuwoAh7XLhYenoY5k/gdpUVQoDQplbmRzdHJlYW0NCmVuZG9iag0KNzcg
MCBvYmoNCjw8L1RpdGxlKFZlcmRhbmEgQm9sZCAzMCkgL0F1dGhvcihJbnRlbCBDb3Jwb3JhdGlv
bikgL0NyZWF0aW9uRGF0ZShEOjIwMTIwNjI3MTExODQ5KzA4JzAwJykgL01vZERhdGUoRDoyMDEy
MDYyNzExMTg0OSswOCcwMCcpIC9Qcm9kdWNlcij+/wBNAGkAYwByAG8AcwBvAGYAdACuACAAUABv
AHcAZQByAFAAbwBpAG4AdACuACAAMgAwADEAMCkgL0NyZWF0b3Io/v8ATQBpAGMAcgBvAHMAbwBm
AHQArgAgAFAAbwB3AGUAcgBQAG8AaQBuAHQArgAgADIAMAAxADApID4+DQplbmRvYmoNCjg0IDAg
b2JqDQo8PC9UeXBlL09ialN0bS9OIDUwMC9GaXJzdCA0ODA4L0ZpbHRlci9GbGF0ZURlY29kZS9M
ZW5ndGggNjA1MT4+DQpzdHJlYW0NCnicrV1djyy5bX0PkP9Qj87TLYmkPgDDQIIkSGA/LLz7ZgSL
Xe+FbWDjXWx2Yfvfh0dN9fT0lMia7nmYW7o9JZISeQ4pqaqn5W3fmmyStla2lGRrdUu1b61tmWnr
+0ZZ/9c3annreWPmraeNe906byJ967SVlLZetlK1Q91qlq23rVa9ReWhu/56ly3tu/7khH/0R+9O
u/4katrgLWX8D/flgk/UHhL0Uos4dW3oD1ftnlSOZO2hepOonpRUYCGI156l4Vf6U2uG+C21jMHp
T9MBYZSps/6T6pZ3SFXpea/opcNOucEWbeh4U85bzqIq1O5MUJhJGxVmis4Rq0A1JXPHCMqWRdBd
JRe9EbJ0NPqJGpcro7vqqjoxiVRg0wlMpCo6hkMquTd8whvtgk9kI1iXqGoDw6GiHsFwdNbUNapd
LSBSXyVSL1Efs7URF9Wln5JgJjhrA7Oq7qOiCpOOn8q4WSVXgRyV3OAHVskNN+un1OEvVskdQ9Y4
4V316PRvPJymVnLC/AhtnIdDijbGzbIxoifpjDBpnOA+DSC9uewby7i5a6PozWouF9xcVHLBZBaV
XMfNKrnterPex23crHJ6gqsLQhHO75vsOjfqfG1gWuquUY051IiRjDnU+yQjNtTTQoxPaBNG1NWi
jYLQVywIhqxRpZ6UAQYpCNGqkgtCoqnkKogmldxws2JDGgCk0qULPlFU7IhlFVF2tS4psAqiKel9
BQqThkXJiB81V4eOOO1bIQxZ1RTG/CjWCmPIgJlgfjR0imB+9KcU9VVSL5YKBAwM6pSkrnIa4KA4
1OhDmKscGKbxvtVdUaK31F1nBKCrRScrq7UKGA1BRV6tbUBiq029mPX+ikDIirwGxGT9abt6SNGi
8EZMq7UN488ab03hoA3a1AgVqJ5qVACtujUGSFRWU1dqA/SjQZlVcSs7GiqwlIE6JaMBPxVYddKz
oqo1RqNoo0MguEnDK6sFfde4zwq4vuvgsgZ5R3gpaJW4AHVFVc8VDeUpUmhlDZhOHQ2lLBYAe1fS
SmioHAELKvK6ukARrnLqjobeUzF2cGEb4FeBTYMg6329MxqD7nSyM4Pr9oIWWG1QA1y8IzSyDEpk
MAkYbkwXjVbBxBUwI5SDs5QR4AvIK+qILBcWBecwWnDZIMzhMwToPpwGdO4dUQC20Rvx2wb2BCmB
JxKiKhdwIyzKZdBywmeDQTV+M9ChhKKjRYQpJego62BTtSMjwtOwCrSeRkAN9q1gwDrIFrN5IVmM
aBB5x3wOAu/aLwMVGpAgRtDqrtGvXAnuRTw18CkiL7dBzGpRBkLV1WiBfwlzCrpV36AF3hbMKcCp
UwKCheSCuALTKjmrpcCemoYWJFeEVgdXN8QWyFr/qzoGx4MIlaZB6YghcCjtKoGQ3gg8mPtgdUVE
7mBqjDUrWSjBg7XhQYJ9BFIj2EegCoJ9BFKlon4jJD6FDVqQUsHvICuqiO8KCxQp+hm0dXA0sh/v
O5LPaGGGQB4MCiakTQasCDmRMbME2mAa2aWg1dFCDxbch4yrLKotyBP1EY18UAitkTR0ngiZjqug
BXlNLSLkKIU4WpCnyNMWsgsiUXMZ0gtSDtKTgEFGchWQWC74DFEIz+qMImuNREIdWQ+piTXqCBQn
orIIKU1E55lopCCMkpBxSh/pEblHEQHU61xk9IXkprFCSBsC1BKQVzB/8JO2ChIpEg8yO4GqC9if
gOkC1I68W2A5bNSWxrKmXiQv5F6wQEGtRMB+UbO2Qe+lJMiDtuFfZAytnlQe+KAAySSQrNyorZHf
1LejHCpACo3EtmNOge6qQEeCR7LDnALdFfFHMvIerAK6K+zN0KbBrjqA7loTWqNcUsQS4qU2xClw
XpVVtTWKQsU0jUy2I5oQYQ3VFQHJDemRwAcN9Ep1VF3wFligYQyYG4U+vDWynwYMCg6kSIwcONdy
iEalqUlS0ILkinEA563Cv8B5Q1VJwLk6EC1I7qhk+kin8CDQrfQCHciIqNYI6O5IrgR09zwKnJFc
E1pIqhjXKKI0INBCX2SqUb90GUUSWmWMHNm3dPwW2oZ9YIYO+xg477CPgfMO+3gHg8M+Rq7bYR8K
EM3PGa2RqXWEDF7ckTsYnLqDM3jkXfiRE/I2Z7SQ0lntYI0PTeGEFnoU1cQJOlB+MlKaVrhaLo2i
V3O3tqCjocwa9S9KUEYBrLlCtYEhNfmghcSP4p1R8aZRvOWR+vVuRsWQwEY8ambgipE5EkaIOllb
YJqKHoIoKZBXGPViRU2gMcWjggAuGTkJbtUW7usoMFEh63SoXuSfjCqfUSznURsiA2YkfgYfZ+QJ
JtQEQB2rPVpBqAcuhQejZBw1hGCekauVaFCXQl5VX/AoR4ZVyCEqTmeSIaVn/BZSOsaLnKR0jc9Q
J+i0oahFwQGrkEcJdcelrkDO0koXxYfaC3bVVkcZjL64W+kVhYjOGqNaUDhraxQwBfOs86At6C2X
BQjuyyhUMBsF8lC0MwoTDXRU0ZA3fFlG1QK9mHsNJG0hQzNqYkZ2Z1RQjHqQkRexzNKqBmOro9DB
vCBDM6xk1HIM3mWUUwzUcoWOgnFUyKsJLdyHUokb5KFW4jYqIYyjjqoHEYuyUfaE34KfdtU+qkPB
IolHnYRqiVFBCHiXRzWDPMsouwQ8x6gWBDHAHdURKhQVj5oIqxXUK1IQ931UR2PpAL0VcTVqJxSZ
jNyvhf9YWKBiUuQIECXgXUbmLQpH/QxVD1YaajiqKI0aHrlL8aifjdoJKwXgvAAVMvIyuEX2keM0
VgSYLlgJCfBbsBQa9UpBBuNRWVWVP0rS0jTGBdgvWGwI8KsrJbQEtRj0AskVhbkAyRULDixntIU1
Sh5VmUY/Vs9aqe1ooe5CxhDgo4IBBDiv8KiABaoQWpCnQ9dWRUsjSYBQTRpoQXLFWgm41PyBFvo2
jBe41DUvWozaTu0V4LKhFoV0rY5orMXQUp9pokeVhxkCQhsyrKC8b8hAY8HQwBkC1DZEA5hPyzXF
KVZJWu9h5OA6zR+QDB1Y3Y4aWqdPfwvUNiAFvbQFbwG/mvLQQjUITAuQ11FByajtUJULkNxRrwqQ
3FFhyKgVaWyLjFpRvTdq4w6fCdhCVxRqH9Ddi1y2T5RK8NtRmSL/okbQvIkIK6PORIQB05o/sACt
qDN3tFD57fqvoErZUaFgqa+ZYsQLPkM9KMhsO3iYR/0I7hNUZbtgGVxHdakeFeR+XajqXKG+UMfo
7FbIUzdoa9SZmElkbSUQlVxHTQm/ob5QUtbPUB0l1MByqS415sGz2sLYFN1ae2JsowYE/0kbNSDG
hkotAQeCnJ4wQkGu1lILrYTWWGBDXmW0IK8pEn/9609fYJtp337/6ctPX/74zV8/ffWPHz9/+vLn
n37548//8f3n//30xZ82Gr//7bb/5jf//E+vu/znX/70y0+fP/3r9z//Kv/L9qbzb/+wpf/ZrjLc
/nzcPz/Zn872/+HnP379189/+/rb73/5/PV3P/3w4//9+ZvvfvjbsVQ+lNpN6hdHXWQrrilfff77
z9/+8Pejruphveeod0+eSl33P6wyL1WS9f6vdNjxYY281CjeINP+QJ/DqAz6+JHojazgHuzxjktb
jbO2CcTv//Ld5yNJbXgFO8/jcpHbLnJbu1z6RUu6XOhykeXczphdgT/xG/Rf+5xG/0WIK8CH/+MC
6LSARwjghNjj/uL3D71Rrn1Q1XsccKgo6NQe6dQf6TTRu5oIB1Y42EBw41zjck12veGue2sSudYE
8epZk9jROpnlmDNTEOWu2rJUez4a0zFKcK7jzVYAAtfs/hFmH6MIZ06e2eVxs/M6tN5h9gKTmV2z
j0F5zmz5CLOPAX5eQA6wHpJeTjeT5RZb+QlE0f4Bk5XP552FgGczTA5STCwgwEnsrvriLiquu56I
baqxu2JT+42pbmTREwmLT0RWaCrdgICza+oTIGD6ABBQAIJ4rHwzVjeCKIh2d6wfEUF0U5GxH0HH
9H/KVPkIbqIAbfFYb9AibkHFT6BFnIJK3KUaP1HGybqewnMYntYn4CbN0epGEwcY87SWj4gmDhJV
GE0sL2MtfjQ9UbmVdTS9w9SbjFZcPuInMlpZ8xGe0/G0BiWaq/UjKnIJ8B4LOL9jsBBwjEI8s+RM
nDyBourwVHV5Sp5YQNUT674wnuUGetWNLHkCevVDIivImrGAAJGxgMUGR3MjqzyRAdtHcFa5qReb
y1nliQTWPqKGKnRjqpv1yhPI6eusl/z99PJEkdk/YuegHKMwdXfnoDxRcPb1zkHqfjQ9kQG7kwG7
y1MFz2c+oXhNVXgE1FFc01Yfxw8OH1eK42OBtNsO6J7tSnZlu4pdi12rXS9nBrYrOvcpxxPel6v9
Ppv8bDus2e7PJj+b3Gz98uxnO7Rk/cjsI+tP1p9ML5kcsv5k/dn6s/Vn68fWj60fWz+2fmL9xPqJ
6RXrJ2av2P3F7i92f7H7i91fTE8xPdXmpVq/av2q9avWr5qeav2a9WvWz851LJWMp58vV9PXZj+z
0053kh3vGP4nIidGZsguwnnuHaxo+TLpr05+XjqdPvq5SPEl+Gc/T0ig8xIeOf15I/fcAfDSHI8g
0o0r7wWkc6fAj+nNjt5TR8GPqWVH7VyG/+7ffvjuH96p0pueM2P97r+Ptba11ryHWhchn7qvNSdH
aw61LmASaiVHK4daF9AKtYqjtYRaF8ALtVYnmq5aj7teqNocMadmGrsYSAsHIo8FaO5rrZRCrQsC
ot3XSg4HEIVa64NaHQogCbUuSC/U6vg1CBWrcmxKppELM2IOW9BnFCLkcBiHHJYXzEkBwtjhMA5D
JC+Y83q+sdLqhAiHIZIXzBlqdULkZZ6Ou1posBMaHIZGXpBv6CQvNHqodUG+kVbxKhcfUWzka3W/
Tc00diFSXJG2tLGUMbl68sIE5hzVMxXMOkriFV22FVy2lVu2lVu2lVveZ4Vvw7BnX6wkm7NwbL5E
D3zK22e+XjqdrvyFF2pPV/5PSKDzEh6p/N/I9TdPZ+W/NMcLJLmJxHsBxd+TmJX/Q3pLcvROBLiV
/2NqyVEbV4j7oueVFY5J6vbM5U3fkBrTIuSvpzULrXVfa62nK/83PVOg1Znherryf7dWcWb4Ok/H
XY3+b09a3qg/vXh4t5Oc0KhxaMiiZ6C1OaHR4tBYEE4LnNSc0GhxaNQHtTqh0eJCeUFyLSiUW3O0
JjcgmxMSLQ6JBT1G09SdkOhhSOQFM/ZIqxcS/jTdnnm8URtGU16QajhNTjT1uLZekGoPoqk70dTj
2npBqoFWvIn2sHOskuxOeVF9XrZta2OGibgJgRla09dzNIeqaA93L/KCvwMmpX0dhbTHUXjM37RT
oHUdhbSHuSof83es1ctVrjNtKqZxj+Vp87sda5hPp9WLEYV7ZXmRVYK8TbtXN/uLxGIDsXMdKy7m
FE6jF6LZF22iyhkR7sOy9zOZ4hRwnHgo+YxKyfFfCrdZ6DjxUOJAq8MWKYwaOs4e9HJ4sNC6jhqK
jwDoOHuEWvN6rUXxEQAdZ49Yq+PXHPv1mI8pB37Nnl+vFh93dUg1ubiziJk+nLM6rY1wcSzysjdj
Rj/CBobZafwzq+Zpiw0vOYv38/s/JDdudbc46IkdDsoOU7/D2JeHM+l6FnJs7BPbIkROUXu0vbTY
n4q2SOLnbhf1/DskLCjSf1eDFwXyuclbQ4XIf7Q12tFz1Tqkzu4WGq82/M6o5TMgjN202EF4h4QI
nLGE4xqM2H8O/xmcsZMm2H8Q/4ntR2KnLjvPRfKyc07iBphEu+WeseKUDeK+GyTPoFicukHc2lWe
QbE42V9czpJnUCxOej+PIHkaxfI0iuUYxSeOo+wBuiy2krcH6LLYasYepLNzkHkuMc8JZhk0vpfu
crVqzE7dLF+P7567XO1+ezDQUtLMEZO0xzfKXa7Wzx4MNF6aRDG+M25cxfrZeCxaZ/iMb4C7XO3+
st5foRKyQTE22A86nT9GKwu154/RHpdA5yU8dIx2L/fkMdrKHA/Gt++33AuoJ4/RHtFbk6P33DHa
Q2rJUXv+GO2+p3+MRq/OSu77nj9Gu+8Z7PS8Oiu56/uyCxoeo71Xa3a0nj9Gu+8Z7PC9Oiu57xuf
lSyAF5yV0Kuzkvu+58/A3qm1e369ztOxwUb8zUF9j0NjQTiRk7oTGvHBx/UY7b5npNUJjR5DfkFy
oVYH8oGT7FyAXp0LLFF47GcTYUcP5tNpdURixxxmuX/uYjdHVA/3IdOCxCMm7evA5RNnJcf8je84
9bTyvg5cPnFWcszfHJxa8L4O3BuLj7uy0zU+Zjmm/nia1jHP+/nDvvuefsLhtKZDTnFIHFN/rNUL
icA5FyRx8kogF4wW6jOEpk+n1Yu5iJ83XSSkAJScnGhLcbQdZxNOkVYn2uKDkHycTWKtDgHlONqO
swnnAFnZibb4rYR8TLacAwLKDgFlP8azFxJ+bNvbdJwfzlUWdDMMprELUf5RhJ1x0jzjtHfIDOMT
VXNQz6xM1gLinQiyHQWaOwrz4MPOValY4Wev6NnSbi615iwsXD0hvFzRX+y7XdG/dDq/om8LtedX
9I9LoPMSHlrR38m9vh4SrOhX5jiBxLcviLzR625Mv6zoH9JbHL3uznR/Rmtbao1hw7bxxvZGLtvG
G9vGG19Otaa/5vzN8SzGGr3Yb08nv4LLtdNpuFyk+BJ8uDwhgc5LeAQu93L9L7m6wmVpjhdAt19z
9Uav/x2iEy6P6e1rvdezEXcD7CG1t2cjb9RG7z5fIzfdhK7/pVNpEa7XA5Gv/v3YzuLY6bJJWoR3
qLE5Gt1XmNMCDpHG2230pS+++v2xtcZEdsTA4oRTcc+80gJ0L1XLwnpyNLrHXXPj690axdHoUkRa
MESo0SGHyENWktlcTAsXdvjxVa/bUG86Nn8A1Qmx66sJx0oXLBNqzI5Gt+yZuzPv1shPOMkSvz3S
yNUJ6uqGGP4uxoJ5rquV1QCcKPO/fyovmCfU6LBFc0998oItIo3tTN5ZOMnWYDYX08KF9X6IyXW7
4U3HHAzAibLmpsC51fBujQ5hNDcF5gVbhBq9FBg4yb6kxeZiWngsq/sh1q8Px74ZQPcH0J0o624W
pEWdEmp0CMP//ilasEWo0cmCkZO6rW+65abuBHV3Qwx/lm1BBddDldUAnCjrbiLEX3ZbwDdQij+6
tFIqu5sIaQHfUKOTCEM/WVV3mY5p4cJ6P8ra9aHKNx0pGMA60GR3cyEfwzfWuOYM8f9gAh/DN9bo
rcJ8J9nEz7mYFkZrs2++/f54L8K+hctWDbM2neXPzLCTxCdPzDicQz2ehvglCD5mIwlegpDkaQ0f
lufj+kWClyAkrVOjxHv/fExcErwYIGkdLBK/BMHHq55Qa3awn8MzHT7mS3l5fWKhdZ0ZJH4Jgo85
M9bq+dV9CcKmYhq3UB8+CcLHlVPspDX2heLQWDD09a85LLSSExoUQl4WLB1qdSBP4WGULJg61Or4
9fpo/lrrgt5CrU5GovBIWxb0dn2mf6H19i8i3Pfl8JBRFvQWal0XLBJ/WZEs6C3U6hGN+7VB5oA5
JdPIh9jDNv4NNTOOZ2TNUUTJ6jjemxGTqbBXrIyM5iAX0x4yrSz4Pcqg7DBt/FVLsuD3UKszjRLS
pCzImQMQO3veInFgL8hZglwmTmBL6NeyIOdQq+NXCf1aFuQcanX8yj6Irey1KZlGPoQ0e4zdrF2M
JCTtsqqEg9h2dvOlhMm4LFJFCepvZxdeSpiMyyJVhFqdZBx/G1FZpIpQ6+OhYZvxNiXTyGjJc8zn
Fqj2lWnG0ZM1Z7zPSJujWqjafVVmdXK2ac6c+kla23DilNxeK2F7rYTttRK210rYZsCOaeex6TzG
nAvpOdqF769mrM4eLxC6PTV/6XT+1Dwv1J4/NX9cAp2X8NCp+Z3c4K9sXE/NV+Z4AXX7dzbe6HU3
Dl9OzR/S2xy9Ewn+qfkjal+dONwJaGEFMV8bedMzyKqvjhzu+8ZPri9CvvlPOMqrjfv7vvFLDQuY
tGAZ0J0ZPvFGwgJaodbsaI39ugBeqPXQr/8Pgj3xPA0KZW5kc3RyZWFtDQplbmRvYmoNCjU5OCAw
IG9iag0KPDwvVHlwZS9PYmpTdG0vTiAzNTQvRmlyc3QgMzM1OC9GaWx0ZXIvRmxhdGVEZWNvZGUv
TGVuZ3RoIDU2MDE+Pg0Kc3RyZWFtDQp4nK1c244kt5F9X2D/IR93nzp5JwHDgHdlw4bWgjAS4Adj
IbQ0vdLAo2lh1IKtv99zsg6rqmuSwepqvTSjs5IRwbgcXpOplWVdUstLqijS4hzKWhdXypLXdfGZ
P7cl4HlewxIKS7/EkFG6JTaWaUkpoYxLdgEl3iksy1KCQ5mX0lC6dalpxf9taXwH77bM0i9u9WDk
oMBaSURoEsmuLM5vfDOI7EG4xQXvoSVeDtA/VVRPjk/wUyptSWDq8la9sSUQ6fFT9dAJNV2tDURY
XKPWPi5+xe8ZGni38qcEIqO6r4v3nk8KiIonASYJkU/a4iMMkgOqR7YihMUntiLg5cRWwEZ+UyOi
VmErAmoVtiL6xVdPwoGo0DBAVosk0hJWmC4HD6KwOuzu8GKOBQS8lGNegk+QDnOGQJtDpxAK3sHT
EGn1hOqRLUUjQ6LOKS6BTsnJgcggYoVHA0XgnbpSBN6pbE6CiIZ254yXG0ybEQpoMfjANHFtJMIS
YXEQeYnekUggCjTMDTESSFQQDRpCuRipM/wRkyPDAoI6wyKRBsgJtQqbg3CMhWYB91gptOCd2hhZ
eNLQuFwQtStiKuO9tNLL9L3zfAdRDDeDQGh6mC3DjglG3AIzBUYnbJRiYETh5QQDZARSopoZnk4F
cZERYwgoimCGwCS5IuAaHUfLHqQzI9DuvIU4AiSzgqt8woBjxDfP0AHDRr/CNpl5A0stBUkGN+Bx
2zyU8CTQ1iQ8LRtAJLafBBsAXxR6sUYS1AlVC53XEjlXsoj4g6du5Tt44hL/80vxjgSeehgSj5Gi
gQQqBIQWrV9iIoGniY+RegXmQI11KYzKQhZs5aZTSSTwtFIOcqcwfmi+0pAOhY1slURe6or4ggpL
dSuJBgJOK/AZspNw4UG0A27UQDVgUDSURARRqGYAjFANVKhwBghwZiqgBUtFm0GAYaEaCMFaPQ2A
J5UNhNVgMPBBsrUVgVSgU3O0DRKtOQRSQX41H0gkEPBwQcI2pBMtujTqA2MvjfbJ4AXD0yEOeJbJ
py6tsBZ0apubkHGtEQ8hrzWEX0EmuJXpVBJRz9FMSFBQCEPYm5AY+QzAt4aVzxqpzGfAtxUJR3eQ
onUzQTTRvJk1CMYlk/OmUWbdzUvExpWpVRDpQNtIaiXFwCnk1xIp8IMymQ4mVUgRlh1jC1qAohUL
qS2W8AZ+DAyAlRSNDecCyNHWUsEZME2KnJn3jGTnmIgFCQuKIZUpg+0vmb9u+mXy28wXKa0xGAn/
fqXOlX0EWC80ufPEoYLsBAWZzF63QTaiEVRklCFTQTFy0ALnE6UhV9HBMAra1tWwRewQPSOwVL7H
/xHKoBraUVdyhsMXAicSn7ELP4HCOxVZ7AJ7kbqyo0LXwOgHBUwHVUgVPoO0QCSoyFdQjc8gA5Cd
mSag2OdVdpKB+Fq3HpA5WB1lULfKnjNURj27zlDJhV0mnADOiH0X141LIbVxgbRIuKrsG6MjFyS4
i55c2E1GNAlUJEUu7DFjJBckOSj4u3rySxuXTGrjQmnskGogv7JxoTR6tQZKI/8ayK/CZzVQWot8
Bs6JvV9FlIHKhIGy9e+QhjwHhehiSx2AHe1AfIBqlAYZKSDWmHEuRWY8MhoU7Rw5SmD/XCM5J8RA
jeSXNy6USwgujdIYhTVyFMEOmIMWl5mhFVEGqhGBwA/g3ohFoOBgUInjDsYGMxm9NH8FP3TK4MIo
Rse2gRYojgEqszYT6CujPTPHKzMg0z+V2Y0eBzoz49GdEOfAD2DPGpkU44/ZXTYLMbvLZiFmN0CY
1EqqUQPoB0QExUwG3PHXQIp+Y/4WIkhlxkMVYij5sTeuzPPCHqQSGQrxoTJ/C+3EEQyAnO1gniOF
SHGoRQSpzNVKBKlAKle3qGNG1S3qiBF1yw9mLYKB/CopcKjMVbiM1EoK2VmZqzA2KXLZBpbM7sqh
SSUe1K0noS8rs6kypyutzb7SVfbgxDtQ0KoxfxugFdRKqpEfdG6OAM6sRQX+yjGjr3wGfugPth6E
FPsAZm2LiVTh2BL/0yKg4JXGrG1562oog900UQRglkjxPeZ4YyY32rgxk1vb5DZSsF1DTPt1zfwV
o0ykNDuqlRTbgZjBUBbWZftANVIYYGI4QLkYjq4RrWkc4KLX4K8c/DI6OdQDxXZwHLxyaNg4yF05
fGgcCa/sY9AtgtryN/E9WrEhpzFyRtY1jo/duj3DewR3UNAFYMx+vJCq7CFAEErgewy1V2IoiLpB
AIhGL8ErqNU2XUFxVMYxL2AdcRLA2aOzwTiRugVOTiIH04EDsoSY99Fvo3pSxIJMzpFj6BI5eKev
MVQBz3XDfzxDd06kIBVhy9/97u7LbXK0Lm/uvrr7n/96fPvr3de//vRw99XTx1++e/rj+4cf7z7/
O/Dif5e7L7+HLL75+9//+7+pZuo1/7JXLW2Trzf7ddEI1d2vmo2qyawK4+HnhQB4KIPKNGbZ2tQG
eabMrg04xxxJ5TxzJrUMarqJ1HCr+aTUQGycKlxvNNPYOZzRzaS2Qc08kVpvN9M4tjn/nyjs19vM
5IxoctNo8m5QcxJNbhxNXMmYSfU3SjVCwk0xy4cbpVqYZYfEwQHdJF3JAStvseLqyoZZB5Ts+NTz
vidiD/Aecb11A5HOFimYrAZM5g7aXz/86+nbx3/tMxoDSOn1v3r/7u3Dbu0s9C5C7+JVSr0SVSaV
RaXq1bEFuBAi8T/df/hEOiscHPz5su5U+tO773/5+HD3h/dP/+H/c9mFIYlNA7FnHOI+B/9qDuF6
Do9P333z4eGf33z7/peHb95+fPzp5x/u3z7+c59v3Ofre0p8uevNJU/UMQKJ65UnV17KLZZcTEFe
I7cacju0/9nt1W2vEBvWsdgQpl3gOqh5BJp9vAvRkDofGQ5CPkz6sVAMqfOx2CBNQrWlRsPC0U2l
DlJrKtUbbbV7lCBYj85gYfYk8mHXcsDC7BkUfF3ZCYvdfHQD9IjXTz0ua04CLBoBFq8f7F/WnLg6
GQGWrh/sX9acDFlSMKReP2J/qVQjGqI5uZMpunIzB+/7V5mRjMyI0WahzIi3Z0a8PSMGPUVeZ/7y
A6BPzfZXNiyVp92LHwB9nnQv2XBxTlOpA6CfSjVGDscx7HzqcFmzTKS2sdQy9+sAI2dSi+VXu284
mKIrNwurfRbqGw7VurYDVjYqHEK/Kz1gUUwWyfDAJJXTNSiwm8p+0EWV+Rx10M2USedWDCOX+drD
oJspk86tGlFSbLQuVmbYKF2E0sXwTwk2i2tQelDVgK/rBvXq6qLyJGrintSsQ0Bvu/+HctyXzyfP
PA6ycfFaJvDi6iXdS7pXtnpJ96oXDCw5Lh8MJ8+H3Hw2eT5Wun7yXAZir588384hXM/hpsnzJd/u
0cnkeaSOFXj1POUuGLTVknuaPN8itzlDbu+O7MnzTWKDIXY+y1gHNSdA/GyD47LufJYxCPlmAzFP
1Iykliu2FPbTpEy2FMo6tnC5Yl9gP7XmUpMhde7X/cSbS7X8ao5i5IBukq7kLLz2o6uJxTilyjod
zR5n0C+L7bKOAaS4+WLJPnYVt9pSnTekzqOsDGqGiVQjyk4a71eNRtV5gO5D7dxM4wAtbg48+0hb
3AR4vAE8fr77tA+yxU+S0RvA4+e7T/sgO5dqhISfj+wHIDuVavnVBh6N9WSSruRAjevnwC8NEQM1
whQ1/ACvwyQdgoUattmCAa7zVXe/D65TMwUDNear7n4ArpNV9xKM6ArzkBiA61Sq1ZFMnHOYJZVn
i9cvxGd1opoSKfR7SHUf91bsi4jzxZsbcTwa0Rfn0TfA8Wgvj5VoRN9p3XUkNQxwfCrVAKSJEzV7
LnHspMlgSkOWPhTofXOPwO7j3oqBCHupomlO38RyVenG3eaVkxsjNueLAlWLAFWT/6rJv84Y8MT/
odRqYNM6XFO9ZkVLX48bLgocBiPniwKnStcvCrSB2OsXBW7nEK7ncNOiwAXf447NZFFgpI4RSOXZ
ns2l3GzJPS0K3CS3GHJ7BNuLAjeJbWOxeT5RXgc1J2O4HAypU3R1g5DPcSI1G1Lnk8RBmkw2H0o2
LDzf8nCD1JpJfbblcSl17tdB4k2lGn4t86lpulGqkbLZ7I/k9u6Ibpqu7KAh8ynrAIBmAVoMDJhv
Whxn9pc1JwPtZ5sWF3XrPFQGoFcnEFCtULGHvM9Oz73M3zoCV6qRHtnc7xA+9ajs4dCVHrC0x25Z
UZeNqLsKzbPRrOkoqEQlQ1IyJI0HdRahJI0Lk6bP2qBR99RbOZDe/TIaBR0A6/ko6Fjp6lHQgYvN
wR4FvYJDuJ7DLaOgS77N3HI9joKG6liB1M5S7BO5wZJ7HAXdJjcacs1zlO01UvNY6jxtNFkomiQU
TRKKPrIomizIX91+vT2Dts4mDdrPfZYu7cWThgMXm8MkXW7nEK7ncFO6POdb1+smDUN1jACq51sw
n8i9btJwm9xiyL1q0nCb2DYU+4LIdafQrc7EMjcLV0vZ8+2SVyjrz5Q1I8nN4tpUdhxIL1E2nilr
ngLvQ+7blK2/ibL5pKw3d937APcmZb37TZStZ8qa/aB7TYL5+Fso688SzJso5F+TYH4MQi9R9izB
jl8Q7Cv7mgQ7/4Lgmp5n0PkN+pjjQXPzFNxtioeh4jWYgORf07MFo2cLdky9JlvDbxNTZ9ka7Jh6
TbbGa2Jqqmw4y9ZoxlF4TbbGcRy9RNmzbI3muDy8JlvP90MuGcwH5tpk4CUdh9Kp9CqDyqgyq1Q9
p3raF6naF1H/v12ucSiLysOAX73YdoHGoVQ9HSkUFm+XZBxK1QuSowORSuueZ9uFF4dS70e9H/W+
Dk7WaOTsdDeifPp9X335bkRJA7HXTyxu5xCu53DTxOKC73E3Yn+gfZpZjPSxMuB8O+ITwflaX5az
SiYO1uO84FLW8STvZ7v1ztd+Lutme3C/nsb3LxXqDaH26MyfxukvFRqv8MjXb/a9qczNytzzfZBP
GmD2rm4QjMfdk5H2xZBonrU9ThVeKrGNJRZ7vD9InJnE872Pl3ooC2u1MVCLEdfFDrEyqOUn2hvx
Vcyuti/Fv1hiNiTa08cBWkwl1ts9pK/cZYuu4T6vasZXP233ifbN1r4a8VXtGcAA6KYSDZyo9uB/
0J1Oag2wcaqnfFKNiJr5t2r0pDMZ0nTQChOx/AAja5m0wkAs+7sAP8DImcRmRFSzI2qAkZNaA2ya
6qnca6/oA7U8Lkt2TQetsGeYA7xrk/6hGYjR7Iga4N1U4jiieAWVITEMMGoisa2v6AN1SEu26BoO
tDf7wLCPd221+4e2juOrrfZ0cx/v5hLHiNVWsw8M+1g5l3h7Hyird1t0Dff1cHZ87WNkW22kb24c
X83Zqxf7GDmXOO4Dm70iH/Yxci7xmrnXwENaO5AtuoYD7e342sfqdvxyYqT9OL6aMyeBYR9XpxK9
gRPenAOGfVydSzT6jqmHijxzmJM1b0S0N+Mr7mN0O24QjLQfx1ez1+vjAFenEg2c8GbPFwe4OpVo
jKVmHtJnGrJF13C2mHL/7fvd5cCq74g1we/TyD5Z6YPbPgjqXWwH8g4XPSh70/fNEkzQjbyn8vZF
oRaMULW3IGJa4iuWo1oYt3m+IFt1wKjqgFHVAaOqA0ZVB4y0otYDpFuzt21H+pmwrz8+PLx5fHy6
e/P4/uGv9z8tmrN8ef/x4cP266JZ4baFeWB88KyXp730ClqmiQrAqIXX1C+F0MF4nVDvZ7T6oZO+
xt1NS72PSnwBI3/+8Otpq/ZP0PnD49PD3Rf888cPb0//dId89fDd092fH+7fPnw80KzT6b98eP/u
w8NXP9zTEnzwhw/gcP/07vGD/v/49O7/7kFs//3t8eM/vn18/MfdZ4/f/fIjlNqe/PzDw8MTtXy6
++v9dx8fz/7/7x/w9+z/z97dv3/8/uzBwe2ndw9y8Nr3H+9/1Jqr2vrFLz/+/PeFVzhv9nHbPa+b
5bd7Xjfbb/e8blbf7nnd7L7d87pZfLvndbPxds/rZuXtntfNnds9rxvndbvodSPddtPrRvrtqteN
DNtdr5t3qBy3MxV7Aglhg6BBSPCs8M8KYZYiV32MgIv83bpKNa+yqxpVJpVS9jC245Xsaofqa1fC
aYThtCvhBE9O/ZtT/+ZkHKddCaddCaddCee7cVRPpnZKPqfdCafdCaevgpx2KVwQn6D62q1w+mrE
yWFOH6o47Va4qHpKHieQcAIJp2R0AgkncHACByc4d7obxSlpnQ5Vuqz3BfdO5zadblF0Ch+n2xSd
ugOnWxSdznc63aLo1E04rVM4Jb9T4Dglv1MEOcWOU/A4hY1TwDjNqZ26G6eYcT1Cj+DkzstDMHkF
j1fQeAWNV9B4bWV5Bc2p9BdlVKn39SmYV5B4BYlXcHhtWXkFg1cQeG1VeTnfy+lezva6UMrLyb7f
BrY1JnX41ctJQuVprw7caxX9WMrjp1JKy9NeHvZaOfRaOfTyqJcnvUDDy3NeHvPymJenvDzlNT8O
yuigjA5yRpATgjI3yPhB+4hBmRqUoUFGDzJ6UEYGGT3I6EEZGWT8oEwMckJQJgZlYlC3FeSMoP3C
oEwMck6Qc4KcE4ScoXeHAuQgvwT5IygDg/wR8plTg9IwKA2D0jBooT3ISSG356XS8VRKuJwW5LSg
tAtyWpDTgpwWlGZBTgtKr6C0inJalNOinBblrKgMicqQ6Prvqi84jX0wz0ZHeSzKY1Eei8LQKM9F
eexU5ovyrOOIAtIo90W5L8p9UUAaBaSnsj0v5c7Y+1elV5Qbo4A0Ko2iPBblqah0OpXSR4AZS7ko
JVdAGQWQp1Ly5bmoc7KnUnrIg7HVZ2VS+p1KXYcrj57KolKjOKVhUhomeTQpDZOmH0lpmNQhJjkx
Ke2S0i0p3ZL8lOSnJP8kpVdSeiX5IQnukvyQ5IckP6Q++pEfUt/CY1Bcfxdwvijr81LplOSUpF4r
KY2S0ihpfKN76/vd7f029X5Jeb82vN/G3e/H7jdWn+6QZiOuv5MpX5T1eak004Wt/QrVfqlpv2b0
7KYp/a6hhm6J7Pc2nm6gUseim/r63Xn9Nrt+v9zZDVX9c9EzILz+G9P2vFQanEopKQ/oqpt++Uy/
DqZf0NIvKenXhvSLPPr9GP3Gin6HRL/Vod+z0K8r6BcI9O/y+5fy/dv1/p12/3L69C0zG3/9pyXp
oiwXpYQpJ/RJX//Irn/21j9E65+G9S+r+rdOp6+PNuWuPsDvL8p4UZ63+OrDR+miLBelViWOh5FU
/3gYSfWOh5H64aV+GElyj4eRNLc+HkaSnH4YSTl0OowkOUI5ncw7HUZSbp0OI+n942GkM6NcvwCQ
LkoJFSSeSn9Rxouy15MxFB7aY+87330/uu/s9v3Wy/3MvjPY9+su98P6zlLf7+m7MH0/o+8y9LX/
vore17b7inNfu+0rqn2ds68Y9nW8vrrWF4TOynBe0vj/D0bVnZoNCmVuZHN0cmVhbQ0KZW5kb2Jq
DQo5MzQgMCBvYmoNClsgMzQyIDAgMCAwIDAgMCAwIDAgNTQzIDU0MyAwIDAgMzYxIDQ4MCAwIDY4
OSA3MTEgNzExIDcxMSA3MTEgNzExIDcxMSA3MTEgNzExIDcxMSA3MTEgMCA0MDIgMCAwIDAgMCAw
IDc3NiA3NjIgNzI0IDgzMCA2ODMgNjUwIDgxMSA4MzcgNTQ2IDU1NSAwIDYzNyA5NDggODQ3IDAg
NzMzIDAgNzgyIDcxMCA2ODIgODEyIDc2NCAxMTI4IDc2NCAwIDAgMCAwIDAgMCAwIDAgNjY4IDY5
OSA1ODggNjk5IDY2NCA0MjIgNjk5IDcxMiAzNDIgMCA2NzEgMzQyIDEwNTggNzEyIDY4NyA2OTkg
Njk5IDQ5NyA1OTMgNDU2IDcxMiA2NTAgOTc5IDY2OSA2NTFdIA0KZW5kb2JqDQo5MzUgMCBvYmoN
Cjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjA0NzUvTGVuZ3RoMSA1NTQ5Mj4+DQpzdHJl
YW0NCnic7H0JeFTV3ff/3Dt3mf3OPpPJzJ3JTBKSSZjsO2RICBACEkiABAhJSJBFkCgosgYVRQLW
AmpRaKt9XbHVibgEixi7aKu1itZ9qftWUOveQma+/7mTBK18X5+vvj6+j+/8kvO755x7lnuW3/n/
78CTAQIANiQVNE5sqp8srF3YDHD/NAD3BZMn1k2CDPbXAIc7sJR3cuOMJqHUUIXpLZgum9w0u+bN
4LsZmB7A9JXTmpumdL2d9RSABsuz981oChesfunCFgDyHN7vmDNxesuav29cCWBIBeBe7VrZ2fP6
fb3nA6yciGV+0XX+Gt8c/5m5AGvvwvTHZ/YsWbm+7oMgwNnvYvkHlnSu7gEHqLG/RmxPWrJi3Zlv
VjdvBlh3C8DYFUu7V14Q3PXnCQCWkwCtU5Yu7ux+UXrvZ9jWAixfshQzTI2aeZi+EtPBpSvXXLDo
GfkgAFMGII5Zsaqr8271gR6AW6wAwtkrOy/o4YN8DZan4/Od3bly8bQPznkd4I6tALpf9qxavSZ+
AeB4D+fR+z3nLu55ZcPLRwHW4POwaqBzy3Hyxj0/ym43Vn0GbhEofrWi6Ut6/f3Yuq4T1w7t0d8i
7sGyamAgAawnamOzcJ7K8P45+luUlr6KhTSHvQcmAKukGZAgArMxwnEPJHJUO5jDwIHIXcsVYpPp
iSt7HTzFciIwWlHFcioVo7oe+HgEfPPpjNKK05t8PsAfdjPvjbXCI6KW3O4D8nN6T9XFHaUjBSIO
PxL2oQS2DB5VHYSb4TRQtcKDGG4aSTNvQoB9Fs6mcW4rbOCi0MNFiQavhzDsxNCM4QYMl2LYj6EL
w1JaHvuZfro++BJw8k44wj0CS/gb8LoWQxEc4Tdh+iAcUS2EDapzIFvp0wVHhKvw3kNwREm/nLji
Sh/h7oCV3BrI4nvhVj4VnGoBauj1dH1+FVwLzOH2wgHV3dCC13lcI7SwnRBS4gfhAM7RdUq5hUr8
gLgWDtB8brNS/gAtx/4T6z8A7eyNWO8gXI/r5RWegVxuHqRwxeD9d8+QRBJJJJFEEv9zwN5DiNWa
naUknGhIiQHIKSRMMmhJplE2jM0yESD5JjCAwZpmSA+mj7Si4yVep+WzrJBpzclS87yOaLJkSWf4
fgaVRBL/G0ASUgUdfCnGQQQxHsP3FA2yRmEtaJF1oEPWgz4+RJWLbAQjsqSwCUzIZjDHT4IFLMhW
sCHbFLaDHdkBjvgJ9LKdyC5IQU4BN7Jb4VRIjf8TPOBB9oIXWQYfsk9hP/jj/4A0SEMOQAA5COnI
6ZCBnIH8JWRCJvIYGIOcBVnI2RBCDiF/ATmQg5wLuchjYSxyGPKQ8yA//jnkK1wABciFUIhcBEXI
xVAS/wxKFC6FUuQyKEMuh3LkCqiMfwqVUIVcBeOQxyk8HsYjV0N1/BN8Y5uAPEHhGqhBroVa5Ikw
Mf4x1MEk5EkwGXmywlNgCnI91Mf/DlNhKnIDTEOeBtORpyt8BpwR/whmwAzkRpiJPBNmIc9C/hCa
oAm5GZqRZ8Ns5DkwF3kutMQ/gBaFW6EVeR7MQ54PC5AXQFv8GLQpvBAWIrdDO3IHdCB3wqL432CR
wl3QhdwN3ciLYTHymbAk/j4sgaXISxVeBsuQl8Ny5LPgrPh7sAJWIq9U+Gw4G3kVrELugZ74u3AO
nIt8rsKrYTXyGliDfB6cF38HzofzkdfCBcgXKLwO1iGvh/Xxt2EDbEDeCJuQNym8GTYj90Jv/C3Y
AluQL4SLkC+Ci5EvVngrbI2/CZfAJciXwqXI2+Ay5MsU3g7b429AH/Qh74AdyDvhcuTL4UfIP0J+
Ha6AK5B/DD9G3gW7kHfDHuQ9yK/BlXAl8lVwFfLVcDXyT2Av8l64Jv4qXKPwtbAPeZ/C+2E/8k/h
Z/G/ws8U/jlch3ydwtfD9ci/gP+KvwL/BTcg36DwjXAT8k0K3ww3x1+GW+BW5FsVPgC3Id+m8C/h
l/GX4FdwO/LtcAfyHRBFjircD/3xF+FOuBP5INyFfBfcjXw33IN8D/ILcC/cizwAh5APwX3I98Gv
kX+N/DwchsPI98P9yEfgAeQHYBB5EB6MPwcPKvwb+A3yb+F3yL+D3yP/HvlZeAgeQn4YHkb+A/wB
+Y/wCPIj8Gj8GXgU/oT8J4Ufg8eQ/wyPIz8OT8SfhicUPgpHkZ+EJ5GfgqeQ/wJPxzEo/Aw8i/ys
ws/Bc8jPwwvxp+AFeBH5RXgJ+SWFX4aXkV+BV+JPwl/hVeRXFX4NXkd+XeE34I34UXgT3kJ+C95G
fhveQX5H4Xfh3fgT8B68h/w+/A35bwofg2PIx+F4/HH4AD5A/hA+Qv4I/o78d/gY+WPkP8Mn8Any
p/Ap8mfwOfLn8AXyF8iPwZfwJfI/4B/I/4QTyCfgZPxPcBKGkIcghhxTOA5xZKCfa7ADaq0aWFbF
KSc+hxdWBfwpgEq5IQq8wPOCgAV4UQD8oSmtMGIqeJ5TflngWTWtp+IwhbHvxXAlkcQPHRqdhuo2
ITCqW5SwcArDulWLgloQRBGFyKtF6sMJvCjqxJFWBIGKWhBYEFgtrcfxmMIq38+gkkjiBw6tTgsq
lSohMGofUcLiKYzqVqS/1IAKGjXVLc04pVtRRFFzoqgCUaWj9XgBUxpRPH2nSSSRxLeCzqBD3XIJ
3VL7SHWrHgUkHGiMoQg1Gl4AUasBNWaIGrVBPdLK6XWrS+o2iSS+E+gNetQtf0q3KGH1N3SrQaB0
tVS3uhHdagyakVYwqVZzajXVrYHW40Verdap1afvNIkkkvhWMEgGfK3lE4aR2kfUreYUIPHiq0Vo
1FotFlDrtaABrUaj1UrakVbQGmvUvEajArXKQOsJIk/tcVK3SSTxXcAoGaluEwIb0a12FMO61Wm1
Oo1GRx1fDTrWWszQ6L6iW42GOtFUtxqVpOhWLVB7rDl9p0kkkcS3gmSWTumW2kc0vdpv6lan02s1
er2oBo1RDzrQa3V6nVk30opWi8ZY0GoV3dJ6olrQaiRtUrdJJPFdwGQxAc8LCYEN61Z3CpB48dXr
dQad1kAdXy061qhbnc6gt+hHWkFrrNMKOh0PWt5M64kaUac1abWn7zSJJJL4VjBbzVS3CYFRv1ZQ
g04/imHdGgx6o05nNGIBrckIejDodUaDdfQ/vqI11utEvZ4HHW/RY321VqT2WHf6TpNIIolvBYvN
AoIgfk23esMoIPGBldFgkFCpkgbfbNGxNmCG3mi0GUda0aNu9aLeIIBesBr0VLdqgw4V/P0MKokk
fuCwOqxUtwmBUb8WXWbDN3QrGQ0mg16ijq8eHWsjSChko+OUbg3oNosGRbc2Wk+jUxv0Vr3+9J0m
kUQS3wo2p+3ruhVRt8ZRjOhWMpoMBpNZi2+26FgbFSFLTmmkFYMR3Wa10SiAQbAbsb5GpzEaUMHf
y5iSSOKHDrvLDqKoThhG+j6KLrNRGgUkPmg2mSSz0WCmL6wGdKwlMElGs8llGmnFaES3WW2URDCK
Dgn1rtVrJAMq+PsZVBJJ/MDhSHFQ3SYERv1a1K30Dd2azSaLZLRYsIDRbgETmCXJYk4xj7RilNBt
1kiKbp20ntagoX608fSdJpFEEt8KTrcTdas5pVu1Dq3rKCDxD0QWs8mKSqUvrEZ8ITaDxYS6dY/q
VjKh26wxmUSQRJdJMpl0Bi31o6XvZUxJJPFDh9vrBrVaKykJah81erCcAiQ+aLbZrHaz2U4NqAkN
tBVsFrPd5rWNtGK2oIy1FosazGoPraeXdNQem0/bZxJJJPHt4PF7QKPRJd5UqX1E02u1jQISH1g5
7Dan1eKkBtTsdoENHDar0+63j7RisZqsFp3VpgGLRrZZrVaDSW+zpKLuk0giif9++II+0Gr1CYGh
Xww6I9gdo4DEB1Yup8Ntt6W4TWawooF2gMthT3EGR/8SqM1usdsMdocWbNo0h91ulyxGh0222U7f
aRJJJPGt4E/3n9It9Wt1Eji+odsUl9PtsLlTsYBNpn+5N8XhcLvSXSOt2B0Wh93gcGrBrg04sZ5k
NTptPntSt0kk8V0gPTsd9HpjwuO1WgH0Zkg5BUh8IuxJdcsup1e22sAZkMENnhSXNzU7daQVV4o9
xSWlpOjBpc9McaWkmO0mtMeuf/unuZNIIon/ANnhbDAYTAnLifYVjFbweEcBiRdfv88b8LjTAljA
PSYIMvi9njRf2DfSSqrH5Uk1e7wGSDXkeD0ej81l8bqzUt3fy5iSSOKHjrFFY0GSLAmBuVC+Jjv4
/KOAhAMdDPgzZG96pisFPDmZkAZBv5weKAqMtCL73D7Z4vNLIEv5fp/P53Db/N5cOfk1FEkk8V2g
oKwATCarR0m4Ub5mJ6QFRwFW5UZmRjA7zZ+V7U4FHxrodMgMpmVllGWMtOIPeAJ+WyBogjRTcTAt
EHB5HUF/Puo+iSSS+E7ADH8dlhVYGiMpGHgY/douwjAw+u1eI6Df4DX8R5e1Ovr/pcBssdrsDqcr
BbWdMLPB9IzMMVnZoZxcCOflQyEUl5SWlVdUjrQxsW7S5Cn1UxumwRkzGmfOamqePWduS+u8+Qv+
uwfI/mfVVHAZshckbMCAPkYW5EI5VMJUOAMaoQWWwTq4Dn7Fbo7HgX6v2BjIgTDenwDT8P4s6ISz
Ru7H3zjtT1e86+R13/h+tG8gUtFcVlpSXFRYkJ8XHpubE8rOGpOZkR4MpPl9steT6k5xOR12m9Vi
NklGg16n1ahFgedULEMgh0SdtS39LiHkRvepNXc4nfL1dJRNlz72R8H8tULuf6mU+i9pz7+kvaPp
M6JgjU4K1E6kDffDpLejYIkSaxRoL8QyHXsarlTXvTxQtyzqqu3u6MAaEwOSLzrpo/Dwoyht92s1
tYHaxZrcHOjXaDGqxRiW7eknk8YTJcJMqqvoZ0DU5+ZEzaEok15Hw/JoZEcHRgITsSW8Yzl1ZyA+
uPOrtwCrjcQsiRiJ8rVRQenXtywa6YzCDl9/zmDfzgEJFnWEdN2B7s4FOHOd+Iz9wKbXLW2m81hH
Q8dSX1SFjSvkxhxf3VJfX4BOR93SDuTARKx12nzMVte2bPMPuqNmvNZFTaHoZCwxef2bbravzrnM
R5N9fdt80etmtnz1rp9ya2urEx+4ry6ADWJjdctrcCjOcG5OYkzDE9DdsZz2ubyTPmfdcl/fjsXK
s+5UnkEpWrcUF6bz35Xq66vrDtR1d3bXJFqvjUaalQs0z2tRBohTN7F1OGu4AN5RKXc6Jrb6E5Pd
MKullj5YoHOiO7HsozkdwzmYUTdy00efoB4biPq6fFGY1RLAomWUFpdBX1eZsnn8rQRrNZ6qFeXS
pYCv7zOIko7A8WNfz+kczuHTpc+ARicFJnX09U0K+Cb1dfR1DsS3LAr4pEBff0NDX09dB/ba2IK1
BuL37XBHJ+1sjUodS0kFzj3dAZNmtVS7/abWkWTjSBJwS+HG0irDwVnA3/rhC84yNLf4fThRs1ta
3ThPLTTejPHElW4k3LhluMbD00bnaHHZ6PTUDkf9fro7dwxEYBEmoltmtiTSPljkvhMi4RCuRwe9
Mzhyxzab3tkycme0ekcAe7lLOaJsUTFj9Nco2S11SyuixP7/uL04cT9qqW1h3UxrIsa4WRrThFDp
VVFHCONjQn24CE8EolIoyrUMuqtafZIJTwC6ek2BhpnzWnx1faO7IJEzPFK6D3CrBzqX9g1LiW56
PApq+gPkspn9EXJZ07yWQxKez5c1t9zJEKa2o6a1P4j3Wg758GhVcpnRXJry0RQ00A14JyMqt9yH
IgBblLsqJUNJdw0QUPLEkTwCXQNMIk9S8hC5EFE3v/tOUH7nbZOMyxfpfkYnlUSeJ8/uNsmPYfgT
hkcxPILhjxgexHDrvqC8H8O1+3zyNfvGyPt2u+W/77XJN+91yT/Zmy1fvTddvgrjkb1kLxY3fkyu
3O2S9+wOybt2+2XYTWhHC3ZrpRLjYflw+DAb/jWBQ9IhxojPfDfxfdn7JSN94fsi8gXb+xmRPvV9
yvg+aPyACR+rPjbjGJv3dM/TzME7x8h3HjTJ4YPVBzuiPdGev3BvvRmU38AQfpN2cPA3OBDaUfwu
jDzZO1Y+iuGJXp/8eK9JHsTwAIYrjsSPMMb7Sfx+0n+HSe65g0i3+G5hdmzPk/u2h+XtvYXyZVud
8jYMl26tly/ZapIv3lohb8VmVh247kD0wEcHVJHribTAtyCygP0EW7yo1ylf2DtV3oLXzdjjJgyN
vR29Pb2sZPTLdlu2LPB+2eXMllWsX7aYs+WcXGN2yDAmy5iRaQimG9MCBp/f6JUN7lSPHn0WPbou
evRg9EbJpNPpDTq1RqvjBVGHTo4OPSCdZNxiZCL8Fp6JsFtYxgjVMAN6QWVEi18NEc8qTDwAj0Mc
RHelKBsrRJktF2UoE+XGQhI1N0BDc03UQvDaVBMtDDUMiDArWhBqiKob57f0E/KjVsyNMpfh8jRH
VZfhLmrG83/e/JYB4qK3L1HMAcYGyJZLLr/cPRprbQ15ot0NTS3RHk9rtIBGfuxphRBi9ZrVq1eH
/i/oV9Peu2fV9L+nosaiM/peYGL/++8phiP6fmAiGa761TYwio2OphK/XwGEzlPy13yjO6USHhO8
lf5XXu4oyCP8NZerC5TPcOKvKfzySDzWHf/sP3PivglxOPz/gBxlsr5tv+QKcinZQprJWrKSnEeW
kQjpIq3IF2NqFdyuFLoR3iM+4iIGQkiAmIgAJ0g68RALUYEG08ewzKdKyZ8q/CmpgE8YZbZgB4YH
4C/wJhyHGDHAEfxZgj8H4Hr67UjESzJJOZkCH2Dr9F+mroV+OIRl/oB1XoS34SMiknnkfNJHrmT0
zGRmHpZzklqynZnOnFAFQSBrGTNZwt5HPiU8sZEg3Ad/ghfYaPxdch28yuYyB+EC9H2fIkUkwt7I
ZrMyc5S5EXtiqIEQ6N/gYvFivZdnVEBD+LGXH1MoP89v8pvSkQiW+ucWDk7QK2yhrxgMPIq0EncL
rZ0RsbMswwh/5uBl1ZPsyzO4do7hZqhJW7jtzaE3ITxUEK7OzyOsnyXYHrNybOy+sWRfbAW5kjt6
4iVV8J9hImKbN7MPq3S8VWmzJBLgBWyUJfC4ke1ge1iE6nEQJGGV0CuohLA6omawg+OFGKC6MGwu
L6d9BJQfla7q9ap+DLx16CAznQb6hvRgrJs9iD3YoCqSM4M0MA38DKGdtAuryCpmFY8tk16ml+8V
DAIQt2ikZtQ4qLrbLn1K+ymEajqONuLPYEySudRvMxCBZ2xWs8NLHOzB2LbBQ4cGybqZe6qrGurH
V/2kMdb9GnmJuPHnpdc89Yc2ro29csNtsfc3nv/gZPo8N+Hz7B15nol4kEUsE62NbKOlg+lgOywd
1h6mh+2x9FgNZlC5MRCVSjsI9zikz7/2PBIj+IvHk9ISc3ERkzmWZBb77WZ276HB2LbGvZXj6xuq
qvfMJOsGDzFVsbdiwdc8kwfXbiT2224gaWs3Hqr3vBYL4tMEYj9ilpPtOP/5kaCRGBknyERGmYVJ
mCmHalLNaJkX2edVuDuZXjTRdOZxZugjqEnAwiyP7f3r78n2IY45QUd3NsOzy9gMbC81IpFnGQk6
6FsrE+ZmcLh0OAAI08q4J9hltBLDEx/W2xA7rHpY2QclESO+AJPfMqwVtwKtOxB/N2JQS6XgpET3
MT5FYRgPsupwft42bmxo26bfqYmfqB4++U7sMdbOW7+8RWjBfnvir3ER7kNw4HlWF8mvY+o0Uw1T
7WuYNZoNhg120b2vwjzVzJgF/75ivo5neJdzu/JWne7dDjqiw8GaEnut7Tj+5ue1ESsjGEggLSMz
gykuMpeOJ4UFdofdzEkZgTTeJNkLC0q4yMQpU989cPOx+qk1E6dOPXbDbe9Ora+JbVq+YcPyFevW
rWDeOxx7tr2zq3vRIhI4/Bvi7Vq0aHH3othrh4nhrbdiH8W+eP99fAqCJ7TqGPc0GKE4InO39vKE
53W8gd1PjLcYdIY+lmNuAbaaXYUyCbd9WiAdL5cU5VXTZ87PyyKoZn9xQQk+ZSnGVMdOeklF7KEp
W3OKilSkgRQSFWv5xGRzNVadCNNxH0JrMJX7ADywI5Jn2KiXShmT1eTXp5uK9EWmyaY5pkW2NTYN
MEaj9hqLwKReSzqgI7UHelJVqdQFsSsrlMqI27fYid2+U5akkeWSPseHMpfjurUpz4ibuba5JeI2
MlqnzLidYSbkrHROdc7n5jvP4s5y9jr0ba10xkNZpLgkiGMoLqJzLARMJcFCn8pm5XElBD839cSq
S4l+5rozL96w4NG5vsnEtgMPzIzLd80fyGR++nnnCzPOu332maumVZIGefzfnr08tq358lQ62p24
OwLcRxCBqyM9ymjDlLRatsCtNReEtGOltLGBggpthbFobFFB0bh67aSCunEzSat2pmtWVTdZru12
dZadT9Zr15S5x4/z7u9A7eTl5Vwjq4sEvd50jdqV0VcxQ26XGTnfsT1frhin0rFsTWJr4c4yO8qP
h8NtYdxgOB3V5nJknCV6quG4Q2grEqMMpAUzTYVe3GsliXlAvYeI6avJ0ZnB7ZioZvMS1UB+RdOc
5jd+cSj2RVPmnA+7Ki4Lp+dU5ef3Vc6afcYF2Tk5YwOZyzMWvrQkfRZJ2XX5X+pmNV67ufBc5r7s
nrZl90yorq0IkslF0yw+1+TaCZONEks0GrOlelxuqWTWTRhHav3j8rPydy7c+Fu3QchGxTXHT6Il
OIrehR7OjUzPEgivt+vDwlRhkr5VaNavEM7UrxfO02t1jfoOfY+e1fO8wKuJfh+1IL0cy3GswLMz
NO0aRiOodaodGkKMMh9GcSpTVoizU0BPEZwtZaoK8DTZJr3cphokbW0kQLe8CY+XQmSu/dHYrqEw
c4hse3ToodgMMjd2I5lPUtiOk1czKUNv4x64AfdANj5vCHoiZ2iV5RfdYq6Yqy9kK8VKXaFpAlsv
TjBNdbSITdnLxHWi5PWm7MtIuzaDl3mNxnAN7/Kl7ZAjWlOpbN3ukzVWPEFy0UvQKI+LOx6XOHQ8
PLrC1DIqy0sSS4sn978ubWItcSC2xPHiJVz23KYFH15z8Iszsuc/ubR6TygtEE4v2Tt+3o3jc1SB
oUlye3DDg5Pmn0m+XPPw5Gn1pDSN1JdM8WTIkdqiBoffJhvZKbE3PmHYcHbp3dSWX4rjnsIdh3QY
B8sjDXnqQk1eWURdq5lQ1pja7G0MzA52exflr9asMayRVrvPTV1davbw4f0+uz1ln483C5X7eZen
2G7XZeF4JXrGVxd/7czE5TGjATmOY8YR04lQjk/+a8dnYr+aAokxj4yWfHUirLzNSjPpwTqledrM
p6+49OUZ8zvmnbmIlD9Xf3tKhvvCWYPP2Kff1jX3qkhTd6xcTs9ODy4qyukYw+RnpU7L8TeSE6sf
qZt6Rn3DHCLd/zuSd17PRisXe1HvP3zL2PIxORW/i+1Ma2usb0tNtVmNmrGBDT/Plj1e3B378TwM
4e7gYXokD90SsgNNEn2/ZK/leIaw0MDMZ5hsppqZwbQzq5gNDM+gQ4WOLVrthMJxk7bhHsD9OlTQ
pmzV49sGCRorXF4uNLQw1swcHmJVV6huPTFXdRfxoAXsir/CTec+gVQYi2fTYGQ2m2XNKnSOy5/g
nJ7fTNo1raZ2d2vOwvzm8ubq5UKXdrFpsa3LfVbBRsMa2xrX+gInz4SL83IiOU057cWLcs7N6S0W
i3UpOSrWt9+CK8e6PH12elzLLnep3Q7Feim83ZUzvI41GdslqaxPVhO14mopy4m72FRejrEQPauq
j+PJ1UaPb7u7oLKgoYAtqCxW4VNW5mzNUmXl+Ezm8jYalAPcqvKn0dUsLiopLaaXoD9xfOMJRRJn
uoEkFtkxnliUlc9UchKi4KbH7oi9cOOx6dPqL77+ovVkChGIlZRvvWz/1bGu8zqDDbIno3Zaamfd
2DHylB7/5lCo7qoLfHPkYA657qGTE6sqfza/51cT+Kp7Luh//bHblt9UwVf+gRkzbZ7ZZCoNVNb4
dQF7yZyhzVOm5hlzpMxVdUs3WKyO8VQlS+Nv4OnwoaKSjkhteVpVsCpralp9sD5rnjTP3G5rT5nn
XlhxVsUaZh23ybh+zMYKs9VXtt+Rs9/B++jfmt7Hu6wZarUnA1VSXbDdo8zmiDaoj0xPhBFtMAKv
oto4dR6UJsRCJw38CUdjVBgjc0ZLFpVw2R2LlsceOjr1l+4x3lUdZ1xdUjlNP/eqVc3XVDd1kenE
sOPZM+YviF0YzvJMy86c7Jczs9MD7WW5yz0sW/Xr2JGz1641CyTd4MvMzt3WXlCcFap8cM+HJBdF
E/t82/qfhnypbr9v6ZRJ7aluu0OnzaLzMx29xyvxbZF675MihUbOyDtVMifzY1RhLsyXqaq5al5L
nmc4/kXheZH/ywxVu2qVqleFgCdm4NtVuA0nIeFSVh9P+Nkmv4U6lnNjfeT8cdS7ZF5A/zIj4WEy
9PsmeS9qUkAbc3tkFs/QL8thyIWYodawqos4ji/ly4QGfqIwn28WVvKLhM38OQI6LSLD7unBgxk0
aqISeG49OlQsRxhWxQuiWqPmNMBxDAzE/xoxa6RSzo8ERh0BnawjHJVzGzqdbbj1Uc30otgfqgL1
dJjObYJNnKqtlbRtk4YGBwcVFgfx9l3V6ulqBtpa/X58HULlaxneG1u9ZOi5JbFNTAa5L3TvvSQ3
9hR39ORKxj70Pn0/O4InzwCO0gZBKIR5kcoGawvTbFvGdNt6dD36cwOixZxzJXglL9PhvcPLeL2C
Z4/I5u4R7JvNOUajkL4JBoq9Ob3C3UXS50MFOL/KpjuO7nc1jbadM+xmJE5knPWvOg7k6y6G5etJ
bmDutJanfjF0PlNz182zZjedu3T3bTFrejh70znBqvlb0ot8C0trcn82pzn1Fzsrq3LJH1YcKKsp
4446s0K72lbcOFb03EMeT59qltjY73mTo37oycnTLXomdjnjcjVRz2wJ6u5s9EML4dJDEIpvPYh2
2TaQuJoG4r+JzFbrSsPjkUSP0xNgM1RZYlgd9gQCrUyraq6mNXVO8Dx2vdoYtlRbVll6LSqLJWWX
TuXLzcvtyO3JVeXmZuwCiyV3oBiKZxS3F7O+Tfy9RThJbdLnBYqpblMIJwjdsFCIQwfsqxbLTo1W
Blox5fTiFRNlV46rkpLSQhP1aXi2/abYO4sXr1q+uJPIBxb+JFK7MisndXZJ6Zb6mbvHV9bPqBp3
df2k7RX5ze4xZWeW1W/xLOrsJGlH+olvSdcKm8kStsZ+4qzx+XIKK8sPX7rzcElpODvoqXHG9rty
JJsdtYC7hB+Hu8SAHntVJLvVPNu9mFmuP59Zp+ftu0XWsVswbtLAeiw6IMtyRG6UWQduCS++S7ZJ
n7YldsOps4fuAtXoITO63vy4I7tWxk7eOfQJk3oPEedd2x9bfdaayg0bOzu3bxm3bBHzzhOxe1tq
irij48oWxh58es/RSo/t5AKXv+qPdDXxKVWf4FNqYXIkRb0rj4/wHXwPv4WP0u94JdwuhtXsIiI1
SEbJViqqRAA9r+4ld+vo1qVOH9qd0Y2Lz+v3m0Z/VJ+ceFRVPFTPXDK0gbmXOxp7NRbH8OORnt/D
ntVQE7Fyu/KYCNPB0I8tyC6RFVgWaJ8mtR7fWbRh7Qwtw3A4OxraKzXeocIwKn2kU3Kqy/eGmpgN
Q5fELlKFVP2xv8VeHdqKvdB9+xr3Bu7bIFx9CIyJ/aodiL8aCeJWDXAhIeQIuFvszalncv+HvS+B
iuLYGq7qZaZ7hlkZ9mVm2AQHmQFEQBQGBRUBFxB3IruMIowwiBgVRKImRk1ciVnckhg1RmMSjVGj
ZnvGaKJZ1KcvMYnZE41RY/IiNN+tngaJ+r73/f85///Od05sqbm1dNW9t27drZvBIZ/JzpPP0c8M
8AhZaQ2tCaVCCTLJEECFhvK0VZWmqlE1qRiVyrCSZ4JW0Z7W0JEwKBTJVCrzfIQi7BHYfx4r85KF
y2jZvnDtzcLLoscZb9URjEUzDSJMKhYxdgVBDodNNiGdFpF9vkOCoa1fIiGPvVQm7H1aaBXy8B7c
ugortlgCq+L6Pz6u4tlBaVlYhpF3grdwltpV0CsXP4mrwKXeljBS2OKVG2CKGZA6YH/jb8IfFIXD
sJ97D9hfxd0fZLfQj9o4O1fEOblmbjcn4zhWIacxq+epJrRXhVQkKKA5uol1b30hKVBafFr8PTae
/VVo7nhXaMbNVCL8PNLhZE93XKTMJJsAKvSSuGayPYRnVsloBb0Kc8pNiiYImjchGtO0ysOosqns
EIMwIo9IAN1xI06MTTvixOg5Xke88FBdPH2pve3GDbryxg3M0UcxJ/zenkbkq3fn9/Q7sI4virMH
TqCw1yofGoz+Spmnj4/Cq6mZpBL8m7piAdEndlv9y3/yhXv4/4Qw+p0hmVnvt03dmxlmqxztmOnr
IxN2UJ/gV0p2pKRlatQ4Rm9Mioutn0SNxnpJyq8CFiwKtRvAmj0KqxYhJ3ngLmfgFMngtOvcmZe0
rqwAc/XW+8C0PezpWyOlkyI7C3N4oFf2IxoEcRCILmMXw+EApUVJI95DoVFq+UCFURlBRzNWhVWZ
okhRjuSzFHOUrfxDytX8OsXjSkM/xQRFE9XEMgoiz4FqfSLb7KFNpEjBUgqatzJpTBHjBBeADPCF
ZkaJGFrO03IlzxJBUCM12JjOI/vgMLAt8ldUQIClkFAhOtLE8opmONZmAXsMYZ/FAlSBT00o47FZ
dlZoEX4SfoOftfh1PBKPwK/TX3c0UovbA0BGvKgfJYo5UTcctGeNpOxyagXVLAcH3puikEwrM8mG
4izZbLkMUX0wllFyDlMMLaPpUJkN23E+LsJO3ABHB1NyOyAqb0Z7lXDYj+wFpiElpiQCqGaGaBQg
wALSbAESCt00EMfBz0KFyVOovvJsCtwVCtwVqkTeRDnlHqLrDEN267LzxtuVckxRLSQYkskXi/mu
CeBooMKZtVFYpBoKGScs71gibMTvUUZcRAvtFDgUO+gCt51glwKtWmQEHeyXr63Q1DO030q5nPdd
CVuim9cfDSdGQlSHHqAOzUaz3Uz5yZv4V0zaG5I6JPZCVIe3xdciru6OUe9wEpYOSZ9wYcvPQjM1
e/mb2ROnCHUZfQbUThlUXdJkCTfTt8oOp4+fKMCGxMamvPpQ2iS9LysM8g0zTUCSZRsvWjYjarTn
eWj9tdHagdpc7WRtgd8o/ypthX+TVqnTLtAYNfHGwcY6I2304lal6UbqmnS0TmeQr/KiNQanETs1
GM0LNAYaNBqziRDF6ZsMQJSk4yE2s14uhC2JlxQ9RC1imNZxBJzRP5MEEhaq6+kpMTgmqVdl5tJZ
k+f2jgwHl9UiTHtRaKFaW1/PH1P62HKGTxrlo5ULNXqTMbu9HxXS8Rl7OjgubsPsZ05lggzO6Pya
rWB/Aj/n4H4U0tlsV4PscM1QsMG8OtH4aueX9iEAKH0DfPvh/gGZeHjA6PhyfhZf7znbpyHWQ0YB
r3T+FiaITgPH0hy+KogxyW1yp5yWy5VgNEyWef66eSZ/cWt5mAqhBOLpfEP2k6QmpMxEoWQrJLFk
LAZLf12CZbgu0zJRV2CZriu33K9zWUAsiUMLdsxCiRIqekcYbIeYofJmeqYxusIW0dKE/SnMA2mp
EJYKR/YLl2f3bsC9loTWhkUn548acyDv4DO4HoevwkZH1ETh1hLblOheSRPn5a0bt2ML/vgfwuX0
OFw+pcJDre+XEDvU0xAaMPD046ewPNkibBtWrNJrBvZKSfPXmQKTjhK9BmEKmy1GC9F2f8w8CucX
TcJN7KQmklfnOS1v55t42m0BxAcXovLvsvVstmAVmgUrG8K8eGsk86KYq94GVv4MzKlDSfZwnZz2
WJlAZ9L1NE17apuadY/oKJ3O0+6JuSYkXyHfAFthdZtmKZEcD/ODBTYhP1hGDHJB7bNnhN3Cfrhe
xC0tKx95ALdQAaC/zuMI7Enva5/yeNvKTfQmWJ3EP4yYk1hoVyLQV4ilaNodtmggYqHFsIVYHo62
kkUtFjFZJm6sMo4dxOaxRayTZcn+kbY+cma8jGIZVtYCd7HMApqie+FIajDOoWrxPEoWgkLoQWgQ
XYfqaFmhO76BHw4OyASSdgeVK2M6vhDyOr7Aq3AlrmRP/2EFw/ID4w0TDgJE3iaWBY+3BxF8aZbj
lSC5MpriNOo5qB7cF7NCkyhSoCYAUhvVdnWRmnan/EDHozRJY+5Hys7PXwK1Cu7i50S90iYowAxI
xExzcS4lRdt9ghLpMWpt4ggqncnicvlBiiHKKdQoZjw3mR+jqKGKGQc3jS9XVCgbuSbeqZilXEq1
Mkv5VsUS5eMQ0z7Or1bcwLdYk4qiGCOlZayUiUmlYplkbiAfp+in9GCIX8cHxyVSJigUXTWe1ETL
xgMOFEEE+s7YB3oFJfK9oWiiMKX0WACccYIIcvImGQtOMM/qcRAbgvuw8XgAC6xnx+IJbAmewcIW
sFopqJRK3PU4F/QWFGQTxH3whMKTe1uoEcYJvwrtUNbgR7/GetyE2atkU+jj7f1gYzoZTH5QD2lS
oo/tTiXFcAGUgWM0FOKAaC5RkUMN5iZT+VwFB1aJ82jE9XQ92yCfw89Rwv4BJUipYGUsJ+cYXs+H
8FQU35+n+GYFrcAQ9Ss5OQJvO0qeLJ8tvyZn5C1AKwexOCOjiYNwEXSSNlFmJo8NSM0HAIbUFMAV
hZJhIBK4nUsDu28VH2Bb04jxJ0q6cObiI0e07nAbYA4ibi0p2CPEPBaazURpu//LGCFDOAwnbDyl
7biFD+B+OA1v6/gd/yB4U1eoS4INn+qIBn06tvNLZh+zEGmQDVXYh2p82Wg/3yw2K3ACOyFwOuvQ
TA+cFV4b5eyjwr8YjRbvXnaVJrFXr9CtFq1qq7e3zYhtrdbX4qxxWBNpjKQiI+Wtfgdi3Y/vRI82
jphR4gdadF3GNEGNeyZ0fMQq+IYkZ9YvLPGORx/gI+ZlbY/ul+zh62PP6FfTO2hsREJtxsZz1eVl
OHJD2+oJx6PNyRgvwPFYJzyOw3+Qeal16Qmh0QaDZ/RD3ql6X5931t//BITBvKxwaJoOazRRh453
MED99s4f2FSZAXyFINBvYZk4M2icpkLTxDb5yQxr1VoeBbTR3pxuITpolPkoW7n9wSJNEDyLZLl9
Wy0ijq2cKFGS1dVLeT6dO4+bKly4cN9yu0bYiivzd8785BthWcXC+KrYXkNiVzxMpYPnticyIklm
6Dg/KE84Kfy4drMxqOOEWvEcSOx42J2ZTAvqhZbYQ210Gp/iFxtgpzOZHC6Hz/HLCMg2TjJON841
qSNM4Fsa4PCRMExNDqgXNGiJs2bTYq3WZ52HNi0Mh4mZUGgMCwtah7y1KEwb1hRGh1mjcFhUURT2
Xyg7EElSAyT/Q56/XiaukGgvLW4PlO1Ob7oz2CSf7U7SdecwE+N1akxdX3V94oQSx32TrjTXvTEm
3ivFElWS/sjjG1ZmzAgL6esdX7A/eEhW1mdrnvwqe+iguEjhpN7m4x2078nNzxm9DNFewslIK+zQ
xM4vmCuwQ57IhFLtkcMVw/1namlTbxXRhiCKeuS7Tq3FwWtZb52BakWvhQQs5A6YgQS38KVdJvtE
UC+MIoIXGkLpbuMOrmQP1JkrQlvh5mknb+YPy3ijuHxBBq4U2iLGhC5fXjs/tro+ZxgegD1WfDoy
O99ixp/dCqF6adUvPvnMmnDAk+xUO7MIeaFAVG3PD6MsinhqgGIwlcvmKgarc7QT2UmKggCHbDpf
ZCjycVGNvEvtMhjwL4GBHn5b9VrEabl8rpSrE//YdZuHN897t6KDwdZgHIhbNQeC3DEieU7f5cR0
nSezO6IiXJcCXijD3YlTpr39GLf/5dozqZFzzi0UXhDacAGOAjVpENbT05yVizj8c+vDeVbhYmw0
tmE/7I0zIchvL5hZW9UAEmiB6LJFFgy6024Pg9irzQsrOfVWnUZF/pKDv8bf6A+WjdN5tGqmQBBP
qUBqLoObKSqxZDGlkJycJj4Gwu4nH0HY7EWOSmhCPEgR2Qa6JcA3N3paNvYWbgpt69df+GxUSxzr
IdfnzOBvtD9K19wwvv++kifSIExgrsB5iAAvssCeNMJ7RJ8R8YXehfEO72nx87g5HvWhc+KVXmG+
lnVmbYQmdq0vRKjrZIE8HxDWywukIyFmYcCBvqCeiJ8f1xWiWslJFt+vKAy/R6A6EJMWdFtuEu+U
m4mjR3/9SP2l/OhBr2eXzTMbA9OfKv6pE40YOuho+aQ1A1W4UGgzTgxbvryxoV/lgqfODUxNDDRg
P39LeIipbIhXQirsccjS49lDRlgi4to7cYdKs2Xl5uYQYrW2g1enhxPgDRoqFHt5eg3QOb0YrFVx
azy1aqTCQJavzbfIl9IqW1X7faRcAlFQXUSZzbq+XdkP0dfrR/juxeqFtWqdITcztjwF5KKy6MWq
vSepPhmLTYBWaPtXoJM+yh718UckRtkIRaD07kqs3cw+5Q4baYgYNZh5ErWyTyKsxRQexRfxTnAy
uzzMtK6n8+SpPKUn6yiEVjyXKd2IdV305cHMSnTMPgYEiFcrjdjI98FWPg0nUWn8CJzNF+IpfDWe
wTfhefwi5TZqk/IwtUd5nPpV6UfeoVkMd2s4I0dxw3nM23Q+ifwSyqaEgBRT9Kud5+wBANMKpUKO
OAROmULDxisHK/OVdUp36B4MylJBKRW0+7mQVYWRmC6hOLqV3e8hBVBAlBiOu2Na0CposfaIhTti
YTssMxnwVSRPEeJUufRsFrN5QqHwdgmhG7fiDUIV/r5BWC4ztE/BV4VAN/2UXuRskF1PfjGiVWKk
6LkSRpKtdPPQzT8Y7L5PfgbOQiS6z57OeNOBXoGRvlu9nw3Y5703gItY46/V+RgpRs2vMWg1GnVw
q3G7D26ldKpW9XZEaSn41zsK9bb1HtXb2bsrLdRBXqy4IckOkCjqF50oPm590uNJrVh69ehkbghr
Ob0+a1BCWSTBs3D71JrttqoTJXsPCWvlet3wwX3G0oHtX1GxeXVhYWaLb/tXTOncrLzSokmV5092
hFOx+bXQbuyWeqDu3lKv+b+Req//mdQDSqLQE53+KRsBOl2JQpHZrvdq47VmcAc04A2EB4ChDBP1
iPsZYVeY49a+uF+/hL73yJizEcIh4R9wHcKZOATCnXQhMzQ0zGSa2Lfv6HBzrxCzaUJy7AQqFlTw
UfDYvLAPThWOdJy3NE4vXRQZFRLYu9eSqZMXR/UKM5NTuV0oY1OBS8Q6ptktGVSGJsOUp8nzLNeU
eYKzH8j7rNVpPTTB62TeygADIB6iDuBbPfab3W4M8Cut240xEFRFzdfFrG5Pxo18akHmsL2VRYuG
ELaBK/Ph98IyZyO4MmF5kcSVWfrV8BGjosKFaLazHnyZE8JPT68GX+Y9NbdV1N1lou4muKbYexFL
nmuaZJpucmrnmOTEius1xIzjgD8ZcklV98DTrLvDjN+ljoW28c853v9VNONTFgwT1W+3HRfKKMXQ
IbdNOSjcj25bclHy6HPMVKRHSfuwh9ODAqtHVIQPhJrMGo1GqeE5hAxWA/aQt/L7PbuSK4BhWofF
/b5D6F2HhT5n8qkIyZ2VQXjXsHu4p01Pe3CcwbdDy5Q+UzGY/MYTRlPA25kDPLKhFrs2zprlO9Ra
jxuVjQH1oXIjcerMEOaxJihSdKA9/SOZIHoUBEPEzTObw7cGaeUEVU+SopOrt9Le5siF/rqFZn+5
mBNRiDmROGcclruDTX2PrIjF7euRtEih6C9Jz7J18d6S9LpFGv6Tp9px7qdCbq77iEOYOcIx4Ze1
N4abA4amJy0fPa1iwJjIB5MeWw2euWL+t+nGUScd4xr6lSU22ZcvwWUvfJIUgiM9+/j7mK0xUeE6
3ksTuW3+5rPxQcJXiZm26MjeXkovbfgG4oV0/kDPZp9GAWi4PVrBBrCURgkRnFKrkm9VKjQBAT5A
q5q8rICCNEGYU2lbFVyNnJAZH08euurcbxOSdLTonpCHXeHuoIM4IuJGkfyE9Ig5np7dv+W+D0+u
Xg1ae7Swi9Koh2YETtIHKzS67e9TqhtwcA/fEGpTxoeGRvkqYN1NnV+wPFMK+irVHqWQ+ctyPCd5
Vnk2yed4yikvltfo1oBoi4LtVlskmPARH02RtL9VfHeEaC3JS40g2fFufHRmlhfayp6te+1dPE1p
8MzNjHH2xZVzc0aeOU1d6PioYGZ4eEiImSb2JBg0pxdgIkNV9rDdLDh0ftRQdjzLkKzHYjHrsYim
6DI8nXLh+ylGjEXNvCaRJgVJsGioOaievI3IWbmRHIVoLYyHcM6dV3fjCWF5z9wIKpSSI6yXMFKo
FPLwPMxgzJTeepIpbW+nGSLdfcBibQPMPNAe+0yekjF+lDcTRUUwyTiNsjEpfLwiC4+k7Ew2P1gx
iSpgJvP5iiqqjKniixXzKCczj69VBFLKRR7YgxDCcIzcIKduwD4vghB6NL6PLcfT2Jm4iZXVc3XK
29kXDcWJZPp1B+BITRwYrdokJl9kXckXd+6FJEULxSBbjLWhJC+AmpWExADyX75NeFpo+foLYR5E
dXOOXMVpXx0itFK/diiB3j9oGfkhNPvDbtiBZiW6bNdYKRM3lprAMdRwd1Znrz0CgEDWU9mfTVCO
wIPpwfIR/AQ8lh7PjpVP4Mcp1UqS82HJ2Y8mGaA70hDZ3e5OjyRENjDk1c5Tdh10yJd0JyE04laT
fJLCveUSL+7MQRDnh9EyFOPe8ntlIiw9MhGWP2ciSAJLDLaUYqImgLhAdmHy1ZtCGT4g5OCnf7qM
nxSy8ShhNxVLxQl78fCOs4RTwWDLfIBTcrTMnsaxw9nx9AS2gmahAahlduD94BQtJm/JPi3fK6fE
LVfSctaXDqctbBI9jb2fqqfnsC6ZkiL0hYI0y4hIU4h1v/CqYZkAiuKt/EhefOpB3rJza27yikMP
qS4UMyxHCEW4sCvbRD2DEa7teESYswfQn4OXUWf+wPhpZhJCyChdWWhOj+sNzItXLM6FazZ5Q5ha
TMfSD8JRbGM+YttkkXCV9Lg+kY+Rf8elcLO53Xx/3sU/x//I/6hQKRYp2hXtygK4jnk0emzx+FLV
X82rV915afSaEs0lCPu3aH/Qlem26j7Wfawfo3fqL3qaPWs9jxkCDRMN33gles31etd7sPc5n35/
XX9df11/XX9df13/Oy7x986G0CO6v8MgDnV9cQQGVyFOginEoKMSTCMr2iXBDHif+yWYBfgdCZYB
/JkEy9G87nl4cBR/kGAVzkG/S7Aa9aYyyLdXMDSspQa/3g0zKIyqFmEW2hXUZglmkD+1UoRl0C6j
Dkowg7yp50VYDu0c9aEEM8iXekOEyW+OeVBXJZhBIdR5ESZ/VqiMapdgjNR0kQTDPMx8CabRfcxE
CYY5mWoJZgFeIsEygF+VYDn6o3seHgUypyRYRbUxP0mwGo2Ru+lVENrl30kwg4Ll50RYCe16TibB
gLP8pgh7ENy4SAkGfDhfEVZDu5YbLsEMMnH9RVgrzhMpwTCPNN6T8JCbJsHAQ85No4HgwzVLMODD
OUXYC9oN3FMSDHvELRdhb3H8GxJMxu8RYT9x/OcSTMa7+RBA9pRnJBj2lLshwkHinn4owWRP3XMa
xfHBEgzjebUIh5E95ZMkmEGBvJvGPuL4MRJMxosyxvXgM9eDz1wP/Lke+Hv0GO/RY7xHD/57SPzf
Zoqz2ZJMuY7S2pq6mgqXaXBNrbOmttjlqKmOMaVXVZnyHFMrXXWmvPK68tpZ5WUxY8try4qri02O
OlO5w1VZXmsqNtWWT3XUucpry8tMrtrisvIZxbXTTTWkp0e14t6rmBzVJpjGVFDtcMH9+a5iV3md
qbi6zAoT1IgLlNbUV7tqHeV1Md0z9O9CY1BNVRmp1JGpEmJscabI7kFR0qA+ZFBusQsmazANLq4F
TCfU1JtmFDea6uvKYXWgpaKm2mUqrjM5y2tnOFwEk5JGEa/Mgpx06K0VK87amrL6UhfBuaHSUVrZ
4174dFSXVtWXESbUmMocdc4qWAAIgbscMKAURpVXu2JMXWvXVFc1miIdUabyGSXkpttTVXcNvidG
4vAyR/VU4Hsd8KWUsLHH6iJDpblSRAQiHbCKq3wG4XmtA1Ytq2morqop7rko4FzsxhQ43s36mnqX
s95lKiuf5SgtJ2Mqy6ucdxBU6XI5+1utDQ0NMTO6WB9TWjPD6mp01kytLXZWNlrJEnVWNBaVo1pU
hopRNfzEIhvqh0xoBLROhfZy5ILWP48xQVs9VgH8/V09FVAvu6t1iDiP695r0UvoQ/Rb9GEoX0Tb
YHQctNtQEkC5yIFK4Y4aVAc/FTCDCQ0GqBY5xbIYWhwAVaMY6ElHVXCZUB60TUWV0Fcn1srhk6w7
S8Qt5i7sHOK4cvh0wV2kzyS214o8IL0usZXcTWgn65ZBbQZ81qLp0FbTfc+9eyv+j2ghGFWLcxFs
TKgAag4RB7J+vrgjLpEqk0hDGVhTNwY1PSgohVo99BKMHOLomHvg0P8ubgyCniqod/XUdWOVADPY
YHfItxzdPVPUHTP16Z4pV8TXjVmDSDXhjJunE0QsTSK3GuGzXtwrN+3ufakQV3eJtJK6U7xvhsiR
Lp6UiPd28SsTOJYD0uC+t7ZHj1PEuAxWKRVndPO5QVyrFMp7r+uuk7GlQE+9uLtuSaiBskzsd0KP
mwL3jrjXckgzlEpzlYslkdU76Sb9VSIUCXdFifI4A+jqWuleWFXfNfP/nEe3Zy8TZ5oqyXudJC+l
3dJ4b9pvS+if8UrpwQFCiZsWl7hel5yT+d20lkFLg0h5jXhq7k2pm8/Ff+JpuSTvd0o94aoLxtWL
dxJsZ4nUlHfPQ0ZWwYj/focqRc454RRY4WoQrxiRo3+W+hjxzhkwxgUUEQqnijQ6YYZGaO2iog7d
qWlv61jHPXVsDrRXAjQLZiAj6u8aMVRcqU48MS6Rurv17vdA63R0E2b5Hnru7B8r3nln6zAoq+CO
inv2jpJorAf5cUtI439L2V1YMUYmlUlhBjP9mCTGzgxkspnku2YY8y8tTDbBDsdC7e4eIsFOoPdu
TuSI594BsPRFcJ316KN/8SUdNHkkjbQId3a6vw1P/ENI3kj6ljz6FZLp7hHjIKRAfcGS4apiVzXc
Cz5yzphhJuSdNzLXhAJhrU5xxR5l931JYJ/ufV9wjztw9ydGVFVNaRVSi6VBnAdLs4HHC5GAu6aV
PiOI34kY+kH6IXop/TAib+z+E/0BXUZsEmscwvQycRaXNJs0X0ApQtJXdqKASbaWgHEyvveiYYt+
U2E5tbElYBg0ZVAYxyptvIy1qGnKn0W2YpnCIsMMbkmkMLMx3zbaFt2jJXBzcHMgGiBeI0GA6kQT
US4evFRy2cw9JmMMHR9cb571yDfhfWK/y3hhZ1712l8yXt3Y4t3b1sLobS3UHxtJ+p3SQGC5dMCA
JbrTqTdLf7pot6m6MSWRns0Za7FFyegCRukZMrjG2VhL/GdTZGmUKTY5OfEOHzgmNtgW6B7sdU/v
ONZsM5J+2tP3dn9eTY3LlF7vqqypdbgabcE+quREW2yszZZog38TfVRxtti4+Fip+h/AqAWH9GQL
ZhHdgjUI2hVUC8ZoG3XoqPOblGsjAiI3rJt9n+2HzduWhU/5XViTs2Wf8ORmU+rc0Zsf37yiKG76
6UFljVeen/XumPPXfnxiUeCKDa0VL709fU5J6JmgAZ9p8Mrv1r51uE/F+vWVEY+d6h992OOV8RFH
h3yrSE1aG70tMvm5n7IWDrrUqjmwvqqg+PmWuZuK+jTkfP/Yy2Up60cFxnJhhg3bvn3U4vvNwLZS
Q9F4tnxDUGLe4t+2/ryaeifgo8MFmS892Hy4/09jVo94oWPrnBmuEbt8T6zlI81o3CNFjsQD2Xr5
gLGdk249XaHgnv1wwdhxP+9Nuc97QQNz/ubrLzSvEXafbDqz1b928oDjB69yW0JsL8keePclU4Pn
AxfJ977gLQuesy14xrZgM3AzCDML1tsWrGvWTjrl/NlR+1To6PmGPbnLO9/bVPv/f/9a/o2M02QP
13ynPLLs+jrfhMuv4rBzDbrrk4viNjylfC+VfXTJinf7f2O+dnXcquhXNg49VvJz+9kTKSkTt/Ub
4xDCZqS9e2L7Z+zcT2OXDdygdU47IOhH+jqOtJ8afEk30TTyh5L7d233O2ZJDO/zevkm/UPhmtIt
v40J/Kf53TNe1/Oerx4cJ+9o8fn966lVqtE3D/2S97dD375lazfF8kuC1kT5534SRD3zS/Pn9MuT
brz46bFxV8qz/pY3Zu/LdKS+85EzV7kV819d9/aOxOiv5nz1XMOlWRvRqWlpRz/s99Dn6frnEqYF
TLuQ8MXHgcxXz2UyxybGJ1XnBqpK9ik2P/zRJ2PShpwMLHjWeUHff/Gq+g1bP9wIWqHI1kLnuLWC
ImaH7h+jOic/+d6RLp0S9J9SBnDuk+LgH2iAOFAGsXFQTehSBo2iBoVJZJ5UQX6sp01HKpynYlxx
XSXElC5YRmtTk0a5pzyvvGxGTXVZF2KKf4VYqM3sRsy/Z39ZuSnfMbWaRKqjBqf/W62wr3HemcKX
MpOf6/t87Pl/hidkNRy5ZXzqb5kzfz495LuPH35zek5eyY3HqDdzz2VVWcNSyw+/H7pPOWxfU/2n
mYe2r1CPejvccm3jt6pQ4+n0sD9KHvvAL/OZVcONj518yRry5vA+c2v+7hWc8nCyNvnTQ1E3KlL6
4LhOodewZ1+pwoufuPXantKmln9O3rig9YHlu6+9unrLB0nPjnrAp9fiEZ/abqKBN97558AFry+6
XJW8NabvzZdjdinmlTw6u+KJtjrVol3X3rpu2j9Sv6z0vei/x2X6XTkwfG3KqHzf9ytGN27fufjY
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
RrqteTv+lhvdf8SIBEt9/Vm93pYnL2lzqNhurb+s9khCwxbfg88+fZjHuNyKcalYp3a5u8flDN0U
6eTXGXveOHv1beMISkoWu3t9iP/5qX+i/6n40Pr0GbNWrF/es2lqqFbvj2Z9romLCh9PXzXssu5j
swU+Cyf0M8saLya8Qs9XLRrab9Tv22InaYzKe5DbsnBhIRUeT+3WsW0mHxYt1mH78LYzNk41u+M+
WExccK1tJ/FpLGu9SHdP6QSrXe5Ro+cbOac9jbmsP7e5cuW8D2HVqd4WWcETikz6V6WEFKQePhVx
/Y3+9ojRg94eWLSinDIWlFP6X84M276cUoEs7v94x/x2HvrqsoIj75jLEwS6iv1P+cuzHxJ0dpaw
7NVhgnWzFzii6VTo4Bz3p+63WisiX/zTuH5LaobfWa+daei4enTeN5EKdZEx1jNPM2YuA1ZEbV9b
8avB+5TmI7onPU0P2/D/uDLdZOmWCR/Ol1snzMm/pFxTHdc615D+fOO3yS5Kk/oVON6qWHQ/1ngt
19rHdCLn12Mtg+Zt2U2VW+atTZg7r3/l2hJLzXHNsqLSvhcZ6pcR5j/l+akEJ1hYutqPvHXl5jGZ
V/RSzyc2OoY/+/bdseH55iPmhybvSI6r1tzhUxU+QOfo61vWL5TDDj6Pmaed+VNPFZfj/DQR++1C
U8PG4UeaNlwwPpFu/u7nY8uIQzvm3xfKni/ZlNH7Ji+2xLLbs9bj8RuEi7qFzQxrZKbeVOcsOGpp
crublsqNmNWzfp06556yxbFe9IvyotkZdb10gsH9/wFpnva+DQplbmRzdHJlYW0NCmVuZG9iag0K
OTM4IDAgb2JqDQpbIDBbIDEwMDBdICAzWyAzNTJdICA2WyA4MThdICA5WyA3MjddICAxMVsgNDU0
IDQ1NCA2MzZdICAxNVsgMzY0IDQ1NCAzNjQgNDU0IDYzNiA2MzYgNjM2IDYzNl0gIDI0WyA2MzYg
NjM2IDYzNiA2MzYgNjM2IDQ1NCA0NTQgODE4IDgxOCA4MTggNTQ1IDEwMDAgNjg0IDY4NiA2OTgg
NzcxIDYzMiA1NzUgNzc1IDc1MSA0MjEgNDU1XSAgNDdbIDU1NyA4NDMgNzQ4IDc4NyA2MDMgNzg3
IDY5NSA2ODQgNjE2IDczMiA2ODQgOTg5IDY4NSA2MTVdICA2NlsgNjM2XSAgNjhbIDYwMSA2MjMg
NTIxIDYyMyA1OTYgMzUyIDYyMyA2MzMgMjc0IDM0NCA1OTIgMjc0IDk3MyA2MzMgNjA3IDYyMyA2
MjMgNDI3IDUyMSAzOTQgNjMzIDU5MiA4MTggNTkyIDU5MiA1MjVdICAxMzVbIDU0NV0gIDE3N1sg
NjM2XSAgMTgxWyAyNjkgMjY5XSBdIA0KZW5kb2JqDQo5MzkgMCBvYmoNClsgMzUyIDAgMCA4MTgg
MCAwIDcyNyAwIDQ1NCA0NTQgNjM2IDAgMzY0IDQ1NCAzNjQgNDU0IDYzNiA2MzYgNjM2IDYzNiAw
IDYzNiA2MzYgNjM2IDYzNiA2MzYgNDU0IDQ1NCA4MTggODE4IDgxOCA1NDUgMTAwMCA2ODQgNjg2
IDY5OCA3NzEgNjMyIDU3NSA3NzUgNzUxIDQyMSA0NTUgMCA1NTcgODQzIDc0OCA3ODcgNjAzIDc4
NyA2OTUgNjg0IDYxNiA3MzIgNjg0IDk4OSA2ODUgNjE1IDAgMCAwIDAgMCA2MzYgMCA2MDEgNjIz
IDUyMSA2MjMgNTk2IDM1MiA2MjMgNjMzIDI3NCAzNDQgNTkyIDI3NCA5NzMgNjMzIDYwNyA2MjMg
NjIzIDQyNyA1MjEgMzk0IDYzMyA1OTIgODE4IDU5MiA1OTIgNTI1XSANCmVuZG9iag0KOTQwIDAg
b2JqDQpbIDM1MiAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg
MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw
IDAgMCA5OTAgMCAwIDAgMCAwIDAgMCAwIDAgNjAxIDAgMCAwIDU5NiAwIDAgNjMzIDAgMCAwIDAg
MCAwIDAgMCAwIDQyN10gDQplbmRvYmoNCjk0MSAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVjb2Rl
L0xlbmd0aCAxMTk5OS9MZW5ndGgxIDUyMTcyPj4NCnN0cmVhbQ0KeJzsfQl8E9X2/5mZ7GnSNEnX
tM2EtKWlpUlb6EaB0g2wLKULtECloQm00CW2KYuylAoUyyaLgLhQ4amoKEFQQLbiCogKuD1REJ6I
oFYRFZUtvzOTNA2ID/r+j/f+7/OZ73S+c+65955777nLzE3SBAgA8EXiQV5WweCBZ64tOQ1gzwPQ
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
A8s/mIt5mG8VNUx1i9QQG6WM1EUUy6SwhhpGMKOUUcpUtzrVMIIZpYxSRiIjkWU6V0MNo5RRw4Wz
QRWNUkb44mKhzP9qVMFcBRIZ3YxuRvEimBHMCGYEM2oYwYx8RgajjdHGiGJEMaIYUYzURWgjrVHD
CGZkMEoZ3YwaRg2jhlHDqGh0M6oWiYz6RhQjilHDqGEkMsIXbYzwRRQjkRHFyG5kN8KX7rVjpL9b
+APaFJ4rH1HUT2q1gAYblU9NGrTtVWg3tbBx+YyhwaGvF3rNLVw5oa7uX/K2AYQNCmVuZHN0cmVh
bQ0KZW5kb2JqDQp4cmVmDQowIDk0Ng0KMDAwMDAwMDA3OCA2NTUzNSBmDQowMDAwMDAwMDE3IDAw
MDAwIG4NCjAwMDAwMDAxMjUgMDAwMDAgbg0KMDAwMDAwMDI3MyAwMDAwMCBuDQowMDAwMDAwNjAz
IDAwMDAwIG4NCjAwMDAwMDEzMTcgMDAwMDAgbg0KMDAwMDAyMDIwOCAwMDAwMCBuDQowMDAwMDIx
MTEyIDAwMDAwIG4NCjAwMDAwMjU3ODYgMDAwMDAgbg0KMDAwMDAzMTQ1NyAwMDAwMCBuDQowMDAw
MDMxNjMyIDAwMDAwIG4NCjAwMDAwMzE4NzkgMDAwMDAgbg0KMDAwMDAzMTkzMyAwMDAwMCBuDQow
MDAwMDMyMTA0IDAwMDAwIG4NCjAwMDAwMzIzNDYgMDAwMDAgbg0KMDAwMDAzMjc2NiAwMDAwMCBu
DQowMDAwMDM1NTA3IDAwMDAwIG4NCjAwMDAwMzY0MTIgMDAwMDAgbg0KMDAwMDA2NjAxOCAwMDAw
MCBuDQowMDAwMDY5MDM4IDAwMDAwIG4NCjAwMDAwNjk3MTkgMDAwMDAgbg0KMDAwMDA2OTg2NSAw
MDAwMCBuDQowMDAwMDY5OTMxIDAwMDAwIG4NCjAwMDAwNzAxMjcgMDAwMDAgbg0KMDAwMDA3MDE1
NiAwMDAwMCBuDQowMDAwMDcwMjA4IDAwMDAwIG4NCjAwMDAwNzA1NjUgMDAwMDAgbg0KMDAwMDA3
MDcxMSAwMDAwMCBuDQowMDAwMDcwNzc4IDAwMDAwIG4NCjAwMDAwOTEyMDEgMDAwMDAgbg0KMDAw
MDA5MjgxOCAwMDAwMCBuDQowMDAwMDkzODY3IDAwMDAwIG4NCjAwMDAwOTQwMjYgMDAwMDAgbg0K
MDAwMDA5NDA5MiAwMDAwMCBuDQowMDAwMDk0MzEzIDAwMDAwIG4NCjAwMDAwOTQzNDIgMDAwMDAg
bg0KMDAwMDA5NDM5NCAwMDAwMCBuDQowMDAwMDk0NzIxIDAwMDAwIG4NCjAwMDAwOTQ4ODAgMDAw
MDAgbg0KMDAwMDA5NDk0NyAwMDAwMCBuDQowMDAwMDk1MTI1IDAwMDAwIG4NCjAwMDAwOTUzNzYg
MDAwMDAgbg0KMDAwMDA5NTczMCAwMDAwMCBuDQowMDAwMDk3MDk3IDAwMDAwIG4NCjAwMDAxMTU5
ODkgMDAwMDAgbg0KMDAwMDExNjEyMiAwMDAwMCBuDQowMDAwMTE2MTUyIDAwMDAwIG4NCjAwMDAx
MTYzMTMgMDAwMDAgbg0KMDAwMDExNjM4NyAwMDAwMCBuDQowMDAwMTE2NjI5IDAwMDAwIG4NCjAw
MDAxMTY3NjQgMDAwMDAgbg0KMDAwMDExNjc5NCAwMDAwMCBuDQowMDAwMTE2OTU3IDAwMDAwIG4N
CjAwMDAxMTcwMzEgMDAwMDAgbg0KMDAwMDExNzI2OSAwMDAwMCBuDQowMDAwMTE3NjIxIDAwMDAw
IG4NCjAwMDAxMjI3MDggMDAwMDAgbg0KMDAwMDEyMzA2MCAwMDAwMCBuDQowMDAwMTI1MDA4IDAw
MDAwIG4NCjAwMDAxMjUzNDAgMDAwMDAgbg0KMDAwMDEyNTgzNiAwMDAwMCBuDQowMDAwMTI2MTg4
IDAwMDAwIG4NCjAwMDAxMzAzNzQgMDAwMDAgbg0KMDAwMDEzMDcyOCAwMDAwMCBuDQowMDAwMTMy
MjU4IDAwMDAwIG4NCjAwMDAxMzY5MzMgMDAwMDAgbg0KMDAwMDEzNzI4NSAwMDAwMCBuDQowMDAw
MTM5MTUwIDAwMDAwIG4NCjAwMDAxMzk1MDIgMDAwMDAgbg0KMDAwMDE0MTc1MSAwMDAwMCBuDQow
MDAwMTQyMTA0IDAwMDAwIG4NCjAwMDAxNDMzMjUgMDAwMDAgbg0KMDAwMDE0MzY1OCAwMDAwMCBu
DQowMDAwMTQ0MTYxIDAwMDAwIG4NCjAwMDAxNDQ0OTQgMDAwMDAgbg0KMDAwMDE0NTc3OSAwMDAw
MCBuDQowMDAwMTQ2MTEyIDAwMDAwIG4NCjAwMDAxNDgwODMgMDAwMDAgbg0KMDAwMDAwMDA3OSA2
NTUzNSBmDQowMDAwMDAwMDgwIDY1NTM1IGYNCjAwMDAwMDAwODEgNjU1MzUgZg0KMDAwMDAwMDA4
MiA2NTUzNSBmDQowMDAwMDAwMDgzIDY1NTM1IGYNCjAwMDAwMDAwODQgNjU1MzUgZg0KMDAwMDAw
MDA4NSA2NTUzNSBmDQowMDAwMDAwMDg2IDY1NTM1IGYNCjAwMDAwMDAwODcgNjU1MzUgZg0KMDAw
MDAwMDA4OCA2NTUzNSBmDQowMDAwMDAwMDg5IDY1NTM1IGYNCjAwMDAwMDAwOTAgNjU1MzUgZg0K
MDAwMDAwMDA5MSA2NTUzNSBmDQowMDAwMDAwMDkyIDY1NTM1IGYNCjAwMDAwMDAwOTMgNjU1MzUg
Zg0KMDAwMDAwMDA5NCA2NTUzNSBmDQowMDAwMDAwMDk1IDY1NTM1IGYNCjAwMDAwMDAwOTYgNjU1
MzUgZg0KMDAwMDAwMDA5NyA2NTUzNSBmDQowMDAwMDAwMDk4IDY1NTM1IGYNCjAwMDAwMDAwOTkg
NjU1MzUgZg0KMDAwMDAwMDEwMCA2NTUzNSBmDQowMDAwMDAwMTAxIDY1NTM1IGYNCjAwMDAwMDAx
MDIgNjU1MzUgZg0KMDAwMDAwMDEwMyA2NTUzNSBmDQowMDAwMDAwMTA0IDY1NTM1IGYNCjAwMDAw
MDAxMDUgNjU1MzUgZg0KMDAwMDAwMDEwNiA2NTUzNSBmDQowMDAwMDAwMTA3IDY1NTM1IGYNCjAw
MDAwMDAxMDggNjU1MzUgZg0KMDAwMDAwMDEwOSA2NTUzNSBmDQowMDAwMDAwMTEwIDY1NTM1IGYN
CjAwMDAwMDAxMTEgNjU1MzUgZg0KMDAwMDAwMDExMiA2NTUzNSBmDQowMDAwMDAwMTEzIDY1NTM1
IGYNCjAwMDAwMDAxMTQgNjU1MzUgZg0KMDAwMDAwMDExNSA2NTUzNSBmDQowMDAwMDAwMTE2IDY1
NTM1IGYNCjAwMDAwMDAxMTcgNjU1MzUgZg0KMDAwMDAwMDExOCA2NTUzNSBmDQowMDAwMDAwMTE5
IDY1NTM1IGYNCjAwMDAwMDAxMjAgNjU1MzUgZg0KMDAwMDAwMDEyMSA2NTUzNSBmDQowMDAwMDAw
MTIyIDY1NTM1IGYNCjAwMDAwMDAxMjMgNjU1MzUgZg0KMDAwMDAwMDEyNCA2NTUzNSBmDQowMDAw
MDAwMTI1IDY1NTM1IGYNCjAwMDAwMDAxMjYgNjU1MzUgZg0KMDAwMDAwMDEyNyA2NTUzNSBmDQow
MDAwMDAwMTI4IDY1NTM1IGYNCjAwMDAwMDAxMjkgNjU1MzUgZg0KMDAwMDAwMDEzMCA2NTUzNSBm
DQowMDAwMDAwMTMxIDY1NTM1IGYNCjAwMDAwMDAxMzIgNjU1MzUgZg0KMDAwMDAwMDEzMyA2NTUz
NSBmDQowMDAwMDAwMTM0IDY1NTM1IGYNCjAwMDAwMDAxMzUgNjU1MzUgZg0KMDAwMDAwMDEzNiA2
NTUzNSBmDQowMDAwMDAwMTM3IDY1NTM1IGYNCjAwMDAwMDAxMzggNjU1MzUgZg0KMDAwMDAwMDEz
OSA2NTUzNSBmDQowMDAwMDAwMTQwIDY1NTM1IGYNCjAwMDAwMDAxNDEgNjU1MzUgZg0KMDAwMDAw
MDE0MiA2NTUzNSBmDQowMDAwMDAwMTQzIDY1NTM1IGYNCjAwMDAwMDAxNDQgNjU1MzUgZg0KMDAw
MDAwMDE0NSA2NTUzNSBmDQowMDAwMDAwMTQ2IDY1NTM1IGYNCjAwMDAwMDAxNDcgNjU1MzUgZg0K
MDAwMDAwMDE0OCA2NTUzNSBmDQowMDAwMDAwMTQ5IDY1NTM1IGYNCjAwMDAwMDAxNTAgNjU1MzUg
Zg0KMDAwMDAwMDE1MSA2NTUzNSBmDQowMDAwMDAwMTUyIDY1NTM1IGYNCjAwMDAwMDAxNTMgNjU1
MzUgZg0KMDAwMDAwMDE1NCA2NTUzNSBmDQowMDAwMDAwMTU1IDY1NTM1IGYNCjAwMDAwMDAxNTYg
NjU1MzUgZg0KMDAwMDAwMDE1NyA2NTUzNSBmDQowMDAwMDAwMTU4IDY1NTM1IGYNCjAwMDAwMDAx
NTkgNjU1MzUgZg0KMDAwMDAwMDE2MCA2NTUzNSBmDQowMDAwMDAwMTYxIDY1NTM1IGYNCjAwMDAw
MDAxNjIgNjU1MzUgZg0KMDAwMDAwMDE2MyA2NTUzNSBmDQowMDAwMDAwMTY0IDY1NTM1IGYNCjAw
MDAwMDAxNjUgNjU1MzUgZg0KMDAwMDAwMDE2NiA2NTUzNSBmDQowMDAwMDAwMTY3IDY1NTM1IGYN
CjAwMDAwMDAxNjggNjU1MzUgZg0KMDAwMDAwMDE2OSA2NTUzNSBmDQowMDAwMDAwMTcwIDY1NTM1
IGYNCjAwMDAwMDAxNzEgNjU1MzUgZg0KMDAwMDAwMDE3MiA2NTUzNSBmDQowMDAwMDAwMTczIDY1
NTM1IGYNCjAwMDAwMDAxNzQgNjU1MzUgZg0KMDAwMDAwMDE3NSA2NTUzNSBmDQowMDAwMDAwMTc2
IDY1NTM1IGYNCjAwMDAwMDAxNzcgNjU1MzUgZg0KMDAwMDAwMDE3OCA2NTUzNSBmDQowMDAwMDAw
MTc5IDY1NTM1IGYNCjAwMDAwMDAxODAgNjU1MzUgZg0KMDAwMDAwMDE4MSA2NTUzNSBmDQowMDAw
MDAwMTgyIDY1NTM1IGYNCjAwMDAwMDAxODMgNjU1MzUgZg0KMDAwMDAwMDE4NCA2NTUzNSBmDQow
MDAwMDAwMTg1IDY1NTM1IGYNCjAwMDAwMDAxODYgNjU1MzUgZg0KMDAwMDAwMDE4NyA2NTUzNSBm
DQowMDAwMDAwMTg4IDY1NTM1IGYNCjAwMDAwMDAxODkgNjU1MzUgZg0KMDAwMDAwMDE5MCA2NTUz
NSBmDQowMDAwMDAwMTkxIDY1NTM1IGYNCjAwMDAwMDAxOTIgNjU1MzUgZg0KMDAwMDAwMDE5MyA2
NTUzNSBmDQowMDAwMDAwMTk0IDY1NTM1IGYNCjAwMDAwMDAxOTUgNjU1MzUgZg0KMDAwMDAwMDE5
NiA2NTUzNSBmDQowMDAwMDAwMTk3IDY1NTM1IGYNCjAwMDAwMDAxOTggNjU1MzUgZg0KMDAwMDAw
MDE5OSA2NTUzNSBmDQowMDAwMDAwMjAwIDY1NTM1IGYNCjAwMDAwMDAyMDEgNjU1MzUgZg0KMDAw
MDAwMDIwMiA2NTUzNSBmDQowMDAwMDAwMjAzIDY1NTM1IGYNCjAwMDAwMDAyMDQgNjU1MzUgZg0K
MDAwMDAwMDIwNSA2NTUzNSBmDQowMDAwMDAwMjA2IDY1NTM1IGYNCjAwMDAwMDAyMDcgNjU1MzUg
Zg0KMDAwMDAwMDIwOCA2NTUzNSBmDQowMDAwMDAwMjA5IDY1NTM1IGYNCjAwMDAwMDAyMTAgNjU1
MzUgZg0KMDAwMDAwMDIxMSA2NTUzNSBmDQowMDAwMDAwMjEyIDY1NTM1IGYNCjAwMDAwMDAyMTMg
NjU1MzUgZg0KMDAwMDAwMDIxNCA2NTUzNSBmDQowMDAwMDAwMjE1IDY1NTM1IGYNCjAwMDAwMDAy
MTYgNjU1MzUgZg0KMDAwMDAwMDIxNyA2NTUzNSBmDQowMDAwMDAwMjE4IDY1NTM1IGYNCjAwMDAw
MDAyMTkgNjU1MzUgZg0KMDAwMDAwMDIyMCA2NTUzNSBmDQowMDAwMDAwMjIxIDY1NTM1IGYNCjAw
MDAwMDAyMjIgNjU1MzUgZg0KMDAwMDAwMDIyMyA2NTUzNSBmDQowMDAwMDAwMjI0IDY1NTM1IGYN
CjAwMDAwMDAyMjUgNjU1MzUgZg0KMDAwMDAwMDIyNiA2NTUzNSBmDQowMDAwMDAwMjI3IDY1NTM1
IGYNCjAwMDAwMDAyMjggNjU1MzUgZg0KMDAwMDAwMDIyOSA2NTUzNSBmDQowMDAwMDAwMjMwIDY1
NTM1IGYNCjAwMDAwMDAyMzEgNjU1MzUgZg0KMDAwMDAwMDIzMiA2NTUzNSBmDQowMDAwMDAwMjMz
IDY1NTM1IGYNCjAwMDAwMDAyMzQgNjU1MzUgZg0KMDAwMDAwMDIzNSA2NTUzNSBmDQowMDAwMDAw
MjM2IDY1NTM1IGYNCjAwMDAwMDAyMzcgNjU1MzUgZg0KMDAwMDAwMDIzOCA2NTUzNSBmDQowMDAw
MDAwMjM5IDY1NTM1IGYNCjAwMDAwMDAyNDAgNjU1MzUgZg0KMDAwMDAwMDI0MSA2NTUzNSBmDQow
MDAwMDAwMjQyIDY1NTM1IGYNCjAwMDAwMDAyNDMgNjU1MzUgZg0KMDAwMDAwMDI0NCA2NTUzNSBm
DQowMDAwMDAwMjQ1IDY1NTM1IGYNCjAwMDAwMDAyNDYgNjU1MzUgZg0KMDAwMDAwMDI0NyA2NTUz
NSBmDQowMDAwMDAwMjQ4IDY1NTM1IGYNCjAwMDAwMDAyNDkgNjU1MzUgZg0KMDAwMDAwMDI1MCA2
NTUzNSBmDQowMDAwMDAwMjUxIDY1NTM1IGYNCjAwMDAwMDAyNTIgNjU1MzUgZg0KMDAwMDAwMDI1
MyA2NTUzNSBmDQowMDAwMDAwMjU0IDY1NTM1IGYNCjAwMDAwMDAyNTUgNjU1MzUgZg0KMDAwMDAw
MDI1NiA2NTUzNSBmDQowMDAwMDAwMjU3IDY1NTM1IGYNCjAwMDAwMDAyNTggNjU1MzUgZg0KMDAw
MDAwMDI1OSA2NTUzNSBmDQowMDAwMDAwMjYwIDY1NTM1IGYNCjAwMDAwMDAyNjEgNjU1MzUgZg0K
MDAwMDAwMDI2MiA2NTUzNSBmDQowMDAwMDAwMjYzIDY1NTM1IGYNCjAwMDAwMDAyNjQgNjU1MzUg
Zg0KMDAwMDAwMDI2NSA2NTUzNSBmDQowMDAwMDAwMjY2IDY1NTM1IGYNCjAwMDAwMDAyNjcgNjU1
MzUgZg0KMDAwMDAwMDI2OCA2NTUzNSBmDQowMDAwMDAwMjY5IDY1NTM1IGYNCjAwMDAwMDAyNzAg
NjU1MzUgZg0KMDAwMDAwMDI3MSA2NTUzNSBmDQowMDAwMDAwMjcyIDY1NTM1IGYNCjAwMDAwMDAy
NzMgNjU1MzUgZg0KMDAwMDAwMDI3NCA2NTUzNSBmDQowMDAwMDAwMjc1IDY1NTM1IGYNCjAwMDAw
MDAyNzYgNjU1MzUgZg0KMDAwMDAwMDI3NyA2NTUzNSBmDQowMDAwMDAwMjc4IDY1NTM1IGYNCjAw
MDAwMDAyNzkgNjU1MzUgZg0KMDAwMDAwMDI4MCA2NTUzNSBmDQowMDAwMDAwMjgxIDY1NTM1IGYN
CjAwMDAwMDAyODIgNjU1MzUgZg0KMDAwMDAwMDI4MyA2NTUzNSBmDQowMDAwMDAwMjg0IDY1NTM1
IGYNCjAwMDAwMDAyODUgNjU1MzUgZg0KMDAwMDAwMDI4NiA2NTUzNSBmDQowMDAwMDAwMjg3IDY1
NTM1IGYNCjAwMDAwMDAyODggNjU1MzUgZg0KMDAwMDAwMDI4OSA2NTUzNSBmDQowMDAwMDAwMjkw
IDY1NTM1IGYNCjAwMDAwMDAyOTEgNjU1MzUgZg0KMDAwMDAwMDI5MiA2NTUzNSBmDQowMDAwMDAw
MjkzIDY1NTM1IGYNCjAwMDAwMDAyOTQgNjU1MzUgZg0KMDAwMDAwMDI5NSA2NTUzNSBmDQowMDAw
MDAwMjk2IDY1NTM1IGYNCjAwMDAwMDAyOTcgNjU1MzUgZg0KMDAwMDAwMDI5OCA2NTUzNSBmDQow
MDAwMDAwMjk5IDY1NTM1IGYNCjAwMDAwMDAzMDAgNjU1MzUgZg0KMDAwMDAwMDMwMSA2NTUzNSBm
DQowMDAwMDAwMzAyIDY1NTM1IGYNCjAwMDAwMDAzMDMgNjU1MzUgZg0KMDAwMDAwMDMwNCA2NTUz
NSBmDQowMDAwMDAwMzA1IDY1NTM1IGYNCjAwMDAwMDAzMDYgNjU1MzUgZg0KMDAwMDAwMDMwNyA2
NTUzNSBmDQowMDAwMDAwMzA4IDY1NTM1IGYNCjAwMDAwMDAzMDkgNjU1MzUgZg0KMDAwMDAwMDMx
MCA2NTUzNSBmDQowMDAwMDAwMzExIDY1NTM1IGYNCjAwMDAwMDAzMTIgNjU1MzUgZg0KMDAwMDAw
MDMxMyA2NTUzNSBmDQowMDAwMDAwMzE0IDY1NTM1IGYNCjAwMDAwMDAzMTUgNjU1MzUgZg0KMDAw
MDAwMDMxNiA2NTUzNSBmDQowMDAwMDAwMzE3IDY1NTM1IGYNCjAwMDAwMDAzMTggNjU1MzUgZg0K
MDAwMDAwMDMxOSA2NTUzNSBmDQowMDAwMDAwMzIwIDY1NTM1IGYNCjAwMDAwMDAzMjEgNjU1MzUg
Zg0KMDAwMDAwMDMyMiA2NTUzNSBmDQowMDAwMDAwMzIzIDY1NTM1IGYNCjAwMDAwMDAzMjQgNjU1
MzUgZg0KMDAwMDAwMDMyNSA2NTUzNSBmDQowMDAwMDAwMzI2IDY1NTM1IGYNCjAwMDAwMDAzMjcg
NjU1MzUgZg0KMDAwMDAwMDMyOCA2NTUzNSBmDQowMDAwMDAwMzI5IDY1NTM1IGYNCjAwMDAwMDAz
MzAgNjU1MzUgZg0KMDAwMDAwMDMzMSA2NTUzNSBmDQowMDAwMDAwMzMyIDY1NTM1IGYNCjAwMDAw
MDAzMzMgNjU1MzUgZg0KMDAwMDAwMDMzNCA2NTUzNSBmDQowMDAwMDAwMzM1IDY1NTM1IGYNCjAw
MDAwMDAzMzYgNjU1MzUgZg0KMDAwMDAwMDMzNyA2NTUzNSBmDQowMDAwMDAwMzM4IDY1NTM1IGYN
CjAwMDAwMDAzMzkgNjU1MzUgZg0KMDAwMDAwMDM0MCA2NTUzNSBmDQowMDAwMDAwMzQxIDY1NTM1
IGYNCjAwMDAwMDAzNDIgNjU1MzUgZg0KMDAwMDAwMDM0MyA2NTUzNSBmDQowMDAwMDAwMzQ0IDY1
NTM1IGYNCjAwMDAwMDAzNDUgNjU1MzUgZg0KMDAwMDAwMDM0NiA2NTUzNSBmDQowMDAwMDAwMzQ3
IDY1NTM1IGYNCjAwMDAwMDAzNDggNjU1MzUgZg0KMDAwMDAwMDM0OSA2NTUzNSBmDQowMDAwMDAw
MzUwIDY1NTM1IGYNCjAwMDAwMDAzNTEgNjU1MzUgZg0KMDAwMDAwMDM1MiA2NTUzNSBmDQowMDAw
MDAwMzUzIDY1NTM1IGYNCjAwMDAwMDAzNTQgNjU1MzUgZg0KMDAwMDAwMDM1NSA2NTUzNSBmDQow
MDAwMDAwMzU2IDY1NTM1IGYNCjAwMDAwMDAzNTcgNjU1MzUgZg0KMDAwMDAwMDM1OCA2NTUzNSBm
DQowMDAwMDAwMzU5IDY1NTM1IGYNCjAwMDAwMDAzNjAgNjU1MzUgZg0KMDAwMDAwMDM2MSA2NTUz
NSBmDQowMDAwMDAwMzYyIDY1NTM1IGYNCjAwMDAwMDAzNjMgNjU1MzUgZg0KMDAwMDAwMDM2NCA2
NTUzNSBmDQowMDAwMDAwMzY1IDY1NTM1IGYNCjAwMDAwMDAzNjYgNjU1MzUgZg0KMDAwMDAwMDM2
NyA2NTUzNSBmDQowMDAwMDAwMzY4IDY1NTM1IGYNCjAwMDAwMDAzNjkgNjU1MzUgZg0KMDAwMDAw
MDM3MCA2NTUzNSBmDQowMDAwMDAwMzcxIDY1NTM1IGYNCjAwMDAwMDAzNzIgNjU1MzUgZg0KMDAw
MDAwMDM3MyA2NTUzNSBmDQowMDAwMDAwMzc0IDY1NTM1IGYNCjAwMDAwMDAzNzUgNjU1MzUgZg0K
MDAwMDAwMDM3NiA2NTUzNSBmDQowMDAwMDAwMzc3IDY1NTM1IGYNCjAwMDAwMDAzNzggNjU1MzUg
Zg0KMDAwMDAwMDM3OSA2NTUzNSBmDQowMDAwMDAwMzgwIDY1NTM1IGYNCjAwMDAwMDAzODEgNjU1
MzUgZg0KMDAwMDAwMDM4MiA2NTUzNSBmDQowMDAwMDAwMzgzIDY1NTM1IGYNCjAwMDAwMDAzODQg
NjU1MzUgZg0KMDAwMDAwMDM4NSA2NTUzNSBmDQowMDAwMDAwMzg2IDY1NTM1IGYNCjAwMDAwMDAz
ODcgNjU1MzUgZg0KMDAwMDAwMDM4OCA2NTUzNSBmDQowMDAwMDAwMzg5IDY1NTM1IGYNCjAwMDAw
MDAzOTAgNjU1MzUgZg0KMDAwMDAwMDM5MSA2NTUzNSBmDQowMDAwMDAwMzkyIDY1NTM1IGYNCjAw
MDAwMDAzOTMgNjU1MzUgZg0KMDAwMDAwMDM5NCA2NTUzNSBmDQowMDAwMDAwMzk1IDY1NTM1IGYN
CjAwMDAwMDAzOTYgNjU1MzUgZg0KMDAwMDAwMDM5NyA2NTUzNSBmDQowMDAwMDAwMzk4IDY1NTM1
IGYNCjAwMDAwMDAzOTkgNjU1MzUgZg0KMDAwMDAwMDQwMCA2NTUzNSBmDQowMDAwMDAwNDAxIDY1
NTM1IGYNCjAwMDAwMDA0MDIgNjU1MzUgZg0KMDAwMDAwMDQwMyA2NTUzNSBmDQowMDAwMDAwNDA0
IDY1NTM1IGYNCjAwMDAwMDA0MDUgNjU1MzUgZg0KMDAwMDAwMDQwNiA2NTUzNSBmDQowMDAwMDAw
NDA3IDY1NTM1IGYNCjAwMDAwMDA0MDggNjU1MzUgZg0KMDAwMDAwMDQwOSA2NTUzNSBmDQowMDAw
MDAwNDEwIDY1NTM1IGYNCjAwMDAwMDA0MTEgNjU1MzUgZg0KMDAwMDAwMDQxMiA2NTUzNSBmDQow
MDAwMDAwNDEzIDY1NTM1IGYNCjAwMDAwMDA0MTQgNjU1MzUgZg0KMDAwMDAwMDQxNSA2NTUzNSBm
DQowMDAwMDAwNDE2IDY1NTM1IGYNCjAwMDAwMDA0MTcgNjU1MzUgZg0KMDAwMDAwMDQxOCA2NTUz
NSBmDQowMDAwMDAwNDE5IDY1NTM1IGYNCjAwMDAwMDA0MjAgNjU1MzUgZg0KMDAwMDAwMDQyMSA2
NTUzNSBmDQowMDAwMDAwNDIyIDY1NTM1IGYNCjAwMDAwMDA0MjMgNjU1MzUgZg0KMDAwMDAwMDQy
NCA2NTUzNSBmDQowMDAwMDAwNDI1IDY1NTM1IGYNCjAwMDAwMDA0MjYgNjU1MzUgZg0KMDAwMDAw
MDQyNyA2NTUzNSBmDQowMDAwMDAwNDI4IDY1NTM1IGYNCjAwMDAwMDA0MjkgNjU1MzUgZg0KMDAw
MDAwMDQzMCA2NTUzNSBmDQowMDAwMDAwNDMxIDY1NTM1IGYNCjAwMDAwMDA0MzIgNjU1MzUgZg0K
MDAwMDAwMDQzMyA2NTUzNSBmDQowMDAwMDAwNDM0IDY1NTM1IGYNCjAwMDAwMDA0MzUgNjU1MzUg
Zg0KMDAwMDAwMDQzNiA2NTUzNSBmDQowMDAwMDAwNDM3IDY1NTM1IGYNCjAwMDAwMDA0MzggNjU1
MzUgZg0KMDAwMDAwMDQzOSA2NTUzNSBmDQowMDAwMDAwNDQwIDY1NTM1IGYNCjAwMDAwMDA0NDEg
NjU1MzUgZg0KMDAwMDAwMDQ0MiA2NTUzNSBmDQowMDAwMDAwNDQzIDY1NTM1IGYNCjAwMDAwMDA0
NDQgNjU1MzUgZg0KMDAwMDAwMDQ0NSA2NTUzNSBmDQowMDAwMDAwNDQ2IDY1NTM1IGYNCjAwMDAw
MDA0NDcgNjU1MzUgZg0KMDAwMDAwMDQ0OCA2NTUzNSBmDQowMDAwMDAwNDQ5IDY1NTM1IGYNCjAw
MDAwMDA0NTAgNjU1MzUgZg0KMDAwMDAwMDQ1MSA2NTUzNSBmDQowMDAwMDAwNDUyIDY1NTM1IGYN
CjAwMDAwMDA0NTMgNjU1MzUgZg0KMDAwMDAwMDQ1NCA2NTUzNSBmDQowMDAwMDAwNDU1IDY1NTM1
IGYNCjAwMDAwMDA0NTYgNjU1MzUgZg0KMDAwMDAwMDQ1NyA2NTUzNSBmDQowMDAwMDAwNDU4IDY1
NTM1IGYNCjAwMDAwMDA0NTkgNjU1MzUgZg0KMDAwMDAwMDQ2MCA2NTUzNSBmDQowMDAwMDAwNDYx
IDY1NTM1IGYNCjAwMDAwMDA0NjIgNjU1MzUgZg0KMDAwMDAwMDQ2MyA2NTUzNSBmDQowMDAwMDAw
NDY0IDY1NTM1IGYNCjAwMDAwMDA0NjUgNjU1MzUgZg0KMDAwMDAwMDQ2NiA2NTUzNSBmDQowMDAw
MDAwNDY3IDY1NTM1IGYNCjAwMDAwMDA0NjggNjU1MzUgZg0KMDAwMDAwMDQ2OSA2NTUzNSBmDQow
MDAwMDAwNDcwIDY1NTM1IGYNCjAwMDAwMDA0NzEgNjU1MzUgZg0KMDAwMDAwMDQ3MiA2NTUzNSBm
DQowMDAwMDAwNDczIDY1NTM1IGYNCjAwMDAwMDA0NzQgNjU1MzUgZg0KMDAwMDAwMDQ3NSA2NTUz
NSBmDQowMDAwMDAwNDc2IDY1NTM1IGYNCjAwMDAwMDA0NzcgNjU1MzUgZg0KMDAwMDAwMDQ3OCA2
NTUzNSBmDQowMDAwMDAwNDc5IDY1NTM1IGYNCjAwMDAwMDA0ODAgNjU1MzUgZg0KMDAwMDAwMDQ4
MSA2NTUzNSBmDQowMDAwMDAwNDgyIDY1NTM1IGYNCjAwMDAwMDA0ODMgNjU1MzUgZg0KMDAwMDAw
MDQ4NCA2NTUzNSBmDQowMDAwMDAwNDg1IDY1NTM1IGYNCjAwMDAwMDA0ODYgNjU1MzUgZg0KMDAw
MDAwMDQ4NyA2NTUzNSBmDQowMDAwMDAwNDg4IDY1NTM1IGYNCjAwMDAwMDA0ODkgNjU1MzUgZg0K
MDAwMDAwMDQ5MCA2NTUzNSBmDQowMDAwMDAwNDkxIDY1NTM1IGYNCjAwMDAwMDA0OTIgNjU1MzUg
Zg0KMDAwMDAwMDQ5MyA2NTUzNSBmDQowMDAwMDAwNDk0IDY1NTM1IGYNCjAwMDAwMDA0OTUgNjU1
MzUgZg0KMDAwMDAwMDQ5NiA2NTUzNSBmDQowMDAwMDAwNDk3IDY1NTM1IGYNCjAwMDAwMDA0OTgg
NjU1MzUgZg0KMDAwMDAwMDQ5OSA2NTUzNSBmDQowMDAwMDAwNTAwIDY1NTM1IGYNCjAwMDAwMDA1
MDEgNjU1MzUgZg0KMDAwMDAwMDUwMiA2NTUzNSBmDQowMDAwMDAwNTAzIDY1NTM1IGYNCjAwMDAw
MDA1MDQgNjU1MzUgZg0KMDAwMDAwMDUwNSA2NTUzNSBmDQowMDAwMDAwNTA2IDY1NTM1IGYNCjAw
MDAwMDA1MDcgNjU1MzUgZg0KMDAwMDAwMDUwOCA2NTUzNSBmDQowMDAwMDAwNTA5IDY1NTM1IGYN
CjAwMDAwMDA1MTAgNjU1MzUgZg0KMDAwMDAwMDUxMSA2NTUzNSBmDQowMDAwMDAwNTEyIDY1NTM1
IGYNCjAwMDAwMDA1MTMgNjU1MzUgZg0KMDAwMDAwMDUxNCA2NTUzNSBmDQowMDAwMDAwNTE1IDY1
NTM1IGYNCjAwMDAwMDA1MTYgNjU1MzUgZg0KMDAwMDAwMDUxNyA2NTUzNSBmDQowMDAwMDAwNTE4
IDY1NTM1IGYNCjAwMDAwMDA1MTkgNjU1MzUgZg0KMDAwMDAwMDUyMCA2NTUzNSBmDQowMDAwMDAw
NTIxIDY1NTM1IGYNCjAwMDAwMDA1MjIgNjU1MzUgZg0KMDAwMDAwMDUyMyA2NTUzNSBmDQowMDAw
MDAwNTI0IDY1NTM1IGYNCjAwMDAwMDA1MjUgNjU1MzUgZg0KMDAwMDAwMDUyNiA2NTUzNSBmDQow
MDAwMDAwNTI3IDY1NTM1IGYNCjAwMDAwMDA1MjggNjU1MzUgZg0KMDAwMDAwMDUyOSA2NTUzNSBm
DQowMDAwMDAwNTMwIDY1NTM1IGYNCjAwMDAwMDA1MzEgNjU1MzUgZg0KMDAwMDAwMDUzMiA2NTUz
NSBmDQowMDAwMDAwNTMzIDY1NTM1IGYNCjAwMDAwMDA1MzQgNjU1MzUgZg0KMDAwMDAwMDUzNSA2
NTUzNSBmDQowMDAwMDAwNTM2IDY1NTM1IGYNCjAwMDAwMDA1MzcgNjU1MzUgZg0KMDAwMDAwMDUz
OCA2NTUzNSBmDQowMDAwMDAwNTM5IDY1NTM1IGYNCjAwMDAwMDA1NDAgNjU1MzUgZg0KMDAwMDAw
MDU0MSA2NTUzNSBmDQowMDAwMDAwNTQyIDY1NTM1IGYNCjAwMDAwMDA1NDMgNjU1MzUgZg0KMDAw
MDAwMDU0NCA2NTUzNSBmDQowMDAwMDAwNTQ1IDY1NTM1IGYNCjAwMDAwMDA1NDYgNjU1MzUgZg0K
MDAwMDAwMDU0NyA2NTUzNSBmDQowMDAwMDAwNTQ4IDY1NTM1IGYNCjAwMDAwMDA1NDkgNjU1MzUg
Zg0KMDAwMDAwMDU1MCA2NTUzNSBmDQowMDAwMDAwNTUxIDY1NTM1IGYNCjAwMDAwMDA1NTIgNjU1
MzUgZg0KMDAwMDAwMDU1MyA2NTUzNSBmDQowMDAwMDAwNTU0IDY1NTM1IGYNCjAwMDAwMDA1NTUg
NjU1MzUgZg0KMDAwMDAwMDU1NiA2NTUzNSBmDQowMDAwMDAwNTU3IDY1NTM1IGYNCjAwMDAwMDA1
NTggNjU1MzUgZg0KMDAwMDAwMDU1OSA2NTUzNSBmDQowMDAwMDAwNTYwIDY1NTM1IGYNCjAwMDAw
MDA1NjEgNjU1MzUgZg0KMDAwMDAwMDU2MiA2NTUzNSBmDQowMDAwMDAwNTYzIDY1NTM1IGYNCjAw
MDAwMDA1NjQgNjU1MzUgZg0KMDAwMDAwMDU2NSA2NTUzNSBmDQowMDAwMDAwNTY2IDY1NTM1IGYN
CjAwMDAwMDA1NjcgNjU1MzUgZg0KMDAwMDAwMDU2OCA2NTUzNSBmDQowMDAwMDAwNTY5IDY1NTM1
IGYNCjAwMDAwMDA1NzAgNjU1MzUgZg0KMDAwMDAwMDU3MSA2NTUzNSBmDQowMDAwMDAwNTcyIDY1
NTM1IGYNCjAwMDAwMDA1NzMgNjU1MzUgZg0KMDAwMDAwMDU3NCA2NTUzNSBmDQowMDAwMDAwNTc1
IDY1NTM1IGYNCjAwMDAwMDA1NzYgNjU1MzUgZg0KMDAwMDAwMDU3NyA2NTUzNSBmDQowMDAwMDAw
NTc4IDY1NTM1IGYNCjAwMDAwMDA1NzkgNjU1MzUgZg0KMDAwMDAwMDU4MCA2NTUzNSBmDQowMDAw
MDAwNTgxIDY1NTM1IGYNCjAwMDAwMDA1ODIgNjU1MzUgZg0KMDAwMDAwMDU4MyA2NTUzNSBmDQow
MDAwMDAwNTg0IDY1NTM1IGYNCjAwMDAwMDA1ODUgNjU1MzUgZg0KMDAwMDAwMDU4NiA2NTUzNSBm
DQowMDAwMDAwNTg3IDY1NTM1IGYNCjAwMDAwMDA1ODggNjU1MzUgZg0KMDAwMDAwMDU4OSA2NTUz
NSBmDQowMDAwMDAwNTkwIDY1NTM1IGYNCjAwMDAwMDA1OTEgNjU1MzUgZg0KMDAwMDAwMDU5MiA2
NTUzNSBmDQowMDAwMDAwNTkzIDY1NTM1IGYNCjAwMDAwMDA1OTQgNjU1MzUgZg0KMDAwMDAwMDU5
NSA2NTUzNSBmDQowMDAwMDAwNTk2IDY1NTM1IGYNCjAwMDAwMDA1OTcgNjU1MzUgZg0KMDAwMDAw
MDU5OCA2NTUzNSBmDQowMDAwMDAwNTk5IDY1NTM1IGYNCjAwMDAwMDA2MDAgNjU1MzUgZg0KMDAw
MDAwMDYwMSA2NTUzNSBmDQowMDAwMDAwNjAyIDY1NTM1IGYNCjAwMDAwMDA2MDMgNjU1MzUgZg0K
MDAwMDAwMDYwNCA2NTUzNSBmDQowMDAwMDAwNjA1IDY1NTM1IGYNCjAwMDAwMDA2MDYgNjU1MzUg
Zg0KMDAwMDAwMDYwNyA2NTUzNSBmDQowMDAwMDAwNjA4IDY1NTM1IGYNCjAwMDAwMDA2MDkgNjU1
MzUgZg0KMDAwMDAwMDYxMCA2NTUzNSBmDQowMDAwMDAwNjExIDY1NTM1IGYNCjAwMDAwMDA2MTIg
NjU1MzUgZg0KMDAwMDAwMDYxMyA2NTUzNSBmDQowMDAwMDAwNjE0IDY1NTM1IGYNCjAwMDAwMDA2
MTUgNjU1MzUgZg0KMDAwMDAwMDYxNiA2NTUzNSBmDQowMDAwMDAwNjE3IDY1NTM1IGYNCjAwMDAw
MDA2MTggNjU1MzUgZg0KMDAwMDAwMDYxOSA2NTUzNSBmDQowMDAwMDAwNjIwIDY1NTM1IGYNCjAw
MDAwMDA2MjEgNjU1MzUgZg0KMDAwMDAwMDYyMiA2NTUzNSBmDQowMDAwMDAwNjIzIDY1NTM1IGYN
CjAwMDAwMDA2MjQgNjU1MzUgZg0KMDAwMDAwMDYyNSA2NTUzNSBmDQowMDAwMDAwNjI2IDY1NTM1
IGYNCjAwMDAwMDA2MjcgNjU1MzUgZg0KMDAwMDAwMDYyOCA2NTUzNSBmDQowMDAwMDAwNjI5IDY1
NTM1IGYNCjAwMDAwMDA2MzAgNjU1MzUgZg0KMDAwMDAwMDYzMSA2NTUzNSBmDQowMDAwMDAwNjMy
IDY1NTM1IGYNCjAwMDAwMDA2MzMgNjU1MzUgZg0KMDAwMDAwMDYzNCA2NTUzNSBmDQowMDAwMDAw
NjM1IDY1NTM1IGYNCjAwMDAwMDA2MzYgNjU1MzUgZg0KMDAwMDAwMDYzNyA2NTUzNSBmDQowMDAw
MDAwNjM4IDY1NTM1IGYNCjAwMDAwMDA2MzkgNjU1MzUgZg0KMDAwMDAwMDY0MCA2NTUzNSBmDQow
MDAwMDAwNjQxIDY1NTM1IGYNCjAwMDAwMDA2NDIgNjU1MzUgZg0KMDAwMDAwMDY0MyA2NTUzNSBm
DQowMDAwMDAwNjQ0IDY1NTM1IGYNCjAwMDAwMDA2NDUgNjU1MzUgZg0KMDAwMDAwMDY0NiA2NTUz
NSBmDQowMDAwMDAwNjQ3IDY1NTM1IGYNCjAwMDAwMDA2NDggNjU1MzUgZg0KMDAwMDAwMDY0OSA2
NTUzNSBmDQowMDAwMDAwNjUwIDY1NTM1IGYNCjAwMDAwMDA2NTEgNjU1MzUgZg0KMDAwMDAwMDY1
MiA2NTUzNSBmDQowMDAwMDAwNjUzIDY1NTM1IGYNCjAwMDAwMDA2NTQgNjU1MzUgZg0KMDAwMDAw
MDY1NSA2NTUzNSBmDQowMDAwMDAwNjU2IDY1NTM1IGYNCjAwMDAwMDA2NTcgNjU1MzUgZg0KMDAw
MDAwMDY1OCA2NTUzNSBmDQowMDAwMDAwNjU5IDY1NTM1IGYNCjAwMDAwMDA2NjAgNjU1MzUgZg0K
MDAwMDAwMDY2MSA2NTUzNSBmDQowMDAwMDAwNjYyIDY1NTM1IGYNCjAwMDAwMDA2NjMgNjU1MzUg
Zg0KMDAwMDAwMDY2NCA2NTUzNSBmDQowMDAwMDAwNjY1IDY1NTM1IGYNCjAwMDAwMDA2NjYgNjU1
MzUgZg0KMDAwMDAwMDY2NyA2NTUzNSBmDQowMDAwMDAwNjY4IDY1NTM1IGYNCjAwMDAwMDA2Njkg
NjU1MzUgZg0KMDAwMDAwMDY3MCA2NTUzNSBmDQowMDAwMDAwNjcxIDY1NTM1IGYNCjAwMDAwMDA2
NzIgNjU1MzUgZg0KMDAwMDAwMDY3MyA2NTUzNSBmDQowMDAwMDAwNjc0IDY1NTM1IGYNCjAwMDAw
MDA2NzUgNjU1MzUgZg0KMDAwMDAwMDY3NiA2NTUzNSBmDQowMDAwMDAwNjc3IDY1NTM1IGYNCjAw
MDAwMDA2NzggNjU1MzUgZg0KMDAwMDAwMDY3OSA2NTUzNSBmDQowMDAwMDAwNjgwIDY1NTM1IGYN
CjAwMDAwMDA2ODEgNjU1MzUgZg0KMDAwMDAwMDY4MiA2NTUzNSBmDQowMDAwMDAwNjgzIDY1NTM1
IGYNCjAwMDAwMDA2ODQgNjU1MzUgZg0KMDAwMDAwMDY4NSA2NTUzNSBmDQowMDAwMDAwNjg2IDY1
NTM1IGYNCjAwMDAwMDA2ODcgNjU1MzUgZg0KMDAwMDAwMDY4OCA2NTUzNSBmDQowMDAwMDAwNjg5
IDY1NTM1IGYNCjAwMDAwMDA2OTAgNjU1MzUgZg0KMDAwMDAwMDY5MSA2NTUzNSBmDQowMDAwMDAw
NjkyIDY1NTM1IGYNCjAwMDAwMDA2OTMgNjU1MzUgZg0KMDAwMDAwMDY5NCA2NTUzNSBmDQowMDAw
MDAwNjk1IDY1NTM1IGYNCjAwMDAwMDA2OTYgNjU1MzUgZg0KMDAwMDAwMDY5NyA2NTUzNSBmDQow
MDAwMDAwNjk4IDY1NTM1IGYNCjAwMDAwMDA2OTkgNjU1MzUgZg0KMDAwMDAwMDcwMCA2NTUzNSBm
DQowMDAwMDAwNzAxIDY1NTM1IGYNCjAwMDAwMDA3MDIgNjU1MzUgZg0KMDAwMDAwMDcwMyA2NTUz
NSBmDQowMDAwMDAwNzA0IDY1NTM1IGYNCjAwMDAwMDA3MDUgNjU1MzUgZg0KMDAwMDAwMDcwNiA2
NTUzNSBmDQowMDAwMDAwNzA3IDY1NTM1IGYNCjAwMDAwMDA3MDggNjU1MzUgZg0KMDAwMDAwMDcw
OSA2NTUzNSBmDQowMDAwMDAwNzEwIDY1NTM1IGYNCjAwMDAwMDA3MTEgNjU1MzUgZg0KMDAwMDAw
MDcxMiA2NTUzNSBmDQowMDAwMDAwNzEzIDY1NTM1IGYNCjAwMDAwMDA3MTQgNjU1MzUgZg0KMDAw
MDAwMDcxNSA2NTUzNSBmDQowMDAwMDAwNzE2IDY1NTM1IGYNCjAwMDAwMDA3MTcgNjU1MzUgZg0K
MDAwMDAwMDcxOCA2NTUzNSBmDQowMDAwMDAwNzE5IDY1NTM1IGYNCjAwMDAwMDA3MjAgNjU1MzUg
Zg0KMDAwMDAwMDcyMSA2NTUzNSBmDQowMDAwMDAwNzIyIDY1NTM1IGYNCjAwMDAwMDA3MjMgNjU1
MzUgZg0KMDAwMDAwMDcyNCA2NTUzNSBmDQowMDAwMDAwNzI1IDY1NTM1IGYNCjAwMDAwMDA3MjYg
NjU1MzUgZg0KMDAwMDAwMDcyNyA2NTUzNSBmDQowMDAwMDAwNzI4IDY1NTM1IGYNCjAwMDAwMDA3
MjkgNjU1MzUgZg0KMDAwMDAwMDczMCA2NTUzNSBmDQowMDAwMDAwNzMxIDY1NTM1IGYNCjAwMDAw
MDA3MzIgNjU1MzUgZg0KMDAwMDAwMDczMyA2NTUzNSBmDQowMDAwMDAwNzM0IDY1NTM1IGYNCjAw
MDAwMDA3MzUgNjU1MzUgZg0KMDAwMDAwMDczNiA2NTUzNSBmDQowMDAwMDAwNzM3IDY1NTM1IGYN
CjAwMDAwMDA3MzggNjU1MzUgZg0KMDAwMDAwMDczOSA2NTUzNSBmDQowMDAwMDAwNzQwIDY1NTM1
IGYNCjAwMDAwMDA3NDEgNjU1MzUgZg0KMDAwMDAwMDc0MiA2NTUzNSBmDQowMDAwMDAwNzQzIDY1
NTM1IGYNCjAwMDAwMDA3NDQgNjU1MzUgZg0KMDAwMDAwMDc0NSA2NTUzNSBmDQowMDAwMDAwNzQ2
IDY1NTM1IGYNCjAwMDAwMDA3NDcgNjU1MzUgZg0KMDAwMDAwMDc0OCA2NTUzNSBmDQowMDAwMDAw
NzQ5IDY1NTM1IGYNCjAwMDAwMDA3NTAgNjU1MzUgZg0KMDAwMDAwMDc1MSA2NTUzNSBmDQowMDAw
MDAwNzUyIDY1NTM1IGYNCjAwMDAwMDA3NTMgNjU1MzUgZg0KMDAwMDAwMDc1NCA2NTUzNSBmDQow
MDAwMDAwNzU1IDY1NTM1IGYNCjAwMDAwMDA3NTYgNjU1MzUgZg0KMDAwMDAwMDc1NyA2NTUzNSBm
DQowMDAwMDAwNzU4IDY1NTM1IGYNCjAwMDAwMDA3NTkgNjU1MzUgZg0KMDAwMDAwMDc2MCA2NTUz
NSBmDQowMDAwMDAwNzYxIDY1NTM1IGYNCjAwMDAwMDA3NjIgNjU1MzUgZg0KMDAwMDAwMDc2MyA2
NTUzNSBmDQowMDAwMDAwNzY0IDY1NTM1IGYNCjAwMDAwMDA3NjUgNjU1MzUgZg0KMDAwMDAwMDc2
NiA2NTUzNSBmDQowMDAwMDAwNzY3IDY1NTM1IGYNCjAwMDAwMDA3NjggNjU1MzUgZg0KMDAwMDAw
MDc2OSA2NTUzNSBmDQowMDAwMDAwNzcwIDY1NTM1IGYNCjAwMDAwMDA3NzEgNjU1MzUgZg0KMDAw
MDAwMDc3MiA2NTUzNSBmDQowMDAwMDAwNzczIDY1NTM1IGYNCjAwMDAwMDA3NzQgNjU1MzUgZg0K
MDAwMDAwMDc3NSA2NTUzNSBmDQowMDAwMDAwNzc2IDY1NTM1IGYNCjAwMDAwMDA3NzcgNjU1MzUg
Zg0KMDAwMDAwMDc3OCA2NTUzNSBmDQowMDAwMDAwNzc5IDY1NTM1IGYNCjAwMDAwMDA3ODAgNjU1
MzUgZg0KMDAwMDAwMDc4MSA2NTUzNSBmDQowMDAwMDAwNzgyIDY1NTM1IGYNCjAwMDAwMDA3ODMg
NjU1MzUgZg0KMDAwMDAwMDc4NCA2NTUzNSBmDQowMDAwMDAwNzg1IDY1NTM1IGYNCjAwMDAwMDA3
ODYgNjU1MzUgZg0KMDAwMDAwMDc4NyA2NTUzNSBmDQowMDAwMDAwNzg4IDY1NTM1IGYNCjAwMDAw
MDA3ODkgNjU1MzUgZg0KMDAwMDAwMDc5MCA2NTUzNSBmDQowMDAwMDAwNzkxIDY1NTM1IGYNCjAw
MDAwMDA3OTIgNjU1MzUgZg0KMDAwMDAwMDc5MyA2NTUzNSBmDQowMDAwMDAwNzk0IDY1NTM1IGYN
CjAwMDAwMDA3OTUgNjU1MzUgZg0KMDAwMDAwMDc5NiA2NTUzNSBmDQowMDAwMDAwNzk3IDY1NTM1
IGYNCjAwMDAwMDA3OTggNjU1MzUgZg0KMDAwMDAwMDc5OSA2NTUzNSBmDQowMDAwMDAwODAwIDY1
NTM1IGYNCjAwMDAwMDA4MDEgNjU1MzUgZg0KMDAwMDAwMDgwMiA2NTUzNSBmDQowMDAwMDAwODAz
IDY1NTM1IGYNCjAwMDAwMDA4MDQgNjU1MzUgZg0KMDAwMDAwMDgwNSA2NTUzNSBmDQowMDAwMDAw
ODA2IDY1NTM1IGYNCjAwMDAwMDA4MDcgNjU1MzUgZg0KMDAwMDAwMDgwOCA2NTUzNSBmDQowMDAw
MDAwODA5IDY1NTM1IGYNCjAwMDAwMDA4MTAgNjU1MzUgZg0KMDAwMDAwMDgxMSA2NTUzNSBmDQow
MDAwMDAwODEyIDY1NTM1IGYNCjAwMDAwMDA4MTMgNjU1MzUgZg0KMDAwMDAwMDgxNCA2NTUzNSBm
DQowMDAwMDAwODE1IDY1NTM1IGYNCjAwMDAwMDA4MTYgNjU1MzUgZg0KMDAwMDAwMDgxNyA2NTUz
NSBmDQowMDAwMDAwODE4IDY1NTM1IGYNCjAwMDAwMDA4MTkgNjU1MzUgZg0KMDAwMDAwMDgyMCA2
NTUzNSBmDQowMDAwMDAwODIxIDY1NTM1IGYNCjAwMDAwMDA4MjIgNjU1MzUgZg0KMDAwMDAwMDgy
MyA2NTUzNSBmDQowMDAwMDAwODI0IDY1NTM1IGYNCjAwMDAwMDA4MjUgNjU1MzUgZg0KMDAwMDAw
MDgyNiA2NTUzNSBmDQowMDAwMDAwODI3IDY1NTM1IGYNCjAwMDAwMDA4MjggNjU1MzUgZg0KMDAw
MDAwMDgyOSA2NTUzNSBmDQowMDAwMDAwODMwIDY1NTM1IGYNCjAwMDAwMDA4MzEgNjU1MzUgZg0K
MDAwMDAwMDgzMiA2NTUzNSBmDQowMDAwMDAwODMzIDY1NTM1IGYNCjAwMDAwMDA4MzQgNjU1MzUg
Zg0KMDAwMDAwMDgzNSA2NTUzNSBmDQowMDAwMDAwODM2IDY1NTM1IGYNCjAwMDAwMDA4MzcgNjU1
MzUgZg0KMDAwMDAwMDgzOCA2NTUzNSBmDQowMDAwMDAwODM5IDY1NTM1IGYNCjAwMDAwMDA4NDAg
NjU1MzUgZg0KMDAwMDAwMDg0MSA2NTUzNSBmDQowMDAwMDAwODQyIDY1NTM1IGYNCjAwMDAwMDA4
NDMgNjU1MzUgZg0KMDAwMDAwMDg0NCA2NTUzNSBmDQowMDAwMDAwODQ1IDY1NTM1IGYNCjAwMDAw
MDA4NDYgNjU1MzUgZg0KMDAwMDAwMDg0NyA2NTUzNSBmDQowMDAwMDAwODQ4IDY1NTM1IGYNCjAw
MDAwMDA4NDkgNjU1MzUgZg0KMDAwMDAwMDg1MCA2NTUzNSBmDQowMDAwMDAwODUxIDY1NTM1IGYN
CjAwMDAwMDA4NTIgNjU1MzUgZg0KMDAwMDAwMDg1MyA2NTUzNSBmDQowMDAwMDAwODU0IDY1NTM1
IGYNCjAwMDAwMDA4NTUgNjU1MzUgZg0KMDAwMDAwMDg1NiA2NTUzNSBmDQowMDAwMDAwODU3IDY1
NTM1IGYNCjAwMDAwMDA4NTggNjU1MzUgZg0KMDAwMDAwMDg1OSA2NTUzNSBmDQowMDAwMDAwODYw
IDY1NTM1IGYNCjAwMDAwMDA4NjEgNjU1MzUgZg0KMDAwMDAwMDg2MiA2NTUzNSBmDQowMDAwMDAw
ODYzIDY1NTM1IGYNCjAwMDAwMDA4NjQgNjU1MzUgZg0KMDAwMDAwMDg2NSA2NTUzNSBmDQowMDAw
MDAwODY2IDY1NTM1IGYNCjAwMDAwMDA4NjcgNjU1MzUgZg0KMDAwMDAwMDg2OCA2NTUzNSBmDQow
MDAwMDAwODY5IDY1NTM1IGYNCjAwMDAwMDA4NzAgNjU1MzUgZg0KMDAwMDAwMDg3MSA2NTUzNSBm
DQowMDAwMDAwODcyIDY1NTM1IGYNCjAwMDAwMDA4NzMgNjU1MzUgZg0KMDAwMDAwMDg3NCA2NTUz
NSBmDQowMDAwMDAwODc1IDY1NTM1IGYNCjAwMDAwMDA4NzYgNjU1MzUgZg0KMDAwMDAwMDg3NyA2
NTUzNSBmDQowMDAwMDAwODc4IDY1NTM1IGYNCjAwMDAwMDA4NzkgNjU1MzUgZg0KMDAwMDAwMDg4
MCA2NTUzNSBmDQowMDAwMDAwODgxIDY1NTM1IGYNCjAwMDAwMDA4ODIgNjU1MzUgZg0KMDAwMDAw
MDg4MyA2NTUzNSBmDQowMDAwMDAwODg0IDY1NTM1IGYNCjAwMDAwMDA4ODUgNjU1MzUgZg0KMDAw
MDAwMDg4NiA2NTUzNSBmDQowMDAwMDAwODg3IDY1NTM1IGYNCjAwMDAwMDA4ODggNjU1MzUgZg0K
MDAwMDAwMDg4OSA2NTUzNSBmDQowMDAwMDAwODkwIDY1NTM1IGYNCjAwMDAwMDA4OTEgNjU1MzUg
Zg0KMDAwMDAwMDg5MiA2NTUzNSBmDQowMDAwMDAwODkzIDY1NTM1IGYNCjAwMDAwMDA4OTQgNjU1
MzUgZg0KMDAwMDAwMDg5NSA2NTUzNSBmDQowMDAwMDAwODk2IDY1NTM1IGYNCjAwMDAwMDA4OTcg
NjU1MzUgZg0KMDAwMDAwMDg5OCA2NTUzNSBmDQowMDAwMDAwODk5IDY1NTM1IGYNCjAwMDAwMDA5
MDAgNjU1MzUgZg0KMDAwMDAwMDkwMSA2NTUzNSBmDQowMDAwMDAwOTAyIDY1NTM1IGYNCjAwMDAw
MDA5MDMgNjU1MzUgZg0KMDAwMDAwMDkwNCA2NTUzNSBmDQowMDAwMDAwOTA1IDY1NTM1IGYNCjAw
MDAwMDA5MDYgNjU1MzUgZg0KMDAwMDAwMDkwNyA2NTUzNSBmDQowMDAwMDAwOTA4IDY1NTM1IGYN
CjAwMDAwMDA5MDkgNjU1MzUgZg0KMDAwMDAwMDkxMCA2NTUzNSBmDQowMDAwMDAwOTExIDY1NTM1
IGYNCjAwMDAwMDA5MTIgNjU1MzUgZg0KMDAwMDAwMDkxMyA2NTUzNSBmDQowMDAwMDAwOTE0IDY1
NTM1IGYNCjAwMDAwMDA5MTUgNjU1MzUgZg0KMDAwMDAwMDkxNiA2NTUzNSBmDQowMDAwMDAwOTE3
IDY1NTM1IGYNCjAwMDAwMDA5MTggNjU1MzUgZg0KMDAwMDAwMDkxOSA2NTUzNSBmDQowMDAwMDAw
OTIwIDY1NTM1IGYNCjAwMDAwMDA5MjEgNjU1MzUgZg0KMDAwMDAwMDkyMiA2NTUzNSBmDQowMDAw
MDAwOTIzIDY1NTM1IGYNCjAwMDAwMDA5MjQgNjU1MzUgZg0KMDAwMDAwMDkyNSA2NTUzNSBmDQow
MDAwMDAwOTI2IDY1NTM1IGYNCjAwMDAwMDA5MjcgNjU1MzUgZg0KMDAwMDAwMDkyOCA2NTUzNSBm
DQowMDAwMDAwOTI5IDY1NTM1IGYNCjAwMDAwMDA5MzAgNjU1MzUgZg0KMDAwMDAwMDkzMSA2NTUz
NSBmDQowMDAwMDAwOTMyIDY1NTM1IGYNCjAwMDAwMDA5MzMgNjU1MzUgZg0KMDAwMDAwMDAwMCA2
NTUzNSBmDQowMDAwMTYwMjI5IDAwMDAwIG4NCjAwMDAxNjA1NTkgMDAwMDAgbg0KMDAwMDE4MTEy
NiAwMDAwMCBuDQowMDAwMTgxNTQ1IDAwMDAwIG4NCjAwMDAyMDg1NjMgMDAwMDAgbg0KMDAwMDIw
ODk5NCAwMDAwMCBuDQowMDAwMjA5MzU1IDAwMDAwIG4NCjAwMDAyMDk1NTcgMDAwMDAgbg0KMDAw
MDIyMTY0OCAwMDAwMCBuDQowMDAwMjIxOTQ5IDAwMDAwIG4NCjAwMDAyMzUxOTQgMDAwMDAgbg0K
MDAwMDIzNTIzOCAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDk0Ni9Sb290IDEgMCBSL0luZm8g
NzcgMCBSL0lEWzw4QzEyMzk5Rjc5RkJFQjQ2Qjc1ODVBREYzRDk0NTY1Mz48OEMxMjM5OUY3OUZC
RUI0NkI3NTg1QURGM0Q5NDU2NTM+XSA+Pg0Kc3RhcnR4cmVmDQoyMzczNTkNCiUlRU9GDQp4cmVm
DQowIDANCnRyYWlsZXINCjw8L1NpemUgOTQ2L1Jvb3QgMSAwIFIvSW5mbyA3NyAwIFIvSURbPDhD
MTIzOTlGNzlGQkVCNDZCNzU4NUFERjNEOTQ1NjUzPjw4QzEyMzk5Rjc5RkJFQjQ2Qjc1ODVBREYz
RDk0NTY1Mz5dIC9QcmV2IDIzNzM1OS9YUmVmU3RtIDIzNTIzOD4+DQpzdGFydHhyZWYNCjI1NjQz
OQ0KJSVFT0Y=

--_002_DE8DF0795D48FD4CA783C40EC82923353610F0SHSMSX101ccrcorpi_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--_002_DE8DF0795D48FD4CA783C40EC82923353610F0SHSMSX101ccrcorpi_--


From xen-devel-bounces@lists.xen.org Sat Oct 20 08:48:08 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Oct 2012 08:48:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TPUiZ-0001zh-2X; Sat, 20 Oct 2012 08:47:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <blauwirbel@gmail.com>) id 1TPUiX-0001zc-0R
	for xen-devel@lists.xensource.com; Sat, 20 Oct 2012 08:47:37 +0000
Received: from [193.109.254.147:9162] by server-2.bemta-14.messagelabs.com id
	DF/7B-19917-82562805; Sat, 20 Oct 2012 08:47:36 +0000
X-Env-Sender: blauwirbel@gmail.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1350722850!13402384!1
X-Originating-IP: [209.85.223.171]
X-SpamReason: No, hits=0.8 required=7.0 tests=BODY_RANDOM_LONG,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12701 invoked from network); 20 Oct 2012 08:47:31 -0000
Received: from mail-ie0-f171.google.com (HELO mail-ie0-f171.google.com)
	(209.85.223.171)
	by server-3.tower-27.messagelabs.com with RC4-SHA encrypted SMTP;
	20 Oct 2012 08:47:31 -0000
Received: by mail-ie0-f171.google.com with SMTP id s9so2196200iec.30
	for <xen-devel@lists.xensource.com>;
	Sat, 20 Oct 2012 01:47:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=e4XP3n8O0fPdB/JH2w/ruqiUDC5Hj4T7uOCTF5mi9rI=;
	b=ysbIdPk228vLs/F0iI1lPgYWV/VbWpSoyuaE1XcL5g8GhbRNQVVofxHKbFG807uVn6
	t9HFEjqHoBssNrUko8F0dLlTvwSzG5pfgCeSYWCCbxmPcSWoub1abACRTgdQlJ9ORMdY
	hQzXLrgYCRgJgn7LU2QFS4FG1sYnqCFtww/u6ZzOG6FWSbKhEKeZ+xW12CSKtxzd6t9M
	izyqUqWx92vuFJe+Pgl3cA2upmdWLb4ml24UwZClzwnK1juy5wn1qmVqyinugK4gxO1J
	SmwfkSVWIJed9kCCygtP5BAjz+J0THpctgnkK/d5SjQkh/7AenJjSdX4JRs//hCFdV9V
	KPqA==
Received: by 10.42.101.11 with SMTP id c11mr3220730ico.52.1350722850144; Sat,
	20 Oct 2012 01:47:30 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.53.130 with HTTP; Sat, 20 Oct 2012 01:47:09 -0700 (PDT)
In-Reply-To: <1350332522-26635-1-git-send-email-ehabkost@redhat.com>
References: <1350332522-26635-1-git-send-email-ehabkost@redhat.com>
From: Blue Swirl <blauwirbel@gmail.com>
Date: Sat, 20 Oct 2012 08:47:09 +0000
Message-ID: <CAAu8pHvwp9LJc01FhMWeKtKr3xpJ0cP1SY_TTCjVew8zxd=u+w@mail.gmail.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Evgeny Voevodin <e.voevodin@samsung.com>, qemu-devel@nongnu.org,
	Peter Crosthwaite <peter.crosthwaite@petalogix.com>,
	Max Filippov <jcmvbkbc@gmail.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Guan Xuetao <gxt@mprc.pku.edu.cn>, xen-devel@lists.xensource.com,
	Igor Mitsyanko <i.mitsyanko@samsung.com>,
	Magnus Damm <magnus.damm@gmail.com>, Alexander Graf <agraf@suse.de>,
	=?UTF-8?Q?Herv=C3=A9_Poussineau?= <hpoussin@reactos.org>,
	Maksim Kozlov <m.kozlov@samsung.com>,
	Andrzej Zaborowski <balrogg@gmail.com>,
	Fabien Chouteau <chouteau@adacore.com>, Jan Kiszka <jan.kiszka@web.de>,
	Paul Brook <paul@codesourcery.com>, Anthony Liguori <aliguori@us.ibm.com>,
	Michael Walle <michael@walle.cc>, qemu-ppc@nongnu.org,
	Dmitry Solodkiy <d.solodkiy@samsung.com>,
	Aurelien Jarno <aurelien@aurel32.net>
Subject: Re: [Xen-devel] [QEMU PATCH v4] create struct for machine
	initialization arguments
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

Thanks, applied.

On Mon, Oct 15, 2012 at 8:22 PM, Eduardo Habkost <ehabkost@redhat.com> wrote:
> This should help us to:
> - More easily add or remove machine initialization arguments without
>   having to change every single machine init function;
> - More easily make mechanical changes involving the machine init
>   functions in the future;
> - Let machine initialization forward the init arguments to other
>   functions more easily.
>
> This change was half-mechanical process: first the struct was added with
> the local ram_size, boot_device, kernel_*, initrd_*, and cpu_model local
> variable initialization to all functions. Then the compiler helped me
> locate the local variables that are unused, so they could be removed.
>
> ---
>
> Changes v3 -> v4:
>  - Rebase against latest qemu.git master, solved conflicts at
>    hw/xilinx_zynq.c
>
> Changes v2 -> v3:
>  - Fix typo (missing dot) on main()
>  - Fix another mistake on xen_init_pv()
>
> Changes v1 -> v2:
>  - Fix mistake on the conversion of pc_xen_hvm_init() and xen_init_pv()
>
>
>  hw/alpha_dp264.c              |  12 ++--
>  hw/an5206.c                   |   8 +--
>  hw/axis_dev88.c               |   9 +--
>  hw/boards.h                   |  16 +++--
>  hw/collie.c                   |   9 +--
>  hw/dummy_m68k.c               |   8 +--
>  hw/exynos4_boards.c           |  16 ++---
>  hw/gumstix.c                  |  11 +---
>  hw/highbank.c                 |  10 ++--
>  hw/integratorcp.c             |  10 ++--
>  hw/kzm.c                      |  10 ++--
>  hw/leon3.c                    |  10 ++--
>  hw/lm32_boards.c              |  18 +++---
>  hw/mainstone.c                |  10 ++--
>  hw/mcf5208.c                  |   8 +--
>  hw/milkymist.c                |  10 ++--
>  hw/mips_fulong2e.c            |   9 ++-
>  hw/mips_jazz.c                |  14 ++---
>  hw/mips_malta.c               |  10 ++--
>  hw/mips_mipssim.c             |  10 ++--
>  hw/mips_r4k.c                 |  10 ++--
>  hw/musicpal.c                 |   9 +--
>  hw/nseries.c                  |  22 ++++---
>  hw/null-machine.c             |   7 +--
>  hw/omap_sx1.c                 |  22 ++++---
>  hw/openrisc_sim.c             |  10 ++--
>  hw/palm.c                     |   9 +--
>  hw/pc_piix.c                  |  50 ++++++++--------
>  hw/petalogix_ml605_mmu.c      |   8 +--
>  hw/petalogix_s3adsp1800_mmu.c |   8 +--
>  hw/ppc/e500plat.c             |  13 +++--
>  hw/ppc/mpc8544ds.c            |  13 +++--
>  hw/ppc405_boards.c            |  25 ++++----
>  hw/ppc440_bamboo.c            |  12 ++--
>  hw/ppc_newworld.c             |  13 +++--
>  hw/ppc_oldworld.c             |  13 +++--
>  hw/ppc_prep.c                 |  13 +++--
>  hw/puv3.c                     |   8 ++-
>  hw/r2d.c                      |   9 +--
>  hw/realview.c                 |  44 +++++++++-----
>  hw/s390-virtio.c              |  13 +++--
>  hw/shix.c                     |   6 +-
>  hw/spapr.c                    |  13 +++--
>  hw/spitz.c                    |  40 ++++++++-----
>  hw/stellaris.c                |  14 ++---
>  hw/sun4m.c                    | 133 ++++++++++++++++++++++++++----------------
>  hw/sun4u.c                    |  39 ++++++++-----
>  hw/tosa.c                     |   9 +--
>  hw/versatilepb.c              |  22 ++++---
>  hw/vexpress.c                 |  26 +++++----
>  hw/virtex_ml507.c             |  10 ++--
>  hw/xen_machine_pv.c           |  11 ++--
>  hw/xilinx_zynq.c              |   9 ++-
>  hw/xtensa_lx60.c              |  22 ++++---
>  hw/xtensa_sim.c               |  11 ++--
>  hw/z2.c                       |   9 +--
>  vl.c                          |   9 ++-
>  57 files changed, 518 insertions(+), 414 deletions(-)
>
> diff --git a/hw/alpha_dp264.c b/hw/alpha_dp264.c
> index 5ea04c7..8f082a6 100644
> --- a/hw/alpha_dp264.c
> +++ b/hw/alpha_dp264.c
> @@ -42,13 +42,13 @@ static int clipper_pci_map_irq(PCIDevice *d, int irq_num)
>      return (slot + 1) * 4 + irq_num;
>  }
>
> -static void clipper_init(ram_addr_t ram_size,
> -                         const char *boot_device,
> -                         const char *kernel_filename,
> -                         const char *kernel_cmdline,
> -                         const char *initrd_filename,
> -                         const char *cpu_model)
> +static void clipper_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      CPUAlphaState *cpus[4];
>      PCIBus *pci_bus;
>      ISABus *isa_bus;
> diff --git a/hw/an5206.c b/hw/an5206.c
> index 25407c0..042c5fc 100644
> --- a/hw/an5206.c
> +++ b/hw/an5206.c
> @@ -19,11 +19,11 @@
>
>  /* Board init.  */
>
> -static void an5206_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void an5206_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      CPUM68KState *env;
>      int kernel_size;
>      uint64_t elf_entry;
> diff --git a/hw/axis_dev88.c b/hw/axis_dev88.c
> index eab6327..2fd7356 100644
> --- a/hw/axis_dev88.c
> +++ b/hw/axis_dev88.c
> @@ -242,11 +242,12 @@ static const MemoryRegionOps gpio_ops = {
>  static struct cris_load_info li;
>
>  static
> -void axisdev88_init (ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +void axisdev88_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
>      CRISCPU *cpu;
>      CPUCRISState *env;
>      DeviceState *dev;
> diff --git a/hw/boards.h b/hw/boards.h
> index a2e0a54..813d0e5 100644
> --- a/hw/boards.h
> +++ b/hw/boards.h
> @@ -5,12 +5,16 @@
>
>  #include "qdev.h"
>
> -typedef void QEMUMachineInitFunc(ram_addr_t ram_size,
> -                                 const char *boot_device,
> -                                 const char *kernel_filename,
> -                                 const char *kernel_cmdline,
> -                                 const char *initrd_filename,
> -                                 const char *cpu_model);
> +typedef struct QEMUMachineInitArgs {
> +    ram_addr_t ram_size;
> +    const char *boot_device;
> +    const char *kernel_filename;
> +    const char *kernel_cmdline;
> +    const char *initrd_filename;
> +    const char *cpu_model;
> +} QEMUMachineInitArgs;
> +
> +typedef void QEMUMachineInitFunc(QEMUMachineInitArgs *args);
>
>  typedef void QEMUMachineResetFunc(void);
>
> diff --git a/hw/collie.c b/hw/collie.c
> index 56f89a9..695982a 100644
> --- a/hw/collie.c
> +++ b/hw/collie.c
> @@ -23,11 +23,12 @@ static struct arm_boot_info collie_binfo = {
>      .ram_size = 0x20000000,
>  };
>
> -static void collie_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void collie_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      StrongARMState *s;
>      DriveInfo *dinfo;
>      MemoryRegion *sysmem = get_system_memory();
> diff --git a/hw/dummy_m68k.c b/hw/dummy_m68k.c
> index 7cc7a99..f436a0c 100644
> --- a/hw/dummy_m68k.c
> +++ b/hw/dummy_m68k.c
> @@ -16,11 +16,11 @@
>
>  /* Board init.  */
>
> -static void dummy_m68k_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void dummy_m68k_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      CPUM68KState *env;
>      MemoryRegion *address_space_mem =  get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/exynos4_boards.c b/hw/exynos4_boards.c
> index 4bb0a60..4951064 100644
> --- a/hw/exynos4_boards.c
> +++ b/hw/exynos4_boards.c
> @@ -130,22 +130,22 @@ static Exynos4210State *exynos4_boards_init_common(
>              exynos4_board_ram_size[board_type]);
>  }
>
> -static void nuri_init(ram_addr_t ram_size,
> -        const char *boot_device,
> -        const char *kernel_filename, const char *kernel_cmdline,
> -        const char *initrd_filename, const char *cpu_model)
> +static void nuri_init(QEMUMachineInitArgs *args)
>  {
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      exynos4_boards_init_common(kernel_filename, kernel_cmdline,
>                  initrd_filename, EXYNOS4_BOARD_NURI);
>
>      arm_load_kernel(arm_env_get_cpu(first_cpu), &exynos4_board_binfo);
>  }
>
> -static void smdkc210_init(ram_addr_t ram_size,
> -        const char *boot_device,
> -        const char *kernel_filename, const char *kernel_cmdline,
> -        const char *initrd_filename, const char *cpu_model)
> +static void smdkc210_init(QEMUMachineInitArgs *args)
>  {
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      Exynos4210State *s = exynos4_boards_init_common(kernel_filename,
>              kernel_cmdline, initrd_filename, EXYNOS4_BOARD_SMDKC210);
>
> diff --git a/hw/gumstix.c b/hw/gumstix.c
> index 13a36ea..4103a88 100644
> --- a/hw/gumstix.c
> +++ b/hw/gumstix.c
> @@ -45,10 +45,7 @@
>
>  static const int sector_len = 128 * 1024;
>
> -static void connex_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void connex_init(QEMUMachineInitArgs *args)
>  {
>      PXA2xxState *cpu;
>      DriveInfo *dinfo;
> @@ -84,11 +81,9 @@ static void connex_init(ram_addr_t ram_size,
>                      qdev_get_gpio_in(cpu->gpio, 36));
>  }
>
> -static void verdex_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void verdex_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
>      PXA2xxState *cpu;
>      DriveInfo *dinfo;
>      int be;
> diff --git a/hw/highbank.c b/hw/highbank.c
> index 11aa131..15036b6 100644
> --- a/hw/highbank.c
> +++ b/hw/highbank.c
> @@ -187,11 +187,13 @@ static struct arm_boot_info highbank_binfo;
>   * 32-bit host, set the reg value of memory to 0xf7ff00000 in the
>   * device tree and pass -m 2047 to QEMU.
>   */
> -static void highbank_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void highbank_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      DeviceState *dev;
>      SysBusDevice *busdev;
>      qemu_irq *irqp;
> diff --git a/hw/integratorcp.c b/hw/integratorcp.c
> index d0e2e90..ac0ea83 100644
> --- a/hw/integratorcp.c
> +++ b/hw/integratorcp.c
> @@ -438,11 +438,13 @@ static struct arm_boot_info integrator_binfo = {
>      .board_id = 0x113,
>  };
>
> -static void integratorcp_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void integratorcp_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      ARMCPU *cpu;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/kzm.c b/hw/kzm.c
> index 68cd1b4..d1266d9 100644
> --- a/hw/kzm.c
> +++ b/hw/kzm.c
> @@ -70,11 +70,13 @@ static struct arm_boot_info kzm_binfo = {
>      .board_id = 1722,
>  };
>
> -static void kzm_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void kzm_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      ARMCPU *cpu;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/leon3.c b/hw/leon3.c
> index 7a9729d..7742738 100644
> --- a/hw/leon3.c
> +++ b/hw/leon3.c
> @@ -94,13 +94,11 @@ static void leon3_set_pil_in(void *opaque, uint32_t pil_in)
>      }
>  }
>
> -static void leon3_generic_hw_init(ram_addr_t  ram_size,
> -                                  const char *boot_device,
> -                                  const char *kernel_filename,
> -                                  const char *kernel_cmdline,
> -                                  const char *initrd_filename,
> -                                  const char *cpu_model)
> +static void leon3_generic_hw_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      SPARCCPU *cpu;
>      CPUSPARCState   *env;
>      MemoryRegion *address_space_mem = get_system_memory();
> diff --git a/hw/lm32_boards.c b/hw/lm32_boards.c
> index b76d800..c5a62c8 100644
> --- a/hw/lm32_boards.c
> +++ b/hw/lm32_boards.c
> @@ -69,12 +69,10 @@ static void main_cpu_reset(void *opaque)
>      env->deba = reset_info->flash_base;
>  }
>
> -static void lm32_evr_init(ram_addr_t ram_size_not_used,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +static void lm32_evr_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      LM32CPU *cpu;
>      CPULM32State *env;
>      DriveInfo *dinfo;
> @@ -159,12 +157,12 @@ static void lm32_evr_init(ram_addr_t ram_size_not_used,
>      qemu_register_reset(main_cpu_reset, reset_info);
>  }
>
> -static void lm32_uclinux_init(ram_addr_t ram_size_not_used,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +static void lm32_uclinux_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      LM32CPU *cpu;
>      CPULM32State *env;
>      DriveInfo *dinfo;
> diff --git a/hw/mainstone.c b/hw/mainstone.c
> index 97687b6..c0d6034 100644
> --- a/hw/mainstone.c
> +++ b/hw/mainstone.c
> @@ -171,11 +171,13 @@ static void mainstone_common_init(MemoryRegion *address_space_mem,
>      arm_load_kernel(mpu->cpu, &mainstone_binfo);
>  }
>
> -static void mainstone_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void mainstone_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      mainstone_common_init(get_system_memory(), ram_size, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, mainstone, 0x196);
>  }
> diff --git a/hw/mcf5208.c b/hw/mcf5208.c
> index ee25b1b..688bc3c 100644
> --- a/hw/mcf5208.c
> +++ b/hw/mcf5208.c
> @@ -187,11 +187,11 @@ static void mcf5208_sys_init(MemoryRegion *address_space, qemu_irq *pic)
>      }
>  }
>
> -static void mcf5208evb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void mcf5208evb_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      CPUM68KState *env;
>      int kernel_size;
>      uint64_t elf_entry;
> diff --git a/hw/milkymist.c b/hw/milkymist.c
> index 2e7235b..ca9ed43 100644
> --- a/hw/milkymist.c
> +++ b/hw/milkymist.c
> @@ -73,12 +73,12 @@ static void main_cpu_reset(void *opaque)
>  }
>
>  static void
> -milkymist_init(ram_addr_t ram_size_not_used,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +milkymist_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      LM32CPU *cpu;
>      CPULM32State *env;
>      int kernel_size;
> diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c
> index d4a8672..fb50a1f 100644
> --- a/hw/mips_fulong2e.c
> +++ b/hw/mips_fulong2e.c
> @@ -256,10 +256,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
>      }
>  }
>
> -static void mips_fulong2e_init(ram_addr_t ram_size, const char *boot_device,
> -                        const char *kernel_filename, const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void mips_fulong2e_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      char *filename;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c
> index db927f1..14df4d7 100644
> --- a/hw/mips_jazz.c
> +++ b/hw/mips_jazz.c
> @@ -302,21 +302,19 @@ static void mips_jazz_init(MemoryRegion *address_space,
>  }
>
>  static
> -void mips_magnum_init (ram_addr_t ram_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> +void mips_magnum_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
>          mips_jazz_init(get_system_memory(), get_system_io(),
>                         ram_size, cpu_model, JAZZ_MAGNUM);
>  }
>
>  static
> -void mips_pica61_init (ram_addr_t ram_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> +void mips_pica61_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
>      mips_jazz_init(get_system_memory(), get_system_io(),
>                     ram_size, cpu_model, JAZZ_PICA61);
>  }
> diff --git a/hw/mips_malta.c b/hw/mips_malta.c
> index 632b466..ad4910f 100644
> --- a/hw/mips_malta.c
> +++ b/hw/mips_malta.c
> @@ -775,11 +775,13 @@ static void cpu_request_exit(void *opaque, int irq, int level)
>  }
>
>  static
> -void mips_malta_init (ram_addr_t ram_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +void mips_malta_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      char *filename;
>      pflash_t *fl;
>      MemoryRegion *system_memory = get_system_memory();
> diff --git a/hw/mips_mipssim.c b/hw/mips_mipssim.c
> index 830f635..a1d3945 100644
> --- a/hw/mips_mipssim.c
> +++ b/hw/mips_mipssim.c
> @@ -131,11 +131,13 @@ static void mipsnet_init(int base, qemu_irq irq, NICInfo *nd)
>  }
>
>  static void
> -mips_mipssim_init (ram_addr_t ram_size,
> -                   const char *boot_device,
> -                   const char *kernel_filename, const char *kernel_cmdline,
> -                   const char *initrd_filename, const char *cpu_model)
> +mips_mipssim_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      char *filename;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c
> index 967a76e..b73cdc3 100644
> --- a/hw/mips_r4k.c
> +++ b/hw/mips_r4k.c
> @@ -151,11 +151,13 @@ static void main_cpu_reset(void *opaque)
>
>  static const int sector_len = 32 * 1024;
>  static
> -void mips_r4k_init (ram_addr_t ram_size,
> -                    const char *boot_device,
> -                    const char *kernel_filename, const char *kernel_cmdline,
> -                    const char *initrd_filename, const char *cpu_model)
> +void mips_r4k_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      char *filename;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/musicpal.c b/hw/musicpal.c
> index f305e21..f06814c 100644
> --- a/hw/musicpal.c
> +++ b/hw/musicpal.c
> @@ -1508,11 +1508,12 @@ static struct arm_boot_info musicpal_binfo = {
>      .board_id = 0x20e,
>  };
>
> -static void musicpal_init(ram_addr_t ram_size,
> -               const char *boot_device,
> -               const char *kernel_filename, const char *kernel_cmdline,
> -               const char *initrd_filename, const char *cpu_model)
> +static void musicpal_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      ARMCPU *cpu;
>      qemu_irq *cpu_pic;
>      qemu_irq pic[32];
> diff --git a/hw/nseries.c b/hw/nseries.c
> index 6df71eb..7ada90d 100644
> --- a/hw/nseries.c
> +++ b/hw/nseries.c
> @@ -1397,21 +1397,27 @@ static struct arm_boot_info n810_binfo = {
>      .atag_board = n810_atag_setup,
>  };
>
> -static void n800_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void n800_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      return n8x0_init(ram_size, boot_device,
>                      kernel_filename, kernel_cmdline, initrd_filename,
>                      cpu_model, &n800_binfo, 800);
>  }
>
> -static void n810_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void n810_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      return n8x0_init(ram_size, boot_device,
>                      kernel_filename, kernel_cmdline, initrd_filename,
>                      cpu_model, &n810_binfo, 810);
> diff --git a/hw/null-machine.c b/hw/null-machine.c
> index 69910d3..d813c08 100644
> --- a/hw/null-machine.c
> +++ b/hw/null-machine.c
> @@ -15,12 +15,7 @@
>  #include "hw/hw.h"
>  #include "hw/boards.h"
>
> -static void machine_none_init(ram_addr_t ram_size,
> -                              const char *boot_device,
> -                              const char *kernel_filename,
> -                              const char *kernel_cmdline,
> -                              const char *initrd_filename,
> -                              const char *cpu_model)
> +static void machine_none_init(QEMUMachineInitArgs *args)
>  {
>  }
>
> diff --git a/hw/omap_sx1.c b/hw/omap_sx1.c
> index abca341..ad17487 100644
> --- a/hw/omap_sx1.c
> +++ b/hw/omap_sx1.c
> @@ -209,20 +209,26 @@ static void sx1_init(ram_addr_t ram_size,
>      //~ qemu_console_resize(ds, 640, 480);
>  }
>
> -static void sx1_init_v1(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void sx1_init_v1(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sx1_init(ram_size, boot_device, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, 1);
>  }
>
> -static void sx1_init_v2(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void sx1_init_v2(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sx1_init(ram_size, boot_device, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, 2);
>  }
> diff --git a/hw/openrisc_sim.c b/hw/openrisc_sim.c
> index 55e97f0..e96a944 100644
> --- a/hw/openrisc_sim.c
> +++ b/hw/openrisc_sim.c
> @@ -90,13 +90,11 @@ static void cpu_openrisc_load_kernel(ram_addr_t ram_size,
>      cpu->env.pc = entry;
>  }
>
> -static void openrisc_sim_init(ram_addr_t ram_size,
> -                              const char *boot_device,
> -                              const char *kernel_filename,
> -                              const char *kernel_cmdline,
> -                              const char *initrd_filename,
> -                              const char *cpu_model)
> +static void openrisc_sim_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>     OpenRISCCPU *cpu = NULL;
>      MemoryRegion *ram;
>      int n;
> diff --git a/hw/palm.c b/hw/palm.c
> index bacdc90..032b8d6 100644
> --- a/hw/palm.c
> +++ b/hw/palm.c
> @@ -190,11 +190,12 @@ static struct arm_boot_info palmte_binfo = {
>      .board_id = 0x331,
>  };
>
> -static void palmte_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void palmte_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      MemoryRegion *address_space_mem = get_system_memory();
>      struct omap_mpu_state_s *mpu;
>      int flash_size = 0x00800000;
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index 82364ab..36e165f 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -287,13 +287,14 @@ static void pc_init1(MemoryRegion *system_memory,
>      }
>  }
>
> -static void pc_init_pci(ram_addr_t ram_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename,
> -                        const char *kernel_cmdline,
> -                        const char *initrd_filename,
> -                        const char *cpu_model)
> +static void pc_init_pci(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      pc_init1(get_system_memory(),
>               get_system_io(),
>               ram_size, boot_device,
> @@ -301,13 +302,14 @@ static void pc_init_pci(ram_addr_t ram_size,
>               initrd_filename, cpu_model, 1, 1);
>  }
>
> -static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
> -                                    const char *boot_device,
> -                                    const char *kernel_filename,
> -                                    const char *kernel_cmdline,
> -                                    const char *initrd_filename,
> -                                    const char *cpu_model)
> +static void pc_init_pci_no_kvmclock(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      pc_init1(get_system_memory(),
>               get_system_io(),
>               ram_size, boot_device,
> @@ -315,13 +317,14 @@ static void pc_init_pci_no_kvmclock(ram_addr_t ram_size,
>               initrd_filename, cpu_model, 1, 0);
>  }
>
> -static void pc_init_isa(ram_addr_t ram_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename,
> -                        const char *kernel_cmdline,
> -                        const char *initrd_filename,
> -                        const char *cpu_model)
> +static void pc_init_isa(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      if (cpu_model == NULL)
>          cpu_model = "486";
>      pc_init1(get_system_memory(),
> @@ -332,19 +335,12 @@ static void pc_init_isa(ram_addr_t ram_size,
>  }
>
>  #ifdef CONFIG_XEN
> -static void pc_xen_hvm_init(ram_addr_t ram_size,
> -                            const char *boot_device,
> -                            const char *kernel_filename,
> -                            const char *kernel_cmdline,
> -                            const char *initrd_filename,
> -                            const char *cpu_model)
> +static void pc_xen_hvm_init(QEMUMachineInitArgs *args)
>  {
>      if (xen_hvm_init() != 0) {
>          hw_error("xen hardware virtual machine initialisation failed");
>      }
> -    pc_init_pci_no_kvmclock(ram_size, boot_device,
> -                            kernel_filename, kernel_cmdline,
> -                            initrd_filename, cpu_model);
> +    pc_init_pci_no_kvmclock(args);
>      xen_vcpu_init();
>  }
>  #endif
> diff --git a/hw/petalogix_ml605_mmu.c b/hw/petalogix_ml605_mmu.c
> index b9bfbed..39df251 100644
> --- a/hw/petalogix_ml605_mmu.c
> +++ b/hw/petalogix_ml605_mmu.c
> @@ -73,12 +73,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
>  }
>
>  static void
> -petalogix_ml605_init(ram_addr_t ram_size,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +petalogix_ml605_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
>      MemoryRegion *address_space_mem = get_system_memory();
>      DeviceState *dev, *dma, *eth0;
>      MicroBlazeCPU *cpu;
> diff --git a/hw/petalogix_s3adsp1800_mmu.c b/hw/petalogix_s3adsp1800_mmu.c
> index 2cf6882..71c32ce 100644
> --- a/hw/petalogix_s3adsp1800_mmu.c
> +++ b/hw/petalogix_s3adsp1800_mmu.c
> @@ -57,12 +57,10 @@ static void machine_cpu_reset(MicroBlazeCPU *cpu)
>  }
>
>  static void
> -petalogix_s3adsp1800_init(ram_addr_t ram_size,
> -                          const char *boot_device,
> -                          const char *kernel_filename,
> -                          const char *kernel_cmdline,
> -                          const char *initrd_filename, const char *cpu_model)
> +petalogix_s3adsp1800_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
>      DeviceState *dev;
>      MicroBlazeCPU *cpu;
>      CPUMBState *env;
> diff --git a/hw/ppc/e500plat.c b/hw/ppc/e500plat.c
> index 60a5cb3..4cfb940 100644
> --- a/hw/ppc/e500plat.c
> +++ b/hw/ppc/e500plat.c
> @@ -25,13 +25,14 @@ static void e500plat_fixup_devtree(PPCE500Params *params, void *fdt)
>                           sizeof(compatible));
>  }
>
> -static void e500plat_init(ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void e500plat_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *boot_device = args->boot_device;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      PPCE500Params params = {
>          .ram_size = ram_size,
>          .boot_device = boot_device,
> diff --git a/hw/ppc/mpc8544ds.c b/hw/ppc/mpc8544ds.c
> index 984d21c..e651661 100644
> --- a/hw/ppc/mpc8544ds.c
> +++ b/hw/ppc/mpc8544ds.c
> @@ -25,13 +25,14 @@ static void mpc8544ds_fixup_devtree(PPCE500Params *params, void *fdt)
>                           sizeof(compatible));
>  }
>
> -static void mpc8544ds_init(ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void mpc8544ds_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *boot_device = args->boot_device;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      PPCE500Params params = {
>          .ram_size = ram_size,
>          .boot_device = boot_device,
> diff --git a/hw/ppc405_boards.c b/hw/ppc405_boards.c
> index 476775d..e848cb0 100644
> --- a/hw/ppc405_boards.c
> +++ b/hw/ppc405_boards.c
> @@ -158,7 +158,7 @@ static void ref405ep_fpga_reset (void *opaque)
>      fpga->reg1 = 0x0F;
>  }
>
> -static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
> +static void ref405ep_fpga_init(MemoryRegion *sysmem, uint32_t base)
>  {
>      ref405ep_fpga_t *fpga;
>      MemoryRegion *fpga_memory = g_new(MemoryRegion, 1);
> @@ -170,13 +170,12 @@ static void ref405ep_fpga_init (MemoryRegion *sysmem, uint32_t base)
>      qemu_register_reset(&ref405ep_fpga_reset, fpga);
>  }
>
> -static void ref405ep_init (ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void ref405ep_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      char *filename;
>      ppc4xx_bd_info_t bd;
>      CPUPPCState *env;
> @@ -484,7 +483,7 @@ static void taihu_cpld_reset (void *opaque)
>      cpld->reg1 = 0x80;
>  }
>
> -static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
> +static void taihu_cpld_init(MemoryRegion *sysmem, uint32_t base)
>  {
>      taihu_cpld_t *cpld;
>      MemoryRegion *cpld_memory = g_new(MemoryRegion, 1);
> @@ -495,13 +494,11 @@ static void taihu_cpld_init (MemoryRegion *sysmem, uint32_t base)
>      qemu_register_reset(&taihu_cpld_reset, cpld);
>  }
>
> -static void taihu_405ep_init(ram_addr_t ram_size,
> -                             const char *boot_device,
> -                             const char *kernel_filename,
> -                             const char *kernel_cmdline,
> -                             const char *initrd_filename,
> -                             const char *cpu_model)
> +static void taihu_405ep_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *initrd_filename = args->initrd_filename;
>      char *filename;
>      qemu_irq *pic;
>      MemoryRegion *sysmem = get_system_memory();
> diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c
> index c198071..78e7985 100644
> --- a/hw/ppc440_bamboo.c
> +++ b/hw/ppc440_bamboo.c
> @@ -157,13 +157,13 @@ static void main_cpu_reset(void *opaque)
>      mmubooke_create_initial_mapping(env, 0, 0);
>  }
>
> -static void bamboo_init(ram_addr_t ram_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename,
> -                        const char *kernel_cmdline,
> -                        const char *initrd_filename,
> -                        const char *cpu_model)
> +static void bamboo_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      unsigned int pci_irq_nrs[4] = { 28, 27, 26, 25 };
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ram_memories
> diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c
> index b8d3c9c..a265445 100644
> --- a/hw/ppc_newworld.c
> +++ b/hw/ppc_newworld.c
> @@ -128,13 +128,14 @@ static void ppc_core99_reset(void *opaque)
>  }
>
>  /* PowerPC Mac99 hardware initialisation */
> -static void ppc_core99_init (ram_addr_t ram_size,
> -                             const char *boot_device,
> -                             const char *kernel_filename,
> -                             const char *kernel_cmdline,
> -                             const char *initrd_filename,
> -                             const char *cpu_model)
> +static void ppc_core99_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      PowerPCCPU *cpu = NULL;
>      CPUPPCState *env = NULL;
>      char *filename;
> diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c
> index 2c4a478..de33408 100644
> --- a/hw/ppc_oldworld.c
> +++ b/hw/ppc_oldworld.c
> @@ -71,13 +71,14 @@ static void ppc_heathrow_reset(void *opaque)
>      cpu_reset(CPU(cpu));
>  }
>
> -static void ppc_heathrow_init (ram_addr_t ram_size,
> -                               const char *boot_device,
> -                               const char *kernel_filename,
> -                               const char *kernel_cmdline,
> -                               const char *initrd_filename,
> -                               const char *cpu_model)
> +static void ppc_heathrow_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      MemoryRegion *sysmem = get_system_memory();
>      PowerPCCPU *cpu = NULL;
>      CPUPPCState *env = NULL;
> diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c
> index 1544430..b426891 100644
> --- a/hw/ppc_prep.c
> +++ b/hw/ppc_prep.c
> @@ -447,13 +447,14 @@ static void ppc_prep_reset(void *opaque)
>  }
>
>  /* PowerPC PREP hardware initialisation */
> -static void ppc_prep_init (ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void ppc_prep_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      MemoryRegion *sysmem = get_system_memory();
>      PowerPCCPU *cpu = NULL;
>      CPUPPCState *env = NULL;
> diff --git a/hw/puv3.c b/hw/puv3.c
> index 43f7216..764799c 100644
> --- a/hw/puv3.c
> +++ b/hw/puv3.c
> @@ -91,10 +91,12 @@ static void puv3_load_kernel(const char *kernel_filename)
>      graphic_console_init(NULL, NULL, NULL, NULL, NULL);
>  }
>
> -static void puv3_init(ram_addr_t ram_size, const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void puv3_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *initrd_filename = args->initrd_filename;
>      CPUUniCore32State *env;
>
>      if (initrd_filename) {
> diff --git a/hw/r2d.c b/hw/r2d.c
> index 1bc191f..3cb6942 100644
> --- a/hw/r2d.c
> +++ b/hw/r2d.c
> @@ -219,11 +219,12 @@ static struct QEMU_PACKED
>      char kernel_cmdline[256];
>  } boot_params;
>
> -static void r2d_init(ram_addr_t ram_size,
> -              const char *boot_device,
> -             const char *kernel_filename, const char *kernel_cmdline,
> -             const char *initrd_filename, const char *cpu_model)
> +static void r2d_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      SuperHCPU *cpu;
>      CPUSH4State *env;
>      ResetData *reset_info;
> diff --git a/hw/realview.c b/hw/realview.c
> index 19db4d0..8dc4be6 100644
> --- a/hw/realview.c
> +++ b/hw/realview.c
> @@ -330,11 +330,14 @@ static void realview_init(ram_addr_t ram_size,
>      arm_load_kernel(arm_env_get_cpu(first_cpu), &realview_binfo);
>  }
>
> -static void realview_eb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void realview_eb_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      if (!cpu_model) {
>          cpu_model = "arm926";
>      }
> @@ -342,11 +345,14 @@ static void realview_eb_init(ram_addr_t ram_size,
>                    initrd_filename, cpu_model, BOARD_EB);
>  }
>
> -static void realview_eb_mpcore_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void realview_eb_mpcore_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      if (!cpu_model) {
>          cpu_model = "arm11mpcore";
>      }
> @@ -354,11 +360,14 @@ static void realview_eb_mpcore_init(ram_addr_t ram_size,
>                    initrd_filename, cpu_model, BOARD_EB_MPCORE);
>  }
>
> -static void realview_pb_a8_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void realview_pb_a8_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      if (!cpu_model) {
>          cpu_model = "cortex-a8";
>      }
> @@ -366,11 +375,14 @@ static void realview_pb_a8_init(ram_addr_t ram_size,
>                    initrd_filename, cpu_model, BOARD_PB_A8);
>  }
>
> -static void realview_pbx_a9_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void realview_pbx_a9_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      if (!cpu_model) {
>          cpu_model = "cortex-a9";
>      }
> diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
> index 47eed35..39ff178 100644
> --- a/hw/s390-virtio.c
> +++ b/hw/s390-virtio.c
> @@ -151,13 +151,14 @@ unsigned s390_del_running_cpu(CPUS390XState *env)
>  }
>
>  /* PC hardware initialisation */
> -static void s390_init(ram_addr_t my_ram_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename,
> -                      const char *kernel_cmdline,
> -                      const char *initrd_filename,
> -                      const char *cpu_model)
> +static void s390_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t my_ram_size = args->ram_size;
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      CPUS390XState *env = NULL;
>      MemoryRegion *sysmem = get_system_memory();
>      MemoryRegion *ram = g_new(MemoryRegion, 1);
> diff --git a/hw/shix.c b/hw/shix.c
> index dd9ce17..b56dd54 100644
> --- a/hw/shix.c
> +++ b/hw/shix.c
> @@ -37,11 +37,9 @@
>  #define BIOS_FILENAME "shix_bios.bin"
>  #define BIOS_ADDRESS 0xA0000000
>
> -static void shix_init(ram_addr_t ram_size,
> -               const char *boot_device,
> -              const char *kernel_filename, const char *kernel_cmdline,
> -              const char *initrd_filename, const char *cpu_model)
> +static void shix_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
>      int ret;
>      CPUSH4State *env;
>      struct SH7750State *s;
> diff --git a/hw/spapr.c b/hw/spapr.c
> index 09b8e99..637b3fb 100644
> --- a/hw/spapr.c
> +++ b/hw/spapr.c
> @@ -665,13 +665,14 @@ static int spapr_vga_init(PCIBus *pci_bus)
>  }
>
>  /* pSeries LPAR / sPAPR hardware init */
> -static void ppc_spapr_init(ram_addr_t ram_size,
> -                           const char *boot_device,
> -                           const char *kernel_filename,
> -                           const char *kernel_cmdline,
> -                           const char *initrd_filename,
> -                           const char *cpu_model)
> +static void ppc_spapr_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      PowerPCCPU *cpu;
>      CPUPPCState *env;
>      PCIHostState *phb;
> diff --git a/hw/spitz.c b/hw/spitz.c
> index 24346dc..2942626 100644
> --- a/hw/spitz.c
> +++ b/hw/spitz.c
> @@ -936,38 +936,46 @@ static void spitz_common_init(ram_addr_t ram_size,
>      sl_bootparam_write(SL_PXA_PARAM_BASE);
>  }
>
> -static void spitz_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void spitz_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      spitz_common_init(ram_size, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, spitz, 0x2c9);
>  }
>
> -static void borzoi_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void borzoi_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      spitz_common_init(ram_size, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, borzoi, 0x33f);
>  }
>
> -static void akita_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void akita_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      spitz_common_init(ram_size, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, akita, 0x2e8);
>  }
>
> -static void terrier_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void terrier_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      spitz_common_init(ram_size, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, terrier, 0x33f);
>  }
> diff --git a/hw/stellaris.c b/hw/stellaris.c
> index 353ca4c..bfb18b0 100644
> --- a/hw/stellaris.c
> +++ b/hw/stellaris.c
> @@ -1313,19 +1313,17 @@ static void stellaris_init(const char *kernel_filename, const char *cpu_model,
>  }
>
>  /* FIXME: Figure out how to generate these from stellaris_boards.  */
> -static void lm3s811evb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void lm3s811evb_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      stellaris_init(kernel_filename, cpu_model, &stellaris_boards[0]);
>  }
>
> -static void lm3s6965evb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void lm3s6965evb_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
>      stellaris_init(kernel_filename, cpu_model, &stellaris_boards[1]);
>  }
>
> diff --git a/hw/sun4m.c b/hw/sun4m.c
> index a04b485..dbe93f9 100644
> --- a/hw/sun4m.c
> +++ b/hw/sun4m.c
> @@ -1306,92 +1306,118 @@ static const struct sun4m_hwdef sun4m_hwdefs[] = {
>  };
>
>  /* SPARCstation 5 hardware initialisation */
> -static void ss5_init(ram_addr_t RAM_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void ss5_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[0], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCstation 10 hardware initialisation */
> -static void ss10_init(ram_addr_t RAM_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +static void ss10_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[1], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCserver 600MP hardware initialisation */
> -static void ss600mp_init(ram_addr_t RAM_size,
> -                         const char *boot_device,
> -                         const char *kernel_filename,
> -                         const char *kernel_cmdline,
> -                         const char *initrd_filename, const char *cpu_model)
> +static void ss600mp_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[2], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCstation 20 hardware initialisation */
> -static void ss20_init(ram_addr_t RAM_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +static void ss20_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[3], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCstation Voyager hardware initialisation */
> -static void vger_init(ram_addr_t RAM_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +static void vger_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[4], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCstation LX hardware initialisation */
> -static void ss_lx_init(ram_addr_t RAM_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> +static void ss_lx_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[5], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCstation 4 hardware initialisation */
> -static void ss4_init(ram_addr_t RAM_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void ss4_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[6], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCClassic hardware initialisation */
> -static void scls_init(ram_addr_t RAM_size,
> -                      const char *boot_device,
> -                      const char *kernel_filename, const char *kernel_cmdline,
> -                      const char *initrd_filename, const char *cpu_model)
> +static void scls_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[7], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCbook hardware initialisation */
> -static void sbook_init(ram_addr_t RAM_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> +static void sbook_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4m_hw_init(&sun4m_hwdefs[8], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
> @@ -1654,21 +1680,27 @@ static void sun4d_hw_init(const struct sun4d_hwdef *hwdef, ram_addr_t RAM_size,
>  }
>
>  /* SPARCserver 1000 hardware initialisation */
> -static void ss1000_init(ram_addr_t RAM_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename, const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void ss1000_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4d_hw_init(&sun4d_hwdefs[0], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
>
>  /* SPARCcenter 2000 hardware initialisation */
> -static void ss2000_init(ram_addr_t RAM_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename, const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void ss2000_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4d_hw_init(&sun4d_hwdefs[1], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
> @@ -1848,11 +1880,14 @@ static void sun4c_hw_init(const struct sun4c_hwdef *hwdef, ram_addr_t RAM_size,
>  }
>
>  /* SPARCstation 2 hardware initialisation */
> -static void ss2_init(ram_addr_t RAM_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void ss2_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      sun4c_hw_init(&sun4c_hwdefs[0], RAM_size, boot_device, kernel_filename,
>                    kernel_cmdline, initrd_filename, cpu_model);
>  }
> diff --git a/hw/sun4u.c b/hw/sun4u.c
> index 940db33..abf68cf 100644
> --- a/hw/sun4u.c
> +++ b/hw/sun4u.c
> @@ -933,31 +933,40 @@ static const struct hwdef hwdefs[] = {
>  };
>
>  /* Sun4u hardware initialisation */
> -static void sun4u_init(ram_addr_t RAM_size,
> -                       const char *boot_devices,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> -{
> +static void sun4u_init(QEMUMachineInitArgs *args)
> +{
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_devices = args->boot_device;
>      sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, &hwdefs[0]);
>  }
>
>  /* Sun4v hardware initialisation */
> -static void sun4v_init(ram_addr_t RAM_size,
> -                       const char *boot_devices,
> -                       const char *kernel_filename, const char *kernel_cmdline,
> -                       const char *initrd_filename, const char *cpu_model)
> -{
> +static void sun4v_init(QEMUMachineInitArgs *args)
> +{
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_devices = args->boot_device;
>      sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, &hwdefs[1]);
>  }
>
>  /* Niagara hardware initialisation */
> -static void niagara_init(ram_addr_t RAM_size,
> -                         const char *boot_devices,
> -                         const char *kernel_filename, const char *kernel_cmdline,
> -                         const char *initrd_filename, const char *cpu_model)
> -{
> +static void niagara_init(QEMUMachineInitArgs *args)
> +{
> +    ram_addr_t RAM_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_devices = args->boot_device;
>      sun4uv_init(get_system_memory(), RAM_size, boot_devices, kernel_filename,
>                  kernel_cmdline, initrd_filename, cpu_model, &hwdefs[2]);
>  }
> diff --git a/hw/tosa.c b/hw/tosa.c
> index 297a8c2..512278c 100644
> --- a/hw/tosa.c
> +++ b/hw/tosa.c
> @@ -205,11 +205,12 @@ static struct arm_boot_info tosa_binfo = {
>      .ram_size = 0x04000000,
>  };
>
> -static void tosa_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void tosa_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *rom = g_new(MemoryRegion, 1);
>      PXA2xxState *mpu;
> diff --git a/hw/versatilepb.c b/hw/versatilepb.c
> index 7b1b025..756ec29 100644
> --- a/hw/versatilepb.c
> +++ b/hw/versatilepb.c
> @@ -348,22 +348,28 @@ static void versatile_init(ram_addr_t ram_size,
>      arm_load_kernel(cpu, &versatile_binfo);
>  }
>
> -static void vpb_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void vpb_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      versatile_init(ram_size,
>                     boot_device,
>                     kernel_filename, kernel_cmdline,
>                     initrd_filename, cpu_model, 0x183);
>  }
>
> -static void vab_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void vab_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      versatile_init(ram_size,
>                     boot_device,
>                     kernel_filename, kernel_cmdline,
> diff --git a/hw/vexpress.c b/hw/vexpress.c
> index 3596d1e..36503d6 100644
> --- a/hw/vexpress.c
> +++ b/hw/vexpress.c
> @@ -467,25 +467,27 @@ static void vexpress_common_init(const VEDBoardInfo *daughterboard,
>      arm_load_kernel(arm_env_get_cpu(first_cpu), &vexpress_binfo);
>  }
>
> -static void vexpress_a9_init(ram_addr_t ram_size,
> -                             const char *boot_device,
> -                             const char *kernel_filename,
> -                             const char *kernel_cmdline,
> -                             const char *initrd_filename,
> -                             const char *cpu_model)
> +static void vexpress_a9_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      vexpress_common_init(&a9_daughterboard,
>                           ram_size, boot_device, kernel_filename,
>                           kernel_cmdline, initrd_filename, cpu_model);
>  }
>
> -static void vexpress_a15_init(ram_addr_t ram_size,
> -                              const char *boot_device,
> -                              const char *kernel_filename,
> -                              const char *kernel_cmdline,
> -                              const char *initrd_filename,
> -                              const char *cpu_model)
> +static void vexpress_a15_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      vexpress_common_init(&a15_daughterboard,
>                           ram_size, boot_device, kernel_filename,
>                           kernel_cmdline, initrd_filename, cpu_model);
> diff --git a/hw/virtex_ml507.c b/hw/virtex_ml507.c
> index 79bc0d1..a09b27a 100644
> --- a/hw/virtex_ml507.c
> +++ b/hw/virtex_ml507.c
> @@ -183,12 +183,12 @@ static int xilinx_load_device_tree(target_phys_addr_t addr,
>      return fdt_size;
>  }
>
> -static void virtex_init(ram_addr_t ram_size,
> -                        const char *boot_device,
> -                        const char *kernel_filename,
> -                        const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void virtex_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
>      MemoryRegion *address_space_mem = get_system_memory();
>      DeviceState *dev;
>      PowerPCCPU *cpu;
> diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
> index 4b72aa7..4264703 100644
> --- a/hw/xen_machine_pv.c
> +++ b/hw/xen_machine_pv.c
> @@ -29,13 +29,12 @@
>  #include "xen_domainbuild.h"
>  #include "blockdev.h"
>
> -static void xen_init_pv(ram_addr_t ram_size,
> -                       const char *boot_device,
> -                       const char *kernel_filename,
> -                       const char *kernel_cmdline,
> -                       const char *initrd_filename,
> -                       const char *cpu_model)
> +static void xen_init_pv(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      X86CPU *cpu;
>      CPUX86State *env;
>      DriveInfo *dinfo;
> diff --git a/hw/xilinx_zynq.c b/hw/xilinx_zynq.c
> index fd46ba2..c55dafb 100644
> --- a/hw/xilinx_zynq.c
> +++ b/hw/xilinx_zynq.c
> @@ -77,10 +77,13 @@ static inline void zynq_init_spi_flashes(uint32_t base_addr, qemu_irq irq)
>
>  }
>
> -static void zynq_init(ram_addr_t ram_size, const char *boot_device,
> -                        const char *kernel_filename, const char *kernel_cmdline,
> -                        const char *initrd_filename, const char *cpu_model)
> +static void zynq_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      ARMCPU *cpu;
>      MemoryRegion *address_space_mem = get_system_memory();
>      MemoryRegion *ext_ram = g_new(MemoryRegion, 1);
> diff --git a/hw/xtensa_lx60.c b/hw/xtensa_lx60.c
> index 3653f65..1fd2c47 100644
> --- a/hw/xtensa_lx60.c
> +++ b/hw/xtensa_lx60.c
> @@ -268,11 +268,14 @@ static void lx_init(const LxBoardDesc *board,
>      }
>  }
>
> -static void xtensa_lx60_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void xtensa_lx60_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      static const LxBoardDesc lx60_board = {
>          .flash_size = 0x400000,
>          .flash_sector_size = 0x10000,
> @@ -283,11 +286,14 @@ static void xtensa_lx60_init(ram_addr_t ram_size,
>              initrd_filename, cpu_model);
>  }
>
> -static void xtensa_lx200_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void xtensa_lx200_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      static const LxBoardDesc lx200_board = {
>          .flash_size = 0x1000000,
>          .flash_sector_size = 0x20000,
> diff --git a/hw/xtensa_sim.c b/hw/xtensa_sim.c
> index 831460b..2e846d8 100644
> --- a/hw/xtensa_sim.c
> +++ b/hw/xtensa_sim.c
> @@ -96,11 +96,14 @@ static void sim_init(ram_addr_t ram_size,
>      }
>  }
>
> -static void xtensa_sim_init(ram_addr_t ram_size,
> -                     const char *boot_device,
> -                     const char *kernel_filename, const char *kernel_cmdline,
> -                     const char *initrd_filename, const char *cpu_model)
> +static void xtensa_sim_init(QEMUMachineInitArgs *args)
>  {
> +    ram_addr_t ram_size = args->ram_size;
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
> +    const char *boot_device = args->boot_device;
>      if (!cpu_model) {
>          cpu_model = XTENSA_DEFAULT_CPU_MODEL;
>      }
> diff --git a/hw/z2.c b/hw/z2.c
> index 076fad2..f62b806 100644
> --- a/hw/z2.c
> +++ b/hw/z2.c
> @@ -295,11 +295,12 @@ static TypeInfo aer915_info = {
>      .class_init    = aer915_class_init,
>  };
>
> -static void z2_init(ram_addr_t ram_size,
> -                const char *boot_device,
> -                const char *kernel_filename, const char *kernel_cmdline,
> -                const char *initrd_filename, const char *cpu_model)
> +static void z2_init(QEMUMachineInitArgs *args)
>  {
> +    const char *cpu_model = args->cpu_model;
> +    const char *kernel_filename = args->kernel_filename;
> +    const char *kernel_cmdline = args->kernel_cmdline;
> +    const char *initrd_filename = args->initrd_filename;
>      MemoryRegion *address_space_mem = get_system_memory();
>      uint32_t sector_len = 0x10000;
>      PXA2xxState *mpu;
> diff --git a/vl.c b/vl.c
> index 5b357a3..ee3c43a 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -3638,8 +3638,13 @@ int main(int argc, char **argv, char **envp)
>
>      qdev_machine_init();
>
> -    machine->init(ram_size, boot_devices,
> -                  kernel_filename, kernel_cmdline, initrd_filename, cpu_model);
> +    QEMUMachineInitArgs args = { .ram_size = ram_size,
> +                                 .boot_device = boot_devices,
> +                                 .kernel_filename = kernel_filename,
> +                                 .kernel_cmdline = kernel_cmdline,
> +                                 .initrd_filename = initrd_filename,
> +                                 .cpu_model = cpu_model };
> +    machine->init(&args);
>
>      cpu_synchronize_all_post_init();
>
> --
> 1.7.11.4
>

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

From xen-announce-bounces@lists.xen.org Mon Oct 22 13:23:15 2012
Return-path: <xen-announce-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Oct 2012 13:23:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-announce-bounces@lists.xen.org>)
	id 1TQHvd-0000Kp-OU; Mon, 22 Oct 2012 13:20:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <lars.kurth.xen@gmail.com>) id 1TQHvD-0000K4-9w
	for xen-announce@lists.xen.org; Mon, 22 Oct 2012 13:20:00 +0000
Received: from [85.158.138.51:59699] by server-11.bemta-3.messagelabs.com id
	22/83-24008-EF745805; Mon, 22 Oct 2012 13:19:58 +0000
X-Env-Sender: lars.kurth.xen@gmail.com
X-Msg-Ref: server-16.tower-174.messagelabs.com!1350911995!35216817!1
X-Originating-IP: [209.85.161.173]
X-SpamReason: No, hits=1.7 required=7.0 tests=BODY_RANDOM_LONG,
	HTML_20_30,HTML_MESSAGE,RCVD_BY_IP
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3338 invoked from network); 22 Oct 2012 13:19:56 -0000
Received: from mail-gg0-f173.google.com (HELO mail-gg0-f173.google.com)
	(209.85.161.173)
	by server-16.tower-174.messagelabs.com with RC4-SHA encrypted SMTP;
	22 Oct 2012 13:19:56 -0000
Received: by mail-gg0-f173.google.com with SMTP id s5so496450ggc.32
	for <xen-announce@lists.xen.org>; Mon, 22 Oct 2012 06:19:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=sender:message-id:date:from:reply-to:user-agent:mime-version:to
	:subject:content-type;
	bh=5ftvz2MwBpmXc59KO+QJro9Mrt6Ik0QHs7USh4clOPw=;
	b=wRy8r9M20nk+NApECza1lpfHDmdWUaoyv4k/dSyQIcdrIuSNEEv20tNAz7nbvq4qRQ
	A8r7oONmD2jB49nMz6J9WcGBFZae6QXjhIsdiSNaSOTnVb3Z4ShlTjtk0VJrIWvyD/cG
	H68MpRXfxDi2FUL4lnoOhyzMOKYh9hezJxZYwtP0D72AqQvDDtPnBIz5GJRONE2KEsIN
	Fdi8jgnH4zQONzbF2Yuh0F5Jzl0mbodppQszHLV8F5wyE0PPnxbxYzizPpr2z+UE6ujo
	2yeoaztzvElgKQmpwMN9v2U+HJxKlOG91NmVszFd7BlX51AAySoMC7/2LRW5gmvIJang
	mymg==
Received: by 10.236.76.135 with SMTP id b7mr8336566yhe.90.1350911994856;
	Mon, 22 Oct 2012 06:19:54 -0700 (PDT)
Received: from [172.16.25.10] (firewall.ctxuk.citrix.com. [62.200.22.2])
	by mx.google.com with ESMTPS id u12sm7887860ank.18.2012.10.22.06.19.50
	(version=SSLv3 cipher=OTHER); Mon, 22 Oct 2012 06:19:52 -0700 (PDT)
Message-ID: <508547F4.5000109@xen.org>
Date: Mon, 22 Oct 2012 14:19:48 +0100
From: Lars Kurth <lars.kurth@xen.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:16.0) Gecko/20121010 Thunderbird/16.0.1
MIME-Version: 1.0
To: xen-announce@lists.xen.org
X-Mailman-Approved-At: Mon, 22 Oct 2012 13:20:23 +0000
Subject: [Xen-announce] Xen Day Barcelona @ LinuxCon
X-BeenThere: xen-announce@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: lars.kurth@xen.org
List-Id: "Xen announcements \(low volume\)" <xen-announce.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-announce@lists.xen.org>
List-Help: <mailto:xen-announce-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-announce>, 
	<mailto:xen-announce-request@lists.xen.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8556023493463474752=="
Sender: xen-announce-bounces@lists.xen.org
Errors-To: xen-announce-bounces@lists.xen.org

This is a multi-part message in MIME format.
--===============8556023493463474752==
Content-Type: multipart/alternative;
 boundary="------------000909020009050907050801"

This is a multi-part message in MIME format.
--------------000909020009050907050801
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit


      Xen Day Barcelona 2012, November 8 @ LinuxCon Europe

Xen Day Barcelona 2012

Xen Day Barcelona 
<http://www.xen.org/community/events/xendaybarcelona2012.html> is a free 
morning of talks and interactive discussions people interested in Xen. A 
number of Xen developers will be at Xen Day: this is your chance to ask 
them questions that you always wanted to ask. To attend Xen Day, you do 
not need to register for LinuxCon. As spaces are limited and more than 
half have been allocated, we do ask you to register for the Xen Day 
<http://www.xen.org/polls/xendaybarcelona2012_reg.html>.


    Agenda


      Virtualization in the Cloud: Featuring Xen and XCP (Lars Kurth)

The Xen Hypervisor was built for the Cloud from the outset: when Xen was 
designed, we anticipated a world, which today is known as cloud 
computing. Today, Xen powers the largest clouds in production. This talk 
introduces Xen, XCP and introduces their architectures. The talk will 
shine some light challenges such as securing the cloud, and will 
introduce the concept of domain disaggregation as an approach to 
increase security, robustness and scalability. We will conclude with an 
update on exciting developments in the Xen community and their 
implications for building open source clouds.


      Xen on ARM Cortex A15 (Ian Campbell, Xen Committer and Linux
      Maintainer)

During the last few months of 2011 the Xen Community started an effort 
to port Xen to ARMv7 and ARMv8 with virtualization extensions, using the 
Cortex A15 processor as reference platform.The new Xen port is 
exploiting this set of hardware capabilities to run guest VMs in the 
most efficient way possible while keeping the ARM specific changes to 
the hypervisor and the Linux kernel to a minimum.

Developing the new port we took the chance to remove legacy concepts 
like PV or HVM guests and only support a single kind of guests that is 
comparable to "PV on HVM" in the Xen X86 world.

This talk will explain the reason behind this and other design choices 
that we made during the early development process and it will go through 
the main technical challenges that we had to solve in order to 
accomplish our goal. Notable examples are the way Linux guests issue 
hypercalls and receive event channels notifications from Xen.


      Xen 4.2 and xl (Ian Jackson, Xen Committer)

The Xen 4.2 release contains a production-ready version of the new libxl 
toolstack library and its "xl" domain management utility. We are 
recommending that everyone switch away from the obsolete and 
unmaintained xm/xend toolstack. In this presentation we will summarise 
the key differences, discuss how to do the upgrade, and (network 
permitting) do a short demo.


      Xen Benchmarks (Roger Pau Monne, Xen Developer)

Presentation of results regarding benchmarks performed against KVM and 
Xen virtualization platforms. The benchmarks used to realize this 
comparison are based on workloads that try to mimic real uses of those 
products. Possible improvements to overcome the limitations found will 
also be discussed.


      Meet the Xen Developers

This is an open session, that you can use to ask the Xen Developers any 
question you want. From solving concrete problems that you may have, to 
discussing the evolution of Xen.


--------------000909020009050907050801
Content-Type: multipart/related;
 boundary="------------050003090603060908070407"


--------------050003090603060908070407
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <h3>Xen Day Barcelona 2012, November 8 @ LinuxCon Europe</h3>
    <img alt="Xen Day Barcelona 2012"
      src="cid:part1.01010106.03040907@xen.org" width="951" height="226">
    <p><a
        href="http://www.xen.org/community/events/xendaybarcelona2012.html">Xen
        Day Barcelona</a> is a free morning of talks and interactive
      discussions people interested in Xen. A number of Xen developers
      will be at Xen Day: this is your chance to ask them questions that
      you always wanted to ask. To attend Xen Day, you do not need to
      register for LinuxCon. As spaces are limited and more than half
      have been allocated, we do ask you to <a
        href="http://www.xen.org/polls/xendaybarcelona2012_reg.html">register

        for the Xen Day</a>.<br>
    </p>
    <h2>Agenda</h2>
    <h3>Virtualization in the Cloud: Featuring Xen and XCP (Lars Kurth)</h3>
    <p>The Xen Hypervisor was built for the Cloud from the outset: when
      Xen was designed, we anticipated a world, which today is known as
      cloud computing. Today, Xen powers the largest clouds in
      production. This talk introduces Xen, XCP and introduces their
      architectures. The talk will shine some light challenges such as
      securing the cloud, and will introduce the concept of domain
      disaggregation as an approach to increase security, robustness and
      scalability. We will conclude with an update on exciting
      developments in the Xen community and their implications for
      building open source clouds.</p>
    <h3>Xen on ARM Cortex A15 (Ian Campbell, Xen Committer and Linux
      Maintainer)</h3>
    <p>During the last few months of 2011 the Xen Community started an
      effort to port Xen to ARMv7 and ARMv8 with virtualization
      extensions, using the Cortex A15 processor as reference
      platform.The new Xen port is exploiting this set of hardware
      capabilities to run guest VMs in the most efficient way possible
      while keeping the ARM specific changes to the hypervisor and the
      Linux kernel to a minimum.</p>
    <p>Developing the new port we took the chance to remove legacy
      concepts like PV or HVM guests and only support a single kind of
      guests that is comparable to "PV on HVM" in the Xen X86 world.</p>
    <p>This talk will explain the reason behind this and other design
      choices that we made during the early development process and it
      will go through the main technical challenges that we had to solve
      in order to accomplish our goal. Notable examples are the way
      Linux guests issue hypercalls and receive event channels
      notifications from Xen.</p>
    <h3>Xen 4.2 and xl (Ian Jackson, Xen Committer)</h3>
    <p>The Xen 4.2 release contains a production-ready version of the
      new libxl toolstack library and its "xl" domain management
      utility. We are recommending that everyone switch away from the
      obsolete and unmaintained xm/xend toolstack. In this presentation
      we will summarise the key differences, discuss how to do the
      upgrade, and (network permitting) do a short demo.</p>
    <h3>Xen Benchmarks (Roger Pau Monne, Xen Developer)</h3>
    <p>Presentation of results regarding benchmarks performed against
      KVM and Xen virtualization platforms. The benchmarks used to
      realize this comparison are based on workloads that try to mimic
      real uses of those products. Possible improvements to overcome the
      limitations found will also be discussed.</p>
    <h3>Meet the Xen Developers</h3>
    <p>This is an open session, that you can use to ask the Xen
      Developers any question you want. From solving concrete problems
      that you may have, to discussing the evolution of Xen.</p>
  </body>
</html>

--------------050003090603060908070407
Content-Type: image/png;
 name="XenDayBarcelona2012.png"
Content-Transfer-Encoding: base64
Content-ID: <part1.01010106.03040907@xen.org>
Content-Disposition: inline;
 filename="XenDayBarcelona2012.png"

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
--------------050003090603060908070407--

--------------000909020009050907050801--


--===============8556023493463474752==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-announce mailing list
Xen-announce@lists.xen.org
http://lists.xen.org/xen-announce
--===============8556023493463474752==--


From xen-devel-bounces@lists.xen.org Wed Oct 24 17:37:14 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Oct 2012 17:37:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TR4t2-0007PD-N6; Wed, 24 Oct 2012 17:37:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jefranca@gmail.com>) id 1TR4t0-0007Ow-AA
	for xen-devel@lists.xen.org; Wed, 24 Oct 2012 17:36:59 +0000
Received: from [85.158.139.211:41957] by server-4.bemta-5.messagelabs.com id
	B3/90-01455-93728805; Wed, 24 Oct 2012 17:36:57 +0000
X-Env-Sender: jefranca@gmail.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1351100214!23626333!1
X-Originating-IP: [209.85.220.173]
X-SpamReason: No, hits=1.2 required=7.0 tests=HTML_20_30,HTML_MESSAGE,
	ML_RADAR_SPEW_LINKS_14,RCVD_BY_IP,spamassassin: 
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21058 invoked from network); 24 Oct 2012 17:36:56 -0000
Received: from mail-vc0-f173.google.com (HELO mail-vc0-f173.google.com)
	(209.85.220.173)
	by server-16.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	24 Oct 2012 17:36:56 -0000
Received: by mail-vc0-f173.google.com with SMTP id fl15so68142vcb.32
	for <xen-devel@lists.xen.org>; Wed, 24 Oct 2012 10:36:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to
	:content-type; bh=SEBgB/8zHhAsOXb+SgiHQsWuem34c0gJ932lNyrBjXs=;
	b=MBWiWGmbCPNADWnd9JY3JpAjYMDxUU1fJGQSeA1BJyoPF+Ojuyw7BmJJAk1Xc3M8Uu
	9fbOMcCtvLAAeXHK7WDspzUHzN0ym0IAkSRg5jDoySwLBZ1bsZIwvvqqyWKwA3cn/HlK
	GTab7fzRLecyhtFnK3I+6sMqD9KvdK+tFbDW9EW5xxFLoqPsOl74YFTfRiTBFWod0git
	raxb/y+ZR6tZOLjs3EJ4qpJfQ18iKfejdhLZ2wxBjSX9Q9Q3DRhr6Zcw6XXMjTuvN/AE
	jKrD+4mOVgYRiq72FDPqPS5DCM7bOyj2LKuLP6mGFTW1KRBZ8yfDVI3fHiJwS5zM9IYy
	UQmw==
MIME-Version: 1.0
Received: by 10.52.72.132 with SMTP id d4mr14884180vdv.91.1351100214137; Wed,
	24 Oct 2012 10:36:54 -0700 (PDT)
Received: by 10.58.13.9 with HTTP; Wed, 24 Oct 2012 10:36:53 -0700 (PDT)
In-Reply-To: <CAJP76_D7smbG84YkK53kZkLDupZUECXLMVvDSNC5wqV2XuYtmg@mail.gmail.com>
References: <CAJP76_Ax1V=VVL1feNak1kSgXcaTd27RVkDWDTGySpU4aA_JeQ@mail.gmail.com>
	<75A1D5EB-12C7-4829-A3F7-4D77B2405FBB@gmail.com>
	<CAJP76_B-Rdabu=usgOhOw8T8GYwCm2YErd+E8b+ES_Ymh9yvtQ@mail.gmail.com>
	<CAP8mzPPmic9GcyV_7rsL4EGSs8g6+q+69QD6G0UfrwVnSRjc0A@mail.gmail.com>
	<CAJP76_D7smbG84YkK53kZkLDupZUECXLMVvDSNC5wqV2XuYtmg@mail.gmail.com>
Date: Wed, 24 Oct 2012 15:36:53 -0200
Message-ID: <CAJP76_CMr90TL7Xs2yEbaq=1YMN1h4utDQZPq3eg1NtRhpz2tg@mail.gmail.com>
From: =?ISO-8859-1?Q?Jos=E9_Eduardo_Fran=E7a?= <jefranca@gmail.com>
To: xen-devel@lists.xen.org
Content-Type: multipart/mixed; boundary=bcaec501655751d1f904ccd188f0
Subject: [Xen-devel] Fwd:  How to get the checkpoint size in remus code?
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--bcaec501655751d1f904ccd188f0
Content-Type: multipart/alternative; boundary=bcaec501655751d1f504ccd188ee

--bcaec501655751d1f504ccd188ee
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

---------- Forwarded message ----------
From: Jos=E9 Eduardo Fran=E7a <jefranca@gmail.com>
Date: 2012/10/17
Subject: Re: [Xen-devel] How to get the checkpoint size in remus code?
To: rshriram@cs.ubc.ca


Hi Shriram,

Thank you for your reply. I'm sorry coz I saw your email yesterday and my
English is bad.
Ok... I saw your patch but I need to explain more my problem.

In my master research, I intend to deploy a based-time dynamic checkpoint
that should work this way: if checkpoint size breaks *Lmax* (see attached
figure) I reduce checkpoint interval, and if checkpoint size doesn't break =
*
Lmin* I increase checkpoint interval. After that I will evaluate the
performace.

I had read remus code and I saw that remus control the elapsed time in

            endtime =3D time.time()
            elapsed =3D (endtime - closure.starttime) * 1000

            if elapsed < cfg.interval:
                time.sleep((cfg.interval - elapsed) / 1000.0)

Then I thought I could change the checkpoint interval close to code above,
but I suppose I need get checkpoint size. But here the remus code is python
and I saw (or thought) that checkpoint size is gotten on *xc_shadow_op_stat=
s_t
*stats* or better on *stats->dirty_count*PAGE_SIZE*.

Would I get checkpoint size into remus code? I thought it's easier this way
for I intend to do.
Please, help me, coz my time is running out.

Thanks jefranca

PS: My English is terrible coz I'm not native


2012/10/5 Shriram Rajagopalan <rshriram@cs.ubc.ca>

> On Wed, Oct 3, 2012 at 4:11 AM, Jos=E9 Eduardo Fran=E7a <jefranca@gmail.c=
om>
> wrote:
> >
> > I thought remus used xc_domain_save. Is this function used from live
> > migration?
> >
> > Futhermore I have two doubts if really Remus takes the last iteration o=
f
> > live migration
> >
> > What's the function?
>
> There is no specific function. xc_domain_save is where everything
> happens. The infinite loop
> that basically keeps sending checkpoints @ a particular frequency
>
>
> > And how to get de I/O disk size on each period?
> >
>
> This depends on the disk backend. With blktap2 (unfortunately not
> available in 3.* kernels)
> tap-remus driver can give you the number of disk blocks sent per
> checkpoint.
>
> With DRBD, it needs a little bit of hacking into the kernel module to
> return the number of disk blocks
> being sent with each checkpoint.
>
>
> >> I'm doing my master research and I need to adapt remus code. Now... I
> >> wanna get the checkpoint size (memory + disk) on each period. Does
> someone
> >> know what function does this? I think some fd object's function in rem=
us
> >> code could just get the memory size.
> >>
>
> You can get memory checkpoint stats for each iteration - like
> number of pages dirtied, size of data actually transmitted after
> compression (including headers, etc),
> time to checkpoint, etc.
>
> The attached patch (for xen-4.1.2) will give you the memory checkpoint
> stats for each checkpoint and
> can be easily parsed.
>
> shriram
>

--bcaec501655751d1f504ccd188ee
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">---------- Forwarded message ----------<=
br>From: <b class=3D"gmail_sendername">Jos=E9 Eduardo Fran=E7a</b> <span di=
r=3D"ltr">&lt;<a href=3D"mailto:jefranca@gmail.com">jefranca@gmail.com</a>&=
gt;</span><br>
Date: 2012/10/17<br>Subject: Re: [Xen-devel] How to get the checkpoint size=
 in remus code?<br>To: <a href=3D"mailto:rshriram@cs.ubc.ca">rshriram@cs.ub=
c.ca</a><br><br><br>Hi Shriram,<br><br>Thank you for your reply. I&#39;m so=
rry coz I saw your email yesterday and my English is bad.<br>
Ok... I saw your patch but I need to explain more my problem.<br><br>In my =
master research, I intend to deploy a based-time dynamic checkpoint that sh=
ould work this way: if checkpoint size breaks <i>Lmax</i> (see attached fig=
ure) I reduce checkpoint interval, and if checkpoint size doesn&#39;t break=
 <i>Lmin</i>  I increase checkpoint interval. After that I will evaluate th=
e performace.<br>

<br>I had read remus code and I saw that remus control the elapsed time in<=
br><br>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 endtime =3D time.time()<br>=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0 elapsed =3D (endtime - closure.starttime) * 100=
0<br><br>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if elapsed &lt; cfg.interval:<br=
>

=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 time.sleep((cfg.interval - el=
apsed) / 1000.0)<br><br>Then I thought I could change the checkpoint interv=
al close to code above, but I suppose I need get checkpoint size. But here =
the  remus code is python and I saw (or thought) that checkpoint size is go=
tten on <i>xc_shadow_op_stats_t *stats</i> or better on <i>stats-&gt;dirty_=
count*PAGE_SIZE</i>.<br>

<br>Would I get checkpoint size into remus code? I thought it&#39;s easier =
this way for I intend to do.<br>Please, help me, coz <span lang=3D"en"><spa=
n>my</span> <span>time is running out.</span></span><br>
<br>Thanks jefranca<br><br>PS: My English is terrible coz I&#39;m not nativ=
e<div class=3D"HOEnZb"><div class=3D"h5"><br><br><div class=3D"gmail_quote"=
>2012/10/5 Shriram Rajagopalan <span dir=3D"ltr">&lt;<a href=3D"mailto:rshr=
iram@cs.ubc.ca" target=3D"_blank">rshriram@cs.ubc.ca</a>&gt;</span><br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div>On Wed, Oct 3, 2012 at 4:11 AM, Jos=E9 =
Eduardo Fran=E7a &lt;<a href=3D"mailto:jefranca@gmail.com" target=3D"_blank=
">jefranca@gmail.com</a>&gt; wrote:<br>


&gt;<br>
&gt; I thought remus used xc_domain_save. Is this function used from live<b=
r>
&gt; migration?<br>
&gt;<br>
&gt; Futhermore I have two doubts if really Remus takes the last iteration =
of<br>
&gt; live migration<br>
&gt;<br>
&gt; What&#39;s the function?<br>
<br>
</div>There is no specific function. xc_domain_save is where everything<br>
happens. The infinite loop<br>
that basically keeps sending checkpoints @ a particular frequency<br>
<div><br>
<br>
&gt; And how to get de I/O disk size on each period?<br>
&gt;<br>
<br>
</div>This depends on the disk backend. With blktap2 (unfortunately not<br>
available in 3.* kernels)<br>
tap-remus driver can give you the number of disk blocks sent per checkpoint=
.<br>
<br>
With DRBD, it needs a little bit of hacking into the kernel module to<br>
return the number of disk blocks<br>
being sent with each checkpoint.<br>
<div><br>
<br>
&gt;&gt; I&#39;m doing my master research and I need to adapt remus code. N=
ow... I<br>
&gt;&gt; wanna get the checkpoint size (memory + disk) on each period. Does=
 someone<br>
&gt;&gt; know what function does this? I think some fd object&#39;s functio=
n in remus<br>
&gt;&gt; code could just get the memory size.<br>
&gt;&gt;<br>
<br>
</div>You can get memory checkpoint stats for each iteration - like<br>
number of pages dirtied, size of data actually transmitted after<br>
compression (including headers, etc),<br>
time to checkpoint, etc.<br>
<br>
The attached patch (for xen-4.1.2) will give you the memory checkpoint<br>
stats for each checkpoint and<br>
can be easily parsed.<br>
<span><font color=3D"#888888"><br>
shriram<br>
</font></span></blockquote></div><br>
</div></div></div><br>

--bcaec501655751d1f504ccd188ee--
--bcaec501655751d1f904ccd188f0
Content-Type: image/png; name="dynamic-checkpoint.png"
Content-Disposition: attachment; filename="dynamic-checkpoint.png"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h8ee33pe1

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
LsnJycTGhsQA5oiIdwcPHoyIiNi7d2/NkSNHjhw9ehQX1RNdBQUFw4YNW716tbm5efWRwYMHjx07
duTIkTiISUKlpaU+Pj779u1TUlICABsbm1GjRs2aNYvouJAwJCYm2tnZzZ07d+7cuZzH3dzcdu3a
NWTIkMjISKJiQ+IBc0TEo+Dg4A0bNkRGRmpra9ccNDQ0jIiImDt37vnz5wmMDfEmMzNz0KBBf/75
Z60kY9OmTV26dBk6dGhRURFRsSFuNBrN3d3dyclpzJgxNQe3bdv2/v37TZs2ERgYamk0Gm3dunXD
hg07cODAnDlzuE9wd3cPDw+fPHnyggULSkpKhB8hEg+YI6Jmo9Foc+bMCQwMjImJad++fa2fduvW
7b///lu2bNmKFSsYDAYhESIeJCQk2Nraenl5rVu3rtaPKBTKwYMHu3Xr1rt379evXxMSHqqloqLC
1dVVWVl5586dnMfl5eWvXr164sSJjRs3EhUbajlsNvvSpUvdunVLTk5OTk52dnau78w//vjj1atX
ZWVlnTt3Pn78ON6NEQ8wR0TNwGazL1682LVr19zc3AcPHpiZmdV5Wvfu3R88ePDixQsLCwsc7CC/
r1+/Tp061d3d/dChQ/7+/nWeIy0tvXv3bj8/v/79+y9ZsqSgoEDIQSJODx486Nmzp5GR0ZkzZ2Rl
ZWv9VF9f//bt2xEREc7OzpmZmYREiASuoKBgz549nTp12rx5886dOy9evGhkZNTwWzQ1NQ8fPnz+
/PlTp061a9du06ZNWVlZwokWiQfciw/34msEnU7PyMj48OHD7du3z58/r6WltXXr1gEDBjTlvTdu
3Pjrr7+qqqq8vLz69+/fvn17AwMDaWnpFg4ZNS4vL+/Lly+JiYnh4eEPHjyYNWuWv7+/srJyo2/M
zc1ds2bN6dOnBw8e7OLiUp2pqKmpCSFmCUen0z99+pSYmHjy5Mnnz5/v3r3bw8Oj4fM3bNiwZ8+e
MWPGuLm5de/e3cDAgEKhCC1gxA86nZ6Tk/P9+/f09PTExMSYmJg3b94MHz587ty5ffr04eGCz58/
37dvX1hYWJs2bQYNGtSnTx9jY2M9PT1tbW05OTmBx4/EA+aIxOSITCYzOjr64sWLSUlJnz9/Ligo
IO0DAfLy8rq6uu3bt7e1tfX09LSwsGjuFR4/fhwaGvrgwYO0tLTc3NyKioqWiJN/0tLS2trabdu2
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
AAAASUVORK5CYII=
--bcaec501655751d1f904ccd188f0
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--bcaec501655751d1f904ccd188f0--


From xen-devel-bounces@lists.xen.org Wed Oct 24 21:34:11 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Oct 2012 21:34:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TR8a4-0002C4-AC; Wed, 24 Oct 2012 21:33:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <rdunlap@xenotime.net>) id 1TR8a1-0002Bz-BF
	for xen-devel@lists.xensource.com; Wed, 24 Oct 2012 21:33:38 +0000
Received: from [85.158.137.99:24206] by server-4.bemta-3.messagelabs.com id
	E1/0D-01405-0BE58805; Wed, 24 Oct 2012 21:33:36 +0000
X-Env-Sender: rdunlap@xenotime.net
X-Msg-Ref: server-16.tower-217.messagelabs.com!1351114411!22911396!1
X-Originating-IP: [69.89.22.20]
X-SpamReason: No, hits=3.5 required=7.0 tests=sa_preprocessor: 
	QmFkIElQOiA2OS44OS4yMi4yMCA9PiA0MDQ4Nw==\n,sa_preprocessor: 
	QmFkIElQOiA2OS44OS4yMi4yMCA9PiA0MDQ4Nw==\n, UNIQUE_WORDS,
	UPPERCASE_75_100
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23101 invoked from network); 24 Oct 2012 21:33:32 -0000
Received: from oproxy8-pub.bluehost.com (HELO oproxy8-pub.bluehost.com)
	(69.89.22.20) by server-16.tower-217.messagelabs.com with SMTP;
	24 Oct 2012 21:33:32 -0000
Received: (qmail 25523 invoked by uid 0); 24 Oct 2012 21:33:31 -0000
Received: from unknown (HELO box742.bluehost.com) (66.147.244.242)
	by oproxy8.bluehost.com with SMTP; 24 Oct 2012 21:33:31 -0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xenotime.net;
	s=default; 
	h=Content-Type:In-Reply-To:References:Subject:CC:To:MIME-Version:From:Date:Message-ID;
	bh=QcBR+E/yPIP7SclfSHItTsDy/bkvP0IgtfotBdug0qA=; 
	b=ckO+oEd6Uo4MnEtc5qWAJ2OcBM/q45Kt7Kd6p45RSbeX71KYoeGtdJf+qRwykHMlV+XmpdZ04Ug6aR/2xViPQLna1SW3wX41yhaR4JFDvFd+ubZIAZbAMm3sbSAnq20F;
Received: from [50.53.38.135] (port=54779 helo=[192.168.1.7])
	by box742.bluehost.com with esmtpsa (TLSv1:CAMELLIA256-SHA:256)
	(Exim 4.76) (envelope-from <rdunlap@xenotime.net>)
	id 1TR8Zu-00073J-N4; Wed, 24 Oct 2012 15:33:31 -0600
Message-ID: <50885EA8.3050007@xenotime.net>
Date: Wed, 24 Oct 2012 14:33:28 -0700
From: Randy Dunlap <rdunlap@xenotime.net>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
	rv:1.9.2.15) Gecko/20110323 Thunderbird/3.1.9
MIME-Version: 1.0
To: Stephen Rothwell <sfr@canb.auug.org.au>
References: <20121024151957.28a1626cd9a59c014e78c401@canb.auug.org.au>
In-Reply-To: <20121024151957.28a1626cd9a59c014e78c401@canb.auug.org.au>
Content-Type: multipart/mixed; boundary="------------080408090803040002050408"
X-Identified-User: {1807:box742.bluehost.com:xenotime:xenotime.net}
	{sentby:smtp auth 50.53.38.135 authed with
	rdunlap@xenotime.net}
Cc: Jeremy Fitzhardinge <jeremy@goop.org>, xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org,
	linux-next@vger.kernel.org
Subject: Re: [Xen-devel] linux-next: Tree for Oct 24 (xen)
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

This is a multi-part message in MIME format.
--------------080408090803040002050408
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

On 10/23/2012 09:19 PM, Stephen Rothwell wrote:

> Hi all,
> 
> Changes since 201201023:
> 

on x86_64:

drivers/built-in.o: In function `dbgp_reset_prep':
(.text+0xb96b5): undefined reference to `xen_dbgp_reset_prep'
drivers/built-in.o: In function `dbgp_external_startup':
(.text+0xb9d95): undefined reference to `xen_dbgp_external_startup'


Full randconfig file is attached.


-- 
~Randy

--------------080408090803040002050408
Content-Type: text/plain;
 name="config-r8330"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="config-r8330"

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 3.7.0-rc2 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
# CONFIG_SWAP is not set
# CONFIG_SYSVIPC is not set
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
# CONFIG_FHANDLE is not set
CONFIG_AUDIT=y
# CONFIG_AUDITSYSCALL is not set
# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_DEBUG=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_TASKSTATS=y
# CONFIG_TASK_DELAY_ACCT is not set
# CONFIG_TASK_XACCT is not set

#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
# CONFIG_RESOURCE_COUNTERS is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
CONFIG_RT_GROUP_SCHED=y
# CONFIG_BLK_CGROUP is not set
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
# CONFIG_IPC_NS is not set
# CONFIG_PID_NS is not set
CONFIG_NET_NS=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EXPERT is not set
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_PERF_USE_VMALLOC=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
CONFIG_KPROBES=y
# CONFIG_JUMP_LABEL is not set
CONFIG_OPTPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_KRETPROBES=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_GENERIC_KERNEL_THREAD=y
CONFIG_GENERIC_KERNEL_EXECVE=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_RCU_USER_QS=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_MODULES_USE_ELF_RELA=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
# CONFIG_MODULE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not set
CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
# CONFIG_MSDOS_PARTITION is not set
# CONFIG_LDM_PARTITION is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
# CONFIG_SYSV68_PARTITION is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_IOSCHED_CFQ=m
CONFIG_DEFAULT_NOOP=y
CONFIG_DEFAULT_IOSCHED="noop"
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_FREEZER=y

#
# Processor type and features
#
CONFIG_ZONE_DMA=y
# CONFIG_SMP is not set
# CONFIG_X86_MPPARSE is not set
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_KVMTOOL_TEST_ENABLE=y
CONFIG_PARAVIRT_GUEST=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=500
CONFIG_XEN_SAVE_RESTORE=y
CONFIG_XEN_DEBUG_FS=y
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_NO_BOOTMEM=y
CONFIG_MEMTEST=y
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
CONFIG_CALGARY_IOMMU=y
CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
CONFIG_NR_CPUS=1
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_COUNT=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_I8K=m
CONFIG_MICROCODE=m
# CONFIG_MICROCODE_INTEL is not set
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=m
# CONFIG_X86_CPUID is not set
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DIRECT_GBPAGES=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=999999
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_NEED_PER_CPU_KM=y
# CONFIG_CLEANCACHE is not set
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_X86_SMAP=y
# CONFIG_EFI is not set
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
CONFIG_CRASH_DUMP=y
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE=""
CONFIG_CMDLINE_OVERRIDE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

#
# Power management and ACPI options
#
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_PM_SLEEP=y
# CONFIG_PM_AUTOSLEEP is not set
CONFIG_PM_WAKELOCKS=y
CONFIG_PM_WAKELOCKS_LIMIT=100
# CONFIG_PM_WAKELOCKS_GC is not set
# CONFIG_PM_RUNTIME is not set
CONFIG_PM=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_ADVANCED_DEBUG is not set
CONFIG_PM_SLEEP_DEBUG=y
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS is not set
# CONFIG_ACPI_PROCFS_POWER is not set
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_PROC_EVENT=y
# CONFIG_ACPI_AC is not set
CONFIG_ACPI_BATTERY=m
# CONFIG_ACPI_BUTTON is not set
CONFIG_ACPI_VIDEO=m
# CONFIG_ACPI_FAN is not set
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_IPMI=m
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
# CONFIG_ACPI_THERMAL is not set
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set
# CONFIG_ACPI_SBS is not set
CONFIG_ACPI_HED=y
# CONFIG_ACPI_CUSTOM_METHOD is not set
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
# CONFIG_ACPI_APEI_PCIEAER is not set
CONFIG_ACPI_APEI_EINJ=m
# CONFIG_ACPI_APEI_ERST_DEBUG is not set
CONFIG_SFI=y

#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
# CONFIG_INTEL_IDLE is not set

#
# Memory power savings
#
# CONFIG_I7300_IDLE is not set

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
# CONFIG_PCI_MMCONFIG is not set
CONFIG_PCI_XEN=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ECRC is not set
# CONFIG_PCIEAER_INJECT is not set
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
# CONFIG_PCIEASPM_DEFAULT is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
CONFIG_PCIEASPM_PERFORMANCE=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
CONFIG_PCI_DEBUG=y
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
# CONFIG_PCI_STUB is not set
CONFIG_XEN_PCIDEV_FRONTEND=m
CONFIG_HT_IRQ=y
# CONFIG_PCI_IOV is not set
# CONFIG_PCI_PRI is not set
# CONFIG_PCI_PASID is not set
CONFIG_PCI_IOAPIC=m
CONFIG_PCI_LABEL=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
# CONFIG_PCCARD is not set
CONFIG_HOTPLUG_PCI=m
# CONFIG_HOTPLUG_PCI_ACPI is not set
CONFIG_HOTPLUG_PCI_CPCI=y
# CONFIG_HOTPLUG_PCI_CPCI_ZT5550 is not set
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
# CONFIG_HOTPLUG_PCI_SHPC is not set
# CONFIG_RAPIDIO is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_HAVE_AOUT is not set
# CONFIG_BINFMT_MISC is not set
CONFIG_COREDUMP=y
# CONFIG_IA32_EMULATION is not set
CONFIG_HAVE_TEXT_POKE_SMP=y
CONFIG_X86_DEV_DMA_OPS=y
CONFIG_NET=y

#
# Networking options
#
# CONFIG_PACKET is not set
CONFIG_UNIX=m
CONFIG_UNIX_DIAG=m
CONFIG_XFRM=y
CONFIG_XFRM_ALGO=m
# CONFIG_XFRM_USER is not set
# CONFIG_XFRM_SUB_POLICY is not set
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
# CONFIG_IP_MULTIPLE_TABLES is not set
CONFIG_IP_ROUTE_MULTIPATH=y
# CONFIG_IP_ROUTE_VERBOSE is not set
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
# CONFIG_IP_PNP_BOOTP is not set
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=m
# CONFIG_NET_IPGRE_DEMUX is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
CONFIG_NET_IPVTI=m
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
CONFIG_INET_TUNNEL=m
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_LRO=m
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
# CONFIG_INET_UDP_DIAG is not set
CONFIG_TCP_CONG_ADVANCED=y
# CONFIG_TCP_CONG_BIC is not set
# CONFIG_TCP_CONG_CUBIC is not set
# CONFIG_TCP_CONG_WESTWOOD is not set
# CONFIG_TCP_CONG_HTCP is not set
# CONFIG_TCP_CONG_HSTCP is not set
CONFIG_TCP_CONG_HYBLA=m
# CONFIG_TCP_CONG_VEGAS is not set
# CONFIG_TCP_CONG_SCALABLE is not set
# CONFIG_TCP_CONG_LP is not set
# CONFIG_TCP_CONG_VENO is not set
# CONFIG_TCP_CONG_YEAH is not set
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_DEFAULT_RENO=y
CONFIG_DEFAULT_TCP_CONG="reno"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=m
# CONFIG_IPV6_PRIVACY is not set
CONFIG_IPV6_ROUTER_PREF=y
# CONFIG_IPV6_ROUTE_INFO is not set
CONFIG_IPV6_OPTIMISTIC_DAD=y
# CONFIG_INET6_AH is not set
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
# CONFIG_IPV6_MIP6 is not set
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_MULTIPLE_TABLES=y
# CONFIG_IPV6_SUBTREES is not set
# CONFIG_IPV6_MROUTE is not set
# CONFIG_NETLABEL is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
CONFIG_IP_SCTP=m
# CONFIG_NET_SCTPPROBE is not set
CONFIG_SCTP_DBG_MSG=y
CONFIG_SCTP_DBG_OBJCNT=y
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
CONFIG_L2TP=m
CONFIG_L2TP_DEBUGFS=m
CONFIG_L2TP_V3=y
# CONFIG_L2TP_IP is not set
CONFIG_L2TP_ETH=m
CONFIG_STP=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_NET_DSA=m
CONFIG_NET_DSA_TAG_DSA=y
# CONFIG_NET_DSA_TAG_EDSA is not set
# CONFIG_NET_DSA_TAG_TRAILER is not set
# CONFIG_VLAN_8021Q is not set
CONFIG_DECNET=m
CONFIG_DECNET_ROUTER=y
CONFIG_LLC=m
CONFIG_LLC2=m
# CONFIG_IPX is not set
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m
CONFIG_IPDDP=m
# CONFIG_IPDDP_ENCAP is not set
# CONFIG_IPDDP_DECAP is not set
CONFIG_X25=m
CONFIG_LAPB=m
# CONFIG_WAN_ROUTER is not set
CONFIG_PHONET=m
CONFIG_IEEE802154=m
# CONFIG_IEEE802154_6LOWPAN is not set
# CONFIG_MAC802154 is not set
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
# CONFIG_NET_SCH_HFSC is not set
# CONFIG_NET_SCH_PRIO is not set
# CONFIG_NET_SCH_MULTIQ is not set
# CONFIG_NET_SCH_RED is not set
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
# CONFIG_NET_SCH_TEQL is not set
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
# CONFIG_NET_SCH_DSMARK is not set
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
# CONFIG_NET_SCH_QFQ is not set
CONFIG_NET_SCH_CODEL=m
# CONFIG_NET_SCH_FQ_CODEL is not set
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_PLUG=m

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
# CONFIG_NET_CLS_FW is not set
# CONFIG_NET_CLS_U32 is not set
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
# CONFIG_NET_CLS_CGROUP is not set
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
# CONFIG_NET_EMATCH_U32 is not set
# CONFIG_NET_EMATCH_META is not set
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
# CONFIG_NET_ACT_GACT is not set
# CONFIG_NET_ACT_MIRRED is not set
# CONFIG_NET_ACT_NAT is not set
# CONFIG_NET_ACT_PEDIT is not set
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
# CONFIG_NET_ACT_CSUM is not set
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
CONFIG_DNS_RESOLVER=m
CONFIG_BATMAN_ADV=m
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DEBUG=y
CONFIG_OPENVSWITCH=m
# CONFIG_NETPRIO_CGROUP is not set
CONFIG_BQL=y
CONFIG_BPF_JIT=y

#
# Network testing
#
CONFIG_NET_PKTGEN=m
CONFIG_NET_TCPPROBE=m
CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=m
# CONFIG_AX25_DAMA_SLAVE is not set
CONFIG_NETROM=m
# CONFIG_ROSE is not set

#
# AX.25 network device drivers
#
CONFIG_MKISS=m
# CONFIG_6PACK is not set
# CONFIG_BPQETHER is not set
CONFIG_BAYCOM_SER_FDX=m
# CONFIG_BAYCOM_SER_HDX is not set
CONFIG_YAM=m
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_AF_RXRPC=m
# CONFIG_AF_RXRPC_DEBUG is not set
# CONFIG_RXKAD is not set
CONFIG_FIB_RULES=y
# CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
# CONFIG_RFKILL_REGULATOR is not set
CONFIG_NET_9P=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_NET_9P_DEBUG=y
CONFIG_CAIF=m
# CONFIG_CAIF_DEBUG is not set
CONFIG_CAIF_NETDEV=m
# CONFIG_CAIF_USB is not set
CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
CONFIG_NFC=m
# CONFIG_NFC_NCI is not set
# CONFIG_NFC_HCI is not set
CONFIG_NFC_LLCP=y

#
# Near Field Communication (NFC) devices
#
CONFIG_HAVE_BPF_JIT=y

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
# CONFIG_DEVTMPFS_MOUNT is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
CONFIG_DEBUG_DRIVER=y
CONFIG_DEBUG_DEVRES=y
CONFIG_SYS_HYPERVISOR=y
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP_SPI=y
CONFIG_DMA_SHARED_BUFFER=y

#
# Bus devices
#
CONFIG_OMAP_OCP2SCP=m
CONFIG_CONNECTOR=m
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
CONFIG_BLK_CPQ_DA=m
CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_CISS_SCSI_TAPE=y
CONFIG_BLK_DEV_DAC960=m
CONFIG_BLK_DEV_UMEM=m
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_NVME is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_RAM is not set
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_ATA_OVER_ETH=m
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_VIRTIO_BLK=y
CONFIG_BLK_DEV_HD=y
CONFIG_BLK_DEV_RBD=m

#
# Misc devices
#
CONFIG_SENSORS_LIS3LV02D=m
CONFIG_AD525X_DPOT=m
# CONFIG_AD525X_DPOT_I2C is not set
# CONFIG_AD525X_DPOT_SPI is not set
CONFIG_IBM_ASM=m
CONFIG_PHANTOM=m
# CONFIG_INTEL_MID_PTI is not set
# CONFIG_SGI_IOC4 is not set
CONFIG_TIFM_CORE=m
# CONFIG_TIFM_7XX1 is not set
CONFIG_ICS932S401=m
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_CS5535_MFGPT is not set
CONFIG_HP_ILO=m
CONFIG_APDS9802ALS=m
CONFIG_ISL29003=m
# CONFIG_ISL29020 is not set
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_BH1780 is not set
CONFIG_SENSORS_BH1770=m
# CONFIG_SENSORS_APDS990X is not set
CONFIG_HMC6352=m
CONFIG_DS1682=m
CONFIG_TI_DAC7512=m
CONFIG_VMWARE_BALLOON=m
# CONFIG_BMP085_I2C is not set
# CONFIG_BMP085_SPI is not set
CONFIG_PCH_PHUB=m
# CONFIG_USB_SWITCH_FSA9480 is not set
CONFIG_C2PORT=m
CONFIG_C2PORT_DURAMAR_2150=m

#
# EEPROM support
#
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_AT25=m
# CONFIG_EEPROM_LEGACY is not set
CONFIG_EEPROM_MAX6875=m
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_EEPROM_93XX46 is not set
# CONFIG_CB710_CORE is not set

#
# Texas Instruments shared transport line discipline
#
CONFIG_SENSORS_LIS3_I2C=m

#
# Altera FPGA firmware download module
#
# CONFIG_ALTERA_STAPL is not set
CONFIG_INTEL_MEI=m
CONFIG_HAVE_IDE=y
CONFIG_IDE=m

#
# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
CONFIG_IDE_XFER_MODE=y
CONFIG_IDE_TIMINGS=y
CONFIG_IDE_ATAPI=y
CONFIG_BLK_DEV_IDE_SATA=y
# CONFIG_IDE_GD is not set
# CONFIG_BLK_DEV_IDECD is not set
CONFIG_BLK_DEV_IDETAPE=m
CONFIG_BLK_DEV_IDEACPI=y
# CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_PROC_FS is not set

#
# IDE chipset support/bugfixes
#
# CONFIG_IDE_GENERIC is not set
# CONFIG_BLK_DEV_PLATFORM is not set
CONFIG_BLK_DEV_CMD640=m
CONFIG_BLK_DEV_CMD640_ENHANCED=y
CONFIG_BLK_DEV_IDEPNP=m
CONFIG_BLK_DEV_IDEDMA_SFF=y

#
# PCI IDE chipsets support
#
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_OFFBOARD=y
CONFIG_BLK_DEV_GENERIC=m
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_RZ1000=m
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_AEC62XX is not set
CONFIG_BLK_DEV_ALI15X3=m
CONFIG_BLK_DEV_AMD74XX=m
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
CONFIG_BLK_DEV_TRIFLEX=m
CONFIG_BLK_DEV_CS5520=m
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT366 is not set
CONFIG_BLK_DEV_JMICRON=m
# CONFIG_BLK_DEV_SC1200 is not set
CONFIG_BLK_DEV_PIIX=m
CONFIG_BLK_DEV_IT8172=m
CONFIG_BLK_DEV_IT8213=m
# CONFIG_BLK_DEV_IT821X is not set
CONFIG_BLK_DEV_NS87415=m
CONFIG_BLK_DEV_PDC202XX_OLD=m
CONFIG_BLK_DEV_PDC202XX_NEW=m
CONFIG_BLK_DEV_SVWKS=m
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
CONFIG_BLK_DEV_TRM290=m
CONFIG_BLK_DEV_VIA82CXXX=m
# CONFIG_BLK_DEV_TC86C001 is not set
CONFIG_BLK_DEV_IDEDMA=y

#
# SCSI device support
#
CONFIG_SCSI_MOD=m
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
CONFIG_SCSI_NETLINK=y
# CONFIG_SCSI_PROC_FS is not set

#
# SCSI support type (disk, tape, CD-ROM)
#
# CONFIG_BLK_DEV_SD is not set
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
# CONFIG_SCSI_SCAN_ASYNC is not set

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_FC_TGT_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
# CONFIG_SCSI_SAS_ATA is not set
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_SRP_TGT_ATTRS=y
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
CONFIG_SCSI_CXGB3_ISCSI=m
CONFIG_SCSI_CXGB4_ISCSI=m
CONFIG_SCSI_BNX2_ISCSI=m
# CONFIG_SCSI_BNX2X_FCOE is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_SCSI_HPSA=m
CONFIG_SCSI_3W_9XXX=m
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
CONFIG_SCSI_AACRAID=m
# CONFIG_SCSI_AIC7XXX is not set
CONFIG_SCSI_AIC7XXX_OLD=m
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
CONFIG_SCSI_MVSAS=m
# CONFIG_SCSI_MVSAS_DEBUG is not set
CONFIG_SCSI_MVSAS_TASKLET=y
CONFIG_SCSI_MVUMI=m
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
CONFIG_SCSI_ARCMSR=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=m
# CONFIG_MEGARAID_MAILBOX is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
# CONFIG_SCSI_MPT2SAS_LOGGING is not set
CONFIG_SCSI_UFSHCD=m
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
CONFIG_VMWARE_PVSCSI=m
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
# CONFIG_FCOE is not set
CONFIG_FCOE_FNIC=m
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_EATA=m
# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
CONFIG_SCSI_EATA_LINKED_COMMANDS=y
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=m
CONFIG_SCSI_GDTH=m
# CONFIG_SCSI_ISCI is not set
# CONFIG_SCSI_IPS is not set
CONFIG_SCSI_INITIO=m
# CONFIG_SCSI_INIA100 is not set
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_MMIO is not set
CONFIG_SCSI_IPR=m
# CONFIG_SCSI_IPR_TRACE is not set
# CONFIG_SCSI_IPR_DUMP is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
CONFIG_SCSI_DC395x=m
# CONFIG_SCSI_DC390T is not set
CONFIG_SCSI_DEBUG=m
CONFIG_SCSI_PMCRAID=m
# CONFIG_SCSI_PM8001 is not set
CONFIG_SCSI_SRP=m
# CONFIG_SCSI_BFA_FC is not set
CONFIG_SCSI_VIRTIO=m
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
# CONFIG_ATA_ACPI is not set
# CONFIG_SATA_PMP is not set

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=m
# CONFIG_SATA_AHCI_PLATFORM is not set
CONFIG_SATA_INIC162X=m
CONFIG_SATA_ACARD_AHCI=m
CONFIG_SATA_SIL24=m
# CONFIG_ATA_SFF is not set
CONFIG_MD=y
# CONFIG_BLK_DEV_MD is not set
# CONFIG_BLK_DEV_DM is not set
# CONFIG_TARGET_CORE is not set
CONFIG_FUSION=y
CONFIG_FUSION_SPI=m
# CONFIG_FUSION_FC is not set
CONFIG_FUSION_SAS=m
CONFIG_FUSION_MAX_SGE=128
# CONFIG_FUSION_CTL is not set
# CONFIG_FUSION_LOGGING is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=m
# CONFIG_FIREWIRE_OHCI is not set
# CONFIG_FIREWIRE_SBP2 is not set
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
CONFIG_I2O=m
# CONFIG_I2O_LCT_NOTIFY_ON_CHANGES is not set
CONFIG_I2O_EXT_ADAPTEC=y
CONFIG_I2O_EXT_ADAPTEC_DMA64=y
# CONFIG_I2O_CONFIG is not set
# CONFIG_I2O_BUS is not set
# CONFIG_I2O_BLOCK is not set
CONFIG_I2O_SCSI=m
# CONFIG_I2O_PROC is not set
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=m
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
CONFIG_BONDING=m
CONFIG_DUMMY=m
CONFIG_EQUALIZER=m
# CONFIG_NET_FC is not set
CONFIG_MII=m
CONFIG_IFB=m
CONFIG_NET_TEAM=m
CONFIG_NET_TEAM_MODE_BROADCAST=m
# CONFIG_NET_TEAM_MODE_ROUNDROBIN is not set
# CONFIG_NET_TEAM_MODE_ACTIVEBACKUP is not set
CONFIG_NET_TEAM_MODE_LOADBALANCE=m
# CONFIG_MACVLAN is not set
# CONFIG_VXLAN is not set
CONFIG_NETCONSOLE=m
# CONFIG_NETCONSOLE_DYNAMIC is not set
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_TUN is not set
CONFIG_VETH=m
CONFIG_VIRTIO_NET=y
CONFIG_ARCNET=m
# CONFIG_ARCNET_1201 is not set
CONFIG_ARCNET_1051=m
CONFIG_ARCNET_RAW=m
CONFIG_ARCNET_CAP=m
CONFIG_ARCNET_COM90xx=m
# CONFIG_ARCNET_COM90xxIO is not set
CONFIG_ARCNET_RIM_I=m
# CONFIG_ARCNET_COM20020 is not set

#
# CAIF transport drivers
#
CONFIG_CAIF_TTY=m
# CONFIG_CAIF_SPI_SLAVE is not set
# CONFIG_CAIF_HSI is not set

#
# Distributed Switch Architecture drivers
#
CONFIG_NET_DSA_MV88E6XXX=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=m
# CONFIG_NET_DSA_MV88E6123_61_65 is not set
CONFIG_ETHERNET=y
CONFIG_MDIO=m
# CONFIG_NET_VENDOR_3COM is not set
CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_NET_VENDOR_ALTEON=y
# CONFIG_ACENIC is not set
CONFIG_NET_VENDOR_AMD=y
CONFIG_AMD8111_ETH=m
CONFIG_PCNET32=m
# CONFIG_NET_VENDOR_ATHEROS is not set
CONFIG_NET_CADENCE=y
# CONFIG_ARM_AT91_ETHER is not set
# CONFIG_MACB is not set
CONFIG_NET_VENDOR_BROADCOM=y
# CONFIG_B44 is not set
CONFIG_BNX2=m
CONFIG_CNIC=m
CONFIG_TIGON3=m
CONFIG_BNX2X=m
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_CALXEDA_XGMAC is not set
CONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_CHELSIO_T1 is not set
CONFIG_CHELSIO_T3=m
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
# CONFIG_NET_VENDOR_CISCO is not set
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not set
CONFIG_NET_VENDOR_DLINK=y
# CONFIG_DL2K is not set
# CONFIG_SUNDANCE is not set
# CONFIG_NET_VENDOR_EMULEX is not set
CONFIG_NET_VENDOR_EXAR=y
# CONFIG_S2IO is not set
CONFIG_VXGE=m
CONFIG_VXGE_DEBUG_TRACE_ALL=y
CONFIG_NET_VENDOR_HP=y
CONFIG_HP100=m
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_IP1000 is not set
CONFIG_JME=m
CONFIG_NET_VENDOR_MARVELL=y
# CONFIG_SKGE is not set
CONFIG_SKY2=m
# CONFIG_SKY2_DEBUG is not set
# CONFIG_NET_VENDOR_MELLANOX is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_FEALNX is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
CONFIG_NET_VENDOR_OKI=y
# CONFIG_PCH_GBE is not set
CONFIG_ETHOC=m
# CONFIG_NET_PACKET_ENGINE is not set
CONFIG_NET_VENDOR_QLOGIC=y
# CONFIG_QLA3XXX is not set
# CONFIG_QLCNIC is not set
CONFIG_QLGE=m
# CONFIG_NETXEN_NIC is not set
CONFIG_NET_VENDOR_REALTEK=y
# CONFIG_8139CP is not set
CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
CONFIG_8139TOO_TUNE_TWISTER=y
# CONFIG_8139TOO_8129 is not set
CONFIG_8139_OLD_RX_RESET=y
# CONFIG_R8169 is not set
CONFIG_NET_VENDOR_RDC=y
# CONFIG_R6040 is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
CONFIG_NET_VENDOR_SIS=y
# CONFIG_SIS900 is not set
CONFIG_SIS190=m
CONFIG_SFC=m
CONFIG_SFC_MCDI_MON=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_EPIC100=m
CONFIG_SMSC9420=m
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
CONFIG_NET_VENDOR_TEHUTI=y
# CONFIG_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
CONFIG_NET_VENDOR_VIA=y
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_NET_VENDOR_WIZNET is not set
CONFIG_FDDI=m
# CONFIG_DEFXX is not set
CONFIG_SKFP=m
# CONFIG_HIPPI is not set
# CONFIG_NET_SB1000 is not set
CONFIG_PHYLIB=m

#
# MII PHY device drivers
#
CONFIG_AT803X_PHY=m
CONFIG_AMD_PHY=m
# CONFIG_MARVELL_PHY is not set
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
# CONFIG_CICADA_PHY is not set
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
# CONFIG_BROADCOM_PHY is not set
CONFIG_BCM87XX_PHY=m
# CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
CONFIG_MICREL_PHY=m
CONFIG_MDIO_BITBANG=m
CONFIG_MICREL_KS8995MA=m
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_WLAN is not set

#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
CONFIG_WAN=y
# CONFIG_HDLC is not set
# CONFIG_DLCI is not set
CONFIG_LAPBETHER=m
# CONFIG_X25_ASY is not set
CONFIG_SBNI=m
# CONFIG_SBNI_MULTILINE is not set
# CONFIG_IEEE802154_DRIVERS is not set
# CONFIG_XEN_NETDEV_FRONTEND is not set
CONFIG_VMXNET3=m
# CONFIG_ISDN is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_POLLDEV=m
# CONFIG_INPUT_SPARSEKMAP is not set
CONFIG_INPUT_MATRIXKMAP=m

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ADP5588=m
CONFIG_KEYBOARD_ADP5589=m
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_QT1070=m
CONFIG_KEYBOARD_QT2160=m
CONFIG_KEYBOARD_LKKBD=m
CONFIG_KEYBOARD_TCA6416=m
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_LM8323 is not set
CONFIG_KEYBOARD_LM8333=m
CONFIG_KEYBOARD_MAX7359=m
# CONFIG_KEYBOARD_MCS is not set
CONFIG_KEYBOARD_MPR121=m
CONFIG_KEYBOARD_NEWTON=m
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_KEYBOARD_SUNKBD=m
# CONFIG_KEYBOARD_STMPE is not set
# CONFIG_KEYBOARD_OMAP4 is not set
CONFIG_KEYBOARD_XTKBD=m
CONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not set
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_VSXXXAA=m
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
# CONFIG_JOYSTICK_A3D is not set
CONFIG_JOYSTICK_ADI=m
CONFIG_JOYSTICK_COBRA=m
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
CONFIG_JOYSTICK_GRIP_MP=m
CONFIG_JOYSTICK_GUILLEMOT=m
# CONFIG_JOYSTICK_INTERACT is not set
CONFIG_JOYSTICK_SIDEWINDER=m
# CONFIG_JOYSTICK_TMDC is not set
CONFIG_JOYSTICK_IFORCE=m
# CONFIG_JOYSTICK_IFORCE_232 is not set
CONFIG_JOYSTICK_WARRIOR=m
CONFIG_JOYSTICK_MAGELLAN=m
CONFIG_JOYSTICK_SPACEORB=m
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDJOY is not set
CONFIG_JOYSTICK_ZHENHUA=m
# CONFIG_JOYSTICK_AS5011 is not set
CONFIG_JOYSTICK_JOYDUMP=m
CONFIG_INPUT_TABLET=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=m
CONFIG_TOUCHSCREEN_AD7877=m
# CONFIG_TOUCHSCREEN_AD7879 is not set
# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
# CONFIG_TOUCHSCREEN_DYNAPRO is not set
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
CONFIG_TOUCHSCREEN_EETI=m
CONFIG_TOUCHSCREEN_EGALAX=m
# CONFIG_TOUCHSCREEN_FUJITSU is not set
CONFIG_TOUCHSCREEN_ILI210X=m
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MMS114 is not set
# CONFIG_TOUCHSCREEN_MTOUCH is not set
CONFIG_TOUCHSCREEN_INEXIO=m
# CONFIG_TOUCHSCREEN_MK712 is not set
CONFIG_TOUCHSCREEN_PENMOUNT=m
# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
CONFIG_TOUCHSCREEN_PIXCIR=m
# CONFIG_TOUCHSCREEN_WM831X is not set
# CONFIG_TOUCHSCREEN_MC13783 is not set
CONFIG_TOUCHSCREEN_TOUCHIT213=m
# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
CONFIG_TOUCHSCREEN_TSC2005=m
CONFIG_TOUCHSCREEN_TSC2007=m
# CONFIG_TOUCHSCREEN_PCAP is not set
CONFIG_TOUCHSCREEN_ST1232=m
# CONFIG_TOUCHSCREEN_STMPE is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
# CONFIG_INPUT_MISC is not set
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
CONFIG_SERIO_ALTERA_PS2=m
CONFIG_SERIO_PS2MULT=m
CONFIG_SERIO_ARC_PS2=m
CONFIG_GAMEPORT=m
# CONFIG_GAMEPORT_NS558 is not set
CONFIG_GAMEPORT_L4=m
# CONFIG_GAMEPORT_EMU10K1 is not set
CONFIG_GAMEPORT_FM801=m

#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_SERIAL_NONSTANDARD=y
CONFIG_ROCKETPORT=m
CONFIG_CYCLADES=m
# CONFIG_CYZ_INTR is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_SYNCLINK is not set
# CONFIG_SYNCLINKMP is not set
CONFIG_SYNCLINK_GT=m
# CONFIG_NOZOMI is not set
CONFIG_ISI=m
CONFIG_N_HDLC=m
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
CONFIG_DEVKMEM=y
# CONFIG_STALDRV is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_SHARE_IRQ is not set
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y

#
# Non-8250 serial port support
#
CONFIG_SERIAL_KGDB_NMI=y
CONFIG_SERIAL_MAX3100=m
CONFIG_SERIAL_MAX310X=y
# CONFIG_SERIAL_MRST_MAX3110 is not set
CONFIG_SERIAL_MFD_HSU=m
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
CONFIG_SERIAL_JSM=m
CONFIG_SERIAL_SCCNXP=m
CONFIG_SERIAL_TIMBERDALE=m
CONFIG_SERIAL_ALTERA_JTAGUART=m
# CONFIG_SERIAL_ALTERA_UART is not set
CONFIG_SERIAL_PCH_UART=m
# CONFIG_SERIAL_XILINX_PS_UART is not set
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_XEN=y
# CONFIG_HVC_XEN_FRONTEND is not set
CONFIG_VIRTIO_CONSOLE=y
CONFIG_IPMI_HANDLER=m
CONFIG_IPMI_PANIC_EVENT=y
CONFIG_IPMI_PANIC_STRING=y
# CONFIG_IPMI_DEVICE_INTERFACE is not set
CONFIG_IPMI_SI=m
# CONFIG_IPMI_WATCHDOG is not set
# CONFIG_IPMI_POWEROFF is not set
CONFIG_HW_RANDOM=m
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
CONFIG_HW_RANDOM_INTEL=m
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM_TPM=m
CONFIG_NVRAM=m
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HPET=y
# CONFIG_HPET_MMAP is not set
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_TCG_TPM=y
CONFIG_TCG_TIS=y
CONFIG_TCG_TIS_I2C_INFINEON=m
# CONFIG_TCG_NSC is not set
# CONFIG_TCG_ATMEL is not set
CONFIG_TCG_INFINEON=m
CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
# CONFIG_I2C_CHARDEV is not set
CONFIG_I2C_MUX=m

#
# Multiplexer I2C Chip support
#
# CONFIG_I2C_MUX_PCA9541 is not set
# CONFIG_I2C_MUX_PCA954x is not set
# CONFIG_I2C_HELPER_AUTO is not set
CONFIG_I2C_SMBUS=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
# CONFIG_I2C_ALGOPCF is not set
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
CONFIG_I2C_AMD756=m
# CONFIG_I2C_AMD756_S4882 is not set
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_ISCH=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NFORCE2_S4985=m
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
CONFIG_I2C_VIAPRO=m

#
# ACPI drivers
#
CONFIG_I2C_SCMI=m

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_INTEL_MID is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PXA_PCI is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_PARPORT_LIGHT=m
# CONFIG_I2C_TAOS_EVM is not set

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_DEBUG_CORE is not set
CONFIG_I2C_DEBUG_ALGO=y
CONFIG_I2C_DEBUG_BUS=y
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
CONFIG_SPI_BITBANG=m
# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_TOPCLIFF_PCH is not set
CONFIG_SPI_XCOMM=m
# CONFIG_SPI_XILINX is not set
CONFIG_SPI_DESIGNWARE=m
CONFIG_SPI_DW_PCI=m
# CONFIG_SPI_DW_MID_DMA is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_HSI is not set

#
# PPS support
#
CONFIG_PPS=m
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
# CONFIG_PPS_CLIENT_GPIO is not set

#
# PPS generators support
#

#
# PTP clock support
#
# CONFIG_PTP_1588_CLOCK is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
CONFIG_W1=m
CONFIG_W1_CON=y

#
# 1-wire Bus Masters
#
# CONFIG_W1_MASTER_MATROX is not set
# CONFIG_W1_MASTER_DS2482 is not set
CONFIG_W1_MASTER_DS1WM=m
# CONFIG_HDQ_MASTER_OMAP is not set

#
# 1-wire Slaves
#
# CONFIG_W1_SLAVE_THERM is not set
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_DS2408=m
CONFIG_W1_SLAVE_DS2423=m
# CONFIG_W1_SLAVE_DS2431 is not set
CONFIG_W1_SLAVE_DS2433=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_BQ27000=m
CONFIG_POWER_SUPPLY=y
CONFIG_POWER_SUPPLY_DEBUG=y
CONFIG_PDA_POWER=m
# CONFIG_WM831X_BACKUP is not set
# CONFIG_WM831X_POWER is not set
CONFIG_TEST_POWER=m
# CONFIG_BATTERY_DS2760 is not set
CONFIG_BATTERY_DS2780=m
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SBS is not set
CONFIG_BATTERY_BQ27x00=m
# CONFIG_BATTERY_BQ27X00_I2C is not set
CONFIG_BATTERY_BQ27X00_PLATFORM=y
CONFIG_BATTERY_MAX17040=m
# CONFIG_BATTERY_MAX17042 is not set
CONFIG_CHARGER_PCF50633=m
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
CONFIG_CHARGER_SMB347=m
CONFIG_POWER_AVS=y
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
CONFIG_HWMON_DEBUG_CHIP=y

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
CONFIG_SENSORS_AD7314=m
# CONFIG_SENSORS_AD7414 is not set
CONFIG_SENSORS_AD7418=m
CONFIG_SENSORS_ADCXX=m
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
CONFIG_SENSORS_ADM1026=m
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
CONFIG_SENSORS_ADM9240=m
# CONFIG_SENSORS_ADT7410 is not set
CONFIG_SENSORS_ADT7411=m
# CONFIG_SENSORS_ADT7462 is not set
CONFIG_SENSORS_ADT7470=m
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ASC7621 is not set
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_K10TEMP=m
# CONFIG_SENSORS_FAM15H_POWER is not set
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_HIH6130 is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IBMAEM is not set
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_JC42=m
# CONFIG_SENSORS_LINEAGE is not set
CONFIG_SENSORS_LM63=m
# CONFIG_SENSORS_LM70 is not set
CONFIG_SENSORS_LM73=m
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
CONFIG_SENSORS_LM92=m
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
CONFIG_SENSORS_LTC4245=m
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_MAX1111 is not set
CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
# CONFIG_SENSORS_MAX1668 is not set
CONFIG_SENSORS_MAX197=m
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_NTC_THERMISTOR=m
# CONFIG_SENSORS_PC87360 is not set
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_PCF8591=m
# CONFIG_PMBUS is not set
CONFIG_SENSORS_SHT21=m
# CONFIG_SENSORS_SIS5595 is not set
CONFIG_SENSORS_SMM665=m
# CONFIG_SENSORS_DME1737 is not set
CONFIG_SENSORS_EMC1403=m
CONFIG_SENSORS_EMC2103=m
# CONFIG_SENSORS_EMC6W201 is not set
CONFIG_SENSORS_SMSC47M1=m
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
CONFIG_SENSORS_SCH56XX_COMMON=m
CONFIG_SENSORS_SCH5627=m
# CONFIG_SENSORS_SCH5636 is not set
CONFIG_SENSORS_ADS1015=m
CONFIG_SENSORS_ADS7828=m
# CONFIG_SENSORS_ADS7871 is not set
CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_INA2XX=m
# CONFIG_SENSORS_THMC50 is not set
CONFIG_SENSORS_TMP102=m
CONFIG_SENSORS_TMP401=m
# CONFIG_SENSORS_TMP421 is not set
CONFIG_SENSORS_VIA_CPUTEMP=m
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83781D=m
# CONFIG_SENSORS_W83791D is not set
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
# CONFIG_SENSORS_W83795_FANCTRL is not set
# CONFIG_SENSORS_W83L785TS is not set
CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_WM831X is not set
CONFIG_SENSORS_APPLESMC=m
CONFIG_SENSORS_MC13783_ADC=m

#
# ACPI drivers
#
CONFIG_SENSORS_ACPI_POWER=m
# CONFIG_SENSORS_ATK0110 is not set
CONFIG_THERMAL=m
CONFIG_THERMAL_HWMON=y
CONFIG_FAIR_SHARE=y
CONFIG_STEP_WISE=y
CONFIG_USER_SPACE=y
# CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE is not set
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=y
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
CONFIG_WATCHDOG_NOWAYOUT=y

#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_WM831X_WATCHDOG is not set
CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
CONFIG_F71808E_WDT=m
# CONFIG_SP5100_TCO is not set
CONFIG_SC520_WDT=m
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
CONFIG_IB700_WDT=m
CONFIG_IBMASR=m
CONFIG_WAFER_WDT=m
# CONFIG_I6300ESB_WDT is not set
# CONFIG_IE6XX_WDT is not set
# CONFIG_ITCO_WDT is not set
CONFIG_IT8712F_WDT=m
CONFIG_IT87_WDT=m
CONFIG_HP_WATCHDOG=m
CONFIG_HPWDT_NMI_DECODING=y
# CONFIG_SC1200_WDT is not set
CONFIG_PC87413_WDT=m
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
CONFIG_SBC8360_WDT=m
CONFIG_CPU5_WDT=m
CONFIG_SMSC_SCH311X_WDT=m
CONFIG_SMSC37B787_WDT=m
CONFIG_VIA_WDT=m
# CONFIG_W83627HF_WDT is not set
CONFIG_W83697HF_WDT=m
CONFIG_W83697UG_WDT=m
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
CONFIG_MACHZ_WDT=m
CONFIG_SBC_EPX_C3_WATCHDOG=m
# CONFIG_XEN_WDT is not set

#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=m
# CONFIG_WDTPCI is not set
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
CONFIG_SSB=m
CONFIG_SSB_PCIHOST_POSSIBLE=y
# CONFIG_SSB_PCIHOST is not set
CONFIG_SSB_DEBUG=y
CONFIG_BCMA_POSSIBLE=y

#
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
CONFIG_MFD_LM3533=m
CONFIG_TPS6105X=m
CONFIG_TPS6507X=m
CONFIG_MFD_TPS65217=m
CONFIG_MFD_STMPE=y

#
# STMPE Interface Drivers
#
CONFIG_STMPE_SPI=y
# CONFIG_MFD_TMIO is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_ARIZONA_SPI is not set
CONFIG_MFD_WM831X=y
CONFIG_MFD_WM831X_SPI=y
CONFIG_MFD_PCF50633=m
# CONFIG_PCF50633_ADC is not set
CONFIG_PCF50633_GPIO=m
CONFIG_MFD_MC13783=m
CONFIG_MFD_MC13XXX=m
CONFIG_MFD_MC13XXX_SPI=m
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_ABX500_CORE is not set
CONFIG_EZX_PCAP=y
CONFIG_MFD_CS5535=m
CONFIG_LPC_SCH=m
CONFIG_LPC_ICH=m
CONFIG_MFD_RDC321X=m
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_VX855 is not set
CONFIG_MFD_WL1273_CORE=m
CONFIG_REGULATOR=y
CONFIG_REGULATOR_DEBUG=y
# CONFIG_REGULATOR_DUMMY is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=m
CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
CONFIG_REGULATOR_USERSPACE_CONSUMER=m
# CONFIG_REGULATOR_AD5398 is not set
CONFIG_REGULATOR_FAN53555=m
CONFIG_REGULATOR_MC13XXX_CORE=m
# CONFIG_REGULATOR_MC13783 is not set
CONFIG_REGULATOR_MC13892=m
# CONFIG_REGULATOR_ISL6271A is not set
CONFIG_REGULATOR_MAX1586=m
CONFIG_REGULATOR_MAX8649=m
CONFIG_REGULATOR_MAX8660=m
# CONFIG_REGULATOR_MAX8952 is not set
CONFIG_REGULATOR_PCAP=m
CONFIG_REGULATOR_LP3971=m
# CONFIG_REGULATOR_LP3972 is not set
# CONFIG_REGULATOR_PCF50633 is not set
CONFIG_REGULATOR_TPS51632=m
CONFIG_REGULATOR_TPS6105X=m
# CONFIG_REGULATOR_TPS62360 is not set
CONFIG_REGULATOR_TPS65023=m
CONFIG_REGULATOR_TPS6507X=m
# CONFIG_REGULATOR_TPS65217 is not set
# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_REGULATOR_WM831X=m
# CONFIG_MEDIA_SUPPORT is not set

#
# Graphics support
#
CONFIG_AGP=m
CONFIG_AGP_AMD64=m
# CONFIG_AGP_INTEL is not set
CONFIG_AGP_SIS=m
CONFIG_AGP_VIA=m
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
# CONFIG_VGA_SWITCHEROO is not set
CONFIG_DRM=m
CONFIG_DRM_KMS_HELPER=m
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_TTM=m
CONFIG_DRM_TDFX=m
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
# CONFIG_DRM_RADEON_KMS is not set
# CONFIG_DRM_NOUVEAU is not set

#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_MGA is not set
CONFIG_DRM_SIS=m
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set
CONFIG_DRM_VMWGFX=m
# CONFIG_DRM_VMWGFX_FBCON is not set
CONFIG_DRM_GMA500=m
CONFIG_DRM_GMA600=y
# CONFIG_DRM_GMA3600 is not set
CONFIG_DRM_AST=m
# CONFIG_DRM_MGAG200 is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_STUB_POULSBO is not set
CONFIG_VGASTATE=m
CONFIG_VIDEO_OUTPUT_CONTROL=m
CONFIG_FB=m
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DDC=m
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=m
CONFIG_FB_CFB_COPYAREA=m
CONFIG_FB_CFB_IMAGEBLIT=m
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=m
CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
# CONFIG_FB_WMT_GE_ROPS is not set
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_SVGALIB=m
# CONFIG_FB_MACMODES is not set
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
CONFIG_FB_CIRRUS=m
CONFIG_FB_PM2=m
CONFIG_FB_PM2_FIFO_DISCONNECT=y
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_ARC=m
# CONFIG_FB_VGA16 is not set
CONFIG_FB_UVESA=m
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
CONFIG_FB_RIVA=m
CONFIG_FB_RIVA_I2C=y
# CONFIG_FB_RIVA_DEBUG is not set
# CONFIG_FB_RIVA_BACKLIGHT is not set
CONFIG_FB_I740=m
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX is not set
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
# CONFIG_FB_RADEON_DEBUG is not set
# CONFIG_FB_ATY128 is not set
CONFIG_FB_ATY=m
CONFIG_FB_ATY_CT=y
# CONFIG_FB_ATY_GENERIC_LCD is not set
CONFIG_FB_ATY_GX=y
# CONFIG_FB_ATY_BACKLIGHT is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
CONFIG_FB_KYRO=m
CONFIG_FB_3DFX=m
# CONFIG_FB_3DFX_ACCEL is not set
# CONFIG_FB_3DFX_I2C is not set
CONFIG_FB_VOODOO1=m
CONFIG_FB_VT8623=m
# CONFIG_FB_TRIDENT is not set
CONFIG_FB_ARK=m
CONFIG_FB_PM3=m
CONFIG_FB_CARMINE=m
CONFIG_FB_CARMINE_DRAM_EVAL=y
# CONFIG_CARMINE_DRAM_CUSTOM is not set
# CONFIG_FB_GEODE is not set
CONFIG_FB_TMIO=m
CONFIG_FB_TMIO_ACCELL=y
# CONFIG_FB_VIRTUAL is not set
CONFIG_XEN_FBDEV_FRONTEND=m
# CONFIG_FB_METRONOME is not set
CONFIG_FB_MB862XX=m
CONFIG_FB_MB862XX_PCI_GDC=y
# CONFIG_FB_MB862XX_I2C is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_AUO_K190X is not set
# CONFIG_EXYNOS_VIDEO is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=m
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_LM3533=m
# CONFIG_BACKLIGHT_PWM is not set
# CONFIG_BACKLIGHT_APPLE is not set
CONFIG_BACKLIGHT_SAHARA=m
# CONFIG_BACKLIGHT_WM831X is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
CONFIG_BACKLIGHT_PCF50633=m
CONFIG_BACKLIGHT_LM3630=m
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
CONFIG_BACKLIGHT_TPS65217=m

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=m
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_LOGO is not set
# CONFIG_SOUND is not set

#
# HID support
#
# CONFIG_HID is not set
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB_ARCH_HAS_XHCI=y
# CONFIG_USB_SUPPORT is not set
CONFIG_UWB=m
CONFIG_UWB_WHCI=m
# CONFIG_MMC is not set
CONFIG_MEMSTICK=m
CONFIG_MEMSTICK_DEBUG=y

#
# MemoryStick drivers
#
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MS_BLOCK=m

#
# MemoryStick Host Controller Drivers
#
# CONFIG_MEMSTICK_TIFM_MS is not set
# CONFIG_MEMSTICK_JMICRON_38X is not set
CONFIG_MEMSTICK_R592=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=m

#
# LED drivers
#
# CONFIG_LEDS_LM3530 is not set
CONFIG_LEDS_LM3533=m
# CONFIG_LEDS_LM3642 is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP5521 is not set
CONFIG_LEDS_LP5523=m
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_PCA955X=m
# CONFIG_LEDS_PCA9633 is not set
CONFIG_LEDS_WM831X_STATUS=m
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_MC13783 is not set
CONFIG_LEDS_TCA6507=m
CONFIG_LEDS_LM355x=m
CONFIG_LEDS_OT200=m
CONFIG_LEDS_BLINKM=m
CONFIG_LEDS_TRIGGERS=y

#
# LED Triggers
#
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m

#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC=y

#
# Reporting subsystems
#
# CONFIG_EDAC_LEGACY_SYSFS is not set
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=m
# CONFIG_EDAC_MCE_INJ is not set
# CONFIG_EDAC_MM_EDAC is not set
# CONFIG_RTC_CLASS is not set
CONFIG_DMADEVICES=y
CONFIG_DMADEVICES_DEBUG=y
CONFIG_DMADEVICES_VDEBUG=y

#
# DMA Devices
#
CONFIG_INTEL_MID_DMAC=m
CONFIG_INTEL_IOATDMA=m
CONFIG_TIMB_DMA=m
CONFIG_PCH_DMA=m
CONFIG_DMA_ENGINE=y

#
# DMA Clients
#
# CONFIG_NET_DMA is not set
# CONFIG_ASYNC_TX_DMA is not set
CONFIG_DMATEST=m
CONFIG_DCA=m
CONFIG_AUXDISPLAY=y
CONFIG_UIO=m
# CONFIG_UIO_CIF is not set
CONFIG_UIO_PDRV=m
# CONFIG_UIO_PDRV_GENIRQ is not set
CONFIG_UIO_AEC=m
# CONFIG_UIO_SERCOS3 is not set
CONFIG_UIO_PCI_GENERIC=m
CONFIG_UIO_NETX=m
CONFIG_VIRTIO=y

#
# Virtio drivers
#
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_BALLOON is not set
CONFIG_VIRTIO_MMIO=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set

#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set

#
# Xen driver support
#
CONFIG_XEN_BALLOON=y
# CONFIG_XEN_SCRUB_PAGES is not set
CONFIG_XEN_DEV_EVTCHN=m
# CONFIG_XEN_BACKEND is not set
CONFIG_XENFS=m
# CONFIG_XEN_COMPAT_XENFS is not set
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=m
# CONFIG_XEN_GNTDEV is not set
CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_PRIVCMD=m
# CONFIG_XEN_MCE_LOG is not set
CONFIG_STAGING=y
# CONFIG_ET131X is not set
# CONFIG_SLICOSS is not set
CONFIG_ECHO=m
CONFIG_COMEDI=m
# CONFIG_COMEDI_DEBUG is not set
CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
# CONFIG_COMEDI_MISC_DRIVERS is not set
# CONFIG_COMEDI_PCI_DRIVERS is not set
CONFIG_COMEDI_8255=m
# CONFIG_RTS_PSTOR is not set
# CONFIG_DX_SEP is not set
# CONFIG_ZRAM is not set
CONFIG_ZSMALLOC=m
# CONFIG_FB_SM7XX is not set
# CONFIG_CRYSTALHD is not set
# CONFIG_FB_XGI is not set
# CONFIG_ACPI_QUICKSTART is not set
# CONFIG_FT1000 is not set

#
# Speakup console speech
#
# CONFIG_SPEAKUP is not set
CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
# CONFIG_STAGING_MEDIA is not set

#
# Android
#
CONFIG_ANDROID=y
# CONFIG_ANDROID_BINDER_IPC is not set
CONFIG_ASHMEM=y
# CONFIG_ANDROID_LOGGER is not set
CONFIG_ANDROID_TIMED_OUTPUT=y
# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
# CONFIG_PHONE is not set
CONFIG_IPACK_BUS=m
CONFIG_BOARD_TPCI200=m
# CONFIG_SERIAL_IPOCTAL is not set
CONFIG_WIMAX_GDM72XX=m
# CONFIG_WIMAX_GDM72XX_QOS is not set
# CONFIG_WIMAX_GDM72XX_K_MODE is not set
# CONFIG_WIMAX_GDM72XX_WIMAX2 is not set
CONFIG_NET_VENDOR_SILICOM=y
CONFIG_SBYPASS=m
# CONFIG_BPCTL is not set
# CONFIG_X86_PLATFORM_DEVICES is not set

#
# Hardware Spinlock drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
# CONFIG_IOMMU_SUPPORT is not set

#
# Remoteproc drivers (EXPERIMENTAL)
#
# CONFIG_STE_MODEM_RPROC is not set

#
# Rpmsg drivers (EXPERIMENTAL)
#
# CONFIG_VIRT_DRIVERS is not set
CONFIG_PM_DEVFREQ=y

#
# DEVFREQ Governors
#
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_USERSPACE=y

#
# DEVFREQ Drivers
#
CONFIG_EXTCON=m

#
# Extcon Device Drivers
#
CONFIG_MEMORY=y
# CONFIG_IIO is not set
# CONFIG_VME_BUS is not set
CONFIG_PWM=y

#
# Firmware Drivers
#
CONFIG_EDD=m
# CONFIG_EDD_OFF is not set
CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_DELL_RBU is not set
CONFIG_DCDBAS=m
# CONFIG_DMIID is not set
# CONFIG_DMI_SYSFS is not set
# CONFIG_ISCSI_IBFT_FIND is not set
CONFIG_GOOGLE_FIRMWARE=y

#
# Google Firmware Drivers
#
# CONFIG_GOOGLE_SMI is not set
# CONFIG_GOOGLE_MEMCONSOLE is not set

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
# CONFIG_EXT2_FS_SECURITY is not set
CONFIG_EXT2_FS_XIP=y
CONFIG_EXT3_FS=m
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
# CONFIG_EXT3_FS_XATTR is not set
CONFIG_EXT4_FS=m
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_DEBUG=y
CONFIG_FS_XIP=y
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=m
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
# CONFIG_REISERFS_FS_XATTR is not set
CONFIG_JFS_FS=m
# CONFIG_JFS_POSIX_ACL is not set
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
CONFIG_JFS_STATISTICS=y
# CONFIG_XFS_FS is not set
CONFIG_GFS2_FS=m
# CONFIG_GFS2_FS_LOCKING_DLM is not set
CONFIG_OCFS2_FS=m
# CONFIG_OCFS2_FS_O2CB is not set
# CONFIG_OCFS2_FS_USERSPACE_CLUSTER is not set
CONFIG_OCFS2_FS_STATS=y
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
CONFIG_OCFS2_DEBUG_FS=y
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=m
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
# CONFIG_DNOTIFY is not set
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
CONFIG_QUOTA=y
# CONFIG_QUOTA_NETLINK_INTERFACE is not set
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_QUOTA_DEBUG=y
CONFIG_QUOTA_TREE=m
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=m
CONFIG_CUSE=m

#
# Caches
#
CONFIG_FSCACHE=m
CONFIG_FSCACHE_STATS=y
# CONFIG_FSCACHE_HISTOGRAM is not set
# CONFIG_FSCACHE_DEBUG is not set
CONFIG_FSCACHE_OBJECT_LIST=y
# CONFIG_CACHEFILES is not set

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
# CONFIG_MSDOS_FS is not set
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set
# CONFIG_PROC_VMCORE is not set
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_TMPFS_XATTR is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
CONFIG_ADFS_FS=m
CONFIG_ADFS_FS_RW=y
CONFIG_AFFS_FS=m
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
CONFIG_HFSPLUS_FS=m
# CONFIG_BEFS_FS is not set
CONFIG_BFS_FS=m
CONFIG_EFS_FS=m
CONFIG_LOGFS=m
CONFIG_CRAMFS=m
# CONFIG_SQUASHFS is not set
CONFIG_VXFS_FS=m
CONFIG_MINIX_FS=m
CONFIG_OMFS_FS=m
# CONFIG_HPFS_FS is not set
CONFIG_QNX4FS_FS=m
# CONFIG_QNX6FS_FS is not set
CONFIG_ROMFS_FS=m
CONFIG_ROMFS_BACKED_BY_BLOCK=y
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_PSTORE=y
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_RAM is not set
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_UFS_DEBUG is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V2=m
# CONFIG_NFS_V3 is not set
# CONFIG_NFS_V4 is not set
CONFIG_NFS_SWAP=y
# CONFIG_NFS_FSCACHE is not set
CONFIG_NFS_DEBUG=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
# CONFIG_NFSD_V4 is not set
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_SWAP=y
CONFIG_SUNRPC_DEBUG=y
CONFIG_CEPH_FS=m
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_UPCALL=y
# CONFIG_CIFS_XATTR is not set
CONFIG_CIFS_DEBUG2=y
# CONFIG_CIFS_DFS_UPCALL is not set
CONFIG_CIFS_SMB2=y
CONFIG_CIFS_FSCACHE=y
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
# CONFIG_NCPFS_STRONG is not set
CONFIG_NCPFS_NFS_NS=y
# CONFIG_NCPFS_OS2_NS is not set
CONFIG_NCPFS_SMALLDOS=y
CONFIG_NCPFS_NLS=y
CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=m
# CONFIG_AFS_FS is not set
CONFIG_9P_FS=y
# CONFIG_9P_FS_POSIX_ACL is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
# CONFIG_NLS_CODEPAGE_852 is not set
CONFIG_NLS_CODEPAGE_855=m
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
# CONFIG_NLS_CODEPAGE_950 is not set
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
CONFIG_NLS_ISO8859_4=m
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
CONFIG_NLS_ISO8859_15=m
# CONFIG_NLS_KOI8_R is not set
CONFIG_NLS_KOI8_U=m
# CONFIG_NLS_MAC_ROMAN is not set
# CONFIG_NLS_MAC_CELTIC is not set
CONFIG_NLS_MAC_CENTEURO=m
# CONFIG_NLS_MAC_CROATIAN is not set
# CONFIG_NLS_MAC_CYRILLIC is not set
CONFIG_NLS_MAC_GAELIC=m
# CONFIG_NLS_MAC_GREEK is not set
CONFIG_NLS_MAC_ICELAND=m
CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
# CONFIG_NLS_MAC_TURKISH is not set
CONFIG_NLS_UTF8=m
CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
CONFIG_ENABLE_WARN_DEPRECATED=y
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_READABLE_ASM is not set
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_LOCKUP_DETECTOR=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
# CONFIG_DETECT_HUNG_TASK is not set
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_STATS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
CONFIG_RT_MUTEX_TESTER=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_LOCK_ALLOC=y
# CONFIG_PROVE_LOCKING is not set
CONFIG_SPARSE_RCU_POINTER=y
CONFIG_LOCKDEP=y
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_LOCKDEP=y
CONFIG_DEBUG_ATOMIC_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_DEBUG_KOBJECT=y
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_VM is not set
CONFIG_DEBUG_VIRTUAL=y
CONFIG_DEBUG_WRITECOUNT=y
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
CONFIG_TEST_LIST_SORT=y
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
CONFIG_DEBUG_CREDENTIALS=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_TRACE is not set
CONFIG_KPROBES_SANITY_TEST=y
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
CONFIG_LKDTM=m
CONFIG_NOTIFIER_ERROR_INJECTION=m
# CONFIG_PM_NOTIFIER_ERROR_INJECT is not set
CONFIG_FAULT_INJECTION=y
# CONFIG_FAILSLAB is not set
CONFIG_FAIL_PAGE_ALLOC=y
# CONFIG_FAIL_MAKE_REQUEST is not set
# CONFIG_FAIL_IO_TIMEOUT is not set
CONFIG_FAULT_INJECTION_DEBUG_FS=y
CONFIG_LATENCYTOP=y
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
CONFIG_BUILD_DOCSRC=y
# CONFIG_DYNAMIC_DEBUG is not set
CONFIG_DMA_API_DEBUG=y
CONFIG_ATOMIC64_SELFTEST=y
CONFIG_SAMPLES=y
CONFIG_SAMPLE_KOBJECT=m
# CONFIG_SAMPLE_KPROBES is not set
CONFIG_SAMPLE_HW_BREAKPOINT=m
CONFIG_SAMPLE_KFIFO=m
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_KGDB_TESTS=y
CONFIG_KGDB_TESTS_ON_BOOT=y
CONFIG_KGDB_TESTS_BOOT_STRING="V1F100"
CONFIG_KGDB_LOW_LEVEL_TRAP=y
# CONFIG_KGDB_KDB is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
CONFIG_KMEMCHECK=y
# CONFIG_KMEMCHECK_DISABLED_BY_DEFAULT is not set
CONFIG_KMEMCHECK_ENABLED_BY_DEFAULT=y
# CONFIG_KMEMCHECK_ONESHOT_BY_DEFAULT is not set
CONFIG_KMEMCHECK_QUEUE_SIZE=64
CONFIG_KMEMCHECK_SHADOW_COPY_SHIFT=5
CONFIG_KMEMCHECK_PARTIAL_OK=y
CONFIG_KMEMCHECK_BITOPS_OK=y
CONFIG_TEST_KSTRTOX=m
# CONFIG_STRICT_DEVMEM is not set
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_X86_PTDUMP=y
CONFIG_DEBUG_RODATA=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_SET_MODULE_RONX=y
CONFIG_DEBUG_NX_TEST=m
CONFIG_DEBUG_TLBFLUSH=y
# CONFIG_IOMMU_DEBUG is not set
CONFIG_IOMMU_STRESS=y
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
# CONFIG_IO_DELAY_0X80 is not set
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
CONFIG_IO_DELAY_NONE=y
CONFIG_DEFAULT_IO_DELAY_TYPE=3
CONFIG_DEBUG_BOOT_PARAMS=y
CONFIG_CPA_DEBUG=y
# CONFIG_OPTIMIZE_INLINING is not set
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
CONFIG_DEBUG_NMI_SELFTEST=y

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_TRUSTED_KEYS is not set
# CONFIG_ENCRYPTED_KEYS is not set
CONFIG_KEYS_DEBUG_PROC_KEYS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
CONFIG_SECURITY_PATH=y
# CONFIG_SECURITY_SELINUX is not set
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_YAMA_STACKED=y
CONFIG_INTEGRITY=y
# CONFIG_INTEGRITY_SIGNATURE is not set
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_IMA_AUDIT is not set
CONFIG_IMA_APPRAISE=y
# CONFIG_EVM is not set
CONFIG_DEFAULT_SECURITY_YAMA=y
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="yama"
CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
# CONFIG_CRYPTO_TEST is not set
CONFIG_CRYPTO_ABLK_HELPER_X86=m
CONFIG_CRYPTO_GLUE_HELPER_X86=m

#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
CONFIG_CRYPTO_SEQIV=m

#
# Block modes
#
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CTR=m
# CONFIG_CRYPTO_CTS is not set
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
# CONFIG_CRYPTO_PCBC is not set
CONFIG_CRYPTO_XTS=m

#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m

#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
# CONFIG_CRYPTO_CRC32C_INTEL is not set
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
CONFIG_CRYPTO_RMD128=m
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=y
# CONFIG_CRYPTO_SHA1_SSSE3 is not set
CONFIG_CRYPTO_SHA256=m
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_WP512 is not set
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m

#
# Ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_NI_INTEL=m
# CONFIG_CRYPTO_ANUBIS is not set
CONFIG_CRYPTO_ARC4=m
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA is not set
CONFIG_CRYPTO_CAMELLIA_X86_64=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST5_AVX_X86_64=m
CONFIG_CRYPTO_CAST6=m
# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
# CONFIG_CRYPTO_KHAZAD is not set
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set
# CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=m

#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
# CONFIG_CRYPTO_HW is not set
# CONFIG_ASYMMETRIC_KEY_TYPE is not set
CONFIG_HAVE_KVM=y
CONFIG_VIRTUALIZATION=y
# CONFIG_KVM is not set
CONFIG_VHOST_NET=m
# CONFIG_BINARY_PRINTF is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
CONFIG_CRC32_SELFTEST=y
# CONFIG_CRC32_SLICEBY8 is not set
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
CONFIG_CRC32_BIT=y
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_CRC8=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_BTREE=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_DQL=y
CONFIG_NLATTR=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
CONFIG_AVERAGE=y
# CONFIG_CORDIC is not set
CONFIG_DDR=y

--------------080408090803040002050408
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--------------080408090803040002050408--


From xen-devel-bounces@lists.xen.org Thu Oct 25 11:49:23 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Oct 2012 11:49:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TRLvv-0008UY-Tn; Thu, 25 Oct 2012 11:49:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1TRLvt-0008Th-T7
	for xen-devel@lists.xen.org; Thu, 25 Oct 2012 11:49:06 +0000
Received: from [85.158.139.211:59505] by server-12.bemta-5.messagelabs.com id
	A7/22-26919-13729805; Thu, 25 Oct 2012 11:49:05 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1351165743!23220136!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMTU3Njk=\n
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6244 invoked from network); 25 Oct 2012 11:49:04 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-7.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	25 Oct 2012 11:49:04 -0000
X-IronPort-AV: E=Sophos;i="4.80,646,1344211200"; d="scan'208";a="15386525"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 Oct 2012 11:49:01 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.279.1; Thu, 25 Oct 2012 12:49:01 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53] helo=spongy)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1TRLvp-0003zr-13;
	Thu, 25 Oct 2012 11:49:01 +0000
Received: by spongy (Postfix, from userid 2023)	id 1675734040D; Thu, 25 Oct
	2012 12:52:09 +0100 (BST)
From: Jean Guyader <jean.guyader@citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 25 Oct 2012 12:52:06 +0100
Message-ID: <1351165926-23259-4-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.9.5
In-Reply-To: <1351165926-23259-1-git-send-email-jean.guyader@citrix.com>
References: <1351165926-23259-1-git-send-email-jean.guyader@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: tim@xen.org, Jean Guyader <jean.guyader@citrix.com>, JBeulich@suse.com
Subject: [Xen-devel] [PATCH 3/3] xen: Add V4V implementation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: quoted-printable


Setup of v4v domains a domain gets created and cleanup
when a domain die. Wire up the v4v hypercall.

Include v4v internal and public headers.

Signed-off-by: Jean Guyader <jean.guyader@citrix.com>
---
 xen/arch/x86/hvm/hvm.c             |    6 +-
 xen/arch/x86/x86_64/compat/entry.S |    2 +
 xen/arch/x86/x86_64/entry.S        |    2 +
 xen/common/Makefile                |    1 +
 xen/common/domain.c                |   13 +-
 xen/common/v4v.c                   | 1848 ++++++++++++++++++++++++++++++=
++++++
 xen/include/public/v4v.h           |  308 ++++++
 xen/include/public/xen.h           |    2 +-
 xen/include/xen/sched.h            |    4 +
 xen/include/xen/v4v.h              |  134 +++
 10 files changed, 2316 insertions(+), 4 deletions(-)
 create mode 100644 xen/common/v4v.c
 create mode 100644 xen/include/public/v4v.h
 create mode 100644 xen/include/xen/v4v.h


--------------true
Content-Type: text/x-patch; name="0003-xen-Add-V4V-implementation.patch"
Content-Disposition: attachment;
	filename="0003-xen-Add-V4V-implementation.patch"
Content-Transfer-Encoding: quoted-printable

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 34da2f5..e5237f9 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3242,7 +3242,8 @@ static hvm_hypercall_t *const hvm_hypercall64_table=
[NR_hypercalls] =3D {
     HYPERCALL(set_timer_op),
     HYPERCALL(hvm_op),
     HYPERCALL(sysctl),
-    HYPERCALL(tmem_op)
+    HYPERCALL(tmem_op),
+    HYPERCALL(v4v_op)
 };
=20
 #define COMPAT_CALL(x)                                        \
@@ -3259,7 +3260,8 @@ static hvm_hypercall_t *const hvm_hypercall32_table=
[NR_hypercalls] =3D {
     COMPAT_CALL(set_timer_op),
     HYPERCALL(hvm_op),
     HYPERCALL(sysctl),
-    HYPERCALL(tmem_op)
+    HYPERCALL(tmem_op),
+    HYPERCALL(v4v_op)
 };
=20
 int hvm_do_hypercall(struct cpu_user_regs *regs)
diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/com=
pat/entry.S
index e6b52f3..4902c4f 100644
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -414,6 +414,7 @@ ENTRY(compat_hypercall_table)
         .quad do_domctl
         .quad compat_kexec_op
         .quad do_tmem_op
+        .quad do_v4v_op
         .rept __HYPERVISOR_arch_0-((.-compat_hypercall_table)/8)
         .quad compat_ni_hypercall
         .endr
@@ -462,6 +463,7 @@ ENTRY(compat_hypercall_args_table)
         .byte 1 /* do_domctl                */
         .byte 2 /* compat_kexec_op          */
         .byte 1 /* do_tmem_op               */
+        .byte 5 /* do_v4v_op		    */
         .rept __HYPERVISOR_arch_0-(.-compat_hypercall_args_table)
         .byte 0 /* compat_ni_hypercall      */
         .endr
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index ffb9314..78006cf 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -707,6 +707,7 @@ ENTRY(hypercall_table)
         .quad do_domctl
         .quad do_kexec_op
         .quad do_tmem_op
+        .quad do_v4v_op
         .rept __HYPERVISOR_arch_0-((.-hypercall_table)/8)
         .quad do_ni_hypercall
         .endr
@@ -755,6 +756,7 @@ ENTRY(hypercall_args_table)
         .byte 1 /* do_domctl            */
         .byte 2 /* do_kexec             */
         .byte 1 /* do_tmem_op           */
+        .byte 5 /* do_v4v_op		*/
         .rept __HYPERVISOR_arch_0-(.-hypercall_args_table)
         .byte 0 /* do_ni_hypercall      */
         .endr
diff --git a/xen/common/Makefile b/xen/common/Makefile
index c1c100f..ba63cec 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -45,6 +45,7 @@ obj-y +=3D tmem_xen.o
 obj-y +=3D radix-tree.o
 obj-y +=3D rbtree.o
 obj-y +=3D lzo.o
+obj-y +=3D v4v.o
=20
 obj-bin-$(CONFIG_X86) +=3D $(foreach n,decompress bunzip2 unxz unlzma un=
lzo,$(n).init.o)
=20
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 0e3e36a..60cd8e3 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -195,7 +195,8 @@ struct domain *domain_create(
 {
     struct domain *d, **pd;
     enum { INIT_xsm =3D 1u<<0, INIT_watchdog =3D 1u<<1, INIT_rangeset =3D=
 1u<<2,
-           INIT_evtchn =3D 1u<<3, INIT_gnttab =3D 1u<<4, INIT_arch =3D 1=
u<<5 };
+           INIT_evtchn =3D 1u<<3, INIT_gnttab =3D 1u<<4, INIT_arch =3D 1=
u<<5,
+           INIT_v4v =3D 1u<<6 };
     int err, init_status =3D 0;
     int poolid =3D CPUPOOLID_NONE;
=20
@@ -307,6 +308,13 @@ struct domain *domain_create(
         spin_unlock(&domlist_update_lock);
     }
=20
+    if ( !is_idle_domain(d) )
+    {
+        if ( v4v_init(d) !=3D 0 )
+            goto fail;
+        init_status |=3D INIT_v4v;
+    }
+
     return d;
=20
  fail:
@@ -315,6 +323,8 @@ struct domain *domain_create(
     xfree(d->mem_event);
     if ( init_status & INIT_arch )
         arch_domain_destroy(d);
+    if ( init_status & INIT_v4v )
+	v4v_destroy(d);
     if ( init_status & INIT_gnttab )
         grant_table_destroy(d);
     if ( init_status & INIT_evtchn )
@@ -489,6 +499,7 @@ int domain_kill(struct domain *d)
         domain_pause(d);
         d->is_dying =3D DOMDYING_dying;
         spin_barrier(&d->domain_lock);
+        v4v_destroy(d);
         evtchn_destroy(d);
         gnttab_release_mappings(d);
         tmem_destroy(d->tmem);
diff --git a/xen/common/v4v.c b/xen/common/v4v.c
new file mode 100644
index 0000000..b821950
--- /dev/null
+++ b/xen/common/v4v.c
@@ -0,0 +1,1848 @@
+/***********************************************************************=
*******
+ * V4V
+ *
+ * Version 2 of v2v (Virtual-to-Virtual)
+ *
+ * Copyright (c) 2010, Citrix Systems
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 =
 USA
+ */
+
+#include <xen/config.h>
+#include <xen/mm.h>
+#include <xen/compat.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/errno.h>
+#include <xen/sched.h>
+#include <xen/domain.h>
+#include <xen/v4v.h>
+#include <xen/event.h>
+#include <xen/guest_access.h>
+#include <asm/paging.h>
+#include <asm/p2m.h>
+#include <xen/keyhandler.h>
+#include <asm/types.h>
+
+#ifdef V4V_DEBUG
+#define v4v_dprintk(format, args...)            \
+    do {                                        \
+        printk("%s:%d " format,                 \
+               __FILE__, __LINE__, ## args );   \
+    } while ( 1 =3D=3D 0 )
+#else
+#define v4v_dprintk(format, ... ) (void)0
+#endif
+
+/*
+ * Messages on the ring are padded to 128 bits
+ * Len here refers to the exact length of the data not including the
+ * 128 bit header. The message uses
+ * ((len +0xf) & ~0xf) + sizeof(v4v_ring_message_header) bytes
+ */
+#define V4V_ROUNDUP(a) (((a) +0xf ) & ~0xf)
+
+DEFINE_XEN_GUEST_HANDLE(uint8_t);
+static struct v4v_ring_info *v4v_ring_find_info(struct domain *d,
+                                                v4v_ring_id_t *id);
+
+static struct v4v_ring_info *v4v_ring_find_info_by_addr(struct domain *d=
,
+                                                        struct v4v_addr =
*a,
+                                                        domid_t p);
+
+typedef struct internal_v4v_iov
+{
+    XEN_GUEST_HANDLE(v4v_iov_t) guest_iov;
+    v4v_iov_t                   *xen_iov;
+} internal_v4v_iov_t;
+
+struct list_head v4vtables_rules =3D LIST_HEAD_INIT(v4vtables_rules);
+
+/*
+ * locks
+ */
+
+/*
+ * locking is organized as follows:
+ *
+ * the global lock v4v_lock: L1 protects the v4v elements
+ * of all struct domain *d in the system, it does not
+ * protect any of the elements of d->v4v, just their
+ * addresses. By extension since the destruction of
+ * a domain with a non-NULL d->v4v will need to free
+ * the d->v4v pointer, holding this lock gauruntees
+ * that no domains pointers in which v4v is interested
+ * become invalid whilst this lock is held.
+ */
+
+static DEFINE_RWLOCK(v4v_lock); /* L1 */
+
+/*
+ * the lock d->v4v->lock: L2:  Read on protects the hash table and
+ * the elements in the hash_table d->v4v->ring_hash, and
+ * the node and id fields in struct v4v_ring_info in the
+ * hash table. Write on L2 protects all of the elements of
+ * struct v4v_ring_info. To take L2 you must already have R(L1)
+ * W(L1) implies W(L2) and L3
+ *
+ * the lock v4v_ring_info *ringinfo; ringinfo->lock: L3:
+ * protects len,tx_ptr the guest ring, the
+ * guest ring_data and the pending list. To take L3 you must
+ * already have R(L2). W(L2) implies L3
+ */
+
+/*
+ * lock to protect the filtering rules list: v4vtable_rules
+ *
+ * The write lock is held for viptables_del and viptables_add
+ * The read lock is held for viptable_list
+ */
+static DEFINE_RWLOCK(v4vtables_rules_lock);
+
+
+/*
+ * Debugs
+ */
+
+#ifdef V4V_DEBUG
+static void __attribute__((unused))
+v4v_hexdump(void *_p, int len)
+{
+    uint8_t *buf =3D (uint8_t *)_p;
+    int i, j;
+
+    for ( i =3D 0; i < len; i +=3D 16 )
+    {
+        printk(KERN_ERR "%p:", &buf[i]);
+        for ( j =3D 0; j < 16; ++j )
+        {
+            int k =3D i + j;
+            if ( k < len )
+                printk(" %02x", buf[k]);
+            else
+                printk("   ");
+        }
+        printk(" ");
+
+        for ( j =3D 0; j < 16; ++j )
+        {
+            int k =3D i + j;
+            if ( k < len )
+                printk("%c", ((buf[k] > 32) && (buf[k] < 127)) ? buf[k] =
: '.');
+            else
+                printk(" ");
+        }
+        printk("\n");
+    }
+}
+#endif
+
+
+/*
+ * Event channel
+ */
+
+static void
+v4v_signal_domain(struct domain *d)
+{
+    v4v_dprintk("send guest VIRQ_V4V domid:%d\n", d->domain_id);
+
+    evtchn_send(d, d->v4v->evtchn_port);
+}
+
+static void
+v4v_signal_domid(domid_t id)
+{
+    struct domain *d =3D get_domain_by_id(id);
+    if ( !d )
+        return;
+    v4v_signal_domain(d);
+    put_domain(d);
+}
+
+
+/*
+ * ring buffer
+ */
+
+static void
+v4v_ring_unmap(struct v4v_ring_info *ring_info)
+{
+    int i;
+
+    ASSERT(spin_is_locked(&ring_info->lock));
+
+    for ( i =3D 0; i < ring_info->npage; ++i )
+    {
+        if ( !ring_info->mfn_mapping[i] )
+            continue;
+        v4v_dprintk("unmapping page %p from %p\n",
+                    (void*)mfn_x(ring_info->mfns[i]),
+                    ring_info->mfn_mapping[i]);
+
+        unmap_domain_page(ring_info->mfn_mapping[i]);
+        ring_info->mfn_mapping[i] =3D NULL;
+    }
+}
+
+static uint8_t *
+v4v_ring_map_page(struct v4v_ring_info *ring_info, int i)
+{
+    ASSERT(spin_is_locked(&ring_info->lock));
+
+    if ( i >=3D ring_info->npage )
+        return NULL;
+    if ( ring_info->mfn_mapping[i] )
+        return ring_info->mfn_mapping[i];
+    ring_info->mfn_mapping[i] =3D map_domain_page(mfn_x(ring_info->mfns[=
i]));
+
+    v4v_dprintk("mapping page %p to %p\n",
+                (void *)mfn_x(ring_info->mfns[i]),
+                ring_info->mfn_mapping[i]);
+    return ring_info->mfn_mapping[i];
+}
+
+static int
+v4v_memcpy_from_guest_ring(void *_dst, struct v4v_ring_info *ring_info,
+                           uint32_t offset, uint32_t len)
+{
+    int page =3D offset >> PAGE_SHIFT;
+    uint8_t *src;
+    uint8_t *dst =3D _dst;
+
+    ASSERT(spin_is_locked(&ring_info->lock));
+
+    offset &=3D PAGE_SIZE - 1;
+
+    while ( (offset + len) > PAGE_SIZE )
+    {
+        src =3D v4v_ring_map_page(ring_info, page);
+
+        if ( !src )
+            return -EFAULT;
+
+        v4v_dprintk("memcpy(%p,%p+%d,%d)\n",
+                    dst, src, offset,
+                    (int)(PAGE_SIZE - offset));
+        memcpy(dst, src + offset, PAGE_SIZE - offset);
+
+        page++;
+        len -=3D PAGE_SIZE - offset;
+        dst +=3D PAGE_SIZE - offset;
+        offset =3D 0;
+    }
+
+    src =3D v4v_ring_map_page(ring_info, page);
+    if ( !src )
+        return -EFAULT;
+
+    v4v_dprintk("memcpy(%p,%p+%d,%d)\n", dst, src, offset, len);
+    memcpy(dst, src + offset, len);
+
+    return 0;
+}
+
+static int
+v4v_update_tx_ptr(struct v4v_ring_info *ring_info, uint32_t tx_ptr)
+{
+    uint8_t *dst =3D v4v_ring_map_page(ring_info, 0);
+    uint32_t *p =3D (uint32_t *)(dst + offsetof(v4v_ring_t, tx_ptr));
+
+    ASSERT(spin_is_locked(&ring_info->lock));
+
+    if ( !dst )
+        return -EFAULT;
+    write_atomic(p, tx_ptr);
+    mb();
+    return 0;
+}
+
+static int
+v4v_copy_from_guest_maybe(void *dst, void *src,
+                          XEN_GUEST_HANDLE(uint8_t) src_hnd,
+                          uint32_t len)
+{
+    int rc =3D 0;
+
+    if ( src )
+        memcpy(dst, src, len);
+    else
+        rc =3D __copy_from_guest(dst, src_hnd, len);
+    return rc;
+}
+
+static int
+v4v_memcpy_to_guest_ring(struct v4v_ring_info *ring_info,
+                         uint32_t offset,
+                         void *src,
+                         XEN_GUEST_HANDLE(uint8_t) src_hnd,
+                         uint32_t len)
+{
+    int page =3D offset >> PAGE_SHIFT;
+    uint8_t *dst;
+
+    ASSERT(spin_is_locked(&ring_info->lock));
+
+    offset &=3D PAGE_SIZE - 1;
+
+    while ( (offset + len) > PAGE_SIZE )
+    {
+        dst =3D v4v_ring_map_page(ring_info, page);
+        if ( !dst )
+            return -EFAULT;
+
+        if ( v4v_copy_from_guest_maybe(dst + offset, src, src_hnd,
+                                       PAGE_SIZE - offset) )
+            return -EFAULT;
+
+        page++;
+        len -=3D PAGE_SIZE - offset;
+        if ( src )
+            src +=3D (PAGE_SIZE - offset);
+        else
+            guest_handle_add_offset(src_hnd, PAGE_SIZE - offset);
+        offset =3D 0;
+    }
+
+    dst =3D v4v_ring_map_page(ring_info, page);
+    if ( !dst )
+        return -EFAULT;
+
+    if ( v4v_copy_from_guest_maybe(dst + offset, src, src_hnd, len) )
+        return -EFAULT;
+
+    return 0;
+}
+
+static int
+v4v_ringbuf_get_rx_ptr(struct domain *d, struct v4v_ring_info *ring_info=
,
+                        uint32_t * rx_ptr)
+{
+    v4v_ring_t *ringp;
+
+    if ( ring_info->npage =3D=3D 0 )
+        return -1;
+
+    ringp =3D map_domain_page(mfn_x(ring_info->mfns[0]));
+
+    v4v_dprintk("v4v_ringbuf_payload_space: mapped %p to %p\n",
+                (void *)mfn_x(ring_info->mfns[0]), ringp);
+    if ( !ringp )
+        return -1;
+
+    write_atomic(rx_ptr, ringp->rx_ptr);
+    mb();
+
+    unmap_domain_page(mfn_x(ring_info->mfns[0]));
+    return 0;
+}
+
+uint32_t
+v4v_ringbuf_payload_space(struct domain * d, struct v4v_ring_info * ring=
_info)
+{
+    v4v_ring_t ring;
+    int32_t ret;
+
+    ring.tx_ptr =3D ring_info->tx_ptr;
+    ring.len =3D ring_info->len;
+
+    if ( v4v_ringbuf_get_rx_ptr(d, ring_info, &ring.rx_ptr) )
+        return 0;
+
+    v4v_dprintk("v4v_ringbuf_payload_space:tx_ptr=3D%d rx_ptr=3D%d\n",
+                (int)ring.tx_ptr, (int)ring.rx_ptr);
+    if ( ring.rx_ptr =3D=3D ring.tx_ptr )
+        return ring.len - sizeof (struct v4v_ring_message_header);
+
+    ret =3D ring.rx_ptr - ring.tx_ptr;
+    if ( ret < 0 )
+        ret +=3D ring.len;
+
+    ret -=3D sizeof (struct v4v_ring_message_header);
+    ret -=3D V4V_ROUNDUP(1);
+
+    return (ret < 0) ? 0 : ret;
+}
+
+static long
+v4v_iov_count(XEN_GUEST_HANDLE(v4v_iov_t) iovs, int niov)
+{
+    v4v_iov_t iov;
+    size_t ret =3D 0;
+
+    while ( niov-- )
+    {
+        if ( copy_from_guest(&iov, iovs, 1) )
+            return -EFAULT;
+
+        ret +=3D iov.iov_len;
+
+        /* message bigger than 2G can't be sent */
+        if (ret > 2L * 1024 * 1024 * 1024)
+            return -EMSGSIZE;
+
+        guest_handle_add_offset(iovs, 1);
+    }
+
+    return ret;
+}
+
+static long
+v4v_ringbuf_insertv(struct domain *d,
+                    struct v4v_ring_info *ring_info,
+                    v4v_ring_id_t *src_id, uint32_t proto,
+                    XEN_GUEST_HANDLE(v4v_iov_t) iovs, uint32_t niov,
+                    size_t len)
+{
+    v4v_ring_t ring;
+    struct v4v_ring_message_header mh =3D { 0 };
+    int32_t sp;
+    long happy_ret;
+    int32_t ret =3D 0;
+    XEN_GUEST_HANDLE(uint8_t) empty_hnd =3D { 0 };
+
+    ASSERT(spin_is_locked(&ring_info->lock));
+
+    happy_ret =3D len;
+
+    if ( (V4V_ROUNDUP(len) + sizeof (struct v4v_ring_message_header) ) >=
=3D
+            ring_info->len)
+        return -EMSGSIZE;
+
+    do
+    {
+        if ( (ret =3D v4v_memcpy_from_guest_ring(&ring, ring_info, 0,
+                                               sizeof (ring))) )
+            break;
+
+        ring.tx_ptr =3D ring_info->tx_ptr;
+        ring.len =3D ring_info->len;
+
+        v4v_dprintk("ring.tx_ptr=3D%d ring.rx_ptr=3D%d ring.len=3D%d rin=
g_info->tx_ptr=3D%d\n",
+                    ring.tx_ptr, ring.rx_ptr, ring.len, ring_info->tx_pt=
r);
+
+        if ( ring.rx_ptr =3D=3D ring.tx_ptr )
+            sp =3D ring_info->len;
+        else
+        {
+            sp =3D ring.rx_ptr - ring.tx_ptr;
+            if ( sp < 0 )
+                sp +=3D ring.len;
+        }
+
+        if ( (V4V_ROUNDUP(len) + sizeof (struct v4v_ring_message_header)=
) >=3D sp )
+        {
+            v4v_dprintk("EAGAIN\n");
+            ret =3D -EAGAIN;
+            break;
+        }
+
+        mh.len =3D len + sizeof (struct v4v_ring_message_header);
+        mh.source =3D src_id->addr;
+        mh.message_type =3D proto;
+
+        if ( (ret =3D v4v_memcpy_to_guest_ring(ring_info,
+                                             ring.tx_ptr + sizeof (v4v_r=
ing_t),
+                                             &mh, empty_hnd,
+                                             sizeof (mh))) )
+            break;
+
+        ring.tx_ptr +=3D sizeof (mh);
+        if ( ring.tx_ptr =3D=3D ring_info->len )
+            ring.tx_ptr =3D 0;
+
+        while ( niov-- )
+        {
+            XEN_GUEST_HANDLE(uint8_t) buf_hnd;
+            v4v_iov_t iov;
+
+            if ( copy_from_guest(&iov, iovs, 1) )
+            {
+                ret =3D -EFAULT;
+                break;
+            }
+
+            buf_hnd.p =3D (uint8_t *)iov.iov_base; //FIXME
+            len =3D iov.iov_len;
+
+            if ( unlikely(!guest_handle_okay(buf_hnd, len)) )
+            {
+                ret =3D -EFAULT;
+                break;
+            }
+
+            sp =3D ring.len - ring.tx_ptr;
+
+            if ( len > sp )
+            {
+                ret =3D v4v_memcpy_to_guest_ring(ring_info,
+                        ring.tx_ptr + sizeof (v4v_ring_t),
+                        NULL, buf_hnd, sp);
+                if ( ret )
+                    break;
+
+                ring.tx_ptr =3D 0;
+                len -=3D sp;
+                guest_handle_add_offset(buf_hnd, sp);
+            }
+
+            ret =3D v4v_memcpy_to_guest_ring(ring_info,
+                    ring.tx_ptr + sizeof (v4v_ring_t),
+                    NULL, buf_hnd, len);
+            if ( ret )
+                break;
+
+            ring.tx_ptr +=3D len;
+
+            if ( ring.tx_ptr =3D=3D ring_info->len )
+                ring.tx_ptr =3D 0;
+
+            guest_handle_add_offset(iovs, 1);
+        }
+        if ( ret )
+            break;
+
+        ring.tx_ptr =3D V4V_ROUNDUP(ring.tx_ptr);
+
+        if ( ring.tx_ptr >=3D ring_info->len )
+            ring.tx_ptr -=3D ring_info->len;
+
+        mb();
+        ring_info->tx_ptr =3D ring.tx_ptr;
+        if ( (ret =3D v4v_update_tx_ptr(ring_info, ring.tx_ptr)) )
+            break;
+    }
+    while ( 0 );
+
+    v4v_ring_unmap(ring_info);
+
+    return ret ? ret : happy_ret;
+}
+
+
+
+/* pending */
+static void
+v4v_pending_remove_ent(struct v4v_pending_ent *ent)
+{
+    hlist_del(&ent->node);
+    xfree(ent);
+}
+
+static void
+v4v_pending_remove_all(struct v4v_ring_info *info)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *pending_ent;
+
+    ASSERT(spin_is_locked(&info->lock));
+    hlist_for_each_entry_safe(pending_ent, node, next, &info->pending,
+            node) v4v_pending_remove_ent(pending_ent);
+}
+
+static void
+v4v_pending_notify(struct domain *caller_d, struct hlist_head *to_notify=
)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *pending_ent;
+
+    ASSERT(rw_is_locked(&v4v_lock));
+
+    hlist_for_each_entry_safe(pending_ent, node, next, to_notify, node)
+    {
+        hlist_del(&pending_ent->node);
+        v4v_signal_domid(pending_ent->id);
+        xfree(pending_ent);
+    }
+
+}
+
+static void
+v4v_pending_find(struct domain *d, struct v4v_ring_info *ring_info,
+                 uint32_t payload_space, struct hlist_head *to_notify)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *ent;
+
+    ASSERT(rw_is_locked(&d->v4v->lock));
+
+    spin_lock(&ring_info->lock);
+    hlist_for_each_entry_safe(ent, node, next, &ring_info->pending, node=
)
+    {
+        if ( payload_space >=3D ent->len )
+        {
+            hlist_del(&ent->node);
+            hlist_add_head(&ent->node, to_notify);
+        }
+    }
+    spin_unlock(&ring_info->lock);
+}
+
+/*caller must have L3 */
+static int
+v4v_pending_queue(struct v4v_ring_info *ring_info, domid_t src_id, int l=
en)
+{
+    struct v4v_pending_ent *ent =3D xmalloc(struct v4v_pending_ent);
+
+    if ( !ent )
+    {
+        v4v_dprintk("ENOMEM\n");
+        return -ENOMEM;
+    }
+
+    ent->len =3D len;
+    ent->id =3D src_id;
+
+    hlist_add_head(&ent->node, &ring_info->pending);
+
+    return 0;
+}
+
+/* L3 */
+static int
+v4v_pending_requeue(struct v4v_ring_info *ring_info, domid_t src_id, int=
 len)
+{
+    struct hlist_node *node;
+    struct v4v_pending_ent *ent;
+
+    hlist_for_each_entry(ent, node, &ring_info->pending, node)
+    {
+        if ( ent->id =3D=3D src_id )
+        {
+            if ( ent->len < len )
+                ent->len =3D len;
+            return 0;
+        }
+    }
+
+    return v4v_pending_queue(ring_info, src_id, len);
+}
+
+
+/* L3 */
+static void
+v4v_pending_cancel(struct v4v_ring_info *ring_info, domid_t src_id)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *ent;
+
+    hlist_for_each_entry_safe(ent, node, next, &ring_info->pending, node=
)
+    {
+        if ( ent->id =3D=3D src_id)
+        {
+            hlist_del(&ent->node);
+            xfree(ent);
+        }
+    }
+}
+
+/*
+ * ring data
+ */
+
+/*Caller should hold R(L1)*/
+static int
+v4v_fill_ring_data(struct domain *src_d,
+                   XEN_GUEST_HANDLE(v4v_ring_data_ent_t) data_ent_hnd)
+{
+    v4v_ring_data_ent_t ent;
+    struct domain *dst_d;
+    struct v4v_ring_info *ring_info;
+
+    if ( copy_from_guest(&ent, data_ent_hnd, 1) )
+    {
+        v4v_dprintk("EFAULT\n");
+        return -EFAULT;
+    }
+
+    v4v_dprintk("v4v_fill_ring_data: ent.ring.domain=3D%d,ent.ring.port=3D=
%u\n",
+                (int)ent.ring.domain, (int)ent.ring.port);
+
+    ent.flags =3D 0;
+
+    dst_d =3D get_domain_by_id(ent.ring.domain);
+
+    if ( dst_d && dst_d->v4v )
+    {
+        read_lock(&dst_d->v4v->lock);
+        ring_info =3D v4v_ring_find_info_by_addr(dst_d, &ent.ring,
+                                               src_d->domain_id);
+
+        if ( ring_info )
+        {
+            uint32_t space_avail;
+
+            ent.flags |=3D V4V_RING_DATA_F_EXISTS;
+            ent.max_message_size =3D
+                ring_info->len - sizeof (struct v4v_ring_message_header)=
 -
+                V4V_ROUNDUP(1);
+            spin_lock(&ring_info->lock);
+
+            space_avail =3D v4v_ringbuf_payload_space(dst_d, ring_info);
+
+            if ( space_avail >=3D ent.space_required )
+            {
+                v4v_pending_cancel(ring_info, src_d->domain_id);
+                ent.flags |=3D V4V_RING_DATA_F_SUFFICIENT;
+            }
+            else
+            {
+                v4v_pending_requeue(ring_info, src_d->domain_id,
+                        ent.space_required);
+                ent.flags |=3D V4V_RING_DATA_F_PENDING;
+            }
+
+            spin_unlock(&ring_info->lock);
+
+            if ( space_avail =3D=3D ent.max_message_size )
+                ent.flags |=3D V4V_RING_DATA_F_EMPTY;
+
+        }
+        read_unlock(&dst_d->v4v->lock);
+    }
+
+    if ( dst_d )
+        put_domain(dst_d);
+
+    if ( copy_field_to_guest(data_ent_hnd, &ent, flags) )
+    {
+        v4v_dprintk("EFAULT\n");
+        return -EFAULT;
+    }
+    return 0;
+}
+
+/*Called should hold no more than R(L1) */
+static int
+v4v_fill_ring_datas(struct domain *d, int nent,
+                     XEN_GUEST_HANDLE(v4v_ring_data_ent_t) data_ent_hnd)
+{
+    int ret =3D 0;
+
+    read_lock(&v4v_lock);
+    while ( !ret && nent-- )
+    {
+        ret =3D v4v_fill_ring_data(d, data_ent_hnd);
+        guest_handle_add_offset(data_ent_hnd, 1);
+    }
+    read_unlock(&v4v_lock);
+    return ret;
+}
+
+/*
+ * ring
+ */
+static int
+v4v_find_ring_mfns(struct domain *d, struct v4v_ring_info *ring_info,
+                   uint32_t npage, XEN_GUEST_HANDLE(v4v_pfn_t) pfn_hnd)
+{
+    int i,j;
+    mfn_t *mfns;
+    uint8_t **mfn_mapping;
+    unsigned long mfn;
+    struct page_info *page;
+    int ret =3D 0;
+
+    if ( (npage << PAGE_SHIFT) < ring_info->len )
+    {
+        v4v_dprintk("EINVAL\n");
+        return -EINVAL;
+    }
+
+    mfns =3D xmalloc_array(mfn_t, npage);
+    if ( !mfns )
+    {
+        v4v_dprintk("ENOMEM\n");
+        return -ENOMEM;
+    }
+
+    mfn_mapping =3D xmalloc_array(uint8_t *, npage);
+    if ( !mfn_mapping )
+    {
+        xfree(mfns);
+        return -ENOMEM;
+    }
+
+    for ( i =3D 0; i < npage; ++i )
+    {
+        unsigned long pfn;
+        p2m_type_t p2mt;
+
+        if ( copy_from_guest_offset(&pfn, pfn_hnd, i, 1) )
+        {
+            ret =3D -EFAULT;
+            v4v_dprintk("EFAULT\n");
+            break;
+        }
+
+        mfn =3D mfn_x(get_gfn(d, pfn, &p2mt));
+        if ( !mfn_valid(mfn) )
+        {
+            printk(KERN_ERR "v4v domain %d passed invalid mfn %"PRI_mfn"=
 ring %p seq %d\n",
+                    d->domain_id, mfn, ring_info, i);
+            ret =3D -EINVAL;
+            break;
+        }
+        page =3D mfn_to_page(mfn);
+        if ( !get_page_and_type(page, d, PGT_writable_page) )
+        {
+            printk(KERN_ERR "v4v domain %d passed wrong type mfn %"PRI_m=
fn" ring %p seq %d\n",
+                    d->domain_id, mfn, ring_info, i);
+            ret =3D -EINVAL;
+            break;
+        }
+        mfns[i] =3D _mfn(mfn);
+        v4v_dprintk("v4v_find_ring_mfns: %d: %lx -> %lx\n",
+                    i, (unsigned long)pfn, (unsigned long)mfn_x(mfns[i])=
);
+        mfn_mapping[i] =3D NULL;
+        put_gfn(d, pfn);
+    }
+
+    if ( !ret )
+    {
+        ring_info->npage =3D npage;
+        ring_info->mfns =3D mfns;
+        ring_info->mfn_mapping =3D mfn_mapping;
+    }
+    else
+    {
+        j =3D i;
+        for ( i =3D 0; i < j; ++i )
+            if ( mfn_x(mfns[i]) !=3D 0 )
+                put_page_and_type(mfn_to_page(mfn_x(mfns[i])));
+        xfree(mfn_mapping);
+        xfree(mfns);
+    }
+    return ret;
+}
+
+
+static struct v4v_ring_info *
+v4v_ring_find_info(struct domain *d, v4v_ring_id_t *id)
+{
+    uint16_t hash;
+    struct hlist_node *node;
+    struct v4v_ring_info *ring_info;
+
+    ASSERT(rw_is_locked(&d->v4v->lock));
+
+    hash =3D v4v_hash_fn(id);
+
+    v4v_dprintk("ring_find_info: d->v4v=3D%p, d->v4v->ring_hash[%d]=3D%p=
 id=3D%p\n",
+                d->v4v, (int)hash, d->v4v->ring_hash[hash].first, id);
+    v4v_dprintk("ring_find_info: id.addr.port=3D%d id.addr.domain=3D%d i=
d.addr.partner=3D%d\n",
+                id->addr.port, id->addr.domain, id->partner);
+
+    hlist_for_each_entry(ring_info, node, &d->v4v->ring_hash[hash], node=
)
+    {
+        v4v_ring_id_t *cmpid =3D &ring_info->id;
+
+        if ( cmpid->addr.port =3D=3D id->addr.port &&
+             cmpid->addr.domain =3D=3D id->addr.domain &&
+             cmpid->partner =3D=3D id->partner)
+        {
+            v4v_dprintk("ring_find_info: ring_info=3D%p\n", ring_info);
+            return ring_info;
+        }
+    }
+    v4v_dprintk("ring_find_info: no ring_info found\n");
+    return NULL;
+}
+
+static struct v4v_ring_info *
+v4v_ring_find_info_by_addr(struct domain *d, struct v4v_addr *a, domid_t=
 p)
+{
+    v4v_ring_id_t id;
+    struct v4v_ring_info *ret;
+
+    ASSERT(rw_is_locked(&d->v4v->lock));
+
+    if ( !a )
+        return NULL;
+
+    id.addr.port =3D a->port;
+    id.addr.domain =3D d->domain_id;
+    id.partner =3D p;
+
+    ret =3D v4v_ring_find_info(d, &id);
+    if ( ret )
+        return ret;
+
+    id.partner =3D V4V_DOMID_ANY;
+
+    return v4v_ring_find_info(d, &id);
+}
+
+static void v4v_ring_remove_mfns(struct domain *d, struct v4v_ring_info =
*ring_info)
+{
+    int i;
+
+    ASSERT(rw_is_write_locked(&d->v4v->lock));
+
+    if ( ring_info->mfns )
+    {
+        for ( i =3D 0; i < ring_info->npage; ++i )
+            if ( mfn_x(ring_info->mfns[i]) !=3D 0 )
+                put_page_and_type(mfn_to_page(mfn_x(ring_info->mfns[i]))=
);
+        xfree(ring_info->mfns);
+    }
+    if ( ring_info->mfn_mapping )
+        xfree(ring_info->mfn_mapping);
+    ring_info->mfns =3D NULL;
+
+}
+
+static void
+v4v_ring_remove_info(struct domain *d, struct v4v_ring_info *ring_info)
+{
+    ASSERT(rw_is_write_locked(&d->v4v->lock));
+
+    spin_lock(&ring_info->lock);
+
+    v4v_pending_remove_all(ring_info);
+    hlist_del(&ring_info->node);
+    v4v_ring_remove_mfns(d, ring_info);
+
+    spin_unlock(&ring_info->lock);
+
+    xfree(ring_info);
+}
+
+/* Call from guest to unpublish a ring */
+static long
+v4v_ring_remove(struct domain *d, XEN_GUEST_HANDLE(v4v_ring_t) ring_hnd)
+{
+    struct v4v_ring ring;
+    struct v4v_ring_info *ring_info;
+    int ret =3D 0;
+
+    read_lock(&v4v_lock);
+
+    do
+    {
+        if ( !d->v4v )
+        {
+            v4v_dprintk("EINVAL\n");
+            ret =3D -EINVAL;
+            break;
+        }
+
+        if ( copy_from_guest(&ring, ring_hnd, 1) )
+        {
+            v4v_dprintk("EFAULT\n");
+            ret =3D -EFAULT;
+            break;
+        }
+
+        if ( ring.magic !=3D V4V_RING_MAGIC )
+        {
+            v4v_dprintk("ring.magic(%"PRIx64") !=3D V4V_RING_MAGIC(%"PRI=
x64"), EINVAL\n",
+                    ring.magic, V4V_RING_MAGIC);
+            ret =3D -EINVAL;
+            break;
+        }
+
+        ring.id.addr.domain =3D d->domain_id;
+
+        write_lock(&d->v4v->lock);
+        ring_info =3D v4v_ring_find_info(d, &ring.id);
+
+        if ( ring_info )
+            v4v_ring_remove_info(d, ring_info);
+
+        write_unlock(&d->v4v->lock);
+
+        if ( !ring_info )
+        {
+            v4v_dprintk("ENOENT\n");
+            ret =3D -ENOENT;
+            break;
+        }
+
+    }
+    while ( 0 );
+
+    read_unlock(&v4v_lock);
+    return ret;
+}
+
+/* call from guest to publish a ring */
+static long
+v4v_ring_add(struct domain *d, XEN_GUEST_HANDLE(v4v_ring_t) ring_hnd,
+             uint32_t npage, XEN_GUEST_HANDLE(v4v_pfn_t) pfn_hnd)
+{
+    struct v4v_ring ring;
+    struct v4v_ring_info *ring_info;
+    int need_to_insert =3D 0;
+    int ret =3D 0;
+
+    if ( (long)ring_hnd.p & (PAGE_SIZE - 1) )
+    {
+        v4v_dprintk("EINVAL\n");
+        return -EINVAL;
+    }
+
+    read_lock(&v4v_lock);
+    do
+    {
+        if ( !d->v4v )
+        {
+            v4v_dprintk(" !d->v4v, EINVAL\n");
+            ret =3D -EINVAL;
+            break;
+        }
+
+        if ( copy_from_guest(&ring, ring_hnd, 1) )
+        {
+            v4v_dprintk(" copy_from_guest failed, EFAULT\n");
+            ret =3D -EFAULT;
+            break;
+        }
+
+        if ( ring.magic !=3D V4V_RING_MAGIC )
+        {
+            v4v_dprintk("ring.magic(%lx) !=3D V4V_RING_MAGIC(%lx), EINVA=
L\n",
+                        ring.magic, V4V_RING_MAGIC);
+            ret =3D -EINVAL;
+            break;
+        }
+
+        if ( (ring.len <
+                    (sizeof (struct v4v_ring_message_header) + V4V_ROUND=
UP(1) +
+                     V4V_ROUNDUP(1))) || (V4V_ROUNDUP(ring.len) !=3D rin=
g.len) )
+        {
+            v4v_dprintk("EINVAL\n");
+            ret =3D -EINVAL;
+            break;
+        }
+
+        ring.id.addr.domain =3D d->domain_id;
+        if ( copy_field_to_guest(ring_hnd, &ring, id) )
+        {
+            v4v_dprintk("EFAULT\n");
+            ret =3D -EFAULT;
+            break;
+        }
+
+        /*
+         * no need for a lock yet, because only we know about this
+         * set the tx pointer if it looks bogus (we don't reset it
+         * because this might be a re-register after S4)
+         */
+        if ( (ring.tx_ptr >=3D ring.len)
+                || (V4V_ROUNDUP(ring.tx_ptr) !=3D ring.tx_ptr) )
+        {
+            ring.tx_ptr =3D ring.rx_ptr;
+        }
+        copy_field_to_guest(ring_hnd, &ring, tx_ptr);
+
+        read_lock(&d->v4v->lock);
+        ring_info =3D v4v_ring_find_info(d, &ring.id);
+
+        if ( !ring_info )
+        {
+            read_unlock(&d->v4v->lock);
+            ring_info =3D xmalloc(struct v4v_ring_info);
+            if ( !ring_info )
+            {
+                v4v_dprintk("ENOMEM\n");
+                ret =3D -ENOMEM;
+                break;
+            }
+            need_to_insert++;
+            spin_lock_init(&ring_info->lock);
+            INIT_HLIST_HEAD(&ring_info->pending);
+            ring_info->mfns =3D NULL;
+
+        }
+        else
+        {
+            /*
+             * Ring info already existed.
+             */
+            printk(KERN_INFO "v4v: dom%d ring already registered\n",
+                    current->domain->domain_id);
+            ret =3D -EEXIST;
+            break;
+        }
+
+        spin_lock(&ring_info->lock);
+        ring_info->id =3D ring.id;
+        ring_info->len =3D ring.len;
+        ring_info->tx_ptr =3D ring.tx_ptr;
+        ring_info->ring =3D ring_hnd;
+        if ( ring_info->mfns )
+            xfree(ring_info->mfns);
+        ret =3D v4v_find_ring_mfns(d, ring_info, npage, pfn_hnd);
+        spin_unlock(&ring_info->lock);
+        if ( ret )
+            break;
+
+        if ( !need_to_insert )
+        {
+            read_unlock(&d->v4v->lock);
+        }
+        else
+        {
+            uint16_t hash =3D v4v_hash_fn(&ring.id);
+            write_lock(&d->v4v->lock);
+            hlist_add_head(&ring_info->node, &d->v4v->ring_hash[hash]);
+            write_unlock(&d->v4v->lock);
+        }
+    }
+    while ( 0 );
+
+    read_unlock(&v4v_lock);
+    return ret;
+}
+
+
+/*
+ * io
+ */
+
+static void
+v4v_notify_ring(struct domain *d, struct v4v_ring_info *ring_info,
+                struct hlist_head *to_notify)
+{
+    uint32_t space;
+
+    ASSERT(rw_is_locked(&v4v_lock));
+    ASSERT(rw_is_locked(&d->v4v->lock));
+
+    spin_lock(&ring_info->lock);
+    space =3D v4v_ringbuf_payload_space(d, ring_info);
+    spin_unlock(&ring_info->lock);
+
+    v4v_pending_find(d, ring_info, space, to_notify);
+}
+
+/*notify hypercall*/
+static long
+v4v_notify(struct domain *d,
+           XEN_GUEST_HANDLE(v4v_ring_data_t) ring_data_hnd)
+{
+    v4v_ring_data_t ring_data;
+    HLIST_HEAD(to_notify);
+    int i;
+    int ret =3D 0;
+
+    read_lock(&v4v_lock);
+
+    if ( !d->v4v )
+    {
+        read_unlock(&v4v_lock);
+        v4v_dprintk("!d->v4v, ENODEV\n");
+        return -ENODEV;
+    }
+
+    read_lock(&d->v4v->lock);
+    for ( i =3D 0; i < V4V_HTABLE_SIZE; ++i )
+    {
+        struct hlist_node *node, *next;
+        struct v4v_ring_info *ring_info;
+
+        hlist_for_each_entry_safe(ring_info, node,
+                next, &d->v4v->ring_hash[i],
+                node)
+        {
+            v4v_notify_ring(d, ring_info, &to_notify);
+        }
+    }
+    read_unlock(&d->v4v->lock);
+
+    if ( !hlist_empty(&to_notify) )
+        v4v_pending_notify(d, &to_notify);
+
+    do
+    {
+        if ( !guest_handle_is_null(ring_data_hnd) )
+        {
+            /* Quick sanity check on ring_data_hnd */
+            if ( copy_field_from_guest(&ring_data, ring_data_hnd, magic)=
 )
+            {
+                v4v_dprintk("copy_field_from_guest failed\n");
+                ret =3D -EFAULT;
+                break;
+            }
+
+            if ( ring_data.magic !=3D V4V_RING_DATA_MAGIC )
+            {
+                v4v_dprintk("ring.magic(%lx) !=3D V4V_RING_MAGIC(%lx), E=
INVAL\n",
+                        ring_data.magic, V4V_RING_MAGIC);
+                ret =3D -EINVAL;
+                break;
+            }
+
+            if ( copy_from_guest(&ring_data, ring_data_hnd, 1) )
+            {
+                v4v_dprintk("copy_from_guest failed\n");
+                ret =3D -EFAULT;
+                break;
+            }
+
+            {
+                XEN_GUEST_HANDLE(v4v_ring_data_ent_t) ring_data_ent_hnd;
+                ring_data_ent_hnd =3D
+                    guest_handle_for_field(ring_data_hnd, v4v_ring_data_=
ent_t, data[0]);
+                ret =3D v4v_fill_ring_datas(d, ring_data.nent, ring_data=
_ent_hnd);
+            }
+        }
+    }
+    while ( 0 );
+
+    read_unlock(&v4v_lock);
+
+    return ret;
+}
+
+#ifdef V4V_DEBUG
+void
+v4vtables_print_rule(struct v4vtables_rule_node *node)
+{
+    v4vtables_rule_t *rule;
+
+    if ( node =3D=3D NULL )
+    {
+        printk("(null)\n");
+        return;
+    }
+
+    rule =3D &node->rule;
+
+    if ( rule->accept =3D=3D 1 )
+        printk("ACCEPT");
+    else
+        printk("REJECT");
+
+    printk(" ");
+
+    if ( rule->src.domain =3D=3D V4V_DOMID_ANY )
+        printk("*");
+    else
+        printk("%i", rule->src.domain);
+
+    printk(":");
+
+    if ( rule->src.port =3D=3D -1 )
+        printk("*");
+    else
+        printk("%i", rule->src.port);
+
+    printk(" -> ");
+
+    if ( rule->dst.domain =3D=3D V4V_DOMID_ANY )
+        printk("*");
+    else
+        printk("%i", rule->dst.domain);
+
+    printk(":");
+
+    if ( rule->dst.port =3D=3D -1 )
+        printk("*");
+    else
+        printk("%i", rule->dst.port);
+
+    printk("\n");
+}
+#endif /* V4V_DEBUG */
+
+int
+v4vtables_add(struct domain *src_d,
+              XEN_GUEST_HANDLE(v4vtables_rule_t) rule,
+              int32_t position)
+{
+    struct v4vtables_rule_node* new =3D NULL;
+    struct list_head* tmp;
+
+    ASSERT(rw_is_write_locked(&v4vtables_rules_lock));
+
+    /* First rule is n.1 */
+    position--;
+
+    new =3D xmalloc(struct v4vtables_rule_node);
+    if ( new =3D=3D NULL )
+        return -ENOMEM;
+
+    if ( copy_from_guest(&new->rule, rule, 1) )
+    {
+        xfree(new);
+        return -EFAULT;
+    }
+
+#ifdef V4V_DEBUG
+    printk(KERN_ERR "VIPTables: ");
+    v4vtables_print_rule(new);
+#endif /* V4V_DEBUG */
+
+    tmp =3D &v4vtables_rules;
+    while ( position !=3D 0 && tmp->next !=3D &v4vtables_rules)
+    {
+        tmp =3D tmp->next;
+        position--;
+    }
+    list_add(&new->list, tmp);
+
+    return 0;
+}
+
+int
+v4vtables_del(struct domain *src_d,
+              XEN_GUEST_HANDLE(v4vtables_rule_t) rule_hnd,
+              int32_t position)
+{
+    struct list_head *tmp =3D NULL;
+    struct list_head *to_delete =3D NULL;
+    struct list_head *next =3D NULL;
+    struct v4vtables_rule_node *node;
+
+    ASSERT(rw_is_write_locked(&v4vtables_rules_lock));
+
+    v4v_dprintk("v4vtables_del position:%d\n", position);
+
+    if ( position !=3D -1 )
+    {
+        /* We want to delete the rule number <position> */
+        list_for_each(tmp, &v4vtables_rules)
+        {
+            to_delete =3D tmp;
+            if (position =3D=3D 0)
+                break;
+            position--;
+        }
+        /* Can't find the position */
+        if (position !=3D 0)
+            to_delete =3D NULL;
+    }
+    else if ( !guest_handle_is_null(rule_hnd) )
+    {
+        struct v4vtables_rule r;
+
+        if ( copy_from_guest(&r, rule_hnd, 1) )
+            return -EFAULT;
+
+        list_for_each(tmp, &v4vtables_rules)
+        {
+            node =3D list_entry(tmp, struct v4vtables_rule_node, list);
+
+            if ( (node->rule.src.domain =3D=3D r.src.domain) &&
+                 (node->rule.src.port   =3D=3D r.src.port)   &&
+                 (node->rule.dst.domain =3D=3D r.dst.domain) &&
+                 (node->rule.dst.port   =3D=3D r.dst.port))
+            {
+                to_delete =3D tmp;
+                break;
+            }
+        }
+    }
+    else
+    {
+        /* We want to flush the rules! */
+        printk(KERN_ERR "VIPTables: flushing rules\n");
+        list_for_each_safe(tmp, next, &v4vtables_rules)
+        {
+            node =3D list_entry(tmp, struct v4vtables_rule_node, list);
+            list_del(tmp);
+            xfree(node);
+        }
+    }
+
+    if ( to_delete )
+    {
+        node =3D list_entry(to_delete, struct v4vtables_rule_node, list)=
;
+#ifdef V4V_DEBUG
+        printk(KERN_ERR "VIPTables: deleting rule: ");
+        v4vtables_print_rule(node);
+#endif /* V4V_DEBUG */
+        list_del(to_delete);
+        xfree(node);
+    }
+
+    return 0;
+}
+
+static size_t
+v4vtables_list(struct domain *src_d,
+               XEN_GUEST_HANDLE(v4vtables_list_t) list_hnd)
+{
+    struct list_head *ptr;
+    struct v4vtables_rule_node *node;
+    struct v4vtables_list rules_list;
+    uint32_t nbrules;
+    XEN_GUEST_HANDLE(v4vtables_rule_t) guest_rules;
+
+    ASSERT(rw_is_locked(&v4vtables_rules_lock));
+
+    memset(&rules_list, 0, sizeof (rules_list));
+    if ( copy_from_guest(&rules_list, list_hnd, 1) )
+        return -EFAULT;
+
+    ptr =3D v4vtables_rules.next;
+    while ( rules_list.start_rule !=3D 0 && ptr->next !=3D &v4vtables_ru=
les )
+    {
+        ptr =3D ptr->next;
+        rules_list.start_rule--;
+    }
+
+    if ( rules_list.nb_rules =3D=3D 0 )
+        return -EINVAL;
+
+    guest_rules =3D guest_handle_for_field(list_hnd, v4vtables_rule_t, r=
ules[0]);
+
+    nbrules =3D 0;
+    while ( nbrules < rules_list.nb_rules && ptr !=3D &v4vtables_rules )
+    {
+        node =3D list_entry(ptr, struct v4vtables_rule_node, list);
+
+        if ( copy_to_guest(guest_rules, &node->rule, 1) )
+            break;
+
+        guest_handle_add_offset(guest_rules, 1);
+
+        nbrules++;
+        ptr =3D ptr->next;
+    }
+
+    rules_list.nb_rules =3D nbrules;
+    if ( copy_field_to_guest(list_hnd, &rules_list, nb_rules) )
+        return -EFAULT;
+
+    return 0;
+}
+
+static size_t
+v4vtables_check(v4v_addr_t * src, v4v_addr_t * dst)
+{
+    struct list_head *ptr;
+    struct v4vtables_rule_node *node;
+    size_t ret =3D 0; /* Defaulting to ACCEPT */
+
+    read_lock(&v4vtables_rules_lock);
+
+    list_for_each(ptr, &v4vtables_rules)
+    {
+        node =3D list_entry(ptr, struct v4vtables_rule_node, list);
+
+        if ( (node->rule.src.domain =3D=3D V4V_DOMID_ANY ||
+              node->rule.src.domain =3D=3D src->domain) &&
+             (node->rule.src.port =3D=3D V4V_PORT_ANY ||
+              node->rule.src.port =3D=3D src->port) &&
+             (node->rule.dst.domain =3D=3D V4V_DOMID_ANY ||
+              node->rule.dst.domain =3D=3D dst->domain) &&
+             (node->rule.dst.port =3D=3D V4V_PORT_ANY ||
+              node->rule.dst.port =3D=3D dst->port) )
+        {
+            ret =3D !node->rule.accept;
+            break;
+        }
+    }
+
+    read_unlock(&v4vtables_rules_lock);
+    return ret;
+}
+
+/*
+ * Hypercall to do the send
+ */
+static long
+v4v_sendv(struct domain *src_d, v4v_addr_t * src_addr,
+          v4v_addr_t * dst_addr, uint32_t proto,
+          XEN_GUEST_HANDLE(v4v_iov_t) iovs, size_t niov)
+{
+    struct domain *dst_d;
+    v4v_ring_id_t src_id;
+    struct v4v_ring_info *ring_info;
+    int ret =3D 0;
+
+    if ( !dst_addr )
+    {
+        v4v_dprintk("!dst_addr, EINVAL\n");
+        return -EINVAL;
+    }
+
+    read_lock(&v4v_lock);
+    if ( !src_d->v4v )
+    {
+        read_unlock(&v4v_lock);
+        v4v_dprintk("!src_d->v4v, EINVAL\n");
+        return -EINVAL;
+    }
+
+    src_id.addr.port =3D src_addr->port;
+    src_id.addr.domain =3D src_d->domain_id;
+    src_id.partner =3D dst_addr->domain;
+
+    dst_d =3D get_domain_by_id(dst_addr->domain);
+    if ( !dst_d )
+    {
+        read_unlock(&v4v_lock);
+        v4v_dprintk("!dst_d, ECONNREFUSED\n");
+        return -ECONNREFUSED;
+    }
+
+    if ( v4vtables_check(src_addr, dst_addr) !=3D 0 )
+    {
+        read_unlock(&v4v_lock);
+        gdprintk(XENLOG_WARNING,
+                 "V4V: VIPTables REJECTED %i:%i -> %i:%i\n",
+                 src_addr->domain, src_addr->port,
+                 dst_addr->domain, dst_addr->port);
+        return -ECONNREFUSED;
+    }
+
+    do
+    {
+        if ( !dst_d->v4v )
+        {
+            v4v_dprintk("dst_d->v4v, ECONNREFUSED\n");
+            ret =3D -ECONNREFUSED;
+            break;
+        }
+
+        read_lock(&dst_d->v4v->lock);
+        ring_info =3D
+            v4v_ring_find_info_by_addr(dst_d, dst_addr, src_addr->domain=
);
+
+        if ( !ring_info )
+        {
+            ret =3D -ECONNREFUSED;
+            v4v_dprintk(" !ring_info, ECONNREFUSED\n");
+        }
+        else
+        {
+            long len =3D v4v_iov_count(iovs, niov);
+
+            if ( len < 0 )
+            {
+                ret =3D len;
+                break;
+            }
+
+            spin_lock(&ring_info->lock);
+            ret =3D
+                v4v_ringbuf_insertv(dst_d, ring_info, &src_id, proto, io=
vs,
+                        niov, len);
+            if ( ret =3D=3D -EAGAIN )
+            {
+                v4v_dprintk("v4v_ringbuf_insertv failed, EAGAIN\n");
+                /* Schedule a wake up on the event channel when space is=
 there */
+                if ( v4v_pending_requeue(ring_info, src_d->domain_id, le=
n) )
+                {
+                    v4v_dprintk("v4v_pending_requeue failed, ENOMEM\n");
+                    ret =3D -ENOMEM;
+                }
+            }
+            spin_unlock(&ring_info->lock);
+
+            if ( ret >=3D 0 )
+            {
+                v4v_signal_domain(dst_d);
+            }
+
+        }
+        read_unlock(&dst_d->v4v->lock);
+
+    }
+    while ( 0 );
+
+    put_domain(dst_d);
+    read_unlock(&v4v_lock);
+    return ret;
+}
+
+static void
+v4v_info(struct domain *d, v4v_info_t *info)
+{
+    read_lock(&d->v4v->lock);
+    info->ring_magic =3D V4V_RING_MAGIC;
+    info->data_magic =3D V4V_RING_DATA_MAGIC;
+    info->evtchn =3D d->v4v->evtchn_port;
+    read_unlock(&d->v4v->lock);
+}
+
+/*
+ * hypercall glue
+ */
+long
+do_v4v_op(int cmd, XEN_GUEST_HANDLE(void) arg1,
+          XEN_GUEST_HANDLE(void) arg2,
+          uint32_t arg3, uint32_t arg4)
+{
+    struct domain *d =3D current->domain;
+    long rc =3D -EFAULT;
+
+    v4v_dprintk("->do_v4v_op(%d,%p,%p,%d,%d)\n", cmd,
+                (void *)arg1.p, (void *)arg2.p, (int) arg3, (int) arg4);
+
+    domain_lock(d);
+    switch (cmd)
+    {
+        case V4VOP_register_ring:
+            {
+                XEN_GUEST_HANDLE(v4v_ring_t) ring_hnd =3D
+                    guest_handle_cast(arg1, v4v_ring_t);
+                XEN_GUEST_HANDLE(v4v_pfn_t) pfn_hnd =3D
+                    guest_handle_cast(arg2, v4v_pfn_t);
+                uint32_t npage =3D arg3;
+                if ( unlikely(!guest_handle_okay(pfn_hnd, npage)) )
+                    goto out;
+                rc =3D v4v_ring_add(d, ring_hnd, npage, pfn_hnd);
+                break;
+            }
+        case V4VOP_unregister_ring:
+            {
+                XEN_GUEST_HANDLE(v4v_ring_t) ring_hnd =3D
+                    guest_handle_cast(arg1, v4v_ring_t);
+                rc =3D v4v_ring_remove(d, ring_hnd);
+                break;
+            }
+        case V4VOP_sendv:
+            {
+                uint32_t niov =3D arg3;
+                uint32_t message_type =3D arg4;
+                XEN_GUEST_HANDLE(v4v_send_addr_t) addr_hnd =3D
+                    guest_handle_cast(arg1, v4v_send_addr_t);
+                v4v_send_addr_t addr;
+
+                if ( copy_from_guest(&addr, addr_hnd, 1) )
+                    goto out;
+
+                rc =3D v4v_sendv(d, &addr.src, &addr.dst, message_type,
+                        guest_handle_cast(arg2, v4v_iov_t), niov);
+                break;
+            }
+        case V4VOP_notify:
+            {
+                XEN_GUEST_HANDLE(v4v_ring_data_t) ring_data_hnd =3D
+                    guest_handle_cast(arg1, v4v_ring_data_t);
+                rc =3D v4v_notify(d, ring_data_hnd);
+                break;
+            }
+        case V4VOP_tables_add:
+            {
+                uint32_t position =3D arg3;
+                XEN_GUEST_HANDLE(v4vtables_rule_t) rule_hnd =3D
+                    guest_handle_cast(arg1, v4vtables_rule_t);
+                rc =3D -EPERM;
+                if ( !IS_PRIV(d) )
+                    goto out;
+
+                write_lock(&v4vtables_rules_lock);
+                rc =3D v4vtables_add(d, rule_hnd, position);
+                write_unlock(&v4vtables_rules_lock);
+                break;
+            }
+        case V4VOP_tables_del:
+            {
+                uint32_t position =3D arg3;
+                XEN_GUEST_HANDLE(v4vtables_rule_t) rule_hnd =3D
+                    guest_handle_cast(arg1, v4vtables_rule_t);
+                rc =3D -EPERM;
+                if ( !IS_PRIV(d) )
+                    goto out;
+
+                write_lock(&v4vtables_rules_lock);
+                rc =3D v4vtables_del(d, rule_hnd, position);
+                write_unlock(&v4vtables_rules_lock);
+                break;
+            }
+        case V4VOP_tables_list:
+            {
+                XEN_GUEST_HANDLE(v4vtables_list_t) rules_list_hnd =3D
+                    guest_handle_cast(arg1, v4vtables_list_t);
+                rc =3D -EPERM;
+                if ( !IS_PRIV(d) )
+                    goto out;
+
+                read_lock(&v4vtables_rules_lock);
+                rc =3D v4vtables_list(d, rules_list_hnd);
+                read_unlock(&v4vtables_rules_lock);
+                break;
+            }
+        case V4VOP_info:
+            {
+                XEN_GUEST_HANDLE(v4v_info_t) info_hnd =3D
+                    guest_handle_cast(arg1, v4v_info_t);
+                v4v_info_t info;
+
+                if ( unlikely(!guest_handle_okay(info_hnd, 1)) )
+                    goto out;
+                v4v_info(d, &info);
+                if ( __copy_to_guest(info_hnd, &info, 1) )
+                    goto out;
+                rc =3D 0;
+                break;
+            }
+        default:
+            rc =3D -ENOSYS;
+            break;
+    }
+out:
+    domain_unlock(d);
+    v4v_dprintk("<-do_v4v_op()=3D%d\n", (int)rc);
+    return rc;
+}
+
+/*
+ * init
+ */
+
+void
+v4v_destroy(struct domain *d)
+{
+    int i;
+
+    BUG_ON(!d->is_dying);
+    write_lock(&v4v_lock);
+
+    v4v_dprintk("d->v=3D%p\n", d->v4v);
+
+    if ( d->v4v )
+    {
+        for ( i =3D 0; i < V4V_HTABLE_SIZE; ++i )
+        {
+            struct hlist_node *node, *next;
+            struct v4v_ring_info *ring_info;
+
+            hlist_for_each_entry_safe(ring_info, node,
+                    next, &d->v4v->ring_hash[i],
+                    node)
+            {
+                v4v_ring_remove_info(d, ring_info);
+            }
+        }
+    }
+
+    d->v4v =3D NULL;
+    write_unlock(&v4v_lock);
+}
+
+int
+v4v_init(struct domain *d)
+{
+    struct v4v_domain *v4v;
+    evtchn_port_t port;
+    int i;
+    int rc;
+
+    v4v =3D xmalloc(struct v4v_domain);
+    if ( !v4v )
+        return -ENOMEM;
+
+    rc =3D evtchn_alloc_unbound_domain(d, &port, d->domain_id);
+    if ( rc )
+        return rc;
+
+    rwlock_init(&v4v->lock);
+
+    v4v->evtchn_port =3D port;
+    for ( i =3D 0; i < V4V_HTABLE_SIZE; ++i )
+        INIT_HLIST_HEAD(&v4v->ring_hash[i]);
+
+    write_lock(&v4v_lock);
+    d->v4v =3D v4v;
+    write_unlock(&v4v_lock);
+
+    return 0;
+}
+
+
+/*
+ * debug
+ */
+
+static void
+dump_domain_ring(struct domain *d, struct v4v_ring_info *ring_info)
+{
+    uint32_t rx_ptr;
+
+    printk(KERN_ERR "  ring: domid=3D%d port=3D0x%08x partner=3D%d npage=
=3D%d\n",
+           (int)d->domain_id, (int)ring_info->id.addr.port,
+           (int)ring_info->id.partner, (int)ring_info->npage);
+
+    if ( v4v_ringbuf_get_rx_ptr(d, ring_info, &rx_ptr) )
+    {
+        printk(KERN_ERR "   Failed to read rx_ptr\n");
+        return;
+    }
+
+    printk(KERN_ERR "   tx_ptr=3D%d rx_ptr=3D%d len=3D%d\n",
+           (int)ring_info->tx_ptr, (int)rx_ptr, (int)ring_info->len);
+}
+
+static void
+dump_domain(struct domain *d)
+{
+    int i;
+
+    printk(KERN_ERR " domain %d:\n", (int)d->domain_id);
+
+    read_lock(&d->v4v->lock);
+
+    for ( i =3D 0; i < V4V_HTABLE_SIZE; ++i )
+    {
+        struct hlist_node *node;
+        struct v4v_ring_info *ring_info;
+
+        hlist_for_each_entry(ring_info, node, &d->v4v->ring_hash[i], nod=
e)
+            dump_domain_ring(d, ring_info);
+    }
+
+    printk(KERN_ERR "  event channel: %d\n",  d->v4v->evtchn_port);
+    read_unlock(&d->v4v->lock);
+
+    printk(KERN_ERR "\n");
+    v4v_signal_domain(d);
+}
+
+static void
+dump_state(unsigned char key)
+{
+    struct domain *d;
+
+    printk(KERN_ERR "\n\nV4V:\n");
+    read_lock(&v4v_lock);
+
+    rcu_read_lock(&domlist_read_lock);
+
+    for_each_domain(d)
+        dump_domain(d);
+
+    rcu_read_unlock(&domlist_read_lock);
+
+    read_unlock(&v4v_lock);
+}
+
+struct keyhandler v4v_info_keyhandler =3D
+{
+    .diagnostic =3D 1,
+    .u.fn =3D dump_state,
+    .desc =3D "dump v4v states and interupt"
+};
+
+static int __init
+setup_dump_rings(void)
+{
+    register_keyhandler('4', &v4v_info_keyhandler);
+    return 0;
+}
+
+__initcall(setup_dump_rings);
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/v4v.h b/xen/include/public/v4v.h
new file mode 100644
index 0000000..3d55229
--- /dev/null
+++ b/xen/include/public/v4v.h
@@ -0,0 +1,308 @@
+/***********************************************************************=
*******
+ * V4V
+ *
+ * Version 2 of v2v (Virtual-to-Virtual)
+ *
+ * Copyright (c) 2010, Citrix Systems
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 =
 USA
+ */
+
+#ifndef __XEN_PUBLIC_V4V_H__
+#define __XEN_PUBLIC_V4V_H__
+
+#include "xen.h"
+#include "event_channel.h"
+
+/*
+ * Structure definitions
+ */
+
+#define V4V_RING_MAGIC          0xa822f72bb0b9d8ccUL
+#define V4V_RING_DATA_MAGIC	0x45fe852220b801d4UL
+
+#define V4V_MESSAGE_DGRAM       0x3c2c1db8
+#define V4V_MESSAGE_STREAM 	0x70f6a8e5
+
+#define V4V_DOMID_ANY           DOMID_INVALID
+#define V4V_PORT_ANY            0
+
+typedef uint64_t v4v_pfn_t;
+
+typedef struct v4v_iov
+{
+    uint64_t iov_base;
+    uint32_t iov_len;
+    uint32_t pad;
+} v4v_iov_t;
+
+typedef struct v4v_addr
+{
+    uint32_t port;
+    domid_t domain;
+    uint16_t pad;
+} v4v_addr_t;
+
+typedef struct v4v_ring_id
+{
+    v4v_addr_t addr;
+    domid_t partner;
+    uint16_t pad;
+} v4v_ring_id_t;
+
+typedef struct
+{
+    v4v_addr_t src;
+    v4v_addr_t dst;
+} v4v_send_addr_t;
+
+/*
+ * v4v_ring
+ * id: xen only looks at this during register/unregister
+ *     and will fill in id.addr.domain
+ * rx_ptr: rx pointer, modified by domain
+ * tx_ptr: tx pointer, modified by xen
+ *
+ */
+struct v4v_ring
+{
+    uint64_t magic;
+    v4v_ring_id_t id;
+    uint32_t len;
+    uint32_t rx_ptr;
+    uint32_t tx_ptr;
+    uint8_t reserved[32];
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >=3D 199901L
+    uint8_t ring[];
+#elif defined(__GNUC__)
+    uint8_t ring[0];
+#endif
+};
+typedef struct v4v_ring v4v_ring_t;
+
+#define V4V_RING_DATA_F_EMPTY       (1U << 0) /* Ring is empty */
+#define V4V_RING_DATA_F_EXISTS      (1U << 1) /* Ring exists */
+#define V4V_RING_DATA_F_PENDING     (1U << 2) /* Pending interrupt exist=
s - do not
+                                               * rely on this field - fo=
r
+                                               * profiling only */
+#define V4V_RING_DATA_F_SUFFICIENT  (1U << 3) /* Sufficient space to que=
ue
+                                               * space_required bytes ex=
ists */
+
+typedef struct v4v_ring_data_ent
+{
+    v4v_addr_t ring;
+    uint16_t flags;
+    uint32_t space_required;
+    uint32_t max_message_size;
+} v4v_ring_data_ent_t;
+
+typedef struct v4v_ring_data
+{
+    uint64_t magic;
+    uint32_t nent;
+    uint32_t pad;
+    uint64_t reserved[4];
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >=3D 199901L
+    v4v_ring_data_ent_t data[];
+#elif defined(__GNUC__)
+    v4v_ring_data_ent_t data[0];
+#endif
+} v4v_ring_data_t;
+
+struct v4v_info
+{
+    uint64_t ring_magic;
+    uint64_t data_magic;
+    evtchn_port_t evtchn;
+    uint32_t pad;
+};
+typedef struct v4v_info v4v_info_t;
+
+#define V4V_SHF_SYN		(1 << 0)
+#define V4V_SHF_ACK		(1 << 1)
+#define V4V_SHF_RST		(1 << 2)
+
+#define V4V_SHF_PING		(1 << 8)
+#define V4V_SHF_PONG		(1 << 9)
+
+struct v4v_stream_header
+{
+    uint32_t flags;
+    uint32_t conid;
+};
+
+struct v4v_ring_message_header
+{
+    uint32_t len;
+    uint32_t pad0;
+    v4v_addr_t source;
+    uint32_t message_type;
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >=3D 199901L
+    uint8_t data[];
+#elif defined(__GNUC__)
+    uint8_t data[0];
+#endif
+};
+
+typedef struct v4vtables_rule
+{
+    v4v_addr_t src;
+    v4v_addr_t dst;
+    uint32_t accept;
+    uint32_t pad;
+} v4vtables_rule_t;
+
+typedef struct v4vtables_list
+{
+    uint32_t start_rule;
+    uint32_t nb_rules;
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >=3D 199901L
+    struct v4vtables_rule rules[];
+#elif defined(__GNUC__)
+    struct v4vtables_rule rules[0];
+#endif
+} v4vtables_list_t;
+
+/*
+ * HYPERCALLS
+ */
+
+/*
+ * V4VOP_register_ring
+ *
+ * Registers a ring with Xen. If a ring with the same v4v_ring_id exists=
,
+ * the hypercall will return -EEXIST.
+ *
+ * do_v4v_op(V4VOP_register_ring,
+ *           XEN_GUEST_HANDLE(v4v_ring_t), XEN_GUEST_HANDLE(v4v_pfn_t),
+ *           npage, 0)
+ */
+#define V4VOP_register_ring 	1
+
+
+/*
+ * V4VOP_unregister_ring
+ *
+ * Unregister a ring.
+ *
+ * do_v4v_op(V4VOP_unregister_ring,
+ *           XEN_GUEST_HANDLE(v4v_ring_t),
+ *           NULL, 0, 0)
+ */
+#define V4VOP_unregister_ring 	2
+
+/*
+ * V4VOP_notify
+ *
+ * Asks xen for information about other rings in the system
+ *
+ * ent->ring is the v4v_addr_t of the ring you want information on
+ * the same matching rules are used as for V4VOP_send.
+ *
+ * ent->space_required  if this field is not null xen will check
+ * that there is space in the destination ring for this many bytes
+ * of payload. If there is it will set the V4V_RING_DATA_F_SUFFICIENT
+ * and CANCEL any pending interrupt for that ent->ring, if insufficient
+ * space is available it will schedule an interrupt and the flag will
+ * not be set.
+ *
+ * The flags are set by xen when notify replies
+ * V4V_RING_DATA_F_EMPTY	ring is empty
+ * V4V_RING_DATA_F_PENDING	interrupt is pending - don't rely on this
+ * V4V_RING_DATA_F_SUFFICIENT	sufficient space for space_required is the=
re
+ * V4V_RING_DATA_F_EXISTS	ring exists
+ *
+ * do_v4v_op(V4VOP_notify,
+ *           XEN_GUEST_HANDLE(v4v_ring_data_ent_t) ent,
+ *           NULL, 0, 0)
+ */
+#define V4VOP_notify 		4
+
+/*
+ * V4VOP_sendv
+ *
+ * Sends of list of buffer contained in iov.
+ *
+ * For each iov entry send iov_len bytes of iov_base to addr.dst, giving
+ * src as the source address (xen will ignore src->domain and put your
+ * domain in the actually message), xen first looks for a ring with id.a=
ddr=3D=3Ddst
+ * and id.partner=3D=3Dsending_domain if that fails it looks for id.addr=
=3D=3Ddst and
+ * id.partner=3D=3DDOMID_ANY.
+ * message_type is the 32 bit number used from the message
+ * most likely V4V_MESSAGE_DGRAM or V4V_MESSAGE_STREAM. If insufficient =
space exists
+ * it will return -EAGAIN and xen will twing the V4V_INTERRUPT when
+ * sufficient space becomes available
+ *
+ * do_v4v_op(V4VOP_sendv,
+ *           XEN_GUEST_HANDLE(v4v_send_addr_t) addr,
+ *           XEN_GUEST_HANDLE(v4v_iov_t) iov,
+ *           uint32_t niov,
+ *           uint32_t message_type)
+ */
+#define V4VOP_sendv		5
+
+/*
+ * V4VOP_tables_add
+ *
+ * Insert a filtering rules after a given position.
+ *
+ * do_v4v_op(V4VOP_tables_add,
+ *           XEN_GUEST_HANDLE(v4vtables_rule_t) rule,
+ *           NULL,
+ *           uint32_t position, 0)
+ */
+#define V4VOP_tables_add     6
+
+/*
+ * V4VOP_tables_del
+ *
+ * Delete a filtering rules at a position or the rule
+ * that matches "rule".
+ *
+ * do_v4v_op(V4VOP_tables_del,
+ *           XEN_GUEST_HANDLE(v4vtables_rule_t) rule,
+ *           NULL,
+ *           uint32_t position, 0)
+ */
+#define V4VOP_tables_del     7
+
+/*
+ * V4VOP_tables_list
+ *
+ * do_v4v_op(V4VOP_tables_list,
+ *           XEN_GUEST_HANDLE(v4vtpables_list_t) list,
+ *           NULL, 0, 0)
+ */
+#define V4VOP_tables_list    8
+
+/*
+ * V4VOP_info
+ *
+ * Returns v4v info for the current domain (domain that issued the hyper=
call).
+ *      - V4V magic number
+ *      - event channel port (for current domain)
+ *
+ * do_v4v_op(V4VOP_info,
+ *           XEN_GUEST_HANDLE(v4v_info_t) info,
+ *           NULL, 0, 0)
+ */
+#define V4VOP_info              9
+
+#endif /* __XEN_PUBLIC_V4V_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 268df3e..b3e6d40 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -100,7 +100,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
 #define __HYPERVISOR_domctl               36
 #define __HYPERVISOR_kexec_op             37
 #define __HYPERVISOR_tmem_op              38
-#define __HYPERVISOR_xc_reserved_op       39 /* reserved for XenClient *=
/
+#define __HYPERVISOR_v4v_op               39
=20
 /* Architecture-specific hypercall definitions. */
 #define __HYPERVISOR_arch_0               48
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 6c55039..2fd9313 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -24,6 +24,7 @@
 #include <public/sysctl.h>
 #include <public/vcpu.h>
 #include <public/mem_event.h>
+#include <xen/v4v.h>
=20
 #ifdef CONFIG_COMPAT
 #include <compat/vcpu.h>
@@ -363,6 +364,9 @@ struct domain
     nodemask_t node_affinity;
     unsigned int last_alloc_node;
     spinlock_t node_affinity_lock;
+
+    /* v4v */
+    struct v4v_domain *v4v;
 };
=20
 struct domain_setup_info
diff --git a/xen/include/xen/v4v.h b/xen/include/xen/v4v.h
new file mode 100644
index 0000000..d09e2cc
--- /dev/null
+++ b/xen/include/xen/v4v.h
@@ -0,0 +1,134 @@
+/***********************************************************************=
*******
+ * V4V
+ *
+ * Version 2 of v2v (Virtual-to-Virtual)
+ *
+ * Copyright (c) 2010, Citrix Systems
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 =
 USA
+ */
+
+#ifndef __V4V_PRIVATE_H__
+#define __V4V_PRIVATE_H__
+
+#include <xen/config.h>
+#include <xen/types.h>
+#include <xen/spinlock.h>
+#include <xen/smp.h>
+#include <xen/shared.h>
+#include <xen/list.h>
+#include <public/v4v.h>
+
+#define V4V_HTABLE_SIZE 32
+
+/*
+ * Handlers
+ */
+
+DEFINE_XEN_GUEST_HANDLE (v4v_iov_t);
+DEFINE_XEN_GUEST_HANDLE (v4v_addr_t);
+DEFINE_XEN_GUEST_HANDLE (v4v_send_addr_t);
+DEFINE_XEN_GUEST_HANDLE (v4v_ring_t);
+DEFINE_XEN_GUEST_HANDLE (v4v_ring_data_ent_t);
+DEFINE_XEN_GUEST_HANDLE (v4v_ring_data_t);
+DEFINE_XEN_GUEST_HANDLE (v4v_info_t);
+DEFINE_XEN_GUEST_HANDLE (v4v_pfn_t);
+
+DEFINE_XEN_GUEST_HANDLE (v4vtables_rule_t);
+DEFINE_XEN_GUEST_HANDLE (v4vtables_list_t);
+
+/*
+ * Helper functions
+ */
+
+static inline uint16_t
+v4v_hash_fn (v4v_ring_id_t *id)
+{
+    uint16_t ret;
+    ret =3D (uint16_t) (id->addr.port >> 16);
+    ret ^=3D (uint16_t) id->addr.port;
+    ret ^=3D id->addr.domain;
+    ret ^=3D id->partner;
+
+    ret &=3D (V4V_HTABLE_SIZE-1);
+
+    return ret;
+}
+
+struct v4v_pending_ent
+{
+    struct hlist_node node;
+    domid_t id;
+    uint32_t len;
+};
+
+
+struct v4v_ring_info
+{
+    /* next node in the hash, protected by L2  */
+    struct hlist_node node;
+    /* this ring's id, protected by L2 */
+    v4v_ring_id_t id;
+    /* L3 */
+    spinlock_t lock;
+    /* cached length of the ring (from ring->len), protected by L3 */
+    uint32_t len;
+    uint32_t npage;
+    /* cached tx pointer location, protected by L3 */
+    uint32_t tx_ptr;
+    /* guest ring, protected by L3 */
+    XEN_GUEST_HANDLE(v4v_ring_t) ring;
+    /* mapped ring pages protected by L3*/
+    uint8_t **mfn_mapping;
+    /* list of mfns of guest ring */
+    mfn_t *mfns;
+    /* list of struct v4v_pending_ent for this ring, L3 */
+    struct hlist_head pending;
+};
+
+/*
+ * The value of the v4v element in a struct domain is
+ * protected by the global lock L1
+ */
+struct v4v_domain
+{
+    /* L2 */
+    rwlock_t lock;
+    /* event channel */
+    evtchn_port_t evtchn_port;
+    /* protected by L2 */
+    struct hlist_head ring_hash[V4V_HTABLE_SIZE];
+};
+
+typedef struct v4vtables_rule_node
+{
+    struct list_head list;
+    v4vtables_rule_t rule;
+} v4vtables_rule_node_t;
+
+void v4v_destroy(struct domain *d);
+int v4v_init(struct domain *d);
+long do_v4v_op (int cmd,
+                XEN_GUEST_HANDLE (void) arg1,
+                XEN_GUEST_HANDLE (void) arg2,
+                uint32_t arg3,
+                uint32_t arg4);
+
+#endif /* __V4V_PRIVATE_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */

--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--------------true--


From xen-devel-bounces@lists.xen.org Thu Oct 25 17:52:44 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Oct 2012 17:52:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TRRbW-0003nG-B1; Thu, 25 Oct 2012 17:52:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <jean.guyader@citrix.com>) id 1TRRbU-0003mo-NM
	for xen-devel@lists.xen.org; Thu, 25 Oct 2012 17:52:25 +0000
Received: from [85.158.139.211:8231] by server-13.bemta-5.messagelabs.com id
	A8/B9-27809-85C79805; Thu, 25 Oct 2012 17:52:24 +0000
X-Env-Sender: jean.guyader@citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1351187542!19760106!3
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMTU3Njk=\n
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.3; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16705 invoked from network); 25 Oct 2012 17:52:23 -0000
Received: from smtp.eu.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-13.tower-206.messagelabs.com with RC4-SHA encrypted SMTP;
	25 Oct 2012 17:52:23 -0000
X-IronPort-AV: E=Sophos;i="4.80,648,1344211200"; d="scan'208";a="15396444"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	25 Oct 2012 17:52:22 +0000
Received: from norwich.cam.xci-test.com (10.80.248.129) by
	smtprelay.citrix.com (10.30.203.162) with Microsoft SMTP Server id
	8.3.279.1; Thu, 25 Oct 2012 18:52:22 +0100
Received: from spongy.cam.xci-test.com ([10.80.248.53] helo=spongy)	by
	norwich.cam.xci-test.com with esmtp (Exim 4.72)	(envelope-from
	<jean.guyader@citrix.com>)	id 1TRRbS-00006i-1M;
	Thu, 25 Oct 2012 17:52:22 +0000
Received: by spongy (Postfix, from userid 2023)	id 7417B34040D; Thu, 25 Oct
	2012 18:55:31 +0100 (BST)
From: Jean Guyader <jean.guyader@citrix.com>
To: <xen-devel@lists.xen.org>
Date: Thu, 25 Oct 2012 18:55:29 +0100
Message-ID: <1351187729-4681-3-git-send-email-jean.guyader@citrix.com>
X-Mailer: git-send-email 1.7.9.5
In-Reply-To: <1351187729-4681-1-git-send-email-jean.guyader@citrix.com>
References: <1351187729-4681-1-git-send-email-jean.guyader@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------true"
Cc: tim@xen.org, Jean Guyader <jean.guyader@citrix.com>, JBeulich@suse.com
Subject: [Xen-devel] [PATCH 2/2] xen: Add V4V implementation
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

--------------true
Content-Type: text/plain; charset="UTF-8"; format=fixed
Content-Transfer-Encoding: quoted-printable


Setup of v4v domains a domain gets created and cleanup
when a domain die. Wire up the v4v hypercall.

Include v4v internal and public headers.

Signed-off-by: Jean Guyader <jean.guyader@citrix.com>
---
 xen/arch/x86/hvm/hvm.c             |    6 +-
 xen/arch/x86/x86_64/compat/entry.S |    2 +
 xen/arch/x86/x86_64/entry.S        |    2 +
 xen/common/Makefile                |    1 +
 xen/common/domain.c                |   13 +-
 xen/common/v4v.c                   | 1922 ++++++++++++++++++++++++++++++=
++++++
 xen/include/public/v4v.h           |  308 ++++++
 xen/include/public/xen.h           |    2 +-
 xen/include/xen/sched.h            |    4 +
 xen/include/xen/v4v.h              |   49 +
 10 files changed, 2305 insertions(+), 4 deletions(-)
 create mode 100644 xen/common/v4v.c
 create mode 100644 xen/include/public/v4v.h
 create mode 100644 xen/include/xen/v4v.h


--------------true
Content-Type: text/x-patch; name="0002-xen-Add-V4V-implementation.patch"
Content-Disposition: attachment;
	filename="0002-xen-Add-V4V-implementation.patch"
Content-Transfer-Encoding: quoted-printable

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 34da2f5..e5237f9 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3242,7 +3242,8 @@ static hvm_hypercall_t *const hvm_hypercall64_table=
[NR_hypercalls] =3D {
     HYPERCALL(set_timer_op),
     HYPERCALL(hvm_op),
     HYPERCALL(sysctl),
-    HYPERCALL(tmem_op)
+    HYPERCALL(tmem_op),
+    HYPERCALL(v4v_op)
 };
=20
 #define COMPAT_CALL(x)                                        \
@@ -3259,7 +3260,8 @@ static hvm_hypercall_t *const hvm_hypercall32_table=
[NR_hypercalls] =3D {
     COMPAT_CALL(set_timer_op),
     HYPERCALL(hvm_op),
     HYPERCALL(sysctl),
-    HYPERCALL(tmem_op)
+    HYPERCALL(tmem_op),
+    HYPERCALL(v4v_op)
 };
=20
 int hvm_do_hypercall(struct cpu_user_regs *regs)
diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/com=
pat/entry.S
index e6b52f3..4902c4f 100644
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -414,6 +414,7 @@ ENTRY(compat_hypercall_table)
         .quad do_domctl
         .quad compat_kexec_op
         .quad do_tmem_op
+        .quad do_v4v_op
         .rept __HYPERVISOR_arch_0-((.-compat_hypercall_table)/8)
         .quad compat_ni_hypercall
         .endr
@@ -462,6 +463,7 @@ ENTRY(compat_hypercall_args_table)
         .byte 1 /* do_domctl                */
         .byte 2 /* compat_kexec_op          */
         .byte 1 /* do_tmem_op               */
+        .byte 5 /* do_v4v_op		    */
         .rept __HYPERVISOR_arch_0-(.-compat_hypercall_args_table)
         .byte 0 /* compat_ni_hypercall      */
         .endr
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index ffb9314..78006cf 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -707,6 +707,7 @@ ENTRY(hypercall_table)
         .quad do_domctl
         .quad do_kexec_op
         .quad do_tmem_op
+        .quad do_v4v_op
         .rept __HYPERVISOR_arch_0-((.-hypercall_table)/8)
         .quad do_ni_hypercall
         .endr
@@ -755,6 +756,7 @@ ENTRY(hypercall_args_table)
         .byte 1 /* do_domctl            */
         .byte 2 /* do_kexec             */
         .byte 1 /* do_tmem_op           */
+        .byte 5 /* do_v4v_op		*/
         .rept __HYPERVISOR_arch_0-(.-hypercall_args_table)
         .byte 0 /* do_ni_hypercall      */
         .endr
diff --git a/xen/common/Makefile b/xen/common/Makefile
index c1c100f..ba63cec 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -45,6 +45,7 @@ obj-y +=3D tmem_xen.o
 obj-y +=3D radix-tree.o
 obj-y +=3D rbtree.o
 obj-y +=3D lzo.o
+obj-y +=3D v4v.o
=20
 obj-bin-$(CONFIG_X86) +=3D $(foreach n,decompress bunzip2 unxz unlzma un=
lzo,$(n).init.o)
=20
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 0e3e36a..60cd8e3 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -195,7 +195,8 @@ struct domain *domain_create(
 {
     struct domain *d, **pd;
     enum { INIT_xsm =3D 1u<<0, INIT_watchdog =3D 1u<<1, INIT_rangeset =3D=
 1u<<2,
-           INIT_evtchn =3D 1u<<3, INIT_gnttab =3D 1u<<4, INIT_arch =3D 1=
u<<5 };
+           INIT_evtchn =3D 1u<<3, INIT_gnttab =3D 1u<<4, INIT_arch =3D 1=
u<<5,
+           INIT_v4v =3D 1u<<6 };
     int err, init_status =3D 0;
     int poolid =3D CPUPOOLID_NONE;
=20
@@ -307,6 +308,13 @@ struct domain *domain_create(
         spin_unlock(&domlist_update_lock);
     }
=20
+    if ( !is_idle_domain(d) )
+    {
+        if ( v4v_init(d) !=3D 0 )
+            goto fail;
+        init_status |=3D INIT_v4v;
+    }
+
     return d;
=20
  fail:
@@ -315,6 +323,8 @@ struct domain *domain_create(
     xfree(d->mem_event);
     if ( init_status & INIT_arch )
         arch_domain_destroy(d);
+    if ( init_status & INIT_v4v )
+	v4v_destroy(d);
     if ( init_status & INIT_gnttab )
         grant_table_destroy(d);
     if ( init_status & INIT_evtchn )
@@ -489,6 +499,7 @@ int domain_kill(struct domain *d)
         domain_pause(d);
         d->is_dying =3D DOMDYING_dying;
         spin_barrier(&d->domain_lock);
+        v4v_destroy(d);
         evtchn_destroy(d);
         gnttab_release_mappings(d);
         tmem_destroy(d->tmem);
diff --git a/xen/common/v4v.c b/xen/common/v4v.c
new file mode 100644
index 0000000..404ae3d
--- /dev/null
+++ b/xen/common/v4v.c
@@ -0,0 +1,1922 @@
+/***********************************************************************=
*******
+ * V4V
+ *
+ * Version 2 of v2v (Virtual-to-Virtual)
+ *
+ * Copyright (c) 2010, Citrix Systems
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 =
 USA
+ */
+
+#include <xen/config.h>
+#include <xen/mm.h>
+#include <xen/compat.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/errno.h>
+#include <xen/sched.h>
+#include <xen/domain.h>
+#include <xen/v4v.h>
+#include <xen/event.h>
+#include <xen/guest_access.h>
+#include <asm/paging.h>
+#include <asm/p2m.h>
+#include <xen/keyhandler.h>
+#include <asm/types.h>
+
+DEFINE_XEN_GUEST_HANDLE(v4v_iov_t);
+DEFINE_XEN_GUEST_HANDLE(v4v_addr_t);
+DEFINE_XEN_GUEST_HANDLE(v4v_send_addr_t);
+DEFINE_XEN_GUEST_HANDLE(v4v_ring_t);
+DEFINE_XEN_GUEST_HANDLE(v4v_ring_data_ent_t);
+DEFINE_XEN_GUEST_HANDLE(v4v_ring_data_t);
+DEFINE_XEN_GUEST_HANDLE(v4v_info_t);
+DEFINE_XEN_GUEST_HANDLE(v4v_pfn_t);
+DEFINE_XEN_GUEST_HANDLE(v4vtables_rule_t);
+DEFINE_XEN_GUEST_HANDLE(v4vtables_list_t);
+DEFINE_XEN_GUEST_HANDLE(uint8_t);
+
+struct v4v_pending_ent
+{
+    struct hlist_node node;
+    domid_t id;
+    uint32_t len;
+};
+
+typedef struct v4vtables_rule_node
+{
+    struct list_head list;
+    v4vtables_rule_t rule;
+} v4vtables_rule_node_t;
+
+struct v4v_ring_info
+{
+    /* next node in the hash, protected by L2  */
+    struct hlist_node node;
+    /* this ring's id, protected by L2 */
+    v4v_ring_id_t id;
+    /* L3 */
+    spinlock_t lock;
+    /* cached length of the ring (from ring->len), protected by L3 */
+    uint32_t len;
+    uint32_t npage;
+    /* cached tx pointer location, protected by L3 */
+    uint32_t tx_ptr;
+    /* guest ring, protected by L3 */
+    XEN_GUEST_HANDLE(v4v_ring_t) ring;
+    /* mapped ring pages protected by L3*/
+    uint8_t **mfn_mapping;
+    /* list of mfns of guest ring */
+    mfn_t *mfns;
+    /* list of struct v4v_pending_ent for this ring, L3 */
+    struct hlist_head pending;
+};
+
+/*
+ * The value of the v4v element in a struct domain is
+ * protected by the global lock L1
+ */
+#define V4V_HTABLE_SIZE 32
+struct v4v_domain
+{
+    /* L2 */
+    rwlock_t lock;
+    /* event channel */
+    evtchn_port_t evtchn_port;
+    /* protected by L2 */
+    struct hlist_head ring_hash[V4V_HTABLE_SIZE];
+};
+
+/*
+ * Messages on the ring are padded to 128 bits
+ * Len here refers to the exact length of the data not including the
+ * 128 bit header. The message uses
+ * ((len +0xf) & ~0xf) + sizeof(v4v_ring_message_header) bytes
+ */
+#define V4V_ROUNDUP(a) (((a) +0xf ) & ~0xf)
+
+/*
+ * Helper functions
+ */
+
+static inline uint16_t
+v4v_hash_fn(v4v_ring_id_t *id)
+{
+    uint16_t ret;
+    ret =3D (uint16_t)(id->addr.port >> 16);
+    ret ^=3D (uint16_t)id->addr.port;
+    ret ^=3D id->addr.domain;
+    ret ^=3D id->partner;
+
+    ret &=3D (V4V_HTABLE_SIZE - 1);
+
+    return ret;
+}
+
+static struct v4v_ring_info *v4v_ring_find_info(struct domain *d,
+                                                v4v_ring_id_t *id);
+
+static struct v4v_ring_info *v4v_ring_find_info_by_addr(struct domain *d=
,
+                                                        struct v4v_addr =
*a,
+                                                        domid_t p);
+
+struct list_head v4vtables_rules =3D LIST_HEAD_INIT(v4vtables_rules);
+
+/*
+ * locks
+ */
+
+/*
+ * locking is organized as follows:
+ *
+ * the global lock v4v_lock: L1 protects the v4v elements
+ * of all struct domain *d in the system, it does not
+ * protect any of the elements of d->v4v, just their
+ * addresses. By extension since the destruction of
+ * a domain with a non-NULL d->v4v will need to free
+ * the d->v4v pointer, holding this lock gauruntees
+ * that no domains pointers in which v4v is interested
+ * become invalid whilst this lock is held.
+ */
+
+static DEFINE_RWLOCK(v4v_lock); /* L1 */
+
+/*
+ * the lock d->v4v->lock: L2:  Read on protects the hash table and
+ * the elements in the hash_table d->v4v->ring_hash, and
+ * the node and id fields in struct v4v_ring_info in the
+ * hash table. Write on L2 protects all of the elements of
+ * struct v4v_ring_info. To take L2 you must already have R(L1)
+ * W(L1) implies W(L2) and L3
+ *
+ * the lock v4v_ring_info *ringinfo; ringinfo->lock: L3:
+ * protects len,tx_ptr the guest ring, the
+ * guest ring_data and the pending list. To take L3 you must
+ * already have R(L2). W(L2) implies L3
+ */
+
+/*
+ * lock to protect the filtering rules list: v4vtable_rules
+ *
+ * The write lock is held for viptables_del and viptables_add
+ * The read lock is held for viptable_list
+ */
+static DEFINE_RWLOCK(v4vtables_rules_lock);
+
+
+/*
+ * Debugs
+ */
+
+#ifdef V4V_DEBUG
+#define v4v_dprintk(format, args...)            \
+    do {                                        \
+        printk("%s:%d " format,                 \
+               __FILE__, __LINE__, ## args );   \
+    } while ( 1 =3D=3D 0 )
+#else
+#define v4v_dprintk(format, ... ) (void)0
+#endif
+
+#ifdef V4V_DEBUG
+static void __attribute__((unused))
+v4v_hexdump(void *_p, int len)
+{
+    uint8_t *buf =3D (uint8_t *)_p;
+    int i, j;
+
+    for ( i =3D 0; i < len; i +=3D 16 )
+    {
+        printk(KERN_ERR "%p:", &buf[i]);
+        for ( j =3D 0; j < 16; ++j )
+        {
+            int k =3D i + j;
+            if ( k < len )
+                printk(" %02x", buf[k]);
+            else
+                printk("   ");
+        }
+        printk(" ");
+
+        for ( j =3D 0; j < 16; ++j )
+        {
+            int k =3D i + j;
+            if ( k < len )
+                printk("%c", ((buf[k] > 32) && (buf[k] < 127)) ? buf[k] =
: '.');
+            else
+                printk(" ");
+        }
+        printk("\n");
+    }
+}
+#endif
+
+
+/*
+ * Event channel
+ */
+
+static void
+v4v_signal_domain(struct domain *d)
+{
+    v4v_dprintk("send guest VIRQ_V4V domid:%d\n", d->domain_id);
+
+    evtchn_send(d, d->v4v->evtchn_port);
+}
+
+static void
+v4v_signal_domid(domid_t id)
+{
+    struct domain *d =3D get_domain_by_id(id);
+    if ( !d )
+        return;
+    v4v_signal_domain(d);
+    put_domain(d);
+}
+
+
+/*
+ * ring buffer
+ */
+
+static void
+v4v_ring_unmap(struct v4v_ring_info *ring_info)
+{
+    int i;
+
+    ASSERT(spin_is_locked(&ring_info->lock));
+
+    for ( i =3D 0; i < ring_info->npage; ++i )
+    {
+        if ( !ring_info->mfn_mapping[i] )
+            continue;
+        v4v_dprintk("unmapping page %p from %p\n",
+                    (void*)mfn_x(ring_info->mfns[i]),
+                    ring_info->mfn_mapping[i]);
+
+        unmap_domain_page(ring_info->mfn_mapping[i]);
+        ring_info->mfn_mapping[i] =3D NULL;
+    }
+}
+
+static uint8_t *
+v4v_ring_map_page(struct v4v_ring_info *ring_info, int i)
+{
+    ASSERT(spin_is_locked(&ring_info->lock));
+
+    if ( i >=3D ring_info->npage )
+        return NULL;
+    if ( ring_info->mfn_mapping[i] )
+        return ring_info->mfn_mapping[i];
+    ring_info->mfn_mapping[i] =3D map_domain_page(mfn_x(ring_info->mfns[=
i]));
+
+    v4v_dprintk("mapping page %p to %p\n",
+                (void *)mfn_x(ring_info->mfns[i]),
+                ring_info->mfn_mapping[i]);
+    return ring_info->mfn_mapping[i];
+}
+
+static int
+v4v_memcpy_from_guest_ring(void *_dst, struct v4v_ring_info *ring_info,
+                           uint32_t offset, uint32_t len)
+{
+    int page =3D offset >> PAGE_SHIFT;
+    uint8_t *src;
+    uint8_t *dst =3D _dst;
+
+    ASSERT(spin_is_locked(&ring_info->lock));
+
+    offset &=3D PAGE_SIZE - 1;
+
+    while ( (offset + len) > PAGE_SIZE )
+    {
+        src =3D v4v_ring_map_page(ring_info, page);
+
+        if ( !src )
+            return -EFAULT;
+
+        v4v_dprintk("memcpy(%p,%p+%d,%d)\n",
+                    dst, src, offset,
+                    (int)(PAGE_SIZE - offset));
+        memcpy(dst, src + offset, PAGE_SIZE - offset);
+
+        page++;
+        len -=3D PAGE_SIZE - offset;
+        dst +=3D PAGE_SIZE - offset;
+        offset =3D 0;
+    }
+
+    src =3D v4v_ring_map_page(ring_info, page);
+    if ( !src )
+        return -EFAULT;
+
+    v4v_dprintk("memcpy(%p,%p+%d,%d)\n", dst, src, offset, len);
+    memcpy(dst, src + offset, len);
+
+    return 0;
+}
+
+static int
+v4v_update_tx_ptr(struct v4v_ring_info *ring_info, uint32_t tx_ptr)
+{
+    uint8_t *dst =3D v4v_ring_map_page(ring_info, 0);
+    uint32_t *p =3D (uint32_t *)(dst + offsetof(v4v_ring_t, tx_ptr));
+
+    ASSERT(spin_is_locked(&ring_info->lock));
+
+    if ( !dst )
+        return -EFAULT;
+    write_atomic(p, tx_ptr);
+    mb();
+    return 0;
+}
+
+static int
+v4v_copy_from_guest_maybe(void *dst, void *src,
+                          XEN_GUEST_HANDLE(uint8_t) src_hnd,
+                          uint32_t len)
+{
+    int rc =3D 0;
+
+    if ( src )
+        memcpy(dst, src, len);
+    else
+        rc =3D __copy_from_guest(dst, src_hnd, len);
+    return rc;
+}
+
+static int
+v4v_memcpy_to_guest_ring(struct v4v_ring_info *ring_info,
+                         uint32_t offset,
+                         void *src,
+                         XEN_GUEST_HANDLE(uint8_t) src_hnd,
+                         uint32_t len)
+{
+    int page =3D offset >> PAGE_SHIFT;
+    uint8_t *dst;
+
+    ASSERT(spin_is_locked(&ring_info->lock));
+
+    offset &=3D PAGE_SIZE - 1;
+
+    while ( (offset + len) > PAGE_SIZE )
+    {
+        dst =3D v4v_ring_map_page(ring_info, page);
+        if ( !dst )
+            return -EFAULT;
+
+        if ( v4v_copy_from_guest_maybe(dst + offset, src, src_hnd,
+                                       PAGE_SIZE - offset) )
+            return -EFAULT;
+
+        page++;
+        len -=3D PAGE_SIZE - offset;
+        if ( src )
+            src +=3D (PAGE_SIZE - offset);
+        else
+            guest_handle_add_offset(src_hnd, PAGE_SIZE - offset);
+        offset =3D 0;
+    }
+
+    dst =3D v4v_ring_map_page(ring_info, page);
+    if ( !dst )
+        return -EFAULT;
+
+    if ( v4v_copy_from_guest_maybe(dst + offset, src, src_hnd, len) )
+        return -EFAULT;
+
+    return 0;
+}
+
+static int
+v4v_ringbuf_get_rx_ptr(struct domain *d, struct v4v_ring_info *ring_info=
,
+                        uint32_t * rx_ptr)
+{
+    v4v_ring_t *ringp;
+
+    if ( ring_info->npage =3D=3D 0 )
+        return -1;
+
+    ringp =3D map_domain_page(mfn_x(ring_info->mfns[0]));
+
+    v4v_dprintk("v4v_ringbuf_payload_space: mapped %p to %p\n",
+                (void *)mfn_x(ring_info->mfns[0]), ringp);
+    if ( !ringp )
+        return -1;
+
+    write_atomic(rx_ptr, ringp->rx_ptr);
+    mb();
+
+    unmap_domain_page(mfn_x(ring_info->mfns[0]));
+    return 0;
+}
+
+uint32_t
+v4v_ringbuf_payload_space(struct domain * d, struct v4v_ring_info * ring=
_info)
+{
+    v4v_ring_t ring;
+    int32_t ret;
+
+    ring.tx_ptr =3D ring_info->tx_ptr;
+    ring.len =3D ring_info->len;
+
+    if ( v4v_ringbuf_get_rx_ptr(d, ring_info, &ring.rx_ptr) )
+        return 0;
+
+    v4v_dprintk("v4v_ringbuf_payload_space:tx_ptr=3D%d rx_ptr=3D%d\n",
+                (int)ring.tx_ptr, (int)ring.rx_ptr);
+    if ( ring.rx_ptr =3D=3D ring.tx_ptr )
+        return ring.len - sizeof (struct v4v_ring_message_header);
+
+    ret =3D ring.rx_ptr - ring.tx_ptr;
+    if ( ret < 0 )
+        ret +=3D ring.len;
+
+    ret -=3D sizeof (struct v4v_ring_message_header);
+    ret -=3D V4V_ROUNDUP(1);
+
+    return (ret < 0) ? 0 : ret;
+}
+
+static long
+v4v_iov_count(XEN_GUEST_HANDLE(v4v_iov_t) iovs, int niov)
+{
+    v4v_iov_t iov;
+    size_t ret =3D 0;
+
+    while ( niov-- )
+    {
+        if ( copy_from_guest(&iov, iovs, 1) )
+            return -EFAULT;
+
+        ret +=3D iov.iov_len;
+
+        /* message bigger than 2G can't be sent */
+        if (ret > 2L * 1024 * 1024 * 1024)
+            return -EMSGSIZE;
+
+        guest_handle_add_offset(iovs, 1);
+    }
+
+    return ret;
+}
+
+static long
+v4v_ringbuf_insertv(struct domain *d,
+                    struct v4v_ring_info *ring_info,
+                    v4v_ring_id_t *src_id, uint32_t proto,
+                    XEN_GUEST_HANDLE(v4v_iov_t) iovs, uint32_t niov,
+                    size_t len)
+{
+    v4v_ring_t ring;
+    struct v4v_ring_message_header mh =3D { 0 };
+    int32_t sp;
+    long happy_ret;
+    int32_t ret =3D 0;
+    XEN_GUEST_HANDLE(uint8_t) empty_hnd =3D { 0 };
+
+    ASSERT(spin_is_locked(&ring_info->lock));
+
+    happy_ret =3D len;
+
+    if ( (V4V_ROUNDUP(len) + sizeof (struct v4v_ring_message_header) ) >=
=3D
+            ring_info->len)
+        return -EMSGSIZE;
+
+    do
+    {
+        if ( (ret =3D v4v_memcpy_from_guest_ring(&ring, ring_info, 0,
+                                               sizeof (ring))) )
+            break;
+
+        ring.tx_ptr =3D ring_info->tx_ptr;
+        ring.len =3D ring_info->len;
+
+        v4v_dprintk("ring.tx_ptr=3D%d ring.rx_ptr=3D%d ring.len=3D%d rin=
g_info->tx_ptr=3D%d\n",
+                    ring.tx_ptr, ring.rx_ptr, ring.len, ring_info->tx_pt=
r);
+
+        if ( ring.rx_ptr =3D=3D ring.tx_ptr )
+            sp =3D ring_info->len;
+        else
+        {
+            sp =3D ring.rx_ptr - ring.tx_ptr;
+            if ( sp < 0 )
+                sp +=3D ring.len;
+        }
+
+        if ( (V4V_ROUNDUP(len) + sizeof (struct v4v_ring_message_header)=
) >=3D sp )
+        {
+            v4v_dprintk("EAGAIN\n");
+            ret =3D -EAGAIN;
+            break;
+        }
+
+        mh.len =3D len + sizeof (struct v4v_ring_message_header);
+        mh.source =3D src_id->addr;
+        mh.message_type =3D proto;
+
+        if ( (ret =3D v4v_memcpy_to_guest_ring(ring_info,
+                                             ring.tx_ptr + sizeof (v4v_r=
ing_t),
+                                             &mh, empty_hnd,
+                                             sizeof (mh))) )
+            break;
+
+        ring.tx_ptr +=3D sizeof (mh);
+        if ( ring.tx_ptr =3D=3D ring_info->len )
+            ring.tx_ptr =3D 0;
+
+        while ( niov-- )
+        {
+            XEN_GUEST_HANDLE(uint8_t) buf_hnd;
+            v4v_iov_t iov;
+
+            if ( copy_from_guest(&iov, iovs, 1) )
+            {
+                ret =3D -EFAULT;
+                break;
+            }
+
+            buf_hnd.p =3D (uint8_t *)iov.iov_base; //FIXME
+            len =3D iov.iov_len;
+
+            if ( unlikely(!guest_handle_okay(buf_hnd, len)) )
+            {
+                ret =3D -EFAULT;
+                break;
+            }
+
+            sp =3D ring.len - ring.tx_ptr;
+
+            if ( len > sp )
+            {
+                ret =3D v4v_memcpy_to_guest_ring(ring_info,
+                        ring.tx_ptr + sizeof (v4v_ring_t),
+                        NULL, buf_hnd, sp);
+                if ( ret )
+                    break;
+
+                ring.tx_ptr =3D 0;
+                len -=3D sp;
+                guest_handle_add_offset(buf_hnd, sp);
+            }
+
+            ret =3D v4v_memcpy_to_guest_ring(ring_info,
+                    ring.tx_ptr + sizeof (v4v_ring_t),
+                    NULL, buf_hnd, len);
+            if ( ret )
+                break;
+
+            ring.tx_ptr +=3D len;
+
+            if ( ring.tx_ptr =3D=3D ring_info->len )
+                ring.tx_ptr =3D 0;
+
+            guest_handle_add_offset(iovs, 1);
+        }
+        if ( ret )
+            break;
+
+        ring.tx_ptr =3D V4V_ROUNDUP(ring.tx_ptr);
+
+        if ( ring.tx_ptr >=3D ring_info->len )
+            ring.tx_ptr -=3D ring_info->len;
+
+        mb();
+        ring_info->tx_ptr =3D ring.tx_ptr;
+        if ( (ret =3D v4v_update_tx_ptr(ring_info, ring.tx_ptr)) )
+            break;
+    }
+    while ( 0 );
+
+    v4v_ring_unmap(ring_info);
+
+    return ret ? ret : happy_ret;
+}
+
+
+
+/* pending */
+static void
+v4v_pending_remove_ent(struct v4v_pending_ent *ent)
+{
+    hlist_del(&ent->node);
+    xfree(ent);
+}
+
+static void
+v4v_pending_remove_all(struct v4v_ring_info *info)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *pending_ent;
+
+    ASSERT(spin_is_locked(&info->lock));
+    hlist_for_each_entry_safe(pending_ent, node, next, &info->pending,
+            node) v4v_pending_remove_ent(pending_ent);
+}
+
+static void
+v4v_pending_notify(struct domain *caller_d, struct hlist_head *to_notify=
)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *pending_ent;
+
+    ASSERT(rw_is_locked(&v4v_lock));
+
+    hlist_for_each_entry_safe(pending_ent, node, next, to_notify, node)
+    {
+        hlist_del(&pending_ent->node);
+        v4v_signal_domid(pending_ent->id);
+        xfree(pending_ent);
+    }
+
+}
+
+static void
+v4v_pending_find(struct domain *d, struct v4v_ring_info *ring_info,
+                 uint32_t payload_space, struct hlist_head *to_notify)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *ent;
+
+    ASSERT(rw_is_locked(&d->v4v->lock));
+
+    spin_lock(&ring_info->lock);
+    hlist_for_each_entry_safe(ent, node, next, &ring_info->pending, node=
)
+    {
+        if ( payload_space >=3D ent->len )
+        {
+            hlist_del(&ent->node);
+            hlist_add_head(&ent->node, to_notify);
+        }
+    }
+    spin_unlock(&ring_info->lock);
+}
+
+/*caller must have L3 */
+static int
+v4v_pending_queue(struct v4v_ring_info *ring_info, domid_t src_id, int l=
en)
+{
+    struct v4v_pending_ent *ent =3D xmalloc(struct v4v_pending_ent);
+
+    if ( !ent )
+    {
+        v4v_dprintk("ENOMEM\n");
+        return -ENOMEM;
+    }
+
+    ent->len =3D len;
+    ent->id =3D src_id;
+
+    hlist_add_head(&ent->node, &ring_info->pending);
+
+    return 0;
+}
+
+/* L3 */
+static int
+v4v_pending_requeue(struct v4v_ring_info *ring_info, domid_t src_id, int=
 len)
+{
+    struct hlist_node *node;
+    struct v4v_pending_ent *ent;
+
+    hlist_for_each_entry(ent, node, &ring_info->pending, node)
+    {
+        if ( ent->id =3D=3D src_id )
+        {
+            if ( ent->len < len )
+                ent->len =3D len;
+            return 0;
+        }
+    }
+
+    return v4v_pending_queue(ring_info, src_id, len);
+}
+
+
+/* L3 */
+static void
+v4v_pending_cancel(struct v4v_ring_info *ring_info, domid_t src_id)
+{
+    struct hlist_node *node, *next;
+    struct v4v_pending_ent *ent;
+
+    hlist_for_each_entry_safe(ent, node, next, &ring_info->pending, node=
)
+    {
+        if ( ent->id =3D=3D src_id)
+        {
+            hlist_del(&ent->node);
+            xfree(ent);
+        }
+    }
+}
+
+/*
+ * ring data
+ */
+
+/*Caller should hold R(L1)*/
+static int
+v4v_fill_ring_data(struct domain *src_d,
+                   XEN_GUEST_HANDLE(v4v_ring_data_ent_t) data_ent_hnd)
+{
+    v4v_ring_data_ent_t ent;
+    struct domain *dst_d;
+    struct v4v_ring_info *ring_info;
+
+    if ( copy_from_guest(&ent, data_ent_hnd, 1) )
+    {
+        v4v_dprintk("EFAULT\n");
+        return -EFAULT;
+    }
+
+    v4v_dprintk("v4v_fill_ring_data: ent.ring.domain=3D%d,ent.ring.port=3D=
%u\n",
+                (int)ent.ring.domain, (int)ent.ring.port);
+
+    ent.flags =3D 0;
+
+    dst_d =3D get_domain_by_id(ent.ring.domain);
+
+    if ( dst_d && dst_d->v4v )
+    {
+        read_lock(&dst_d->v4v->lock);
+        ring_info =3D v4v_ring_find_info_by_addr(dst_d, &ent.ring,
+                                               src_d->domain_id);
+
+        if ( ring_info )
+        {
+            uint32_t space_avail;
+
+            ent.flags |=3D V4V_RING_DATA_F_EXISTS;
+            ent.max_message_size =3D
+                ring_info->len - sizeof (struct v4v_ring_message_header)=
 -
+                V4V_ROUNDUP(1);
+            spin_lock(&ring_info->lock);
+
+            space_avail =3D v4v_ringbuf_payload_space(dst_d, ring_info);
+
+            if ( space_avail >=3D ent.space_required )
+            {
+                v4v_pending_cancel(ring_info, src_d->domain_id);
+                ent.flags |=3D V4V_RING_DATA_F_SUFFICIENT;
+            }
+            else
+            {
+                v4v_pending_requeue(ring_info, src_d->domain_id,
+                        ent.space_required);
+                ent.flags |=3D V4V_RING_DATA_F_PENDING;
+            }
+
+            spin_unlock(&ring_info->lock);
+
+            if ( space_avail =3D=3D ent.max_message_size )
+                ent.flags |=3D V4V_RING_DATA_F_EMPTY;
+
+        }
+        read_unlock(&dst_d->v4v->lock);
+    }
+
+    if ( dst_d )
+        put_domain(dst_d);
+
+    if ( copy_field_to_guest(data_ent_hnd, &ent, flags) )
+    {
+        v4v_dprintk("EFAULT\n");
+        return -EFAULT;
+    }
+    return 0;
+}
+
+/*Called should hold no more than R(L1) */
+static int
+v4v_fill_ring_datas(struct domain *d, int nent,
+                     XEN_GUEST_HANDLE(v4v_ring_data_ent_t) data_ent_hnd)
+{
+    int ret =3D 0;
+
+    read_lock(&v4v_lock);
+    while ( !ret && nent-- )
+    {
+        ret =3D v4v_fill_ring_data(d, data_ent_hnd);
+        guest_handle_add_offset(data_ent_hnd, 1);
+    }
+    read_unlock(&v4v_lock);
+    return ret;
+}
+
+/*
+ * ring
+ */
+static int
+v4v_find_ring_mfns(struct domain *d, struct v4v_ring_info *ring_info,
+                   uint32_t npage, XEN_GUEST_HANDLE(v4v_pfn_t) pfn_hnd)
+{
+    int i,j;
+    mfn_t *mfns;
+    uint8_t **mfn_mapping;
+    unsigned long mfn;
+    struct page_info *page;
+    int ret =3D 0;
+
+    if ( (npage << PAGE_SHIFT) < ring_info->len )
+    {
+        v4v_dprintk("EINVAL\n");
+        return -EINVAL;
+    }
+
+    mfns =3D xmalloc_array(mfn_t, npage);
+    if ( !mfns )
+    {
+        v4v_dprintk("ENOMEM\n");
+        return -ENOMEM;
+    }
+
+    mfn_mapping =3D xmalloc_array(uint8_t *, npage);
+    if ( !mfn_mapping )
+    {
+        xfree(mfns);
+        return -ENOMEM;
+    }
+
+    for ( i =3D 0; i < npage; ++i )
+    {
+        unsigned long pfn;
+        p2m_type_t p2mt;
+
+        if ( copy_from_guest_offset(&pfn, pfn_hnd, i, 1) )
+        {
+            ret =3D -EFAULT;
+            v4v_dprintk("EFAULT\n");
+            break;
+        }
+
+        mfn =3D mfn_x(get_gfn(d, pfn, &p2mt));
+        if ( !mfn_valid(mfn) )
+        {
+            printk(KERN_ERR "v4v domain %d passed invalid mfn %"PRI_mfn"=
 ring %p seq %d\n",
+                    d->domain_id, mfn, ring_info, i);
+            ret =3D -EINVAL;
+            break;
+        }
+        page =3D mfn_to_page(mfn);
+        if ( !get_page_and_type(page, d, PGT_writable_page) )
+        {
+            printk(KERN_ERR "v4v domain %d passed wrong type mfn %"PRI_m=
fn" ring %p seq %d\n",
+                    d->domain_id, mfn, ring_info, i);
+            ret =3D -EINVAL;
+            break;
+        }
+        mfns[i] =3D _mfn(mfn);
+        v4v_dprintk("v4v_find_ring_mfns: %d: %lx -> %lx\n",
+                    i, (unsigned long)pfn, (unsigned long)mfn_x(mfns[i])=
);
+        mfn_mapping[i] =3D NULL;
+        put_gfn(d, pfn);
+    }
+
+    if ( !ret )
+    {
+        ring_info->npage =3D npage;
+        ring_info->mfns =3D mfns;
+        ring_info->mfn_mapping =3D mfn_mapping;
+    }
+    else
+    {
+        j =3D i;
+        for ( i =3D 0; i < j; ++i )
+            if ( mfn_x(mfns[i]) !=3D 0 )
+                put_page_and_type(mfn_to_page(mfn_x(mfns[i])));
+        xfree(mfn_mapping);
+        xfree(mfns);
+    }
+    return ret;
+}
+
+
+static struct v4v_ring_info *
+v4v_ring_find_info(struct domain *d, v4v_ring_id_t *id)
+{
+    uint16_t hash;
+    struct hlist_node *node;
+    struct v4v_ring_info *ring_info;
+
+    ASSERT(rw_is_locked(&d->v4v->lock));
+
+    hash =3D v4v_hash_fn(id);
+
+    v4v_dprintk("ring_find_info: d->v4v=3D%p, d->v4v->ring_hash[%d]=3D%p=
 id=3D%p\n",
+                d->v4v, (int)hash, d->v4v->ring_hash[hash].first, id);
+    v4v_dprintk("ring_find_info: id.addr.port=3D%d id.addr.domain=3D%d i=
d.addr.partner=3D%d\n",
+                id->addr.port, id->addr.domain, id->partner);
+
+    hlist_for_each_entry(ring_info, node, &d->v4v->ring_hash[hash], node=
)
+    {
+        v4v_ring_id_t *cmpid =3D &ring_info->id;
+
+        if ( cmpid->addr.port =3D=3D id->addr.port &&
+             cmpid->addr.domain =3D=3D id->addr.domain &&
+             cmpid->partner =3D=3D id->partner)
+        {
+            v4v_dprintk("ring_find_info: ring_info=3D%p\n", ring_info);
+            return ring_info;
+        }
+    }
+    v4v_dprintk("ring_find_info: no ring_info found\n");
+    return NULL;
+}
+
+static struct v4v_ring_info *
+v4v_ring_find_info_by_addr(struct domain *d, struct v4v_addr *a, domid_t=
 p)
+{
+    v4v_ring_id_t id;
+    struct v4v_ring_info *ret;
+
+    ASSERT(rw_is_locked(&d->v4v->lock));
+
+    if ( !a )
+        return NULL;
+
+    id.addr.port =3D a->port;
+    id.addr.domain =3D d->domain_id;
+    id.partner =3D p;
+
+    ret =3D v4v_ring_find_info(d, &id);
+    if ( ret )
+        return ret;
+
+    id.partner =3D V4V_DOMID_ANY;
+
+    return v4v_ring_find_info(d, &id);
+}
+
+static void v4v_ring_remove_mfns(struct domain *d, struct v4v_ring_info =
*ring_info)
+{
+    int i;
+
+    ASSERT(rw_is_write_locked(&d->v4v->lock));
+
+    if ( ring_info->mfns )
+    {
+        for ( i =3D 0; i < ring_info->npage; ++i )
+            if ( mfn_x(ring_info->mfns[i]) !=3D 0 )
+                put_page_and_type(mfn_to_page(mfn_x(ring_info->mfns[i]))=
);
+        xfree(ring_info->mfns);
+    }
+    if ( ring_info->mfn_mapping )
+        xfree(ring_info->mfn_mapping);
+    ring_info->mfns =3D NULL;
+
+}
+
+static void
+v4v_ring_remove_info(struct domain *d, struct v4v_ring_info *ring_info)
+{
+    ASSERT(rw_is_write_locked(&d->v4v->lock));
+
+    spin_lock(&ring_info->lock);
+
+    v4v_pending_remove_all(ring_info);
+    hlist_del(&ring_info->node);
+    v4v_ring_remove_mfns(d, ring_info);
+
+    spin_unlock(&ring_info->lock);
+
+    xfree(ring_info);
+}
+
+/* Call from guest to unpublish a ring */
+static long
+v4v_ring_remove(struct domain *d, XEN_GUEST_HANDLE(v4v_ring_t) ring_hnd)
+{
+    struct v4v_ring ring;
+    struct v4v_ring_info *ring_info;
+    int ret =3D 0;
+
+    read_lock(&v4v_lock);
+
+    do
+    {
+        if ( !d->v4v )
+        {
+            v4v_dprintk("EINVAL\n");
+            ret =3D -EINVAL;
+            break;
+        }
+
+        if ( copy_from_guest(&ring, ring_hnd, 1) )
+        {
+            v4v_dprintk("EFAULT\n");
+            ret =3D -EFAULT;
+            break;
+        }
+
+        if ( ring.magic !=3D V4V_RING_MAGIC )
+        {
+            v4v_dprintk("ring.magic(%"PRIx64") !=3D V4V_RING_MAGIC(%"PRI=
x64"), EINVAL\n",
+                    ring.magic, V4V_RING_MAGIC);
+            ret =3D -EINVAL;
+            break;
+        }
+
+        ring.id.addr.domain =3D d->domain_id;
+
+        write_lock(&d->v4v->lock);
+        ring_info =3D v4v_ring_find_info(d, &ring.id);
+
+        if ( ring_info )
+            v4v_ring_remove_info(d, ring_info);
+
+        write_unlock(&d->v4v->lock);
+
+        if ( !ring_info )
+        {
+            v4v_dprintk("ENOENT\n");
+            ret =3D -ENOENT;
+            break;
+        }
+
+    }
+    while ( 0 );
+
+    read_unlock(&v4v_lock);
+    return ret;
+}
+
+/* call from guest to publish a ring */
+static long
+v4v_ring_add(struct domain *d, XEN_GUEST_HANDLE(v4v_ring_t) ring_hnd,
+             uint32_t npage, XEN_GUEST_HANDLE(v4v_pfn_t) pfn_hnd)
+{
+    struct v4v_ring ring;
+    struct v4v_ring_info *ring_info;
+    int need_to_insert =3D 0;
+    int ret =3D 0;
+
+    if ( (long)ring_hnd.p & (PAGE_SIZE - 1) )
+    {
+        v4v_dprintk("EINVAL\n");
+        return -EINVAL;
+    }
+
+    read_lock(&v4v_lock);
+    do
+    {
+        if ( !d->v4v )
+        {
+            v4v_dprintk(" !d->v4v, EINVAL\n");
+            ret =3D -EINVAL;
+            break;
+        }
+
+        if ( copy_from_guest(&ring, ring_hnd, 1) )
+        {
+            v4v_dprintk(" copy_from_guest failed, EFAULT\n");
+            ret =3D -EFAULT;
+            break;
+        }
+
+        if ( ring.magic !=3D V4V_RING_MAGIC )
+        {
+            v4v_dprintk("ring.magic(%lx) !=3D V4V_RING_MAGIC(%lx), EINVA=
L\n",
+                        ring.magic, V4V_RING_MAGIC);
+            ret =3D -EINVAL;
+            break;
+        }
+
+        if ( (ring.len <
+                    (sizeof (struct v4v_ring_message_header) + V4V_ROUND=
UP(1) +
+                     V4V_ROUNDUP(1))) || (V4V_ROUNDUP(ring.len) !=3D rin=
g.len) )
+        {
+            v4v_dprintk("EINVAL\n");
+            ret =3D -EINVAL;
+            break;
+        }
+
+        ring.id.addr.domain =3D d->domain_id;
+        if ( copy_field_to_guest(ring_hnd, &ring, id) )
+        {
+            v4v_dprintk("EFAULT\n");
+            ret =3D -EFAULT;
+            break;
+        }
+
+        /*
+         * no need for a lock yet, because only we know about this
+         * set the tx pointer if it looks bogus (we don't reset it
+         * because this might be a re-register after S4)
+         */
+        if ( (ring.tx_ptr >=3D ring.len)
+                || (V4V_ROUNDUP(ring.tx_ptr) !=3D ring.tx_ptr) )
+        {
+            ring.tx_ptr =3D ring.rx_ptr;
+        }
+        copy_field_to_guest(ring_hnd, &ring, tx_ptr);
+
+        read_lock(&d->v4v->lock);
+        ring_info =3D v4v_ring_find_info(d, &ring.id);
+
+        if ( !ring_info )
+        {
+            read_unlock(&d->v4v->lock);
+            ring_info =3D xmalloc(struct v4v_ring_info);
+            if ( !ring_info )
+            {
+                v4v_dprintk("ENOMEM\n");
+                ret =3D -ENOMEM;
+                break;
+            }
+            need_to_insert++;
+            spin_lock_init(&ring_info->lock);
+            INIT_HLIST_HEAD(&ring_info->pending);
+            ring_info->mfns =3D NULL;
+
+        }
+        else
+        {
+            /*
+             * Ring info already existed.
+             */
+            printk(KERN_INFO "v4v: dom%d ring already registered\n",
+                    current->domain->domain_id);
+            ret =3D -EEXIST;
+            break;
+        }
+
+        spin_lock(&ring_info->lock);
+        ring_info->id =3D ring.id;
+        ring_info->len =3D ring.len;
+        ring_info->tx_ptr =3D ring.tx_ptr;
+        ring_info->ring =3D ring_hnd;
+        if ( ring_info->mfns )
+            xfree(ring_info->mfns);
+        ret =3D v4v_find_ring_mfns(d, ring_info, npage, pfn_hnd);
+        spin_unlock(&ring_info->lock);
+        if ( ret )
+            break;
+
+        if ( !need_to_insert )
+        {
+            read_unlock(&d->v4v->lock);
+        }
+        else
+        {
+            uint16_t hash =3D v4v_hash_fn(&ring.id);
+            write_lock(&d->v4v->lock);
+            hlist_add_head(&ring_info->node, &d->v4v->ring_hash[hash]);
+            write_unlock(&d->v4v->lock);
+        }
+    }
+    while ( 0 );
+
+    read_unlock(&v4v_lock);
+    return ret;
+}
+
+
+/*
+ * io
+ */
+
+static void
+v4v_notify_ring(struct domain *d, struct v4v_ring_info *ring_info,
+                struct hlist_head *to_notify)
+{
+    uint32_t space;
+
+    ASSERT(rw_is_locked(&v4v_lock));
+    ASSERT(rw_is_locked(&d->v4v->lock));
+
+    spin_lock(&ring_info->lock);
+    space =3D v4v_ringbuf_payload_space(d, ring_info);
+    spin_unlock(&ring_info->lock);
+
+    v4v_pending_find(d, ring_info, space, to_notify);
+}
+
+/*notify hypercall*/
+static long
+v4v_notify(struct domain *d,
+           XEN_GUEST_HANDLE(v4v_ring_data_t) ring_data_hnd)
+{
+    v4v_ring_data_t ring_data;
+    HLIST_HEAD(to_notify);
+    int i;
+    int ret =3D 0;
+
+    read_lock(&v4v_lock);
+
+    if ( !d->v4v )
+    {
+        read_unlock(&v4v_lock);
+        v4v_dprintk("!d->v4v, ENODEV\n");
+        return -ENODEV;
+    }
+
+    read_lock(&d->v4v->lock);
+    for ( i =3D 0; i < V4V_HTABLE_SIZE; ++i )
+    {
+        struct hlist_node *node, *next;
+        struct v4v_ring_info *ring_info;
+
+        hlist_for_each_entry_safe(ring_info, node,
+                next, &d->v4v->ring_hash[i],
+                node)
+        {
+            v4v_notify_ring(d, ring_info, &to_notify);
+        }
+    }
+    read_unlock(&d->v4v->lock);
+
+    if ( !hlist_empty(&to_notify) )
+        v4v_pending_notify(d, &to_notify);
+
+    do
+    {
+        if ( !guest_handle_is_null(ring_data_hnd) )
+        {
+            /* Quick sanity check on ring_data_hnd */
+            if ( copy_field_from_guest(&ring_data, ring_data_hnd, magic)=
 )
+            {
+                v4v_dprintk("copy_field_from_guest failed\n");
+                ret =3D -EFAULT;
+                break;
+            }
+
+            if ( ring_data.magic !=3D V4V_RING_DATA_MAGIC )
+            {
+                v4v_dprintk("ring.magic(%lx) !=3D V4V_RING_MAGIC(%lx), E=
INVAL\n",
+                        ring_data.magic, V4V_RING_MAGIC);
+                ret =3D -EINVAL;
+                break;
+            }
+
+            if ( copy_from_guest(&ring_data, ring_data_hnd, 1) )
+            {
+                v4v_dprintk("copy_from_guest failed\n");
+                ret =3D -EFAULT;
+                break;
+            }
+
+            {
+                XEN_GUEST_HANDLE(v4v_ring_data_ent_t) ring_data_ent_hnd;
+                ring_data_ent_hnd =3D
+                    guest_handle_for_field(ring_data_hnd, v4v_ring_data_=
ent_t, data[0]);
+                ret =3D v4v_fill_ring_datas(d, ring_data.nent, ring_data=
_ent_hnd);
+            }
+        }
+    }
+    while ( 0 );
+
+    read_unlock(&v4v_lock);
+
+    return ret;
+}
+
+#ifdef V4V_DEBUG
+void
+v4vtables_print_rule(struct v4vtables_rule_node *node)
+{
+    v4vtables_rule_t *rule;
+
+    if ( node =3D=3D NULL )
+    {
+        printk("(null)\n");
+        return;
+    }
+
+    rule =3D &node->rule;
+
+    if ( rule->accept =3D=3D 1 )
+        printk("ACCEPT");
+    else
+        printk("REJECT");
+
+    printk(" ");
+
+    if ( rule->src.domain =3D=3D V4V_DOMID_ANY )
+        printk("*");
+    else
+        printk("%i", rule->src.domain);
+
+    printk(":");
+
+    if ( rule->src.port =3D=3D -1 )
+        printk("*");
+    else
+        printk("%i", rule->src.port);
+
+    printk(" -> ");
+
+    if ( rule->dst.domain =3D=3D V4V_DOMID_ANY )
+        printk("*");
+    else
+        printk("%i", rule->dst.domain);
+
+    printk(":");
+
+    if ( rule->dst.port =3D=3D -1 )
+        printk("*");
+    else
+        printk("%i", rule->dst.port);
+
+    printk("\n");
+}
+#endif /* V4V_DEBUG */
+
+int
+v4vtables_add(struct domain *src_d,
+              XEN_GUEST_HANDLE(v4vtables_rule_t) rule,
+              int32_t position)
+{
+    struct v4vtables_rule_node* new =3D NULL;
+    struct list_head* tmp;
+
+    ASSERT(rw_is_write_locked(&v4vtables_rules_lock));
+
+    /* First rule is n.1 */
+    position--;
+
+    new =3D xmalloc(struct v4vtables_rule_node);
+    if ( new =3D=3D NULL )
+        return -ENOMEM;
+
+    if ( copy_from_guest(&new->rule, rule, 1) )
+    {
+        xfree(new);
+        return -EFAULT;
+    }
+
+#ifdef V4V_DEBUG
+    printk(KERN_ERR "VIPTables: ");
+    v4vtables_print_rule(new);
+#endif /* V4V_DEBUG */
+
+    tmp =3D &v4vtables_rules;
+    while ( position !=3D 0 && tmp->next !=3D &v4vtables_rules)
+    {
+        tmp =3D tmp->next;
+        position--;
+    }
+    list_add(&new->list, tmp);
+
+    return 0;
+}
+
+int
+v4vtables_del(struct domain *src_d,
+              XEN_GUEST_HANDLE(v4vtables_rule_t) rule_hnd,
+              int32_t position)
+{
+    struct list_head *tmp =3D NULL;
+    struct list_head *to_delete =3D NULL;
+    struct list_head *next =3D NULL;
+    struct v4vtables_rule_node *node;
+
+    ASSERT(rw_is_write_locked(&v4vtables_rules_lock));
+
+    v4v_dprintk("v4vtables_del position:%d\n", position);
+
+    if ( position !=3D -1 )
+    {
+        /* We want to delete the rule number <position> */
+        list_for_each(tmp, &v4vtables_rules)
+        {
+            to_delete =3D tmp;
+            if (position =3D=3D 0)
+                break;
+            position--;
+        }
+        /* Can't find the position */
+        if (position !=3D 0)
+            to_delete =3D NULL;
+    }
+    else if ( !guest_handle_is_null(rule_hnd) )
+    {
+        struct v4vtables_rule r;
+
+        if ( copy_from_guest(&r, rule_hnd, 1) )
+            return -EFAULT;
+
+        list_for_each(tmp, &v4vtables_rules)
+        {
+            node =3D list_entry(tmp, struct v4vtables_rule_node, list);
+
+            if ( (node->rule.src.domain =3D=3D r.src.domain) &&
+                 (node->rule.src.port   =3D=3D r.src.port)   &&
+                 (node->rule.dst.domain =3D=3D r.dst.domain) &&
+                 (node->rule.dst.port   =3D=3D r.dst.port))
+            {
+                to_delete =3D tmp;
+                break;
+            }
+        }
+    }
+    else
+    {
+        /* We want to flush the rules! */
+        printk(KERN_ERR "VIPTables: flushing rules\n");
+        list_for_each_safe(tmp, next, &v4vtables_rules)
+        {
+            node =3D list_entry(tmp, struct v4vtables_rule_node, list);
+            list_del(tmp);
+            xfree(node);
+        }
+    }
+
+    if ( to_delete )
+    {
+        node =3D list_entry(to_delete, struct v4vtables_rule_node, list)=
;
+#ifdef V4V_DEBUG
+        printk(KERN_ERR "VIPTables: deleting rule: ");
+        v4vtables_print_rule(node);
+#endif /* V4V_DEBUG */
+        list_del(to_delete);
+        xfree(node);
+    }
+
+    return 0;
+}
+
+static size_t
+v4vtables_list(struct domain *src_d,
+               XEN_GUEST_HANDLE(v4vtables_list_t) list_hnd)
+{
+    struct list_head *ptr;
+    struct v4vtables_rule_node *node;
+    struct v4vtables_list rules_list;
+    uint32_t nbrules;
+    XEN_GUEST_HANDLE(v4vtables_rule_t) guest_rules;
+
+    ASSERT(rw_is_locked(&v4vtables_rules_lock));
+
+    memset(&rules_list, 0, sizeof (rules_list));
+    if ( copy_from_guest(&rules_list, list_hnd, 1) )
+        return -EFAULT;
+
+    ptr =3D v4vtables_rules.next;
+    while ( rules_list.start_rule !=3D 0 && ptr->next !=3D &v4vtables_ru=
les )
+    {
+        ptr =3D ptr->next;
+        rules_list.start_rule--;
+    }
+
+    if ( rules_list.nb_rules =3D=3D 0 )
+        return -EINVAL;
+
+    guest_rules =3D guest_handle_for_field(list_hnd, v4vtables_rule_t, r=
ules[0]);
+
+    nbrules =3D 0;
+    while ( nbrules < rules_list.nb_rules && ptr !=3D &v4vtables_rules )
+    {
+        node =3D list_entry(ptr, struct v4vtables_rule_node, list);
+
+        if ( copy_to_guest(guest_rules, &node->rule, 1) )
+            break;
+
+        guest_handle_add_offset(guest_rules, 1);
+
+        nbrules++;
+        ptr =3D ptr->next;
+    }
+
+    rules_list.nb_rules =3D nbrules;
+    if ( copy_field_to_guest(list_hnd, &rules_list, nb_rules) )
+        return -EFAULT;
+
+    return 0;
+}
+
+static size_t
+v4vtables_check(v4v_addr_t * src, v4v_addr_t * dst)
+{
+    struct list_head *ptr;
+    struct v4vtables_rule_node *node;
+    size_t ret =3D 0; /* Defaulting to ACCEPT */
+
+    read_lock(&v4vtables_rules_lock);
+
+    list_for_each(ptr, &v4vtables_rules)
+    {
+        node =3D list_entry(ptr, struct v4vtables_rule_node, list);
+
+        if ( (node->rule.src.domain =3D=3D V4V_DOMID_ANY ||
+              node->rule.src.domain =3D=3D src->domain) &&
+             (node->rule.src.port =3D=3D V4V_PORT_ANY ||
+              node->rule.src.port =3D=3D src->port) &&
+             (node->rule.dst.domain =3D=3D V4V_DOMID_ANY ||
+              node->rule.dst.domain =3D=3D dst->domain) &&
+             (node->rule.dst.port =3D=3D V4V_PORT_ANY ||
+              node->rule.dst.port =3D=3D dst->port) )
+        {
+            ret =3D !node->rule.accept;
+            break;
+        }
+    }
+
+    read_unlock(&v4vtables_rules_lock);
+    return ret;
+}
+
+/*
+ * Hypercall to do the send
+ */
+static long
+v4v_sendv(struct domain *src_d, v4v_addr_t * src_addr,
+          v4v_addr_t * dst_addr, uint32_t proto,
+          XEN_GUEST_HANDLE(v4v_iov_t) iovs, size_t niov)
+{
+    struct domain *dst_d;
+    v4v_ring_id_t src_id;
+    struct v4v_ring_info *ring_info;
+    int ret =3D 0;
+
+    if ( !dst_addr )
+    {
+        v4v_dprintk("!dst_addr, EINVAL\n");
+        return -EINVAL;
+    }
+
+    read_lock(&v4v_lock);
+    if ( !src_d->v4v )
+    {
+        read_unlock(&v4v_lock);
+        v4v_dprintk("!src_d->v4v, EINVAL\n");
+        return -EINVAL;
+    }
+
+    src_id.addr.port =3D src_addr->port;
+    src_id.addr.domain =3D src_d->domain_id;
+    src_id.partner =3D dst_addr->domain;
+
+    dst_d =3D get_domain_by_id(dst_addr->domain);
+    if ( !dst_d )
+    {
+        read_unlock(&v4v_lock);
+        v4v_dprintk("!dst_d, ECONNREFUSED\n");
+        return -ECONNREFUSED;
+    }
+
+    if ( v4vtables_check(src_addr, dst_addr) !=3D 0 )
+    {
+        read_unlock(&v4v_lock);
+        gdprintk(XENLOG_WARNING,
+                 "V4V: VIPTables REJECTED %i:%i -> %i:%i\n",
+                 src_addr->domain, src_addr->port,
+                 dst_addr->domain, dst_addr->port);
+        return -ECONNREFUSED;
+    }
+
+    do
+    {
+        if ( !dst_d->v4v )
+        {
+            v4v_dprintk("dst_d->v4v, ECONNREFUSED\n");
+            ret =3D -ECONNREFUSED;
+            break;
+        }
+
+        read_lock(&dst_d->v4v->lock);
+        ring_info =3D
+            v4v_ring_find_info_by_addr(dst_d, dst_addr, src_addr->domain=
);
+
+        if ( !ring_info )
+        {
+            ret =3D -ECONNREFUSED;
+            v4v_dprintk(" !ring_info, ECONNREFUSED\n");
+        }
+        else
+        {
+            long len =3D v4v_iov_count(iovs, niov);
+
+            if ( len < 0 )
+            {
+                ret =3D len;
+                break;
+            }
+
+            spin_lock(&ring_info->lock);
+            ret =3D
+                v4v_ringbuf_insertv(dst_d, ring_info, &src_id, proto, io=
vs,
+                        niov, len);
+            if ( ret =3D=3D -EAGAIN )
+            {
+                v4v_dprintk("v4v_ringbuf_insertv failed, EAGAIN\n");
+                /* Schedule a wake up on the event channel when space is=
 there */
+                if ( v4v_pending_requeue(ring_info, src_d->domain_id, le=
n) )
+                {
+                    v4v_dprintk("v4v_pending_requeue failed, ENOMEM\n");
+                    ret =3D -ENOMEM;
+                }
+            }
+            spin_unlock(&ring_info->lock);
+
+            if ( ret >=3D 0 )
+            {
+                v4v_signal_domain(dst_d);
+            }
+
+        }
+        read_unlock(&dst_d->v4v->lock);
+
+    }
+    while ( 0 );
+
+    put_domain(dst_d);
+    read_unlock(&v4v_lock);
+    return ret;
+}
+
+static void
+v4v_info(struct domain *d, v4v_info_t *info)
+{
+    read_lock(&d->v4v->lock);
+    info->ring_magic =3D V4V_RING_MAGIC;
+    info->data_magic =3D V4V_RING_DATA_MAGIC;
+    info->evtchn =3D d->v4v->evtchn_port;
+    read_unlock(&d->v4v->lock);
+}
+
+/*
+ * hypercall glue
+ */
+long
+do_v4v_op(int cmd, XEN_GUEST_HANDLE(void) arg1,
+          XEN_GUEST_HANDLE(void) arg2,
+          uint32_t arg3, uint32_t arg4)
+{
+    struct domain *d =3D current->domain;
+    long rc =3D -EFAULT;
+
+    v4v_dprintk("->do_v4v_op(%d,%p,%p,%d,%d)\n", cmd,
+                (void *)arg1.p, (void *)arg2.p, (int) arg3, (int) arg4);
+
+    domain_lock(d);
+    switch (cmd)
+    {
+        case V4VOP_register_ring:
+            {
+                XEN_GUEST_HANDLE(v4v_ring_t) ring_hnd =3D
+                    guest_handle_cast(arg1, v4v_ring_t);
+                XEN_GUEST_HANDLE(v4v_pfn_t) pfn_hnd =3D
+                    guest_handle_cast(arg2, v4v_pfn_t);
+                uint32_t npage =3D arg3;
+                if ( unlikely(!guest_handle_okay(pfn_hnd, npage)) )
+                    goto out;
+                rc =3D v4v_ring_add(d, ring_hnd, npage, pfn_hnd);
+                break;
+            }
+        case V4VOP_unregister_ring:
+            {
+                XEN_GUEST_HANDLE(v4v_ring_t) ring_hnd =3D
+                    guest_handle_cast(arg1, v4v_ring_t);
+                rc =3D v4v_ring_remove(d, ring_hnd);
+                break;
+            }
+        case V4VOP_sendv:
+            {
+                uint32_t niov =3D arg3;
+                uint32_t message_type =3D arg4;
+                XEN_GUEST_HANDLE(v4v_send_addr_t) addr_hnd =3D
+                    guest_handle_cast(arg1, v4v_send_addr_t);
+                v4v_send_addr_t addr;
+
+                if ( copy_from_guest(&addr, addr_hnd, 1) )
+                    goto out;
+
+                rc =3D v4v_sendv(d, &addr.src, &addr.dst, message_type,
+                        guest_handle_cast(arg2, v4v_iov_t), niov);
+                break;
+            }
+        case V4VOP_notify:
+            {
+                XEN_GUEST_HANDLE(v4v_ring_data_t) ring_data_hnd =3D
+                    guest_handle_cast(arg1, v4v_ring_data_t);
+                rc =3D v4v_notify(d, ring_data_hnd);
+                break;
+            }
+        case V4VOP_tables_add:
+            {
+                uint32_t position =3D arg3;
+                XEN_GUEST_HANDLE(v4vtables_rule_t) rule_hnd =3D
+                    guest_handle_cast(arg1, v4vtables_rule_t);
+                rc =3D -EPERM;
+                if ( !IS_PRIV(d) )
+                    goto out;
+
+                write_lock(&v4vtables_rules_lock);
+                rc =3D v4vtables_add(d, rule_hnd, position);
+                write_unlock(&v4vtables_rules_lock);
+                break;
+            }
+        case V4VOP_tables_del:
+            {
+                uint32_t position =3D arg3;
+                XEN_GUEST_HANDLE(v4vtables_rule_t) rule_hnd =3D
+                    guest_handle_cast(arg1, v4vtables_rule_t);
+                rc =3D -EPERM;
+                if ( !IS_PRIV(d) )
+                    goto out;
+
+                write_lock(&v4vtables_rules_lock);
+                rc =3D v4vtables_del(d, rule_hnd, position);
+                write_unlock(&v4vtables_rules_lock);
+                break;
+            }
+        case V4VOP_tables_list:
+            {
+                XEN_GUEST_HANDLE(v4vtables_list_t) rules_list_hnd =3D
+                    guest_handle_cast(arg1, v4vtables_list_t);
+                rc =3D -EPERM;
+                if ( !IS_PRIV(d) )
+                    goto out;
+
+                read_lock(&v4vtables_rules_lock);
+                rc =3D v4vtables_list(d, rules_list_hnd);
+                read_unlock(&v4vtables_rules_lock);
+                break;
+            }
+        case V4VOP_info:
+            {
+                XEN_GUEST_HANDLE(v4v_info_t) info_hnd =3D
+                    guest_handle_cast(arg1, v4v_info_t);
+                v4v_info_t info;
+
+                if ( unlikely(!guest_handle_okay(info_hnd, 1)) )
+                    goto out;
+                v4v_info(d, &info);
+                if ( __copy_to_guest(info_hnd, &info, 1) )
+                    goto out;
+                rc =3D 0;
+                break;
+            }
+        default:
+            rc =3D -ENOSYS;
+            break;
+    }
+out:
+    domain_unlock(d);
+    v4v_dprintk("<-do_v4v_op()=3D%d\n", (int)rc);
+    return rc;
+}
+
+/*
+ * init
+ */
+
+void
+v4v_destroy(struct domain *d)
+{
+    int i;
+
+    BUG_ON(!d->is_dying);
+    write_lock(&v4v_lock);
+
+    v4v_dprintk("d->v=3D%p\n", d->v4v);
+
+    if ( d->v4v )
+    {
+        for ( i =3D 0; i < V4V_HTABLE_SIZE; ++i )
+        {
+            struct hlist_node *node, *next;
+            struct v4v_ring_info *ring_info;
+
+            hlist_for_each_entry_safe(ring_info, node,
+                    next, &d->v4v->ring_hash[i],
+                    node)
+            {
+                v4v_ring_remove_info(d, ring_info);
+            }
+        }
+    }
+
+    d->v4v =3D NULL;
+    write_unlock(&v4v_lock);
+}
+
+int
+v4v_init(struct domain *d)
+{
+    struct v4v_domain *v4v;
+    evtchn_port_t port;
+    int i;
+    int rc;
+
+    v4v =3D xmalloc(struct v4v_domain);
+    if ( !v4v )
+        return -ENOMEM;
+
+    rc =3D evtchn_alloc_unbound_domain(d, &port, d->domain_id);
+    if ( rc )
+        return rc;
+
+    rwlock_init(&v4v->lock);
+
+    v4v->evtchn_port =3D port;
+    for ( i =3D 0; i < V4V_HTABLE_SIZE; ++i )
+        INIT_HLIST_HEAD(&v4v->ring_hash[i]);
+
+    write_lock(&v4v_lock);
+    d->v4v =3D v4v;
+    write_unlock(&v4v_lock);
+
+    return 0;
+}
+
+
+/*
+ * debug
+ */
+
+static void
+dump_domain_ring(struct domain *d, struct v4v_ring_info *ring_info)
+{
+    uint32_t rx_ptr;
+
+    printk(KERN_ERR "  ring: domid=3D%d port=3D0x%08x partner=3D%d npage=
=3D%d\n",
+           (int)d->domain_id, (int)ring_info->id.addr.port,
+           (int)ring_info->id.partner, (int)ring_info->npage);
+
+    if ( v4v_ringbuf_get_rx_ptr(d, ring_info, &rx_ptr) )
+    {
+        printk(KERN_ERR "   Failed to read rx_ptr\n");
+        return;
+    }
+
+    printk(KERN_ERR "   tx_ptr=3D%d rx_ptr=3D%d len=3D%d\n",
+           (int)ring_info->tx_ptr, (int)rx_ptr, (int)ring_info->len);
+}
+
+static void
+dump_domain(struct domain *d)
+{
+    int i;
+
+    printk(KERN_ERR " domain %d:\n", (int)d->domain_id);
+
+    read_lock(&d->v4v->lock);
+
+    for ( i =3D 0; i < V4V_HTABLE_SIZE; ++i )
+    {
+        struct hlist_node *node;
+        struct v4v_ring_info *ring_info;
+
+        hlist_for_each_entry(ring_info, node, &d->v4v->ring_hash[i], nod=
e)
+            dump_domain_ring(d, ring_info);
+    }
+
+    printk(KERN_ERR "  event channel: %d\n",  d->v4v->evtchn_port);
+    read_unlock(&d->v4v->lock);
+
+    printk(KERN_ERR "\n");
+    v4v_signal_domain(d);
+}
+
+static void
+dump_state(unsigned char key)
+{
+    struct domain *d;
+
+    printk(KERN_ERR "\n\nV4V:\n");
+    read_lock(&v4v_lock);
+
+    rcu_read_lock(&domlist_read_lock);
+
+    for_each_domain(d)
+        dump_domain(d);
+
+    rcu_read_unlock(&domlist_read_lock);
+
+    read_unlock(&v4v_lock);
+}
+
+struct keyhandler v4v_info_keyhandler =3D
+{
+    .diagnostic =3D 1,
+    .u.fn =3D dump_state,
+    .desc =3D "dump v4v states and interupt"
+};
+
+static int __init
+setup_dump_rings(void)
+{
+    register_keyhandler('4', &v4v_info_keyhandler);
+    return 0;
+}
+
+__initcall(setup_dump_rings);
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/v4v.h b/xen/include/public/v4v.h
new file mode 100644
index 0000000..c7425cc
--- /dev/null
+++ b/xen/include/public/v4v.h
@@ -0,0 +1,308 @@
+/***********************************************************************=
*******
+ * V4V
+ *
+ * Version 2 of v2v (Virtual-to-Virtual)
+ *
+ * Copyright (c) 2010, Citrix Systems
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 =
 USA
+ */
+
+#ifndef __XEN_PUBLIC_V4V_H__
+#define __XEN_PUBLIC_V4V_H__
+
+#include "xen.h"
+#include "event_channel.h"
+
+/*
+ * Structure definitions
+ */
+
+#define V4V_RING_MAGIC          0xa822f72bb0b9d8ccUL
+#define V4V_RING_DATA_MAGIC	0x45fe852220b801d4UL
+
+#define V4V_MESSAGE_DGRAM       0x3c2c1db8
+#define V4V_MESSAGE_STREAM 	0x70f6a8e5
+
+#define V4V_DOMID_ANY           DOMID_INVALID
+#define V4V_PORT_ANY            0
+
+typedef uint64_t v4v_pfn_t;
+
+typedef struct v4v_iov
+{
+    uint64_t iov_base;
+    uint32_t iov_len;
+    uint32_t pad;
+} v4v_iov_t;
+
+typedef struct v4v_addr
+{
+    uint32_t port;
+    domid_t domain;
+    uint16_t pad;
+} v4v_addr_t;
+
+typedef struct v4v_ring_id
+{
+    v4v_addr_t addr;
+    domid_t partner;
+    uint16_t pad;
+} v4v_ring_id_t;
+
+typedef struct
+{
+    v4v_addr_t src;
+    v4v_addr_t dst;
+} v4v_send_addr_t;
+
+/*
+ * v4v_ring
+ * id: xen only looks at this during register/unregister
+ *     and will fill in id.addr.domain
+ * rx_ptr: rx pointer, modified by domain
+ * tx_ptr: tx pointer, modified by xen
+ *
+ */
+struct v4v_ring
+{
+    uint64_t magic;
+    v4v_ring_id_t id;
+    uint32_t len;
+    uint32_t rx_ptr;
+    uint32_t tx_ptr;
+    uint8_t reserved[32];
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >=3D 199901L
+    uint8_t ring[];
+#elif defined(__GNUC__)
+    uint8_t ring[0];
+#endif
+};
+typedef struct v4v_ring v4v_ring_t;
+
+#define V4V_RING_DATA_F_EMPTY       (1U << 0) /* Ring is empty */
+#define V4V_RING_DATA_F_EXISTS      (1U << 1) /* Ring exists */
+#define V4V_RING_DATA_F_PENDING     (1U << 2) /* Pending interrupt exist=
s - do not
+                                               * rely on this field - fo=
r
+                                               * profiling only */
+#define V4V_RING_DATA_F_SUFFICIENT  (1U << 3) /* Sufficient space to que=
ue
+                                               * space_required bytes ex=
ists */
+
+typedef struct v4v_ring_data_ent
+{
+    v4v_addr_t ring;
+    uint16_t flags;
+    uint16_t pad;
+    uint32_t space_required;
+    uint32_t max_message_size;
+} v4v_ring_data_ent_t;
+
+typedef struct v4v_ring_data
+{
+    uint64_t magic;
+    uint32_t nent;
+    uint32_t pad;
+    uint64_t reserved[4];
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >=3D 199901L
+    v4v_ring_data_ent_t data[];
+#elif defined(__GNUC__)
+    v4v_ring_data_ent_t data[0];
+#endif
+} v4v_ring_data_t;
+
+struct v4v_info
+{
+    uint64_t ring_magic;
+    uint64_t data_magic;
+    evtchn_port_t evtchn;
+    uint32_t pad;
+};
+typedef struct v4v_info v4v_info_t;
+
+#define V4V_SHF_SYN		(1 << 0)
+#define V4V_SHF_ACK		(1 << 1)
+#define V4V_SHF_RST		(1 << 2)
+
+#define V4V_SHF_PING		(1 << 8)
+#define V4V_SHF_PONG		(1 << 9)
+
+struct v4v_stream_header
+{
+    uint32_t flags;
+    uint32_t conid;
+};
+
+struct v4v_ring_message_header
+{
+    uint32_t len;
+    uint32_t pad0;
+    v4v_addr_t source;
+    uint32_t message_type;
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >=3D 199901L
+    uint8_t data[];
+#elif defined(__GNUC__)
+    uint8_t data[0];
+#endif
+};
+
+typedef struct v4vtables_rule
+{
+    v4v_addr_t src;
+    v4v_addr_t dst;
+    uint32_t accept;
+} v4vtables_rule_t;
+
+typedef struct v4vtables_list
+{
+    uint32_t start_rule;
+    uint32_t nb_rules;
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >=3D 199901L
+    struct v4vtables_rule rules[];
+#elif defined(__GNUC__)
+    struct v4vtables_rule rules[0];
+#endif
+} v4vtables_list_t;
+
+/*
+ * HYPERCALLS
+ */
+
+/*
+ * V4VOP_register_ring
+ *
+ * Registers a ring with Xen. If a ring with the same v4v_ring_id exists=
,
+ * the hypercall will return -EEXIST.
+ *
+ * do_v4v_op(V4VOP_register_ring,
+ *           XEN_GUEST_HANDLE(v4v_ring_t), XEN_GUEST_HANDLE(v4v_pfn_t),
+ *           npage, 0)
+ */
+#define V4VOP_register_ring 	1
+
+
+/*
+ * V4VOP_unregister_ring
+ *
+ * Unregister a ring.
+ *
+ * do_v4v_op(V4VOP_unregister_ring,
+ *           XEN_GUEST_HANDLE(v4v_ring_t),
+ *           NULL, 0, 0)
+ */
+#define V4VOP_unregister_ring 	2
+
+/*
+ * V4VOP_notify
+ *
+ * Asks xen for information about other rings in the system
+ *
+ * ent->ring is the v4v_addr_t of the ring you want information on
+ * the same matching rules are used as for V4VOP_send.
+ *
+ * ent->space_required  if this field is not null xen will check
+ * that there is space in the destination ring for this many bytes
+ * of payload. If there is it will set the V4V_RING_DATA_F_SUFFICIENT
+ * and CANCEL any pending interrupt for that ent->ring, if insufficient
+ * space is available it will schedule an interrupt and the flag will
+ * not be set.
+ *
+ * The flags are set by xen when notify replies
+ * V4V_RING_DATA_F_EMPTY	ring is empty
+ * V4V_RING_DATA_F_PENDING	interrupt is pending - don't rely on this
+ * V4V_RING_DATA_F_SUFFICIENT	sufficient space for space_required is the=
re
+ * V4V_RING_DATA_F_EXISTS	ring exists
+ *
+ * do_v4v_op(V4VOP_notify,
+ *           XEN_GUEST_HANDLE(v4v_ring_data_ent_t) ent,
+ *           NULL, 0, 0)
+ */
+#define V4VOP_notify 		4
+
+/*
+ * V4VOP_sendv
+ *
+ * Sends of list of buffer contained in iov.
+ *
+ * For each iov entry send iov_len bytes of iov_base to addr.dst, giving
+ * src as the source address (xen will ignore src->domain and put your
+ * domain in the actually message), xen first looks for a ring with id.a=
ddr=3D=3Ddst
+ * and id.partner=3D=3Dsending_domain if that fails it looks for id.addr=
=3D=3Ddst and
+ * id.partner=3D=3DDOMID_ANY.
+ * message_type is the 32 bit number used from the message
+ * most likely V4V_MESSAGE_DGRAM or V4V_MESSAGE_STREAM. If insufficient =
space exists
+ * it will return -EAGAIN and xen will twing the V4V_INTERRUPT when
+ * sufficient space becomes available
+ *
+ * do_v4v_op(V4VOP_sendv,
+ *           XEN_GUEST_HANDLE(v4v_send_addr_t) addr,
+ *           XEN_GUEST_HANDLE(v4v_iov_t) iov,
+ *           uint32_t niov,
+ *           uint32_t message_type)
+ */
+#define V4VOP_sendv		5
+
+/*
+ * V4VOP_tables_add
+ *
+ * Insert a filtering rules after a given position.
+ *
+ * do_v4v_op(V4VOP_tables_add,
+ *           XEN_GUEST_HANDLE(v4vtables_rule_t) rule,
+ *           NULL,
+ *           uint32_t position, 0)
+ */
+#define V4VOP_tables_add     6
+
+/*
+ * V4VOP_tables_del
+ *
+ * Delete a filtering rules at a position or the rule
+ * that matches "rule".
+ *
+ * do_v4v_op(V4VOP_tables_del,
+ *           XEN_GUEST_HANDLE(v4vtables_rule_t) rule,
+ *           NULL,
+ *           uint32_t position, 0)
+ */
+#define V4VOP_tables_del     7
+
+/*
+ * V4VOP_tables_list
+ *
+ * do_v4v_op(V4VOP_tables_list,
+ *           XEN_GUEST_HANDLE(v4vtpables_list_t) list,
+ *           NULL, 0, 0)
+ */
+#define V4VOP_tables_list    8
+
+/*
+ * V4VOP_info
+ *
+ * Returns v4v info for the current domain (domain that issued the hyper=
call).
+ *      - V4V magic number
+ *      - event channel port (for current domain)
+ *
+ * do_v4v_op(V4VOP_info,
+ *           XEN_GUEST_HANDLE(v4v_info_t) info,
+ *           NULL, 0, 0)
+ */
+#define V4VOP_info              9
+
+#endif /* __XEN_PUBLIC_V4V_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 7352d1e..66a3605 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -100,7 +100,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
 #define __HYPERVISOR_domctl               36
 #define __HYPERVISOR_kexec_op             37
 #define __HYPERVISOR_tmem_op              38
-#define __HYPERVISOR_xc_reserved_op       39 /* reserved for XenClient *=
/
+#define __HYPERVISOR_v4v_op               39
=20
 /* Architecture-specific hypercall definitions. */
 #define __HYPERVISOR_arch_0               48
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 6c55039..2fd9313 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -24,6 +24,7 @@
 #include <public/sysctl.h>
 #include <public/vcpu.h>
 #include <public/mem_event.h>
+#include <xen/v4v.h>
=20
 #ifdef CONFIG_COMPAT
 #include <compat/vcpu.h>
@@ -363,6 +364,9 @@ struct domain
     nodemask_t node_affinity;
     unsigned int last_alloc_node;
     spinlock_t node_affinity_lock;
+
+    /* v4v */
+    struct v4v_domain *v4v;
 };
=20
 struct domain_setup_info
diff --git a/xen/include/xen/v4v.h b/xen/include/xen/v4v.h
new file mode 100644
index 0000000..dd6fce4
--- /dev/null
+++ b/xen/include/xen/v4v.h
@@ -0,0 +1,49 @@
+/***********************************************************************=
*******
+ * V4V
+ *
+ * Version 2 of v2v (Virtual-to-Virtual)
+ *
+ * Copyright (c) 2010, Citrix Systems
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 =
 USA
+ */
+
+#ifndef __V4V_PRIVATE_H__
+#define __V4V_PRIVATE_H__
+
+#include <xen/config.h>
+#include <xen/types.h>
+#include <xen/spinlock.h>
+#include <xen/smp.h>
+#include <xen/shared.h>
+#include <xen/list.h>
+#include <public/v4v.h>
+
+struct v4v_domain;
+
+void v4v_destroy(struct domain *d);
+int v4v_init(struct domain *d);
+long do_v4v_op (int cmd,
+                XEN_GUEST_HANDLE (void) arg1,
+                XEN_GUEST_HANDLE (void) arg2,
+                uint32_t arg3,
+                uint32_t arg4);
+
+#endif /* __V4V_PRIVATE_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */

--------------true
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

--------------true--


From xen-devel-bounces@lists.xen.org Tue Oct 30 17:38:27 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Oct 2012 17:38:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TTFkR-0003aV-T7; Tue, 30 Oct 2012 17:37:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <konrad.wilk@oracle.com>) id 1TTFkQ-0003a5-GI
	for xen-devel@lists.xen.org; Tue, 30 Oct 2012 17:37:07 +0000
Received: from [85.158.139.211:15332] by server-16.bemta-5.messagelabs.com id
	5F/43-04786-14010905; Tue, 30 Oct 2012 17:37:05 +0000
X-Env-Sender: konrad.wilk@oracle.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1351618622!18242733!1
X-Originating-IP: [156.151.31.81]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogMTU2LjE1MS4zMS44MSA9PiAyNzI0Mw==\n
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.8; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17421 invoked from network); 30 Oct 2012 17:37:04 -0000
Received: from userp1040.oracle.com (HELO userp1040.oracle.com) (156.151.31.81)
	by server-4.tower-206.messagelabs.com with DHE-RSA-AES256-SHA encrypted
	SMTP; 30 Oct 2012 17:37:04 -0000
Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237])
	by userp1040.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with
	ESMTP id q9UHaxZw018832
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 30 Oct 2012 17:37:00 GMT
Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157])
	by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id
	q9UHax6g017649
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 30 Oct 2012 17:36:59 GMT
Received: from abhmt117.oracle.com (abhmt117.oracle.com [141.146.116.69])
	by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id
	q9UHaw2u017381; Tue, 30 Oct 2012 12:36:58 -0500
Received: from phenom.dumpdata.com (/50.195.21.189)
	by default (Oracle Beehive Gateway v4.0)
	with ESMTP ; Tue, 30 Oct 2012 10:36:58 -0700
Received: by phenom.dumpdata.com (Postfix, from userid 1000)
	id 038684042F; Tue, 30 Oct 2012 13:01:57 -0400 (EDT)
Date: Tue, 30 Oct 2012 13:01:57 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Message-ID: <20121030170157.GA29485@phenom.dumpdata.com>
References: <1351097925-26221-1-git-send-email-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <1351097925-26221-1-git-send-email-roger.pau@citrix.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Source-IP: acsinet21.oracle.com [141.146.126.237]
Cc: Oliver Chick <oliver.chick@citrix.com>, linux-kernel@vger.kernel.org,
	xen-devel@lists.xen.org
Subject: Re: [Xen-devel] [PATCH v2] Persistent grant maps for xen blk drivers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On Wed, Oct 24, 2012 at 06:58:45PM +0200, Roger Pau Monne wrote:
> This patch implements persistent grants for the xen-blk{front,back}
> mechanism. The effect of this change is to reduce the number of unmap
> operations performed, since they cause a (costly) TLB shootdown. This
> allows the I/O performance to scale better when a large number of VMs
> are performing I/O.
> 
> Previously, the blkfront driver was supplied a bvec[] from the request
> queue. This was granted to dom0; dom0 performed the I/O and wrote
> directly into the grant-mapped memory and unmapped it; blkfront then
> removed foreign access for that grant. The cost of unmapping scales
> badly with the number of CPUs in Dom0. An experiment showed that when
> Dom0 has 24 VCPUs, and guests are performing parallel I/O to a
> ramdisk, the IPIs from performing unmap's is a bottleneck at 5 guests
> (at which point 650,000 IOPS are being performed in total). If more
> than 5 guests are used, the performance declines. By 10 guests, only
> 400,000 IOPS are being performed.
> 
> This patch improves performance by only unmapping when the connection
> between blkfront and back is broken.
> 
> On startup blkfront notifies blkback that it is using persistent
> grants, and blkback will do the same. If blkback is not capable of
> persistent mapping, blkfront will still use the same grants, since it
> is compatible with the previous protocol, and simplifies the code
> complexity in blkfront.
> 
> To perform a read, in persistent mode, blkfront uses a separate pool
> of pages that it maps to dom0. When a request comes in, blkfront
> transmutes the request so that blkback will write into one of these
> free pages. Blkback keeps note of which grefs it has already
> mapped. When a new ring request comes to blkback, it looks to see if
> it has already mapped that page. If so, it will not map it again. If
> the page hasn't been previously mapped, it is mapped now, and a record
> is kept of this mapping. Blkback proceeds as usual. When blkfront is
> notified that blkback has completed a request, it memcpy's from the
> shared memory, into the bvec supplied. A record that the {gref, page}
> tuple is mapped, and not inflight is kept.
> 
> Writes are similar, except that the memcpy is peformed from the
> supplied bvecs, into the shared pages, before the request is put onto
> the ring.
> 
> Blkback stores a mapping of grefs=>{page mapped to by gref} in
> a red-black tree. As the grefs are not known apriori, and provide no
> guarantees on their ordering, we have to perform a search
> through this tree to find the page, for every gref we receive. This
> operation takes O(log n) time in the worst case. In blkfront grants
> are stored using a single linked list.
> 
> The maximum number of grants that blkback will persistenly map is
> currently set to RING_SIZE * BLKIF_MAX_SEGMENTS_PER_REQUEST, to
> prevent a malicios guest from attempting a DoS, by supplying fresh
> grefs, causing the Dom0 kernel to map excessively. If a guest
> is using persistent grants and exceeds the maximum number of grants to
> map persistenly the newly passed grefs will be mapped and unmaped.
> Using this approach, we can have requests that mix persistent and
> non-persistent grants, and we need to handle them correctly.
> This allows us to set the maximum number of persistent grants to a
> lower value than RING_SIZE * BLKIF_MAX_SEGMENTS_PER_REQUEST, although
> setting it will lead to unpredictable performance.
> 
> In writing this patch, the question arrises as to if the additional
> cost of performing memcpys in the guest (to/from the pool of granted
> pages) outweigh the gains of not performing TLB shootdowns. The answer
> to that question is `no'. There appears to be very little, if any
> additional cost to the guest of using persistent grants. There is
> perhaps a small saving, from the reduced number of hypercalls
> performed in granting, and ending foreign access.
> 
> Signed-off-by: Oliver Chick <oliver.chick@citrix.com>
> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
> Cc: <konrad.wilk@oracle.com>
> Cc: <linux-kernel@vger.kernel.org>
> ---
> Changes since v1:
>  * Changed the unmap_seg array to a bitmap.
>  * Only report using persistent grants in blkfront if blkback supports
>    it.
>  * Reword some comments.
>  * Fix a bug when setting the handler, index j was not incremented
>    correctly.
>  * Check that the tree of grants in blkback is not empty before
>    iterating over it when doing the cleanup.
>  * Rebase on top of linux-net.

I fixed the 'new_map = [1|0]' you had in and altered it to use 'true'
or 'false', but when running some tests (with a 64-bit PV guest) I got it
to bug.

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.7.0-rc3upstream-00220-g37b7153 (konrad@build.dumpdata.com) (gcc version 4.4.4 20100503 (Red Hat 4.4.4-2) (GCC) ) #1 SMP Tue Oct 30 12:15:12 EDT 2012
[    0.000000] Command line: earlyprintk=xen debug nofb console=tty console=ttyS1,115200n8 xen-pciback.hide=(00:02:00) loglevel=10
[    0.000000] Freeing 9d-100 pfn range: 99 pages freed
[    0.000000] 1-1 mapping on 9d->100
[    0.000000] 1-1 mapping on cf7fb->cfb63
[    0.000000] 1-1 mapping on cfd15->cfd70
[    0.000000] 1-1 mapping on cfd71->cfef7
[    0.000000] 1-1 mapping on cff00->100001
[    0.000000] Released 99 pages of unused memory
[    0.000000] Set 198317 page(s) to 1-1 mapping
[    0.000000] Populating 3e700-3e763 pfn range: 99 pages added
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] Xen: [mem 0x0000000000000000-0x000000000009cfff] usable
[    0.000000] Xen: [mem 0x000000000009d800-0x00000000000fffff] reserved
[    0.000000] Xen: [mem 0x0000000000100000-0x000000004d062fff] usable
[    0.000000] Xen: [mem 0x000000004d063000-0x00000000cf7fafff] unusable
[    0.000000] Xen: [mem 0x00000000cf7fb000-0x00000000cf95ffff] reserved
[    0.000000] Xen: [mem 0x00000000cf960000-0x00000000cfb62fff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000cfb63000-0x00000000cfd14fff] unusable
[    0.000000] Xen: [mem 0x00000000cfd15000-0x00000000cfd61fff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000cfd62000-0x00000000cfd6cfff] ACPI data
[    0.000000] Xen: [mem 0x00000000cfd6d000-0x00000000cfd6ffff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000cfd70000-0x00000000cfd70fff] unusable
[    0.000000] Xen: [mem 0x00000000cfd71000-0x00000000cfea8fff] reserved
[    0.000000] Xen: [mem 0x00000000cfea9000-0x00000000cfeb9fff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000cfeba000-0x00000000cfecafff] reserved
[    0.000000] Xen: [mem 0x00000000cfecb000-0x00000000cfecbfff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000cfecc000-0x00000000cfedbfff] reserved
[    0.000000] Xen: [mem 0x00000000cfedc000-0x00000000cfedcfff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000cfedd000-0x00000000cfeddfff] reserved
[    0.000000] Xen: [mem 0x00000000cfede000-0x00000000cfee3fff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000cfee4000-0x00000000cfef6fff] reserved
[    0.000000] Xen: [mem 0x00000000cfef7000-0x00000000cfefffff] unusable
[    0.000000] Xen: [mem 0x00000000e0000000-0x00000000efffffff] reserved
[    0.000000] Xen: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[    0.000000] Xen: [mem 0x00000000fec10000-0x00000000fec10fff] reserved
[    0.000000] Xen: [mem 0x00000000fed00000-0x00000000fed00fff] reserved
[    0.000000] Xen: [mem 0x00000000fed40000-0x00000000fed44fff] reserved
[    0.000000] Xen: [mem 0x00000000fed61000-0x00000000fed70fff] reserved
[    0.000000] Xen: [mem 0x00000000fed80000-0x00000000fed8ffff] reserved
[    0.000000] Xen: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] Xen: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
[    0.000000] Xen: [mem 0x0000000100001000-0x000000020effffff] unusable
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI 2.6 present.
[    0.000000] DMI: System manufacturer System Product Name/F1A75-M, BIOS 0406 06/11/2011
[    0.000000] e820: update [mem 0x00000000-0x0000ffff] usable ==> reserved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] No AGP bridge found
[    0.000000] e820: last_pfn = 0x4d063 max_arch_pfn = 0x400000000
[    0.000000] initial memory mapped: [mem 0x00000000-0x16bcdfff]
[    0.000000] Base memory trampoline at [ffff880000097000] 97000 size 24576
[    0.000000] init_memory_mapping: [mem 0x00000000-0x4d062fff]
[    0.000000]  [mem 0x00000000-0x4d062fff] page 4k
[    0.000000] kernel direct mapping tables up to 0x4d062fff @ [mem 0x01e21000-0x0208cfff]
[    0.000000] xen: setting RW the range 1fd3000 - 208d000
[    0.000000] RAMDISK: [mem 0x0208d000-0x16bcdfff]
[    0.000000] ACPI: RSDP 00000000000f0450 00024 (v02 ALASKA)
[    0.000000] ACPI: XSDT 00000000cfd62068 00054 (v01 ALASKA    A M I 01072009 AMI  00010013)
[    0.000000] ACPI: FACP 00000000cfd69a68 000F4 (v04 ALASKA    A M I 01072009 AMI  00010013)
[    0.000000] ACPI BIOS Bug: Warning: Optional FADT field Pm2ControlBlock has zero address or length: 0x0000000000000000/0x1 (20120913/tbfadt-598)
[    0.000000] ACPI: DSDT 00000000cfd62150 07917 (v02 ALASKA    A M I 00000000 INTL 20051117)
[    0.000000] ACPI: FACS 00000000cfedef80 00040
[    0.000000] ACPI: APIC 00000000cfd69b60 00072 (v03 ALASKA    A M I 01072009 AMI  00010013)
[    0.000000] ACPI: MCFG 00000000cfd69bd8 0003C (v01 A M I  GMCH945. 01072009 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000cfd69c18 00038 (v01 ALASKA    A M I 01072009 AMI  00000004)
[    0.000000] ACPI: SSDT 00000000cfd69c50 00FD8 (v01 AMD    POWERNOW 00000001 AMD  00000001)
[    0.000000] ACPI: SSDT 00000000cfd6ac28 01923 (v02    AMD     ALIB 00000001 MSFT 04000000)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] NUMA turned off
[    0.000000] Faking a node at [mem 0x0000000000000000-0x000000004d062fff]
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x4d062fff]
[    0.000000]   NODE_DATA [mem 0x3e75f000-0x3e762fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x00010000-0x00ffffff]
[    0.000000]   DMA32    [mem 0x01000000-0xffffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00010000-0x0009cfff]
[    0.000000]   node   0: [mem 0x00100000-0x4d062fff]
[    0.000000] On node 0 totalpages: 315376
[    0.000000]   DMA zone: 56 pages used for memmap
[    0.000000]   DMA zone: 6 pages reserved
[    0.000000]   DMA zone: 3919 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 4258 pages used for memmap
[    0.000000]   DMA32 zone: 307137 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    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_NMI (acpi_id[0xff] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x05] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 5, version 33, 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 low level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0xffffffff base: 0xfed00000
[    0.000000] smpboot: Allowing 4 CPUs, 0 hotplug CPUs
[    0.000000] nr_irqs_gsi: 40
[    0.000000] PM: Registered nosave memory: 000000000009d000 - 000000000009e000
[    0.000000] PM: Registered nosave memory: 000000000009e000 - 0000000000100000
[    0.000000] e820: [mem 0xcff00000-0xdfffffff] available for PCI devices
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.1.4-pre (preserve-AD)
[    0.000000] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:4 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88003e000000 s84288 r8192 d22208 u524288
[    0.000000] pcpu-alloc: s84288 r8192 d22208 u524288 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 0 1 2 3 
[    2.763208] Built 1 zonelists in Node order, mobility grouping on.  Total pages: 311056
[    2.763213] Policy zone: DMA32
[    2.763218] Kernel command line: earlyprintk=xen debug nofb console=tty console=ttyS1,115200n8 xen-pciback.hide=(00:02:00) loglevel=10
[    2.763656] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    2.763663] __ex_table already sorted, skipping sort
[    2.808064] software IO TLB [mem 0x38a00000-0x3ca00000] (64MB) mapped at [ffff880038a00000-ffff88003c9fffff]
[    2.811300] Memory: 581728k/1261964k available (6413k kernel code, 460k absent, 679776k reserved, 4478k data, 752k init)
[    2.811414] Hierarchical RCU implementation.
[    2.811419] 	RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=3.
[    2.811432] NR_IRQS:33024 nr_irqs:704 16
[    2.811514] xen: sci override: global_irq=9 trigger=0 polarity=1
[    2.811518] xen: registering gsi 9 triggering 0 polarity 1
[    2.811531] xen: --> pirq=9 -> irq=9 (gsi=9)
[    2.811539] xen: acpi sci 9
[    2.811546] xen: --> pirq=1 -> irq=1 (gsi=1)
[    2.811551] xen: --> pirq=2 -> irq=2 (gsi=2)
[    2.811557] xen: --> pirq=3 -> irq=3 (gsi=3)
[    2.811562] xen: --> pirq=4 -> irq=4 (gsi=4)
[    2.811568] xen: --> pirq=5 -> irq=5 (gsi=5)
[    2.811574] xen: --> pirq=6 -> irq=6 (gsi=6)
[    2.811579] xen: --> pirq=7 -> irq=7 (gsi=7)
[    2.811585] xen: --> pirq=8 -> irq=8 (gsi=8)
[    2.811590] xen: --> pirq=10 -> irq=10 (gsi=10)
[    2.811596] xen: --> pirq=11 -> irq=11 (gsi=11)
[    2.811602] xen: --> pirq=12 -> irq=12 (gsi=12)
[    2.811607] xen: --> pirq=13 -> irq=13 (gsi=13)
[    2.811613] xen: --> pirq=14 -> irq=14 (gsi=14)
[    2.811618] xen: --> pirq=15 -> irq=15 (gsi=15)
[    2.813454] Console: colour VGA+ 80x25
[    2.818363] console [tty0] enabled
[    2.818422] console [ttyS1] enabled, bootconsole disabled
[    2.818757] Xen: using vcpuop timer interface
[    2.819017] installing Xen timer for CPU 0
[    2.819285] tsc: Detected 2899.980 MHz processor
[    2.819555] Calibrating delay loop (skipped), value calculated using timer frequency.. 5799.96 BogoMIPS (lpj=2899980)
[    2.820151] pid_max: default: 32768 minimum: 301
[    2.820479] Security Framework initialized
[    2.820728] SELinux:  Initializing.
[    2.820948] SELinux:  Starting in permissive mode
[    2.821532] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    2.822565] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    2.823519] Mount-cache hash table entries: 256
[    2.824126] Initializing cgroup subsys cpuacct
[    2.824400] Initializing cgroup subsys freezer
[    2.824730] tseg: 00cff00000
[    2.824934] CPU: Physical Processor ID: 0
[    2.825186] CPU: Processor Core ID: 0
[    2.825417] mce: CPU supports 6 MCE banks
[    2.825696] Last level iTLB entries: 4KB 512, 2MB 16, 4MB 8
[    2.825696] Last level dTLB entries: 4KB 1024, 2MB 128, 4MB 64
[    2.825696] tlb_flushall_shift: 5
[    2.826625] Freeing SMP alternatives: 24k freed
[    2.829704] ACPI: Core revision 20120913
[    2.856787] cpu 0 spinlock event irq 41
[    2.857062] Performance Events: Broken PMU hardware detected, using software events only.
[    2.857602] Failed to access perfctr msr (MSR c0010004 is 0)
[    2.858234] MCE: In-kernel MCE decoding enabled.
[    2.858603] NMI watchdog: disabled (cpu0): hardware events not enabled
[    2.859223] installing Xen timer for CPU 1
[    2.859499] cpu 1 spinlock event irq 48
[    2.860218] installing Xen timer for CPU 2
[    2.860493] cpu 2 spinlock event irq 55
[    2.860951] Brought up 3 CPUs
[    2.864412] PM: Registering ACPI NVS region [mem 0xcf960000-0xcfb62fff] (2109440 bytes)
[    2.865989] PM: Registering ACPI NVS region [mem 0xcfd15000-0xcfd61fff] (315392 bytes)
[    2.866464] PM: Registering ACPI NVS region [mem 0xcfd6d000-0xcfd6ffff] (12288 bytes)
[    2.866931] PM: Registering ACPI NVS region [mem 0xcfea9000-0xcfeb9fff] (69632 bytes)
[    2.867404] PM: Registering ACPI NVS region [mem 0xcfecb000-0xcfecbfff] (4096 bytes)
[    2.867861] PM: Registering ACPI NVS region [mem 0xcfedc000-0xcfedcfff] (4096 bytes)
[    2.868321] PM: Registering ACPI NVS region [mem 0xcfede000-0xcfee3fff] (24576 bytes)
[    2.869081] kworker/u:0 (26) used greatest stack depth: 6120 bytes left
[    2.869105] Grant tables using version 2 layout.
[    2.869122] Grant table initialized
[    2.869164] RTC time: 16:43:55, date: 10/30/12
[    2.870366] NET: Registered protocol family 16
[    2.871181] kworker/u:0 (30) used greatest stack depth: 5504 bytes left
[    2.872440] ACPI: bus type pci registered
[    2.873480] dca service started, version 1.12.1
[    2.873891] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
[    2.874438] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
[    2.914335] PCI: Using configuration type 1 for base access
[    2.932999] bio: create slab <bio-0> at 0
[    2.933584] ACPI: Added _OSI(Module Device)
[    2.933866] ACPI: Added _OSI(Processor Device)
[    2.934145] ACPI: Added _OSI(3.0 _SCP Extensions)
[    2.934432] ACPI: Added _OSI(Processor Aggregator Device)
[    2.942011] ACPI: EC: Look up EC in DSDT
[    2.950054] ACPI: Executed 1 blocks of module-level executable AML code
[    2.956530] ACPI: Interpreter enabled
[    2.956772] ACPI: (supports S0 S3 S4 S5)
[    2.957218] ACPI: Using IOAPIC for interrupt routing
[    2.982389] ACPI: No dock devices found.
[    2.982650] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    2.983552] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    2.984298] PCI host bridge to bus 0000:00
[    2.984571] pci_bus 0000:00: root bus resource [bus 00-ff]
[    2.984906] pci_bus 0000:00: root bus resource [io  0x0000-0x03af]
[    2.985277] pci_bus 0000:00: root bus resource [io  0x03e0-0x0cf7]
[    2.985657] pci_bus 0000:00: root bus resource [io  0x03b0-0x03df]
[    2.986029] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
[    2.986399] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
[    2.986810] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000dffff]
[    2.987214] pci_bus 0000:00: root bus resource [mem 0xd0000000-0xffffffff]
[    2.987631] pci 0000:00:00.0: [1022:1705] type 00 class 0x060000
[    2.988106] pci 0000:00:01.0: [1002:9640] type 00 class 0x030000
[    2.988487] pci 0000:00:01.0: reg 10: [mem 0xd0000000-0xdfffffff pref]
[    2.988893] pci 0000:00:01.0: reg 14: [io  0xf000-0xf0ff]
[    2.989246] pci 0000:00:01.0: reg 18: [mem 0xfeb00000-0xfeb3ffff]
[    2.989743] pci 0000:00:01.0: supports D1 D2
[    2.990053] pci 0000:00:01.1: [1002:1714] type 00 class 0x040300
[    2.990442] pci 0000:00:01.1: reg 10: [mem 0xfeb44000-0xfeb47fff]
[    2.990965] pci 0000:00:01.1: supports D1 D2
[    2.991343] pci 0000:00:10.0: [1022:7812] type 00 class 0x0c0330
[    2.991752] pci 0000:00:10.0: reg 10: [mem 0xfeb4a000-0xfeb4bfff 64bit]
[    2.992355] pci 0000:00:10.0: PME# supported from D0 D3hot D3cold
[    2.992803] pci 0000:00:10.1: [1022:7812] type 00 class 0x0c0330
[    2.993201] pci 0000:00:10.1: reg 10: [mem 0xfeb48000-0xfeb49fff 64bit]
[    2.993793] pci 0000:00:10.1: PME# supported from D0 D3hot D3cold
[    2.994239] pci 0000:00:11.0: [1022:7801] type 00 class 0x010601
[    2.994637] pci 0000:00:11.0: reg 10: [io  0xf140-0xf147]
[    2.994982] pci 0000:00:11.0: reg 14: [io  0xf130-0xf133]
[    2.995333] pci 0000:00:11.0: reg 18: [io  0xf120-0xf127]
[    2.995678] pci 0000:00:11.0: reg 1c: [io  0xf110-0xf113]
[    2.996024] pci 0000:00:11.0: reg 20: [io  0xf100-0xf10f]
[    2.996374] pci 0000:00:11.0: reg 24: [mem 0xfeb51000-0xfeb517ff]
[    2.996850] pci 0000:00:12.0: [1022:7807] type 00 class 0x0c0310
[    2.997235] pci 0000:00:12.0: reg 10: [mem 0xfeb50000-0xfeb50fff]
[    2.997765] pci 0000:00:12.2: [1022:7808] type 00 class 0x0c0320
[    2.998161] pci 0000:00:12.2: reg 10: [mem 0xfeb4f000-0xfeb4f0ff]
[    2.998712] pci 0000:00:12.2: supports D1 D2
[    2.998977] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[    2.999375] pci 0000:00:13.0: [1022:7807] type 00 class 0x0c0310
[    2.999768] pci 0000:00:13.0: reg 10: [mem 0xfeb4e000-0xfeb4efff]
[    3.000283] pci 0000:00:13.2: [1022:7808] type 00 class 0x0c0320
[    3.000681] pci 0000:00:13.2: reg 10: [mem 0xfeb4d000-0xfeb4d0ff]
[    3.001227] pci 0000:00:13.2: supports D1 D2
[    3.001495] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[    3.001902] pci 0000:00:14.0: [1022:780b] type 00 class 0x0c0500
[    3.002433] pci 0000:00:14.2: [1022:780d] type 00 class 0x040300
[    3.002840] pci 0000:00:14.2: reg 10: [mem 0xfeb40000-0xfeb43fff 64bit]
[    3.003376] pci 0000:00:14.2: PME# supported from D0 D3hot D3cold
[    3.003761] pci 0000:00:14.3: [1022:780e] type 00 class 0x060100
[    3.004279] pci 0000:00:14.4: [1022:780f] type 01 class 0x060401
[    3.004730] pci 0000:00:14.5: [1022:7809] type 00 class 0x0c0310
[    3.005119] pci 0000:00:14.5: reg 10: [mem 0xfeb4c000-0xfeb4cfff]
[    3.005641] pci 0000:00:15.0: [1022:43a0] type 01 class 0x060400
[    3.006187] pci 0000:00:15.0: supports D1 D2
[    3.006515] pci 0000:00:15.1: [1022:43a1] type 01 class 0x060400
[    3.007059] pci 0000:00:15.1: supports D1 D2
[    3.007403] pci 0000:00:18.0: [1022:1700] type 00 class 0x060000
[    3.007868] pci 0000:00:18.1: [1022:1701] type 00 class 0x060000
[    3.008320] pci 0000:00:18.2: [1022:1702] type 00 class 0x060000
[    3.008778] pci 0000:00:18.3: [1022:1703] type 00 class 0x060000
[    3.009271] pci 0000:00:18.4: [1022:1704] type 00 class 0x060000
[    3.009716] pci 0000:00:18.5: [1022:1718] type 00 class 0x060000
[    3.010167] pci 0000:00:18.6: [1022:1716] type 00 class 0x060000
[    3.010615] pci 0000:00:18.7: [1022:1719] type 00 class 0x060000
[    3.011117] pci 0000:01:05.0: [9710:9835] type 00 class 0x070002
[    3.011513] pci 0000:01:05.0: reg 10: [io  0xe050-0xe057]
[    3.011861] pci 0000:01:05.0: reg 14: [io  0xe040-0xe047]
[    3.012210] pci 0000:01:05.0: reg 18: [io  0xe030-0xe037]
[    3.012563] pci 0000:01:05.0: reg 1c: [io  0xe020-0xe027]
[    3.012912] pci 0000:01:05.0: reg 20: [io  0xe010-0xe017]
[    3.013259] pci 0000:01:05.0: reg 24: [io  0xe000-0xe00f]
[    3.013710] pci 0000:00:14.4: PCI bridge to [bus 01] (subtractive decode)
[    3.014118] pci 0000:00:14.4:   bridge window [io  0xe000-0xefff]
[    3.014496] pci 0000:00:14.4:   bridge window [io  0x0000-0x03af] (subtractive decode)
[    3.014967] pci 0000:00:14.4:   bridge window [io  0x03e0-0x0cf7] (subtractive decode)
[    3.015422] pci 0000:00:14.4:   bridge window [io  0x03b0-0x03df] (subtractive decode)
[    3.015878] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff] (subtractive decode)
[    3.016343] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bffff] (subtractive decode)
[    3.016836] pci 0000:00:14.4:   bridge window [mem 0x000c0000-0x000dffff] (subtractive decode)
[    3.017326] pci 0000:00:14.4:   bridge window [mem 0xd0000000-0xffffffff] (subtractive decode)
[    3.017990] pci 0000:02:00.0: [8086:10d3] type 00 class 0x020000
[    3.018379] pci 0000:02:00.0: reg 10: [mem 0xfeac0000-0xfeadffff]
[    3.018769] pci 0000:02:00.0: reg 14: [mem 0xfea00000-0xfea7ffff]
[    3.019167] pci 0000:02:00.0: reg 18: [io  0xd000-0xd01f]
[    3.019522] pci 0000:02:00.0: reg 1c: [mem 0xfeae0000-0xfeae3fff]
[    3.019964] pci 0000:02:00.0: reg 30: [mem 0xfea80000-0xfeabffff pref]
[    3.020508] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    3.023962] pci 0000:00:15.0: PCI bridge to [bus 02]
[    3.024307] pci 0000:00:15.0:   bridge window [io  0xd000-0xdfff]
[    3.024689] pci 0000:00:15.0:   bridge window [mem 0xfea00000-0xfeafffff]
[    3.025293] pci 0000:03:00.0: [1969:1083] type 00 class 0x020000
[    3.025712] pci 0000:03:00.0: reg 10: [mem 0xfe900000-0xfe93ffff 64bit]
[    3.026139] pci 0000:03:00.0: reg 18: [io  0xc000-0xc07f]
[    3.026691] pci 0000:03:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    3.028949] pci 0000:00:15.1: PCI bridge to [bus 03]
[    3.029290] pci 0000:00:15.1:   bridge window [io  0xc000-0xcfff]
[    3.029671] pci 0000:00:15.1:   bridge window [mem 0xfe900000-0xfe9fffff]
[    3.030148] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    3.030844] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PE20._PRT]
[    3.031280] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PE21._PRT]
[    3.031782] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0PC._PRT]
[    3.032377]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    3.032947]  pci0000:00: ACPI _OSC control (0x1d) granted
[    3.051344] ACPI: PCI Interrupt Link [LN24] (IRQs *24)
[    3.051852] ACPI: PCI Interrupt Link [LN25] (IRQs *25)
[    3.052329] ACPI: PCI Interrupt Link [LN26] (IRQs *26)
[    3.052821] ACPI: PCI Interrupt Link [LN27] (IRQs *27)
[    3.053298] ACPI: PCI Interrupt Link [LN28] (IRQs *28)
[    3.053787] ACPI: PCI Interrupt Link [LN29] (IRQs *29)
[    3.054271] ACPI: PCI Interrupt Link [LN30] (IRQs *30)
[    3.054747] ACPI: PCI Interrupt Link [LN31] (IRQs *31)
[    3.055243] ACPI: PCI Interrupt Link [LN32] (IRQs *32)
[    3.055724] ACPI: PCI Interrupt Link [LN33] (IRQs *33)
[    3.056211] ACPI: PCI Interrupt Link [LN34] (IRQs *34)
[    3.056692] ACPI: PCI Interrupt Link [LN35] (IRQs *35)
[    3.057187] ACPI: PCI Interrupt Link [LN36] (IRQs *36)
[    3.057673] ACPI: PCI Interrupt Link [LN37] (IRQs *37)
[    3.058165] ACPI: PCI Interrupt Link [LN38] (IRQs *38)
[    3.058660] ACPI: PCI Interrupt Link [LN39] (IRQs *39)
[    3.059154] ACPI: PCI Interrupt Link [LN40] (IRQs *40)
[    3.059643] ACPI: PCI Interrupt Link [LN41] (IRQs *41)
[    3.060128] ACPI: PCI Interrupt Link [LN42] (IRQs *42)
[    3.060618] ACPI: PCI Interrupt Link [LN43] (IRQs *43)
[    3.061095] ACPI: PCI Interrupt Link [LN44] (IRQs *44)
[    3.061575] ACPI: PCI Interrupt Link [LN45] (IRQs *45)
[    3.062059] ACPI: PCI Interrupt Link [LN46] (IRQs *46)
[    3.062543] ACPI: PCI Interrupt Link [LN47] (IRQs *47)
[    3.063029] ACPI: PCI Interrupt Link [LN48] (IRQs *48)
[    3.063506] ACPI: PCI Interrupt Link [LN49] (IRQs *49)
[    3.063989] ACPI: PCI Interrupt Link [LN50] (IRQs *50)
[    3.064473] ACPI: PCI Interrupt Link [LN51] (IRQs *51)
[    3.064950] ACPI: PCI Interrupt Link [LN52] (IRQs *52)
[    3.065440] ACPI: PCI Interrupt Link [LN53] (IRQs *53)
[    3.065918] ACPI: PCI Interrupt Link [LN54] (IRQs *54)
[    3.066402] ACPI: PCI Interrupt Link [LN55] (IRQs *55)
[    3.066889] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 5 7 10 11 14 15) *0
[    3.068826] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 5 7 10 11 14 15) *0
[    3.069717] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 5 7 10 11 14 15) *0
[    3.070606] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 5 7 10 11 14 15) *0
[    3.071479] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 5 7 10 11 14 15) *0
[    3.072339] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 5 7 10 11 14 15) *0
[    3.073195] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 5 7 10 11 14 15) *0
[    3.074064] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 5 7 10 11 14 15) *0
[    3.075123] xen/balloon: Initialising balloon driver.
[    3.076280] xen-balloon: Initialising balloon driver.
[    3.076885] xen/balloon: Xen selfballooning driver disabled for domain0.
[    3.077545] vgaarb: device added: PCI:0000:00:01.0,decodes=io+mem,owns=io+mem,locks=none
[    3.078080] vgaarb: loaded
[    3.078268] vgaarb: bridge control possible 0000:00:01.0
[    3.078970] ACPI: bus type usb registered
[    3.079409] usbcore: registered new interface driver usbfs
[    3.079813] usbcore: registered new interface driver hub
[    3.080257] usbcore: registered new device driver usb
[    3.081098] PCI: Using ACPI for IRQ routing
[    3.098106] PCI: pci_cache_line_size set to 64 bytes
[    3.098606] e820: reserve RAM buffer [mem 0x0009d000-0x0009ffff]
[    3.098972] e820: reserve RAM buffer [mem 0x4d063000-0x4fffffff]
[    3.099810] NetLabel: Initializing
[    3.100040] NetLabel:  domain hash size = 128
[    3.100313] NetLabel:  protocols = UNLABELED CIPSOv4
[    3.100639] NetLabel:  unlabeled traffic allowed by default
[    3.101361] Switching to clocksource xen
[    3.109135] pnp: PnP ACPI init
[    3.109362] ACPI: bus type pnp registered
[    3.109832] pnp 00:00: [bus 00-ff]
[    3.110058] pnp 00:00: [io  0x0cf8-0x0cff]
[    3.110319] pnp 00:00: [io  0x0000-0x03af window]
[    3.110611] pnp 00:00: [io  0x03e0-0x0cf7 window]
[    3.110912] pnp 00:00: [io  0x03b0-0x03df window]
[    3.111200] pnp 00:00: [io  0x0d00-0xffff window]
[    3.111492] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    3.111826] pnp 00:00: [mem 0x000c0000-0x000dffff window]
[    3.112154] pnp 00:00: [mem 0xd0000000-0xffffffff window]
[    3.112482] pnp 00:00: [mem 0x00000000 window]
[    3.113097] pnp 00:00: Plug and Play ACPI device, IDs PNP0a03 (active)
[    3.113537] pnp 00:01: [mem 0xe0000000-0xefffffff]
[    3.114213] system 00:01: [mem 0xe0000000-0xefffffff] has been reserved
[    3.114626] system 00:01: Plug and Play ACPI device, IDs PNP0c01 (active)
[    3.116690] pnp 00:02: [io  0x0010-0x001f]
[    3.116955] pnp 00:02: [io  0x0022-0x003f]
[    3.117210] pnp 00:02: [io  0x0063]
[    3.117439] pnp 00:02: [io  0x0065]
[    3.117667] pnp 00:02: [io  0x0067-0x006f]
[    3.117932] pnp 00:02: [io  0x0072-0x007f]
[    3.118191] pnp 00:02: [io  0x0080]
[    3.118415] pnp 00:02: [io  0x0084-0x0086]
[    3.118668] pnp 00:02: [io  0x0088]
[    3.118910] pnp 00:02: [io  0x008c-0x008e]
[    3.119174] pnp 00:02: [io  0x0090-0x009f]
[    3.119436] pnp 00:02: [io  0x00a2-0x00bf]
[    3.119706] pnp 00:02: [io  0x00b1]
[    3.119936] pnp 00:02: [io  0x00e0-0x00ef]
[    3.120194] pnp 00:02: [io  0x04d0-0x04d1]
[    3.120455] pnp 00:02: [io  0x040b]
[    3.120683] pnp 00:02: [io  0x04d6]
[    3.120916] pnp 00:02: [io  0x0c00-0x0c01]
[    3.121172] pnp 00:02: [io  0x0c14]
[    3.121397] pnp 00:02: [io  0x0c50-0x0c51]
[    3.121653] pnp 00:02: [io  0x0c52]
[    3.121885] pnp 00:02: [io  0x0c6c]
[    3.122109] pnp 00:02: [io  0x0c6f]
[    3.122335] pnp 00:02: [io  0x0cd0-0x0cd1]
[    3.122591] pnp 00:02: [io  0x0cd2-0x0cd3]
[    3.122860] pnp 00:02: [io  0x0cd4-0x0cd5]
[    3.123120] pnp 00:02: [io  0x0cd6-0x0cd7]
[    3.123377] pnp 00:02: [io  0x0cd8-0x0cdf]
[    3.123633] pnp 00:02: [io  0x0800-0x089f]
[    3.123898] pnp 00:02: [io  0x0000-0xffffffffffffffff disabled]
[    3.124249] pnp 00:02: [io  0x0000-0x000f]
[    3.124506] pnp 00:02: [io  0x0b20-0x0b3f]
[    3.124768] pnp 00:02: [io  0x0900-0x090f]
[    3.125026] pnp 00:02: [io  0x0910-0x091f]
[    3.125282] pnp 00:02: [io  0xfe00-0xfefe]
[    3.125537] pnp 00:02: [io  0x0060-0x005f disabled]
[    3.125841] pnp 00:02: [io  0x0064-0x0063 disabled]
[    3.126136] pnp 00:02: [mem 0xfec00000-0xfec00fff]
[    3.126426] pnp 00:02: [mem 0xfee00000-0xfee00fff]
[    3.126724] pnp 00:02: [mem 0xfed80000-0xfed8ffff]
[    3.127024] pnp 00:02: [mem 0xfed61000-0xfed70fff]
[    3.127321] pnp 00:02: [mem 0xfec10000-0xfec10fff]
[    3.127619] pnp 00:02: [mem 0xfed00000-0xfed00fff]
[    3.127920] pnp 00:02: [mem 0xff000000-0xffffffff]
[    3.128629] system 00:02: [io  0x04d0-0x04d1] has been reserved
[    3.129033] system 00:02: [io  0x040b] has been reserved
[    3.129358] system 00:02: [io  0x04d6] has been reserved
[    3.129680] system 00:02: [io  0x0c00-0x0c01] has been reserved
[    3.130042] system 00:02: [io  0x0c14] has been reserved
[    3.130365] system 00:02: [io  0x0c50-0x0c51] has been reserved
[    3.130727] system 00:02: [io  0x0c52] has been reserved
[    3.131046] system 00:02: [io  0x0c6c] has been reserved
[    3.131369] system 00:02: [io  0x0c6f] has been reserved
[    3.131692] system 00:02: [io  0x0cd0-0x0cd1] has been reserved
[    3.132047] system 00:02: [io  0x0cd2-0x0cd3] has been reserved
[    3.132401] system 00:02: [io  0x0cd4-0x0cd5] has been reserved
[    3.132756] system 00:02: [io  0x0cd6-0x0cd7] has been reserved
[    3.133111] system 00:02: [io  0x0cd8-0x0cdf] has been reserved
[    3.133460] system 00:02: [io  0x0800-0x089f] has been reserved
[    3.133814] system 00:02: [io  0x0b20-0x0b3f] has been reserved
[    3.134168] system 00:02: [io  0x0900-0x090f] has been reserved
[    3.134524] system 00:02: [io  0x0910-0x091f] has been reserved
[    3.134888] system 00:02: [io  0xfe00-0xfefe] has been reserved
[    3.135250] system 00:02: [mem 0xfec00000-0xfec00fff] could not be reserved
[    3.135651] system 00:02: [mem 0xfee00000-0xfee00fff] has been reserved
[    3.136053] system 00:02: [mem 0xfed80000-0xfed8ffff] has been reserved
[    3.136437] system 00:02: [mem 0xfed61000-0xfed70fff] has been reserved
[    3.136829] system 00:02: [mem 0xfec10000-0xfec10fff] has been reserved
[    3.137219] system 00:02: [mem 0xfed00000-0xfed00fff] has been reserved
[    3.137608] system 00:02: [mem 0xff000000-0xffffffff] has been reserved
[    3.138015] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (active)
[    3.138611] pnp 00:03: [io  0x0000-0xffffffffffffffff disabled]
[    3.138981] pnp 00:03: [io  0x0300-0x031f]
[    3.139249] pnp 00:03: [io  0x0290-0x029f]
[    3.139512] pnp 00:03: [io  0x0230-0x023f]
[    3.140070] system 00:03: [io  0x0300-0x031f] has been reserved
[    3.140431] system 00:03: [io  0x0290-0x029f] has been reserved
[    3.140800] system 00:03: [io  0x0230-0x023f] has been reserved
[    3.141165] system 00:03: Plug and Play ACPI device, IDs PNP0c02 (active)
[    3.141595] pnp 00:04: [dma 4]
[    3.141809] pnp 00:04: [io  0x0000-0x000f]
[    3.142070] pnp 00:04: [io  0x0081-0x0083]
[    3.142330] pnp 00:04: [io  0x0087]
[    3.142557] pnp 00:04: [io  0x0089-0x008b]
[    3.142825] pnp 00:04: [io  0x008f]
[    3.143052] pnp 00:04: [io  0x00c0-0x00df]
[    3.143532] pnp 00:04: Plug and Play ACPI device, IDs PNP0200 (active)
[    3.143961] pnp 00:05: [io  0x0070-0x0071]
[    3.144222] xen: registering gsi 8 triggering 1 polarity 0
[    3.144562] pnp 00:05: [irq 8]
[    3.145001] pnp 00:05: Plug and Play ACPI device, IDs PNP0b00 (active)
[    3.145408] pnp 00:06: [io  0x0061]
[    3.145932] pnp 00:06: Plug and Play ACPI device, IDs PNP0800 (active)
[    3.146422] pnp 00:07: [io  0x0010-0x001f]
[    3.146682] pnp 00:07: [io  0x0022-0x003f]
[    3.146977] pnp 00:07: [io  0x0044-0x005f]
[    3.147238] pnp 00:07: [io  0x0072-0x007f]
[    3.147491] pnp 00:07: [io  0x0080]
[    3.147722] pnp 00:07: [io  0x0084-0x0086]
[    3.147980] pnp 00:07: [io  0x0088]
[    3.148211] pnp 00:07: [io  0x008c-0x008e]
[    3.148469] pnp 00:07: [io  0x0090-0x009f]
[    3.148734] pnp 00:07: [io  0x00a2-0x00bf]
[    3.148988] pnp 00:07: [io  0x00e0-0x00ef]
[    3.149250] pnp 00:07: [io  0x04d0-0x04d1]
[    3.149697] system 00:07: [io  0x04d0-0x04d1] has been reserved
[    3.150061] system 00:07: Plug and Play ACPI device, IDs PNP0c02 (active)
[    3.150478] pnp 00:08: [io  0x00f0-0x00ff]
[    3.150755] xen: registering gsi 13 triggering 1 polarity 0
[    3.151101] pnp 00:08: [irq 13]
[    3.151448] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)
[    3.152100] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (active)
[    3.152778] pnp 00:0a: [io  0x03f8-0x03ff]
[    3.153037] xen: registering gsi 4 triggering 1 polarity 0
[    3.153376] pnp 00:0a: [irq 4]
[    3.153581] pnp 00:0a: [dma 0 disabled]
[    3.153998] pnp 00:0a: Plug and Play ACPI device, IDs PNP0501 (active)
[    3.155394] pnp 00:0b: [mem 0xfed00000-0xfed003ff]
[    3.155978] pnp 00:0b: Plug and Play ACPI device, IDs PNP0103 (active)
[    3.156388] pnp: PnP ACPI: found 12 devices
[    3.156653] ACPI: ACPI bus type pnp unregistered
[    3.156953] xen-pciback: Error parsing pci_devs_to_hide at "(00:02:00)"
[    3.170459] PM-Timer failed consistency check  (0x0xffffff) - aborting.
[    3.170947] pci 0000:00:14.4: PCI bridge to [bus 01]
[    3.171261] pci 0000:00:14.4:   bridge window [io  0xe000-0xefff]
[    3.171655] pci 0000:00:15.0: PCI bridge to [bus 02]
[    3.171974] pci 0000:00:15.0:   bridge window [io  0xd000-0xdfff]
[    3.172345] pci 0000:00:15.0:   bridge window [mem 0xfea00000-0xfeafffff]
[    3.172762] pci 0000:00:15.1: PCI bridge to [bus 03]
[    3.173067] pci 0000:00:15.1:   bridge window [io  0xc000-0xcfff]
[    3.173436] pci 0000:00:15.1:   bridge window [mem 0xfe900000-0xfe9fffff]
[    3.173889] xen: registering gsi 16 triggering 0 polarity 1
[    3.174247] xen: --> pirq=16 -> irq=16 (gsi=16)
[    3.174547] xen: registering gsi 16 triggering 0 polarity 1
[    3.174894] Already setup the GSI :16
[    3.175131] pci_bus 0000:00: resource 4 [io  0x0000-0x03af]
[    3.175470] pci_bus 0000:00: resource 5 [io  0x03e0-0x0cf7]
[    3.176854] pci_bus 0000:00: resource 6 [io  0x03b0-0x03df]
[    3.177184] pci_bus 0000:00: resource 7 [io  0x0d00-0xffff]
[    3.177514] pci_bus 0000:00: resource 8 [mem 0x000a0000-0x000bffff]
[    3.177891] pci_bus 0000:00: resource 9 [mem 0x000c0000-0x000dffff]
[    3.178267] pci_bus 0000:00: resource 10 [mem 0xd0000000-0xffffffff]
[    3.178649] pci_bus 0000:01: resource 0 [io  0xe000-0xefff]
[    3.178994] pci_bus 0000:01: resource 4 [io  0x0000-0x03af]
[    3.179326] pci_bus 0000:01: resource 5 [io  0x03e0-0x0cf7]
[    3.179672] pci_bus 0000:01: resource 6 [io  0x03b0-0x03df]
[    3.180015] pci_bus 0000:01: resource 7 [io  0x0d00-0xffff]
[    3.180344] pci_bus 0000:01: resource 8 [mem 0x000a0000-0x000bffff]
[    3.180716] pci_bus 0000:01: resource 9 [mem 0x000c0000-0x000dffff]
[    3.181081] pci_bus 0000:01: resource 10 [mem 0xd0000000-0xffffffff]
[    3.181452] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    3.181792] pci_bus 0000:02: resource 1 [mem 0xfea00000-0xfeafffff]
[    3.182168] pci_bus 0000:03: resource 0 [io  0xc000-0xcfff]
[    3.182505] pci_bus 0000:03: resource 1 [mem 0xfe900000-0xfe9fffff]
[    3.183045] NET: Registered protocol family 2
[    3.184322] TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
[    3.186023] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    3.186732] TCP: Hash tables configured (established 262144 bind 65536)
[    3.187181] TCP: reno registered
[    3.187411] UDP hash table entries: 1024 (order: 3, 32768 bytes)
[    3.187803] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
[    3.188405] NET: Registered protocol family 1
[    3.188924] RPC: Registered named UNIX socket transport module.
[    3.189285] RPC: Registered udp transport module.
[    3.189588] RPC: Registered tcp transport module.
[    3.189901] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    3.190306] pci 0000:00:01.0: Boot video device
[    3.190606] xen: registering gsi 18 triggering 0 polarity 1
[    3.190967] xen: --> pirq=18 -> irq=18 (gsi=18)
[    3.191310] xen: registering gsi 17 triggering 0 polarity 1
[    3.191651] xen: --> pirq=17 -> irq=17 (gsi=17)
[    3.191987] xen: registering gsi 18 triggering 0 polarity 1
[    3.192322] Already setup the GSI :18
[    3.779210] xen: registering gsi 17 triggering 0 polarity 1
[    3.779560] Already setup the GSI :17
[    3.779854] xen: registering gsi 18 triggering 0 polarity 1
[    3.780189] Already setup the GSI :18
[    3.852950] xen: registering gsi 17 triggering 0 polarity 1
[    3.853302] Already setup the GSI :17
[    3.853601] xen: registering gsi 18 triggering 0 polarity 1
[    3.853944] Already setup the GSI :18
[    3.927246] PCI: CLS 64 bytes, default 64
[    3.927731] Unpacking initramfs...
[    4.409499] Freeing initrd memory: 339204k freed
[    4.502233] Machine check injector initialized
[    4.504138] microcode: CPU0: patch_level=0x0300000f
[    4.504463] microcode: CPU1: patch_level=0x0300000f
[    4.504809] microcode: CPU2: patch_level=0x0300000f
[    4.505347] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    4.506684] audit: initializing netlink socket (disabled)
[    4.507060] type=2000 audit(1351615437.471:1): initialized
[    4.520849] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    4.521549] VFS: Disk quotas dquot_6.5.2
[    4.521865] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    4.522596] NFS: Registering the id_resolver key type
[    4.522935] Key type id_resolver registered
[    4.523199] Key type id_legacy registered
[    4.523463] NTFS driver 2.1.30 [Flags: R/W].
[    4.523927] msgmni has been set to 1798
[    4.524230] SELinux:  Registering netfilter hooks
[    4.526131] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    4.526572] io scheduler noop registered
[    4.526834] io scheduler deadline registered
[    4.527129] io scheduler cfq registered (default)
[    4.528468] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    4.529395] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
[    4.529907] ACPI: Power Button [PWRB]
[    4.530299] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    4.530782] ACPI: Power Button [PWRF]
[    4.592637] GHES: HEST is not enabled!
[    4.592910] ioatdma: Intel(R) QuickData Technology Driver 4.00
[    4.594402] xen-pciback: backend is vpci
[    4.666851] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    4.688746] 00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    4.692137] xen: registering gsi 20 triggering 0 polarity 1
[    4.692685] xen: --> pirq=20 -> irq=20 (gsi=20)
[    4.715090] 0000:01:05.0: ttyS1 at I/O 0xe050 (irq = 20) is a 16550A
[    4.723123] hpet_acpi_add: no address or irqs in _CRS
[    4.729073] Non-volatile memory driver v1.3
[    4.733807] Linux agpgart interface v0.103
[    4.739678] [drm] Initialized drm 1.1.0 20060810
[    4.747593] loop: module loaded
[    4.751865] libphy: Fixed MDIO Bus: probed
[    4.756157] tun: Universal TUN/TAP device driver, 1.6
[    4.761408] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    4.768474] ixgbevf: Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver - version 2.6.0-k
[    4.778143] ixgbevf: Copyright (c) 2009 - 2012 Intel Corporation.
[    4.786308] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    4.793112] ehci_hcd: block sizes: qh 104 qtd 96 itd 192 sitd 96
[    4.799394] xen: registering gsi 17 triggering 0 polarity 1
[    4.805186] Already setup the GSI :17
[    4.809041] ehci_hcd 0000:00:12.2: EHCI Host Controller
[    4.814827] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bus number 1
[    4.822582] QUIRK: Enable AMD PLL fix
[    4.826402] ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
[    4.835422] ehci_hcd 0000:00:12.2: reset hcs_params 0x101505 dbg=1 cc=1 pcc=5 ordered !ppc ports=5
[    4.844716] ehci_hcd 0000:00:12.2: reset hcc_params a076 thresh 7 uframes 256/512/1024 park
[    4.853444] ehci_hcd 0000:00:12.2: park 0
[    4.857628] ehci_hcd 0000:00:12.2: reset command 0080b02  park=3 ithresh=8 period=1024 Reset HALT
[    4.866843] ehci_hcd 0000:00:12.2: debug port 1
[    4.871568] ehci_hcd 0000:00:12.2: MWI active
[    4.876100] ehci_hcd 0000:00:12.2: supports USB remote wakeup
[    4.882116] ehci_hcd 0000:00:12.2: irq 17, io mem 0xfeb4f000
[    4.887997] ehci_hcd 0000:00:12.2: init command 0010005 (park)=0 ithresh=1 period=512 RUN
[    4.901882] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    4.907965] usb usb1: default language 0x0409
[    4.912513] usb usb1: udev 1, busnum 1, minor = 0
[    4.917409] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    4.924454] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.931952] usb usb1: Product: EHCI Host Controller
[    4.937024] usb usb1: Manufacturer: Linux 3.7.0-rc3upstream-00220-g37b7153 ehci_hcd
[    4.944967] usb usb1: SerialNumber: 0000:00:12.2
[    4.950259] usb usb1: usb_probe_device
[    4.954193] usb usb1: configuration #1 chosen from 1 choice
[    4.959997] usb usb1: adding 1-0:1.0 (config #1, interface 0)
[    4.966339] hub 1-0:1.0: usb_probe_interface
[    4.970812] hub 1-0:1.0: usb_probe_interface - got id
[    4.976063] hub 1-0:1.0: USB hub found
[    4.979980] hub 1-0:1.0: 5 ports detected
[    4.984155] hub 1-0:1.0: standalone hub
[    4.988148] hub 1-0:1.0: no power switching (usb 1.0)
[    4.993398] hub 1-0:1.0: individual port over-current protection
[    4.999631] hub 1-0:1.0: power on to power good time: 20ms
[    5.005333] hub 1-0:1.0: local power source is good
[    5.010998] hub 1-0:1.0: trying to enable port power on non-switchable hub
[    5.018235] xen: registering gsi 17 triggering 0 polarity 1
[    5.024028] Already setup the GSI :17
[    5.027880] ehci_hcd 0000:00:13.2: EHCI Host Controller
[    5.033663] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 2
[    5.041377] ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
[    5.050398] ehci_hcd 0000:00:13.2: reset hcs_params 0x101505 dbg=1 cc=1 pcc=5 ordered !ppc ports=5
[    5.059685] ehci_hcd 0000:00:13.2: reset hcc_params a076 thresh 7 uframes 256/512/1024 park
[    5.068427] ehci_hcd 0000:00:13.2: park 0
[    5.072610] ehci_hcd 0000:00:13.2: reset command 0080b02  park=3 ithresh=8 period=1024 Reset HALT
[    5.081823] ehci_hcd 0000:00:13.2: debug port 1
[    5.086547] ehci_hcd 0000:00:13.2: MWI active
[    5.091081] ehci_hcd 0000:00:13.2: supports USB remote wakeup
[    5.097059] ehci_hcd 0000:00:13.2: irq 17, io mem 0xfeb4d000
[    5.102937] ehci_hcd 0000:00:13.2: init command 0010005 (park)=0 ithresh=1 period=512 RUN
[    5.116889] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    5.123004] usb usb2: default language 0x0409
[    5.127553] usb usb2: udev 1, busnum 2, minor = 128
[    5.132627] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    5.139668] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.147164] usb usb2: Product: EHCI Host Controller
[    5.152236] usb usb2: Manufacturer: Linux 3.7.0-rc3upstream-00220-g37b7153 ehci_hcd
[    5.160180] usb usb2: SerialNumber: 0000:00:13.2
[    5.165185] hub 1-0:1.0: state 7 ports 5 chg 0000 evt 0000
[    5.165547] usb usb2: usb_probe_device
[    5.165551] usb usb2: configuration #1 chosen from 1 choice
[    5.165570] usb usb2: adding 2-0:1.0 (config #1, interface 0)
[    5.165905] hub 2-0:1.0: usb_probe_interface
[    5.165908] hub 2-0:1.0: usb_probe_interface - got id
[    5.165911] hub 2-0:1.0: USB hub found
[    5.165929] hub 2-0:1.0: 5 ports detected
[    5.165930] hub 2-0:1.0: standalone hub
[    5.165931] hub 2-0:1.0: no power switching (usb 1.0)
[    5.165933] hub 2-0:1.0: individual port over-current protection
[    5.165935] hub 2-0:1.0: power on to power good time: 20ms
[    5.165942] hub 2-0:1.0: local power source is good
[    5.166518] hub 2-0:1.0: trying to enable port power on non-switchable hub
[    5.166966] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    5.166969] ohci_hcd: block sizes: ed 80 td 96
[    5.167028] xen: registering gsi 18 triggering 0 polarity 1
[    5.167033] Already setup the GSI :18
[    5.167075] ohci_hcd 0000:00:12.0: OHCI Host Controller
[    5.167260] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bus number 3
[    5.167338] ohci_hcd 0000:00:12.0: created debug files
[    5.167340] ohci_hcd 0000:00:12.0: supports USB remote wakeup
[    5.167385] ohci_hcd 0000:00:12.0: irq 18, io mem 0xfeb50000
[    5.289966] hub 2-0:1.0: state 7 ports 5 chg 0000 evt 0000
[    5.293989] ohci_hcd 0000:00:12.0: OHCI controller state
[    5.293995] ohci_hcd 0000:00:12.0: OHCI 1.0, NO legacy support registers, rh state running
[    5.293999] ohci_hcd 0000:00:12.0: control 0x283 RWC HCFS=operational CBSR=3
[    5.294002] ohci_hcd 0000:00:12.0: cmdstatus 0x00000 SOC=0
[    5.294006] ohci_hcd 0000:00:12.0: intrstatus 0x00000004 SF
[    5.294009] ohci_hcd 0000:00:12.0: intrenable 0x8000005a MIE RHSC UE RD WDH
[    5.294019] ohci_hcd 0000:00:12.0: hcca frame #0005
[    5.294022] ohci_hcd 0000:00:12.0: roothub.a 02001205 POTPGT=2 NOCP NPS NDP=5(5)
[    5.294025] ohci_hcd 0000:00:12.0: roothub.b 00000000 PPCM=0000 DR=0000
[    5.294027] ohci_hcd 0000:00:12.0: roothub.status 00008000 DRWE
[    5.294031] ohci_hcd 0000:00:12.0: roothub.portstatus [0] 0x00000100 PPS
[    5.294034] ohci_hcd 0000:00:12.0: roothub.portstatus [1] 0x00000100 PPS
[    5.294037] ohci_hcd 0000:00:12.0: roothub.portstatus [2] 0x00000100 PPS
[    5.294041] ohci_hcd 0000:00:12.0: roothub.portstatus [3] 0x00000100 PPS
[    5.294044] ohci_hcd 0000:00:12.0: roothub.portstatus [4] 0x00000100 PPS
[    5.294080] usb usb3: default language 0x0409
[    5.294093] usb usb3: udev 1, busnum 3, minor = 256
[    5.294095] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[    5.294097] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.294098] usb usb3: Product: OHCI Host Controller
[    5.294100] usb usb3: Manufacturer: Linux 3.7.0-rc3upstream-00220-g37b7153 ohci_hcd
[    5.294101] usb usb3: SerialNumber: 0000:00:12.0
[    5.294371] usb usb3: usb_probe_device
[    5.294374] usb usb3: configuration #1 chosen from 1 choice
[    5.294386] usb usb3: adding 3-0:1.0 (config #1, interface 0)
[    5.294481] hub 3-0:1.0: usb_probe_interface
[    5.294482] hub 3-0:1.0: usb_probe_interface - got id
[    5.294484] hub 3-0:1.0: USB hub found
[    5.294492] hub 3-0:1.0: 5 ports detected
[    5.294493] hub 3-0:1.0: standalone hub
[    5.294495] hub 3-0:1.0: no power switching (usb 1.0)
[    5.294496] hub 3-0:1.0: no over-current protection
[    5.294497] hub 3-0:1.0: power on to power good time: 4ms
[    5.294505] hub 3-0:1.0: local power source is good
[    5.295074] hub 3-0:1.0: trying to enable port power on non-switchable hub
[    5.295131] ehci_hcd 0000:00:12.2: HS companion for 0000:00:12.0
[    5.295174] xen: registering gsi 18 triggering 0 polarity 1
[    5.295178] Already setup the GSI :18
[    5.295219] ohci_hcd 0000:00:13.0: OHCI Host Controller
[    5.295337] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 4
[    5.295397] ohci_hcd 0000:00:13.0: created debug files
[    5.295399] ohci_hcd 0000:00:13.0: supports USB remote wakeup
[    5.295409] ohci_hcd 0000:00:13.0: irq 18, io mem 0xfeb4e000
[    5.549971] hub 3-0:1.0: state 7 ports 5 chg 0000 evt 0000
[    5.553975] ohci_hcd 0000:00:13.0: OHCI controller state
[    5.553980] ohci_hcd 0000:00:13.0: OHCI 1.0, NO legacy support registers, rh state running
[    5.553984] ohci_hcd 0000:00:13.0: control 0x283 RWC HCFS=operational CBSR=3
[    5.553987] ohci_hcd 0000:00:13.0: cmdstatus 0x00000 SOC=0
[    5.553990] ohci_hcd 0000:00:13.0: intrstatus 0x00000004 SF
[    5.553993] ohci_hcd 0000:00:13.0: intrenable 0x8000005a MIE RHSC UE RD WDH
[    5.554004] ohci_hcd 0000:00:13.0: hcca frame #0005
[    5.554008] ohci_hcd 0000:00:13.0: roothub.a 02001205 POTPGT=2 NOCP NPS NDP=5(5)
[    5.554011] ohci_hcd 0000:00:13.0: roothub.b 00000000 PPCM=0000 DR=0000
[    5.554014] ohci_hcd 0000:00:13.0: roothub.status 00008000 DRWE
[    5.554018] ohci_hcd 0000:00:13.0: roothub.portstatus [0] 0x00000100 PPS
[    5.554021] ohci_hcd 0000:00:13.0: roothub.portstatus [1] 0x00000100 PPS
[    5.554025] ohci_hcd 0000:00:13.0: roothub.portstatus [2] 0x00000100 PPS
[    5.554028] ohci_hcd 0000:00:13.0: roothub.portstatus [3] 0x00000100 PPS
[    5.554031] ohci_hcd 0000:00:13.0: roothub.portstatus [4] 0x00000100 PPS
[    5.554051] usb usb4: default language 0x0409
[    5.554064] usb usb4: udev 1, busnum 4, minor = 384
[    5.554066] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[    5.554068] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.554070] usb usb4: Product: OHCI Host Controller
[    5.554071] usb usb4: Manufacturer: Linux 3.7.0-rc3upstream-00220-g37b7153 ohci_hcd
[    5.554072] usb usb4: SerialNumber: 0000:00:13.0
[    5.554538] usb usb4: usb_probe_device
[    5.554542] usb usb4: configuration #1 chosen from 1 choice
[    5.554559] usb usb4: adding 4-0:1.0 (config #1, interface 0)
[    5.554665] hub 4-0:1.0: usb_probe_interface
[    5.554667] hub 4-0:1.0: usb_probe_interface - got id
[    5.554669] hub 4-0:1.0: USB hub found
[    5.554678] hub 4-0:1.0: 5 ports detected
[    5.554679] hub 4-0:1.0: standalone hub
[    5.554681] hub 4-0:1.0: no power switching (usb 1.0)
[    5.554682] hub 4-0:1.0: no over-current protection
[    5.554683] hub 4-0:1.0: power on to power good time: 4ms
[    5.554691] hub 4-0:1.0: local power source is good
[    5.555283] hub 4-0:1.0: trying to enable port power on non-switchable hub
[    5.555346] ehci_hcd 0000:00:13.2: HS companion for 0000:00:13.0
[    5.555389] xen: registering gsi 18 triggering 0 polarity 1
[    5.555394] Already setup the GSI :18
[    5.555433] ohci_hcd 0000:00:14.5: OHCI Host Controller
[    5.555598] ohci_hcd 0000:00:14.5: new USB bus registered, assigned bus number 5
[    5.555670] ohci_hcd 0000:00:14.5: created debug files
[    5.555672] ohci_hcd 0000:00:14.5: supports USB remote wakeup
[    5.555685] ohci_hcd 0000:00:14.5: irq 18, io mem 0xfeb4c000
[    5.809859] hub 4-0:1.0: state 7 ports 5 chg 0000 evt 0000
[    5.813841] ohci_hcd 0000:00:14.5: OHCI controller state
[    5.813847] ohci_hcd 0000:00:14.5: OHCI 1.0, NO legacy support registers, rh state running
[    5.813851] ohci_hcd 0000:00:14.5: control 0x283 RWC HCFS=operational CBSR=3
[    5.813854] ohci_hcd 0000:00:14.5: cmdstatus 0x00000 SOC=0
[    5.813857] ohci_hcd 0000:00:14.5: intrstatus 0x00000004 SF
[    5.813860] ohci_hcd 0000:00:14.5: intrenable 0x8000005a MIE RHSC UE RD WDH
[    5.813871] ohci_hcd 0000:00:14.5: hcca frame #0004
[    5.813874] ohci_hcd 0000:00:14.5: roothub.a 02001202 POTPGT=2 NOCP NPS NDP=2(2)
[    5.813876] ohci_hcd 0000:00:14.5: roothub.b 00000000 PPCM=0000 DR=0000
[    5.813880] ohci_hcd 0000:00:14.5: roothub.status 00008000 DRWE
[    5.813884] ohci_hcd 0000:00:14.5: roothub.portstatus [0] 0x00000100 PPS
[    5.813886] ohci_hcd 0000:00:14.5: roothub.portstatus [1] 0x00000100 PPS
[    5.813923] usb usb5: default language 0x0409
[    5.813935] usb usb5: udev 1, busnum 5, minor = 512
[    5.813938] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
[    5.813939] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.813941] usb usb5: Product: OHCI Host Controller
[    5.813942] usb usb5: Manufacturer: Linux 3.7.0-rc3upstream-00220-g37b7153 ohci_hcd
[    5.813944] usb usb5: SerialNumber: 0000:00:14.5
[    5.814220] usb usb5: usb_probe_device
[    5.814223] usb usb5: configuration #1 chosen from 1 choice
[    5.814238] usb usb5: adding 5-0:1.0 (config #1, interface 0)
[    5.814373] hub 5-0:1.0: usb_probe_interface
[    5.814375] hub 5-0:1.0: usb_probe_interface - got id
[    5.814377] hub 5-0:1.0: USB hub found
[    5.814390] hub 5-0:1.0: 2 ports detected
[    5.814392] hub 5-0:1.0: standalone hub
[    5.814393] hub 5-0:1.0: no power switching (usb 1.0)
[    5.814394] hub 5-0:1.0: no over-current protection
[    5.814396] hub 5-0:1.0: power on to power good time: 4ms
[    5.814405] hub 5-0:1.0: local power source is good
[    5.814425] hub 5-0:1.0: trying to enable port power on non-switchable hub
[    5.814584] uhci_hcd: USB Universal Host Controller Interface driver
[    6.009259] hub 5-0:1.0: state 7 ports 2 chg 0000 evt 0000
[    6.009372] usbcore: registered new interface driver usblp
[    6.009676] i8042: PNP: No PS/2 controller found. Probing ports directly.
[    6.010397] serio: i8042 KBD port at 0x60,0x64 irq 1
[    6.010409] serio: i8042 AUX port at 0x60,0x64 irq 12
[    6.010691] mousedev: PS/2 mouse device common for all mice
[    6.011327] rtc_cmos 00:05: RTC can wake from S4
[    6.011618] rtc_cmos 00:05: rtc core: registered rtc_cmos as rtc0
[    6.011662] rtc0: alarms up to one month, y3k, 114 bytes nvram
[    6.011868] EFI Variables Facility v0.08 2004-May-17
[    6.011957] zram: num_devices not specified. Using default: 1
[    6.011958] zram: Creating 1 devices ...
[    6.077064] Netfilter messages via NETLINK v0.30.
[    6.082006] nf_conntrack version 0.5.0 (7194 buckets, 28776 max)
[    6.088334] ctnetlink v0.93: registering with nfnetlink.
[    6.094201] ip_tables: (C) 2000-2006 Netfilter Core Team
[    6.099817] TCP: cubic registered
[    6.103279] Initializing XFRM netlink socket
[    6.107873] NET: Registered protocol family 10
[    6.112784] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    6.119125] sit: IPv6 over IPv4 tunneling driver
[    6.124870] NET: Registered protocol family 17
[    6.129593] Key type dns_resolver registered
[    6.135108] PM: Hibernation image not present or could not be loaded.
[    6.141853] registered taskstats version 1
[    6.146837]   Magic number: 0:661:743
[    6.151899] Freeing unused kernel memory: 752k freed
[    6.157248] Write protecting the kernel read-only data: 10240k
[    6.169212] Freeing unused kernel memory: 1768k freed
[    6.175129] Freeing unused kernel memory: 168k freed
[    6.188257] consoletype (1257) used greatest stack depth: 5272 bytes left
[    6.524961] modprobe (1286) used greatest stack depth: 5256 bytes left
[    6.547403] core_filesystem (1258) used greatest stack depth: 4952 bytes left
[    6.592358] Initialising Xen virtual ethernet driver.
[    6.722568] wmi: Mapper loaded
[    6.796831] xen: registering gsi 17 triggering 0 polarity 1
[    6.802666] Already setup the GSI :17
[    6.808260] e1000e: Intel(R) PRO/1000 Network Driver - 2.1.4-k
[    6.814354] e1000e: Copyright(c) 1999 - 2012 Intel Corporation.
[    6.816573] SCSI subsystem initialized
[    6.824498] e1000e 0000:02:00.0: Disabling ASPM L0s L1
[    6.824524] xen: registering gsi 16 triggering 0 polarity 1
[    6.824531] Already setup the GSI :16
[    6.824740] e1000e 0000:02:00.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    6.859455] [drm] radeon defaulting to kernel modesetting.
[    6.866428] [drm] radeon kernel modesetting enabled.
[    6.873121] xen: registering gsi 18 triggering 0 polarity 1
[    6.873126] Already setup the GSI :18
[    6.883269] atl1c 0000:03:00.0: version 1.0.1.0-NAPI
[    6.883447] [drm] initializing kernel modesetting (SUMO 0x1002:0x9640 0x1043:0x84C8).
[    6.883509] [drm] register mmio base: 0xFEB00000
[    6.883511] [drm] register mmio size: 262144
[    6.883646] ATOM BIOS: General
[    6.883717] radeon 0000:00:01.0: VRAM: 512M 0x0000000000000000 - 0x000000001FFFFFFF (512M used)
[    6.883720] radeon 0000:00:01.0: GTT: 512M 0x0000000020000000 - 0x000000003FFFFFFF
[    6.883722] [drm] Detected VRAM RAM=512M, BAR=256M
[    6.883725] [drm] RAM width 32bits DDR
[    6.884463] [TTM] Zone  kernel: Available graphics memory: 461822 kiB
[    6.884466] [TTM] Initializing pool allocator
[    6.884476] [TTM] Initializing DMA pool allocator
[    6.884529] [drm] radeon: 512M of VRAM memory ready
[    6.884531] [drm] radeon: 512M of GTT memory ready.
[    6.884622] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    6.884625] [drm] Driver supports precise vblank timestamp query.
[    6.884802] radeon 0000:00:01.0: radeon: using MSI.
[    6.884865] [drm] radeon: irq initialized.
[    6.884871] [drm] GART: num cpu pages 131072, num gpu pages 131072
[    6.895835] [drm] Loading SUMO Microcode
[    6.933742] ACPI: bus type scsi registered
[    6.941860] e1000e 0000:02:00.0 eth1: (PCI Express:2.5GT/s:Width x1) 00:1b:21:ab:c6:12
[    6.941862] e1000e 0000:02:00.0 eth1: Intel(R) PRO/1000 Network Connection
[    6.941882] e1000e 0000:02:00.0 eth1: MAC: 3, PHY: 8, PBA No: E46981-005
[    6.997612] ip (1909) used greatest stack depth: 3896 bytes left
[    7.048540] libata version 3.00 loaded.
[    7.144568] [drm] PCIE GART of 512M enabled (table at 0x0000000000040000).
[    7.151898] radeon 0000:00:01.0: WB enabled
[    7.156253] radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000020000c00 and cpu addr 0xffff880023235c00
[    7.185375] [drm] ring test on 0 succeeded in 1 usecs
[    7.191817] [drm] ib test on ring 0 succeeded in 0 usecs
[    7.209657] [drm] Radeon Display Connectors
[    7.214052] [drm] Connector 0:
[    7.217253] [drm]   VGA-1
[    7.220007] [drm]   HPD2
[    7.222674] [drm]   DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c
[    7.230416] [drm]   Encoders:
[    7.233539] [drm]     CRT1: INTERNAL_UNIPHY2
[    7.238001] [drm]     CRT1: NUTMEG
[    7.238003] [drm] Connector 1:
[    7.238005] [drm]   HDMI-A-1
[    7.238006] [drm]   HPD1
[    7.238009] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
[    7.238011] [drm]   Encoders:
[    7.238011] [drm]     DFP1: INTERNAL_UNIPHY2
[    7.255949] [drm] Internal thermal controller without fan control
[    7.259955] [drm] radeon: power management initialized
[    7.335529] No connectors reported connected with modes
[    7.340968] [drm] Cannot find any crtc or sizes - going 1024x768
[    7.350906] [drm] fb mappable at 0xD0142000
[    7.355261] [drm] vram apper at 0xD0000000
[    7.359523] [drm] size 3145728
[    7.362716] [drm] fb depth is 24
[    7.366146] [drm]    pitch is 4096
[    7.370065] fbcon: radeondrmfb (fb0) is primary device
[    7.376982] ttyS1: 1 input overrun(s)
[    7.411210] Console: switching to colour frame buffer device 128x48
[    7.424071] fb0: radeondrmfb frame buffer device
[    7.428949] drm: registered panic notifier
[    7.433284] [drm] Initialized radeon 2.24.0 20080528 for 0000:00:01.0 on minor 0
[    7.441164] ahci 0000:00:11.0: version 3.0
[    7.445546] xen: registering gsi 19 triggering 0 polarity 1
[    7.451464] xen: --> pirq=19 -> irq=19 (gsi=19)
[    7.456473] ahci 0000:00:11.0: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
[    7.465104] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part 
[    7.478140] scsi0 : ahci
[    7.481629] scsi1 : ahci
[    7.484929] scsi2 : ahci
[    7.488287] scsi3 : ahci
[    7.491496] scsi4 : ahci
[    7.494907] scsi5 : ahci
[    7.498649] ata1: SATA max UDMA/133 abar m2048@0xfeb51000 port 0xfeb51100 irq 71
[    7.507585] ata2: SATA max UDMA/133 abar m2048@0xfeb51000 port 0xfeb51180 irq 71
[    7.515392] ata3: SATA max UDMA/133 abar m2048@0xfeb51000 port 0xfeb51200 irq 71
[    7.523177] ata4: SATA max UDMA/133 abar m2048@0xfeb51000 port 0xfeb51280 irq 71
[    7.530982] ata5: SATA max UDMA/133 abar m2048@0xfeb51000 port 0xfeb51300 irq 71
[    7.538786] ata6: SATA max UDMA/133 abar m2048@0xfeb51000 port 0xfeb51380 irq 71
[    7.850775] ata1: SATA link down (SStatus 0 SControl 300)
[    7.856613] ata2: SATA link down (SStatus 0 SControl 300)
[    7.862497] ata6: SATA link down (SStatus 0 SControl 300)
[    7.871228] ata3: SATA link down (SStatus 0 SControl 300)
[    7.879887] ata5: SATA link down (SStatus 0 SControl 300)
[    8.038131] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    8.062593] ata4.00: ATA-7: WDC WD800AAJS-18TDA0, 01.00A03, max UDMA/133
[    8.072417] ata4.00: 156250000 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    8.082336] ata4.00: failed to get Identify Device Data, Emask 0x1
[    8.092297] ata4.00: failed to get Identify Device Data, Emask 0x1
[    8.100682] ata4.00: configured for UDMA/133
[    8.107497] scsi 3:0:0:0: Direct-Access     ATA      WDC WD800AAJS-18 01.0 PQ: 0 ANSI: 5
[    8.129843] sd 3:0:0:0: [sda] 156250000 512-byte logical blocks: (80.0 GB/74.5 GiB)
[    8.140007] sd 3:0:0:0: [sda] Write Protect is off
[    8.146945] sd 3:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    8.154244] sd 3:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    8.199771]  sda: sda1 sda2 sda3 sda4
[    8.210772] sd 3:0:0:0: [sda] Attached SCSI disk
[    8.224663] sd 3:0:0:0: Attached scsi generic sg0 type 0
[    8.944409] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    8.963120] device eth0 entered promiscuous mode
[    9.181754] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   10.053518] atl1c 0000:03:00.0: atl1c: eth0 NIC Link is Up<1000 Mbps Full Duplex>
[   10.064785] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   11.555156] e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
[   11.566749] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   13.964892] switch: port 1(eth0) entered forwarding state
[   13.973524] switch: port 1(eth0) entered forwarding state
[   16.232334] Loading iSCSI transport class v2.0-870.
[   16.248793] iscsi: registered transport (tcp)
[   16.306470] Event-channel device installed.
[   19.630065] mount.nfs (3143) used greatest stack depth: 3224 bytes left
[   21.157586] device-mapper: ioctl: 4.23.0-ioctl (2012-07-25) initialised: dm-devel@redhat.com
[   21.170420] device-mapper: multipath: version 1.5.0 loaded
[   21.450531] scsi6 : iSCSI Initiator over TCP/IP
[   21.731710] scsi 6:0:0:0: Direct-Access     LIO-ORG  IBLOCK           4.0  PQ: 0 ANSI: 5
[   21.747167] sd 6:0:0:0: [sdb] 503316480 512-byte logical blocks: (257 GB/240 GiB)
[   21.747211] sd 6:0:0:0: Attached scsi generic sg1 type 0
[   21.748648] scsi 6:0:0:1: Direct-Access     LIO-ORG  IBLOCK           4.0  PQ: 0 ANSI: 5
[   21.752968] sd 6:0:0:1: [sdc] 167772160 512-byte logical blocks: (85.8 GB/80.0 GiB)
[   21.753042] sd 6:0:0:1: Attached scsi generic sg2 type 0
[   21.755647] sd 6:0:0:1: [sdc] Write Protect is off
[   21.755655] sd 6:0:0:1: [sdc] Mode Sense: 2f 00 00 00
[   21.756638] sd 6:0:0:1: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[   21.761219] scsi 6:0:0:2: Direct-Access     LIO-ORG  IBLOCK           4.0  PQ: 0 ANSI: 5
[   21.770871] sd 6:0:0:2: Attached scsi generic sg3 type 0
[   21.771168] sd 6:0:0:2: [sdd] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
[   21.775163] ttyS1: 1 input overrun(s)
[   21.776400] sd 6:0:0:2: [sdd] Write Protect is off
[   21.776405] sd 6:0:0:2: [sdd] Mode Sense: 2f 00 00 00
[   21.776884] sd 6:0:0:2: [sdd] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[   21.780001]  sdd: unknown partition table
[   21.781272] sd 6:0:0:2: [sdd] Attached SCSI disk
[   21.804226]  sdc: sdc1 sdc2 < sdc5 >
[   21.806353] sd 6:0:0:1: [sdc] Attached SCSI disk
[   21.918632] sd 6:0:0:0: [sdb] Write Protect is off
[   21.926413] sd 6:0:0:0: [sdb] Mode Sense: 2f 00 00 00
[   21.935417] sd 6:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[   21.963859]  sdb: unknown partition table
[   21.974284] sd 6:0:0:0: [sdb] Attached SCSI disk
[   28.589544] bio: create slab <bio-1> at 1
[   28.997728] switch: port 1(eth0) entered forwarding state
[   57.703132] device vif1.0 entered promiscuous mode
[   57.715328] IPv6: ADDRCONF(NETDEV_UP): vif1.0: link is not ready
[   59.760909] IPv6: ADDRCONF(NETDEV_CHANGE): vif1.0: link becomes ready
[   59.770384] switch: port 2(vif1.0) entered forwarding state
[   59.778900] switch: port 2(vif1.0) entered forwarding state
[   59.876529] xen-blkback:ring-ref 10, event-channel 18, protocol 2 (x86_32-abi) persistent grants
[   65.135453] switch: port 2(vif1.0) entered disabled state
[   65.145638] device vif1.0 left promiscuous mode
[   65.154458] switch: port 2(vif1.0) entered disabled state
[   70.836602] device vif2.0 entered promiscuous mode
[   70.848191] IPv6: ADDRCONF(NETDEV_UP): vif2.0: link is not ready
[   72.285945] IPv6: ADDRCONF(NETDEV_CHANGE): vif2.0: link becomes ready
[   72.295310] switch: port 2(vif2.0) entered forwarding state
[   72.303597] switch: port 2(vif2.0) entered forwarding state
[   72.403140] xen-blkback:ring-ref 10, event-channel 11, protocol 1 (x86_64-abi) persistent grants
[   72.544101] ------------[ cut here ]------------
[   72.552932] kernel BUG at /home/konrad/linux/drivers/block/xen-blkback/blkback.c:589!
[   72.563680] invalid opcode: 0000 [#1] SMP 
[   72.570865] Modules linked in: dm_multipath dm_mod xen_evtchn iscsi_boot_sysfs iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi libcrc32c crc32c sg sd_mod ahci libahci libata radeon e1000e scsi_mod atl1c fbcon ttm tileblit font bitblit softcursor drm_kms_helper wmi xen_blkfront xen_netfront fb_sys_fops sysimgblt sysfillrect syscopyarea xenfs xen_privcmd [last unloaded: dump_dma]
[   72.617251] CPU 0 
[   72.619173] Pid: 3823, comm: blkback.2.xvda Tainted: G           O 3.7.0-rc3upstream-00220-g37b7153 #1 System manufacturer System Product Name/F1A75-M
[   72.641606] RIP: e030:[<ffffffff81409766>]  [<ffffffff81409766>] xen_blkbk_map+0x696/0x6e0
[   72.653181] RSP: e02b:ffff880027dd3728  EFLAGS: 00010246
[   72.661651] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
[   72.672090] RDX: ffff8800232d7f40 RSI: 0000000000000000 RDI: ffff880027dd3d88
[   72.682437] RBP: ffff880027dd39e8 R08: 0000000000000000 R09: 0000000000000000
[   72.692835] R10: 0000000000000001 R11: dead000000200200 R12: 0000000000000000
[   72.703261] R13: 0000000000000000 R14: ffff88002b5e7070 R15: 0000000000000000
[   72.713560] FS:  00007f6cc62d5700(0000) GS:ffff88003e000000(0000) knlGS:0000000000000000
[   72.724921] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
[   72.733811] CR2: 00000000006dd384 CR3: 0000000027b8f000 CR4: 0000000000000660
[   72.744131] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   72.754517] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[   72.764882] Process blkback.2.xvda (pid: 3823, threadinfo ffff880027dd2000, task ffff88002bb15040)
[   72.777140] Stack:
[   72.782184]  ffff880027dd3738 ffff880026081af0 ffff880027dd3798 ffffffff810ac7df
[   72.792960]  ffff880027dd3798 ffffffff8104c506 0000000000000117 ffff88002160d030
[   72.803712]  ffff880027dd3a38 ffff88002b5e7120 ffff88002160d000 ffff880027dd3d88
[   72.814469] Call Trace:
[   72.820094]  [<ffffffff810ac7df>] ? __queue_work+0xff/0x420
[   72.829023]  [<ffffffff8104c506>] ? xen_spin_lock_flags+0xb6/0x120
[   72.838462]  [<ffffffff810acb61>] ? queue_work_on+0x31/0x50
[   72.847279]  [<ffffffff81636eb9>] ? _raw_spin_unlock_irqrestore+0x19/0x30
[   72.854408] ttyS1: 2 input overrun(s)
[   72.864352]  [<ffffffff8107e068>] ? pvclock_clocksource_read+0x58/0xd0
[   72.874471]  [<ffffffff812ea543>] ? cpumask_next_and+0x23/0x40
[   72.883656]  [<ffffffff812ea543>] ? cpumask_next_and+0x23/0x40
[   72.892716]  [<ffffffff810cc5e7>] ? update_sd_lb_stats+0x157/0x6c0
[   72.902178]  [<ffffffff81636e90>] ? _raw_spin_lock_irq+0x20/0x30
[   72.911486]  [<ffffffff810cd441>] ? find_busiest_group+0x31/0x4d0
[   72.920849]  [<ffffffff81409e87>] dispatch_rw_block_io+0x377/0x600
[   72.930187]  [<ffffffff8107e068>] ? pvclock_clocksource_read+0x58/0xd0
[   72.939957]  [<ffffffff8103e0c0>] ? xen_mc_flush+0xc0/0x1f0
[   72.948743]  [<ffffffff8103c9e9>] ? xen_end_context_switch+0x19/0x20
[   72.958251]  [<ffffffff8107e068>] ? pvclock_clocksource_read+0x58/0xd0
[   72.967917]  [<ffffffff8107e068>] ? pvclock_clocksource_read+0x58/0xd0
[   72.977617]  [<ffffffff8107e068>] ? pvclock_clocksource_read+0x58/0xd0
[   72.987474]  [<ffffffff81044359>] ? xen_clocksource_read+0x39/0x50
[   72.997278]  [<ffffffff8104c506>] ? xen_spin_lock_flags+0xb6/0x120
[   73.006476]  [<ffffffff8140a32e>] xen_blkif_schedule+0x21e/0xa00
[   73.015493]  [<ffffffff81111442>] ? irq_to_desc+0x12/0x20
[   73.023833]  [<ffffffff81114779>] ? irq_get_irq_data+0x9/0x10
[   73.032418]  [<ffffffff81382909>] ? info_for_irq+0x9/0x20
[   73.040554]  [<ffffffff81383cb9>] ? notify_remote_via_irq+0x29/0x50
[   73.049523]  [<ffffffff810c844d>] ? sched_clock_cpu+0xcd/0x110
[   73.058024]  [<ffffffff8107e068>] ? pvclock_clocksource_read+0x58/0xd0
[   73.067191]  [<ffffffff8103e0c0>] ? xen_mc_flush+0xc0/0x1f0
[   73.075338]  [<ffffffff81635e9e>] ? __schedule+0x3be/0x7c0
[   73.083311]  [<ffffffff810b52a0>] ? wake_up_bit+0x40/0x40
[   73.091108]  [<ffffffff8140a110>] ? dispatch_rw_block_io+0x600/0x600
[   73.099902]  [<ffffffff810b4b16>] kthread+0xc6/0xd0
[   73.107124]  [<ffffffff8103c9e9>] ? xen_end_context_switch+0x19/0x20
[   73.115845]  [<ffffffff810b4a50>] ? kthread_freezable_should_stop+0x80/0x80
[   73.125266]  [<ffffffff8163f1fc>] ret_from_fork+0x7c/0xb0
[   73.133089]  [<ffffffff810b4a50>] ? kthread_freezable_should_stop+0x80/0x80
[   73.142576] Code: 48 89 d7 e8 ad 66 d8 ff 4a c7 84 3d 70 ff ff ff 00 00 00 00 4c 8b 85 60 fd ff ff 41 8b b0 e4 fd ff ff 41 83 cd 01 e9 ef fb ff ff <0f> 0b eb fe 48 8d 95 10 ff ff ff 48 8d bd b0 fd ff ff 31 f6 44 
[   73.167611] RIP  [<ffffffff81409766>] xen_blkbk_map+0x696/0x6e0
[   73.176081]  RSP <ffff880027dd3728>
[   73.182024] ---[ end trace 914a52d8b62134db ]---
[   87.339441] switch: port 2(vif2.0) entered forwarding state
[  315.067569] device tap3.0 entered promiscuous mode
[  315.074965] switch: port 3(tap3.0) entered forwarding state
[  315.083116] switch: port 3(tap3.0) entered forwarding state
[  315.142543] switch: port 3(tap3.0) entered disabled state
[  315.161150] switch: port 3(tap3.0) entered forwarding state
[  315.169097] switch: port 3(tap3.0) entered forwarding state
[  330.162411] switch: port 3(tap3.0) entered forwarding state
[  415.483626] switch: port 3(tap3.0) entered disabled state
[  415.491439] device tap3.0 left promiscuous mode
[  415.498191] switch: port 3(tap3.0) entered disabled state
[  658.839306] device tap4.0 entered promiscuous mode
[  658.846451] switch: port 3(tap4.0) entered forwarding state
[  658.854354] switch: port 3(tap4.0) entered forwarding state
[  658.923751] switch: port 3(tap4.0) entered disabled state
[  658.942642] switch: port 3(tap4.0) entered forwarding state
[  658.950492] switch: port 3(tap4.0) entered forwarding state
[  673.990219] switch: port 3(tap4.0) entered forwarding state
[  759.263762] switch: port 3(tap4.0) entered disabled state
[  759.271529] device tap4.0 left promiscuous mode
[  759.278257] switch: port 3(tap4.0) entered disabled state

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

From xen-devel-bounces@lists.xen.org Tue Oct 30 18:34:32 2012
Return-path: <xen-devel-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Oct 2012 18:34:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-devel-bounces@lists.xen.org>)
	id 1TTGd8-0005aH-85; Tue, 30 Oct 2012 18:33:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <roger.pau@citrix.com>) id 1TTGd6-0005Zt-LX
	for xen-devel@lists.xen.org; Tue, 30 Oct 2012 18:33:37 +0000
Received: from [85.158.143.35:25672] by server-1.bemta-4.messagelabs.com id
	E4/D5-19134-08D10905; Tue, 30 Oct 2012 18:33:36 +0000
X-Env-Sender: roger.pau@citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1351622015!4629687!1
X-Originating-IP: [62.200.22.115]
X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: 
	VHJ1c3RlZCBJUDogNjIuMjAwLjIyLjExNSA9PiAxMTY1MjE=\n
X-StarScan-Received: 
X-StarScan-Version: 6.6.1.8; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2104 invoked from network); 30 Oct 2012 18:33:35 -0000
Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115)
	by server-5.tower-21.messagelabs.com with RC4-SHA encrypted SMTP;
	30 Oct 2012 18:33:35 -0000
X-IronPort-AV: E=Sophos;i="4.80,682,1344211200"; d="scan'208";a="15497723"
Received: from lonpmailmx01.citrite.net ([10.30.203.162])
	by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5;
	30 Oct 2012 18:33:17 +0000
Received: from [192.168.1.30] (10.31.3.235) by LONPMAILMX01.citrite.net
	(10.30.203.162) with Microsoft SMTP Server id 8.3.279.1;
	Tue, 30 Oct 2012 18:33:16 +0000
Message-ID: <50901D6C.6020500@citrix.com>
Date: Tue, 30 Oct 2012 19:33:16 +0100
From: =?ISO-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7;
	rv:16.0) Gecko/20121010 Thunderbird/16.0.1
MIME-Version: 1.0
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <1351097925-26221-1-git-send-email-roger.pau@citrix.com>
	<20121030170157.GA29485@phenom.dumpdata.com>
In-Reply-To: <20121030170157.GA29485@phenom.dumpdata.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] [PATCH v2] Persistent grant maps for xen blk drivers
X-BeenThere: xen-devel@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Xen developer discussion <xen-devel.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xen.org>
List-Help: <mailto:xen-devel-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-devel>,
	<mailto:xen-devel-request@lists.xen.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-devel-bounces@lists.xen.org
Errors-To: xen-devel-bounces@lists.xen.org

On 30/10/12 18:01, Konrad Rzeszutek Wilk wrote:
> On Wed, Oct 24, 2012 at 06:58:45PM +0200, Roger Pau Monne wrote:
>> This patch implements persistent grants for the xen-blk{front,back}
>> mechanism. The effect of this change is to reduce the number of unmap
>> operations performed, since they cause a (costly) TLB shootdown. This
>> allows the I/O performance to scale better when a large number of VMs
>> are performing I/O.
>>
>> Previously, the blkfront driver was supplied a bvec[] from the request
>> queue. This was granted to dom0; dom0 performed the I/O and wrote
>> directly into the grant-mapped memory and unmapped it; blkfront then
>> removed foreign access for that grant. The cost of unmapping scales
>> badly with the number of CPUs in Dom0. An experiment showed that when
>> Dom0 has 24 VCPUs, and guests are performing parallel I/O to a
>> ramdisk, the IPIs from performing unmap's is a bottleneck at 5 guests
>> (at which point 650,000 IOPS are being performed in total). If more
>> than 5 guests are used, the performance declines. By 10 guests, only
>> 400,000 IOPS are being performed.
>>
>> This patch improves performance by only unmapping when the connection
>> between blkfront and back is broken.
>>
>> On startup blkfront notifies blkback that it is using persistent
>> grants, and blkback will do the same. If blkback is not capable of
>> persistent mapping, blkfront will still use the same grants, since it
>> is compatible with the previous protocol, and simplifies the code
>> complexity in blkfront.
>>
>> To perform a read, in persistent mode, blkfront uses a separate pool
>> of pages that it maps to dom0. When a request comes in, blkfront
>> transmutes the request so that blkback will write into one of these
>> free pages. Blkback keeps note of which grefs it has already
>> mapped. When a new ring request comes to blkback, it looks to see if
>> it has already mapped that page. If so, it will not map it again. If
>> the page hasn't been previously mapped, it is mapped now, and a record
>> is kept of this mapping. Blkback proceeds as usual. When blkfront is
>> notified that blkback has completed a request, it memcpy's from the
>> shared memory, into the bvec supplied. A record that the {gref, page}
>> tuple is mapped, and not inflight is kept.
>>
>> Writes are similar, except that the memcpy is peformed from the
>> supplied bvecs, into the shared pages, before the request is put onto
>> the ring.
>>
>> Blkback stores a mapping of grefs=>{page mapped to by gref} in
>> a red-black tree. As the grefs are not known apriori, and provide no
>> guarantees on their ordering, we have to perform a search
>> through this tree to find the page, for every gref we receive. This
>> operation takes O(log n) time in the worst case. In blkfront grants
>> are stored using a single linked list.
>>
>> The maximum number of grants that blkback will persistenly map is
>> currently set to RING_SIZE * BLKIF_MAX_SEGMENTS_PER_REQUEST, to
>> prevent a malicios guest from attempting a DoS, by supplying fresh
>> grefs, causing the Dom0 kernel to map excessively. If a guest
>> is using persistent grants and exceeds the maximum number of grants to
>> map persistenly the newly passed grefs will be mapped and unmaped.
>> Using this approach, we can have requests that mix persistent and
>> non-persistent grants, and we need to handle them correctly.
>> This allows us to set the maximum number of persistent grants to a
>> lower value than RING_SIZE * BLKIF_MAX_SEGMENTS_PER_REQUEST, although
>> setting it will lead to unpredictable performance.
>>
>> In writing this patch, the question arrises as to if the additional
>> cost of performing memcpys in the guest (to/from the pool of granted
>> pages) outweigh the gains of not performing TLB shootdowns. The answer
>> to that question is `no'. There appears to be very little, if any
>> additional cost to the guest of using persistent grants. There is
>> perhaps a small saving, from the reduced number of hypercalls
>> performed in granting, and ending foreign access.
>>
>> Signed-off-by: Oliver Chick <oliver.chick@citrix.com>
>> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com>
>> Cc: <konrad.wilk@oracle.com>
>> Cc: <linux-kernel@vger.kernel.org>
>> ---
>> Changes since v1:
>>  * Changed the unmap_seg array to a bitmap.
>>  * Only report using persistent grants in blkfront if blkback supports
>>    it.
>>  * Reword some comments.
>>  * Fix a bug when setting the handler, index j was not incremented
>>    correctly.
>>  * Check that the tree of grants in blkback is not empty before
>>    iterating over it when doing the cleanup.
>>  * Rebase on top of linux-net.
> 
> I fixed the 'new_map = [1|0]' you had in and altered it to use 'true'
> or 'false', but when running some tests (with a 64-bit PV guest) I got it
> to bug.

Thanks for the testing. I'm going to rebase on top of your linux-next
branch and see if I can reproduce it. Did you run any kind of specific
test/benchmark? I've been running with this patch for a long time (on
top of your previous linux-next branch), and I haven't been able to get
it to bug.

> [    0.000000] Initializing cgroup subsys cpuset
> [    0.000000] Initializing cgroup subsys cpu
> [    0.000000] Linux version 3.7.0-rc3upstream-00220-g37b7153 (konrad@build.dumpdata.com) (gcc version 4.4.4 20100503 (Red Hat 4.4.4-2) (GCC) ) #1 SMP Tue Oct 30 12:15:12 EDT 2012
> [    0.000000] Command line: earlyprintk=xen debug nofb console=tty console=ttyS1,115200n8 xen-pciback.hide=(00:02:00) loglevel=10
> [    0.000000] Freeing 9d-100 pfn range: 99 pages freed
> [    0.000000] 1-1 mapping on 9d->100
> [    0.000000] 1-1 mapping on cf7fb->cfb63
> [    0.000000] 1-1 mapping on cfd15->cfd70
> [    0.000000] 1-1 mapping on cfd71->cfef7
> [    0.000000] 1-1 mapping on cff00->100001
> [    0.000000] Released 99 pages of unused memory
> [    0.000000] Set 198317 page(s) to 1-1 mapping
> [    0.000000] Populating 3e700-3e763 pfn range: 99 pages added
> [    0.000000] e820: BIOS-provided physical RAM map:
> [    0.000000] Xen: [mem 0x0000000000000000-0x000000000009cfff] usable
> [    0.000000] Xen: [mem 0x000000000009d800-0x00000000000fffff] reserved
> [    0.000000] Xen: [mem 0x0000000000100000-0x000000004d062fff] usable
> [    0.000000] Xen: [mem 0x000000004d063000-0x00000000cf7fafff] unusable
> [    0.000000] Xen: [mem 0x00000000cf7fb000-0x00000000cf95ffff] reserved
> [    0.000000] Xen: [mem 0x00000000cf960000-0x00000000cfb62fff] ACPI NVS
> [    0.000000] Xen: [mem 0x00000000cfb63000-0x00000000cfd14fff] unusable
> [    0.000000] Xen: [mem 0x00000000cfd15000-0x00000000cfd61fff] ACPI NVS
> [    0.000000] Xen: [mem 0x00000000cfd62000-0x00000000cfd6cfff] ACPI data
> [    0.000000] Xen: [mem 0x00000000cfd6d000-0x00000000cfd6ffff] ACPI NVS
> [    0.000000] Xen: [mem 0x00000000cfd70000-0x00000000cfd70fff] unusable
> [    0.000000] Xen: [mem 0x00000000cfd71000-0x00000000cfea8fff] reserved
> [    0.000000] Xen: [mem 0x00000000cfea9000-0x00000000cfeb9fff] ACPI NVS
> [    0.000000] Xen: [mem 0x00000000cfeba000-0x00000000cfecafff] reserved
> [    0.000000] Xen: [mem 0x00000000cfecb000-0x00000000cfecbfff] ACPI NVS
> [    0.000000] Xen: [mem 0x00000000cfecc000-0x00000000cfedbfff] reserved
> [    0.000000] Xen: [mem 0x00000000cfedc000-0x00000000cfedcfff] ACPI NVS
> [    0.000000] Xen: [mem 0x00000000cfedd000-0x00000000cfeddfff] reserved
> [    0.000000] Xen: [mem 0x00000000cfede000-0x00000000cfee3fff] ACPI NVS
> [    0.000000] Xen: [mem 0x00000000cfee4000-0x00000000cfef6fff] reserved
> [    0.000000] Xen: [mem 0x00000000cfef7000-0x00000000cfefffff] unusable
> [    0.000000] Xen: [mem 0x00000000e0000000-0x00000000efffffff] reserved
> [    0.000000] Xen: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
> [    0.000000] Xen: [mem 0x00000000fec10000-0x00000000fec10fff] reserved
> [    0.000000] Xen: [mem 0x00000000fed00000-0x00000000fed00fff] reserved
> [    0.000000] Xen: [mem 0x00000000fed40000-0x00000000fed44fff] reserved
> [    0.000000] Xen: [mem 0x00000000fed61000-0x00000000fed70fff] reserved
> [    0.000000] Xen: [mem 0x00000000fed80000-0x00000000fed8ffff] reserved
> [    0.000000] Xen: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
> [    0.000000] Xen: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
> [    0.000000] Xen: [mem 0x0000000100001000-0x000000020effffff] unusable
> [    0.000000] bootconsole [xenboot0] enabled
> [    0.000000] NX (Execute Disable) protection: active
> [    0.000000] DMI 2.6 present.
> [    0.000000] DMI: System manufacturer System Product Name/F1A75-M, BIOS 0406 06/11/2011
> [    0.000000] e820: update [mem 0x00000000-0x0000ffff] usable ==> reserved
> [    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
> [    0.000000] No AGP bridge found
> [    0.000000] e820: last_pfn = 0x4d063 max_arch_pfn = 0x400000000
> [    0.000000] initial memory mapped: [mem 0x00000000-0x16bcdfff]
> [    0.000000] Base memory trampoline at [ffff880000097000] 97000 size 24576
> [    0.000000] init_memory_mapping: [mem 0x00000000-0x4d062fff]
> [    0.000000]  [mem 0x00000000-0x4d062fff] page 4k
> [    0.000000] kernel direct mapping tables up to 0x4d062fff @ [mem 0x01e21000-0x0208cfff]
> [    0.000000] xen: setting RW the range 1fd3000 - 208d000
> [    0.000000] RAMDISK: [mem 0x0208d000-0x16bcdfff]
> [    0.000000] ACPI: RSDP 00000000000f0450 00024 (v02 ALASKA)
> [    0.000000] ACPI: XSDT 00000000cfd62068 00054 (v01 ALASKA    A M I 01072009 AMI  00010013)
> [    0.000000] ACPI: FACP 00000000cfd69a68 000F4 (v04 ALASKA    A M I 01072009 AMI  00010013)
> [    0.000000] ACPI BIOS Bug: Warning: Optional FADT field Pm2ControlBlock has zero address or length: 0x0000000000000000/0x1 (20120913/tbfadt-598)
> [    0.000000] ACPI: DSDT 00000000cfd62150 07917 (v02 ALASKA    A M I 00000000 INTL 20051117)
> [    0.000000] ACPI: FACS 00000000cfedef80 00040
> [    0.000000] ACPI: APIC 00000000cfd69b60 00072 (v03 ALASKA    A M I 01072009 AMI  00010013)
> [    0.000000] ACPI: MCFG 00000000cfd69bd8 0003C (v01 A M I  GMCH945. 01072009 MSFT 00000097)
> [    0.000000] ACPI: HPET 00000000cfd69c18 00038 (v01 ALASKA    A M I 01072009 AMI  00000004)
> [    0.000000] ACPI: SSDT 00000000cfd69c50 00FD8 (v01 AMD    POWERNOW 00000001 AMD  00000001)
> [    0.000000] ACPI: SSDT 00000000cfd6ac28 01923 (v02    AMD     ALIB 00000001 MSFT 04000000)
> [    0.000000] ACPI: Local APIC address 0xfee00000
> [    0.000000] NUMA turned off
> [    0.000000] Faking a node at [mem 0x0000000000000000-0x000000004d062fff]
> [    0.000000] Initmem setup node 0 [mem 0x00000000-0x4d062fff]
> [    0.000000]   NODE_DATA [mem 0x3e75f000-0x3e762fff]
> [    0.000000] Zone ranges:
> [    0.000000]   DMA      [mem 0x00010000-0x00ffffff]
> [    0.000000]   DMA32    [mem 0x01000000-0xffffffff]
> [    0.000000]   Normal   empty
> [    0.000000] Movable zone start for each node
> [    0.000000] Early memory node ranges
> [    0.000000]   node   0: [mem 0x00010000-0x0009cfff]
> [    0.000000]   node   0: [mem 0x00100000-0x4d062fff]
> [    0.000000] On node 0 totalpages: 315376
> [    0.000000]   DMA zone: 56 pages used for memmap
> [    0.000000]   DMA zone: 6 pages reserved
> [    0.000000]   DMA zone: 3919 pages, LIFO batch:0
> [    0.000000]   DMA32 zone: 4258 pages used for memmap
> [    0.000000]   DMA32 zone: 307137 pages, LIFO batch:31
> [    0.000000] ACPI: PM-Timer IO Port: 0x808
> [    0.000000] ACPI: Local APIC address 0xfee00000
> [    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_NMI (acpi_id[0xff] high edge lint[0x1])
> [    0.000000] ACPI: IOAPIC (id[0x05] address[0xfec00000] gsi_base[0])
> [    0.000000] IOAPIC[0]: apic_id 5, version 33, 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 low level)
> [    0.000000] ACPI: IRQ0 used by override.
> [    0.000000] ACPI: IRQ2 used by override.
> [    0.000000] ACPI: IRQ9 used by override.
> [    0.000000] Using ACPI (MADT) for SMP configuration information
> [    0.000000] ACPI: HPET id: 0xffffffff base: 0xfed00000
> [    0.000000] smpboot: Allowing 4 CPUs, 0 hotplug CPUs
> [    0.000000] nr_irqs_gsi: 40
> [    0.000000] PM: Registered nosave memory: 000000000009d000 - 000000000009e000
> [    0.000000] PM: Registered nosave memory: 000000000009e000 - 0000000000100000
> [    0.000000] e820: [mem 0xcff00000-0xdfffffff] available for PCI devices
> [    0.000000] Booting paravirtualized kernel on Xen
> [    0.000000] Xen version: 4.1.4-pre (preserve-AD)
> [    0.000000] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:4 nr_node_ids:1
> [    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88003e000000 s84288 r8192 d22208 u524288
> [    0.000000] pcpu-alloc: s84288 r8192 d22208 u524288 alloc=1*2097152
> [    0.000000] pcpu-alloc: [0] 0 1 2 3
> [    2.763208] Built 1 zonelists in Node order, mobility grouping on.  Total pages: 311056
> [    2.763213] Policy zone: DMA32
> [    2.763218] Kernel command line: earlyprintk=xen debug nofb console=tty console=ttyS1,115200n8 xen-pciback.hide=(00:02:00) loglevel=10
> [    2.763656] PID hash table entries: 4096 (order: 3, 32768 bytes)
> [    2.763663] __ex_table already sorted, skipping sort
> [    2.808064] software IO TLB [mem 0x38a00000-0x3ca00000] (64MB) mapped at [ffff880038a00000-ffff88003c9fffff]
> [    2.811300] Memory: 581728k/1261964k available (6413k kernel code, 460k absent, 679776k reserved, 4478k data, 752k init)
> [    2.811414] Hierarchical RCU implementation.
> [    2.811419]  RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=3.
> [    2.811432] NR_IRQS:33024 nr_irqs:704 16
> [    2.811514] xen: sci override: global_irq=9 trigger=0 polarity=1
> [    2.811518] xen: registering gsi 9 triggering 0 polarity 1
> [    2.811531] xen: --> pirq=9 -> irq=9 (gsi=9)
> [    2.811539] xen: acpi sci 9
> [    2.811546] xen: --> pirq=1 -> irq=1 (gsi=1)
> [    2.811551] xen: --> pirq=2 -> irq=2 (gsi=2)
> [    2.811557] xen: --> pirq=3 -> irq=3 (gsi=3)
> [    2.811562] xen: --> pirq=4 -> irq=4 (gsi=4)
> [    2.811568] xen: --> pirq=5 -> irq=5 (gsi=5)
> [    2.811574] xen: --> pirq=6 -> irq=6 (gsi=6)
> [    2.811579] xen: --> pirq=7 -> irq=7 (gsi=7)
> [    2.811585] xen: --> pirq=8 -> irq=8 (gsi=8)
> [    2.811590] xen: --> pirq=10 -> irq=10 (gsi=10)
> [    2.811596] xen: --> pirq=11 -> irq=11 (gsi=11)
> [    2.811602] xen: --> pirq=12 -> irq=12 (gsi=12)
> [    2.811607] xen: --> pirq=13 -> irq=13 (gsi=13)
> [    2.811613] xen: --> pirq=14 -> irq=14 (gsi=14)
> [    2.811618] xen: --> pirq=15 -> irq=15 (gsi=15)
> [    2.813454] Console: colour VGA+ 80x25
> [    2.818363] console [tty0] enabled
> [    2.818422] console [ttyS1] enabled, bootconsole disabled
> [    2.818757] Xen: using vcpuop timer interface
> [    2.819017] installing Xen timer for CPU 0
> [    2.819285] tsc: Detected 2899.980 MHz processor
> [    2.819555] Calibrating delay loop (skipped), value calculated using timer frequency.. 5799.96 BogoMIPS (lpj=2899980)
> [    2.820151] pid_max: default: 32768 minimum: 301
> [    2.820479] Security Framework initialized
> [    2.820728] SELinux:  Initializing.
> [    2.820948] SELinux:  Starting in permissive mode
> [    2.821532] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
> [    2.822565] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
> [    2.823519] Mount-cache hash table entries: 256
> [    2.824126] Initializing cgroup subsys cpuacct
> [    2.824400] Initializing cgroup subsys freezer
> [    2.824730] tseg: 00cff00000
> [    2.824934] CPU: Physical Processor ID: 0
> [    2.825186] CPU: Processor Core ID: 0
> [    2.825417] mce: CPU supports 6 MCE banks
> [    2.825696] Last level iTLB entries: 4KB 512, 2MB 16, 4MB 8
> [    2.825696] Last level dTLB entries: 4KB 1024, 2MB 128, 4MB 64
> [    2.825696] tlb_flushall_shift: 5
> [    2.826625] Freeing SMP alternatives: 24k freed
> [    2.829704] ACPI: Core revision 20120913
> [    2.856787] cpu 0 spinlock event irq 41
> [    2.857062] Performance Events: Broken PMU hardware detected, using software events only.
> [    2.857602] Failed to access perfctr msr (MSR c0010004 is 0)
> [    2.858234] MCE: In-kernel MCE decoding enabled.
> [    2.858603] NMI watchdog: disabled (cpu0): hardware events not enabled
> [    2.859223] installing Xen timer for CPU 1
> [    2.859499] cpu 1 spinlock event irq 48
> [    2.860218] installing Xen timer for CPU 2
> [    2.860493] cpu 2 spinlock event irq 55
> [    2.860951] Brought up 3 CPUs
> [    2.864412] PM: Registering ACPI NVS region [mem 0xcf960000-0xcfb62fff] (2109440 bytes)
> [    2.865989] PM: Registering ACPI NVS region [mem 0xcfd15000-0xcfd61fff] (315392 bytes)
> [    2.866464] PM: Registering ACPI NVS region [mem 0xcfd6d000-0xcfd6ffff] (12288 bytes)
> [    2.866931] PM: Registering ACPI NVS region [mem 0xcfea9000-0xcfeb9fff] (69632 bytes)
> [    2.867404] PM: Registering ACPI NVS region [mem 0xcfecb000-0xcfecbfff] (4096 bytes)
> [    2.867861] PM: Registering ACPI NVS region [mem 0xcfedc000-0xcfedcfff] (4096 bytes)
> [    2.868321] PM: Registering ACPI NVS region [mem 0xcfede000-0xcfee3fff] (24576 bytes)
> [    2.869081] kworker/u:0 (26) used greatest stack depth: 6120 bytes left
> [    2.869105] Grant tables using version 2 layout.
> [    2.869122] Grant table initialized
> [    2.869164] RTC time: 16:43:55, date: 10/30/12
> [    2.870366] NET: Registered protocol family 16
> [    2.871181] kworker/u:0 (30) used greatest stack depth: 5504 bytes left
> [    2.872440] ACPI: bus type pci registered
> [    2.873480] dca service started, version 1.12.1
> [    2.873891] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
> [    2.874438] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
> [    2.914335] PCI: Using configuration type 1 for base access
> [    2.932999] bio: create slab <bio-0> at 0
> [    2.933584] ACPI: Added _OSI(Module Device)
> [    2.933866] ACPI: Added _OSI(Processor Device)
> [    2.934145] ACPI: Added _OSI(3.0 _SCP Extensions)
> [    2.934432] ACPI: Added _OSI(Processor Aggregator Device)
> [    2.942011] ACPI: EC: Look up EC in DSDT
> [    2.950054] ACPI: Executed 1 blocks of module-level executable AML code
> [    2.956530] ACPI: Interpreter enabled
> [    2.956772] ACPI: (supports S0 S3 S4 S5)
> [    2.957218] ACPI: Using IOAPIC for interrupt routing
> [    2.982389] ACPI: No dock devices found.
> [    2.982650] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
> [    2.983552] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
> [    2.984298] PCI host bridge to bus 0000:00
> [    2.984571] pci_bus 0000:00: root bus resource [bus 00-ff]
> [    2.984906] pci_bus 0000:00: root bus resource [io  0x0000-0x03af]
> [    2.985277] pci_bus 0000:00: root bus resource [io  0x03e0-0x0cf7]
> [    2.985657] pci_bus 0000:00: root bus resource [io  0x03b0-0x03df]
> [    2.986029] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
> [    2.986399] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
> [    2.986810] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000dffff]
> [    2.987214] pci_bus 0000:00: root bus resource [mem 0xd0000000-0xffffffff]
> [    2.987631] pci 0000:00:00.0: [1022:1705] type 00 class 0x060000
> [    2.988106] pci 0000:00:01.0: [1002:9640] type 00 class 0x030000
> [    2.988487] pci 0000:00:01.0: reg 10: [mem 0xd0000000-0xdfffffff pref]
> [    2.988893] pci 0000:00:01.0: reg 14: [io  0xf000-0xf0ff]
> [    2.989246] pci 0000:00:01.0: reg 18: [mem 0xfeb00000-0xfeb3ffff]
> [    2.989743] pci 0000:00:01.0: supports D1 D2
> [    2.990053] pci 0000:00:01.1: [1002:1714] type 00 class 0x040300
> [    2.990442] pci 0000:00:01.1: reg 10: [mem 0xfeb44000-0xfeb47fff]
> [    2.990965] pci 0000:00:01.1: supports D1 D2
> [    2.991343] pci 0000:00:10.0: [1022:7812] type 00 class 0x0c0330
> [    2.991752] pci 0000:00:10.0: reg 10: [mem 0xfeb4a000-0xfeb4bfff 64bit]
> [    2.992355] pci 0000:00:10.0: PME# supported from D0 D3hot D3cold
> [    2.992803] pci 0000:00:10.1: [1022:7812] type 00 class 0x0c0330
> [    2.993201] pci 0000:00:10.1: reg 10: [mem 0xfeb48000-0xfeb49fff 64bit]
> [    2.993793] pci 0000:00:10.1: PME# supported from D0 D3hot D3cold
> [    2.994239] pci 0000:00:11.0: [1022:7801] type 00 class 0x010601
> [    2.994637] pci 0000:00:11.0: reg 10: [io  0xf140-0xf147]
> [    2.994982] pci 0000:00:11.0: reg 14: [io  0xf130-0xf133]
> [    2.995333] pci 0000:00:11.0: reg 18: [io  0xf120-0xf127]
> [    2.995678] pci 0000:00:11.0: reg 1c: [io  0xf110-0xf113]
> [    2.996024] pci 0000:00:11.0: reg 20: [io  0xf100-0xf10f]
> [    2.996374] pci 0000:00:11.0: reg 24: [mem 0xfeb51000-0xfeb517ff]
> [    2.996850] pci 0000:00:12.0: [1022:7807] type 00 class 0x0c0310
> [    2.997235] pci 0000:00:12.0: reg 10: [mem 0xfeb50000-0xfeb50fff]
> [    2.997765] pci 0000:00:12.2: [1022:7808] type 00 class 0x0c0320
> [    2.998161] pci 0000:00:12.2: reg 10: [mem 0xfeb4f000-0xfeb4f0ff]
> [    2.998712] pci 0000:00:12.2: supports D1 D2
> [    2.998977] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
> [    2.999375] pci 0000:00:13.0: [1022:7807] type 00 class 0x0c0310
> [    2.999768] pci 0000:00:13.0: reg 10: [mem 0xfeb4e000-0xfeb4efff]
> [    3.000283] pci 0000:00:13.2: [1022:7808] type 00 class 0x0c0320
> [    3.000681] pci 0000:00:13.2: reg 10: [mem 0xfeb4d000-0xfeb4d0ff]
> [    3.001227] pci 0000:00:13.2: supports D1 D2
> [    3.001495] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
> [    3.001902] pci 0000:00:14.0: [1022:780b] type 00 class 0x0c0500
> [    3.002433] pci 0000:00:14.2: [1022:780d] type 00 class 0x040300
> [    3.002840] pci 0000:00:14.2: reg 10: [mem 0xfeb40000-0xfeb43fff 64bit]
> [    3.003376] pci 0000:00:14.2: PME# supported from D0 D3hot D3cold
> [    3.003761] pci 0000:00:14.3: [1022:780e] type 00 class 0x060100
> [    3.004279] pci 0000:00:14.4: [1022:780f] type 01 class 0x060401
> [    3.004730] pci 0000:00:14.5: [1022:7809] type 00 class 0x0c0310
> [    3.005119] pci 0000:00:14.5: reg 10: [mem 0xfeb4c000-0xfeb4cfff]
> [    3.005641] pci 0000:00:15.0: [1022:43a0] type 01 class 0x060400
> [    3.006187] pci 0000:00:15.0: supports D1 D2
> [    3.006515] pci 0000:00:15.1: [1022:43a1] type 01 class 0x060400
> [    3.007059] pci 0000:00:15.1: supports D1 D2
> [    3.007403] pci 0000:00:18.0: [1022:1700] type 00 class 0x060000
> [    3.007868] pci 0000:00:18.1: [1022:1701] type 00 class 0x060000
> [    3.008320] pci 0000:00:18.2: [1022:1702] type 00 class 0x060000
> [    3.008778] pci 0000:00:18.3: [1022:1703] type 00 class 0x060000
> [    3.009271] pci 0000:00:18.4: [1022:1704] type 00 class 0x060000
> [    3.009716] pci 0000:00:18.5: [1022:1718] type 00 class 0x060000
> [    3.010167] pci 0000:00:18.6: [1022:1716] type 00 class 0x060000
> [    3.010615] pci 0000:00:18.7: [1022:1719] type 00 class 0x060000
> [    3.011117] pci 0000:01:05.0: [9710:9835] type 00 class 0x070002
> [    3.011513] pci 0000:01:05.0: reg 10: [io  0xe050-0xe057]
> [    3.011861] pci 0000:01:05.0: reg 14: [io  0xe040-0xe047]
> [    3.012210] pci 0000:01:05.0: reg 18: [io  0xe030-0xe037]
> [    3.012563] pci 0000:01:05.0: reg 1c: [io  0xe020-0xe027]
> [    3.012912] pci 0000:01:05.0: reg 20: [io  0xe010-0xe017]
> [    3.013259] pci 0000:01:05.0: reg 24: [io  0xe000-0xe00f]
> [    3.013710] pci 0000:00:14.4: PCI bridge to [bus 01] (subtractive decode)
> [    3.014118] pci 0000:00:14.4:   bridge window [io  0xe000-0xefff]
> [    3.014496] pci 0000:00:14.4:   bridge window [io  0x0000-0x03af] (subtractive decode)
> [    3.014967] pci 0000:00:14.4:   bridge window [io  0x03e0-0x0cf7] (subtractive decode)
> [    3.015422] pci 0000:00:14.4:   bridge window [io  0x03b0-0x03df] (subtractive decode)
> [    3.015878] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff] (subtractive decode)
> [    3.016343] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bffff] (subtractive decode)
> [    3.016836] pci 0000:00:14.4:   bridge window [mem 0x000c0000-0x000dffff] (subtractive decode)
> [    3.017326] pci 0000:00:14.4:   bridge window [mem 0xd0000000-0xffffffff] (subtractive decode)
> [    3.017990] pci 0000:02:00.0: [8086:10d3] type 00 class 0x020000
> [    3.018379] pci 0000:02:00.0: reg 10: [mem 0xfeac0000-0xfeadffff]
> [    3.018769] pci 0000:02:00.0: reg 14: [mem 0xfea00000-0xfea7ffff]
> [    3.019167] pci 0000:02:00.0: reg 18: [io  0xd000-0xd01f]
> [    3.019522] pci 0000:02:00.0: reg 1c: [mem 0xfeae0000-0xfeae3fff]
> [    3.019964] pci 0000:02:00.0: reg 30: [mem 0xfea80000-0xfeabffff pref]
> [    3.020508] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
> [    3.023962] pci 0000:00:15.0: PCI bridge to [bus 02]
> [    3.024307] pci 0000:00:15.0:   bridge window [io  0xd000-0xdfff]
> [    3.024689] pci 0000:00:15.0:   bridge window [mem 0xfea00000-0xfeafffff]
> [    3.025293] pci 0000:03:00.0: [1969:1083] type 00 class 0x020000
> [    3.025712] pci 0000:03:00.0: reg 10: [mem 0xfe900000-0xfe93ffff 64bit]
> [    3.026139] pci 0000:03:00.0: reg 18: [io  0xc000-0xc07f]
> [    3.026691] pci 0000:03:00.0: PME# supported from D0 D1 D2 D3hot D3cold
> [    3.028949] pci 0000:00:15.1: PCI bridge to [bus 03]
> [    3.029290] pci 0000:00:15.1:   bridge window [io  0xc000-0xcfff]
> [    3.029671] pci 0000:00:15.1:   bridge window [mem 0xfe900000-0xfe9fffff]
> [    3.030148] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
> [    3.030844] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PE20._PRT]
> [    3.031280] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PE21._PRT]
> [    3.031782] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0PC._PRT]
> [    3.032377]  pci0000:00: Requesting ACPI _OSC control (0x1d)
> [    3.032947]  pci0000:00: ACPI _OSC control (0x1d) granted
> [    3.051344] ACPI: PCI Interrupt Link [LN24] (IRQs *24)
> [    3.051852] ACPI: PCI Interrupt Link [LN25] (IRQs *25)
> [    3.052329] ACPI: PCI Interrupt Link [LN26] (IRQs *26)
> [    3.052821] ACPI: PCI Interrupt Link [LN27] (IRQs *27)
> [    3.053298] ACPI: PCI Interrupt Link [LN28] (IRQs *28)
> [    3.053787] ACPI: PCI Interrupt Link [LN29] (IRQs *29)
> [    3.054271] ACPI: PCI Interrupt Link [LN30] (IRQs *30)
> [    3.054747] ACPI: PCI Interrupt Link [LN31] (IRQs *31)
> [    3.055243] ACPI: PCI Interrupt Link [LN32] (IRQs *32)
> [    3.055724] ACPI: PCI Interrupt Link [LN33] (IRQs *33)
> [    3.056211] ACPI: PCI Interrupt Link [LN34] (IRQs *34)
> [    3.056692] ACPI: PCI Interrupt Link [LN35] (IRQs *35)
> [    3.057187] ACPI: PCI Interrupt Link [LN36] (IRQs *36)
> [    3.057673] ACPI: PCI Interrupt Link [LN37] (IRQs *37)
> [    3.058165] ACPI: PCI Interrupt Link [LN38] (IRQs *38)
> [    3.058660] ACPI: PCI Interrupt Link [LN39] (IRQs *39)
> [    3.059154] ACPI: PCI Interrupt Link [LN40] (IRQs *40)
> [    3.059643] ACPI: PCI Interrupt Link [LN41] (IRQs *41)
> [    3.060128] ACPI: PCI Interrupt Link [LN42] (IRQs *42)
> [    3.060618] ACPI: PCI Interrupt Link [LN43] (IRQs *43)
> [    3.061095] ACPI: PCI Interrupt Link [LN44] (IRQs *44)
> [    3.061575] ACPI: PCI Interrupt Link [LN45] (IRQs *45)
> [    3.062059] ACPI: PCI Interrupt Link [LN46] (IRQs *46)
> [    3.062543] ACPI: PCI Interrupt Link [LN47] (IRQs *47)
> [    3.063029] ACPI: PCI Interrupt Link [LN48] (IRQs *48)
> [    3.063506] ACPI: PCI Interrupt Link [LN49] (IRQs *49)
> [    3.063989] ACPI: PCI Interrupt Link [LN50] (IRQs *50)
> [    3.064473] ACPI: PCI Interrupt Link [LN51] (IRQs *51)
> [    3.064950] ACPI: PCI Interrupt Link [LN52] (IRQs *52)
> [    3.065440] ACPI: PCI Interrupt Link [LN53] (IRQs *53)
> [    3.065918] ACPI: PCI Interrupt Link [LN54] (IRQs *54)
> [    3.066402] ACPI: PCI Interrupt Link [LN55] (IRQs *55)
> [    3.066889] ACPI: PCI Interrupt Link [LNKA] (IRQs 4 5 7 10 11 14 15) *0
> [    3.068826] ACPI: PCI Interrupt Link [LNKB] (IRQs 4 5 7 10 11 14 15) *0
> [    3.069717] ACPI: PCI Interrupt Link [LNKC] (IRQs 4 5 7 10 11 14 15) *0
> [    3.070606] ACPI: PCI Interrupt Link [LNKD] (IRQs 4 5 7 10 11 14 15) *0
> [    3.071479] ACPI: PCI Interrupt Link [LNKE] (IRQs 4 5 7 10 11 14 15) *0
> [    3.072339] ACPI: PCI Interrupt Link [LNKF] (IRQs 4 5 7 10 11 14 15) *0
> [    3.073195] ACPI: PCI Interrupt Link [LNKG] (IRQs 4 5 7 10 11 14 15) *0
> [    3.074064] ACPI: PCI Interrupt Link [LNKH] (IRQs 4 5 7 10 11 14 15) *0
> [    3.075123] xen/balloon: Initialising balloon driver.
> [    3.076280] xen-balloon: Initialising balloon driver.
> [    3.076885] xen/balloon: Xen selfballooning driver disabled for domain0.
> [    3.077545] vgaarb: device added: PCI:0000:00:01.0,decodes=io+mem,owns=io+mem,locks=none
> [    3.078080] vgaarb: loaded
> [    3.078268] vgaarb: bridge control possible 0000:00:01.0
> [    3.078970] ACPI: bus type usb registered
> [    3.079409] usbcore: registered new interface driver usbfs
> [    3.079813] usbcore: registered new interface driver hub
> [    3.080257] usbcore: registered new device driver usb
> [    3.081098] PCI: Using ACPI for IRQ routing
> [    3.098106] PCI: pci_cache_line_size set to 64 bytes
> [    3.098606] e820: reserve RAM buffer [mem 0x0009d000-0x0009ffff]
> [    3.098972] e820: reserve RAM buffer [mem 0x4d063000-0x4fffffff]
> [    3.099810] NetLabel: Initializing
> [    3.100040] NetLabel:  domain hash size = 128
> [    3.100313] NetLabel:  protocols = UNLABELED CIPSOv4
> [    3.100639] NetLabel:  unlabeled traffic allowed by default
> [    3.101361] Switching to clocksource xen
> [    3.109135] pnp: PnP ACPI init
> [    3.109362] ACPI: bus type pnp registered
> [    3.109832] pnp 00:00: [bus 00-ff]
> [    3.110058] pnp 00:00: [io  0x0cf8-0x0cff]
> [    3.110319] pnp 00:00: [io  0x0000-0x03af window]
> [    3.110611] pnp 00:00: [io  0x03e0-0x0cf7 window]
> [    3.110912] pnp 00:00: [io  0x03b0-0x03df window]
> [    3.111200] pnp 00:00: [io  0x0d00-0xffff window]
> [    3.111492] pnp 00:00: [mem 0x000a0000-0x000bffff window]
> [    3.111826] pnp 00:00: [mem 0x000c0000-0x000dffff window]
> [    3.112154] pnp 00:00: [mem 0xd0000000-0xffffffff window]
> [    3.112482] pnp 00:00: [mem 0x00000000 window]
> [    3.113097] pnp 00:00: Plug and Play ACPI device, IDs PNP0a03 (active)
> [    3.113537] pnp 00:01: [mem 0xe0000000-0xefffffff]
> [    3.114213] system 00:01: [mem 0xe0000000-0xefffffff] has been reserved
> [    3.114626] system 00:01: Plug and Play ACPI device, IDs PNP0c01 (active)
> [    3.116690] pnp 00:02: [io  0x0010-0x001f]
> [    3.116955] pnp 00:02: [io  0x0022-0x003f]
> [    3.117210] pnp 00:02: [io  0x0063]
> [    3.117439] pnp 00:02: [io  0x0065]
> [    3.117667] pnp 00:02: [io  0x0067-0x006f]
> [    3.117932] pnp 00:02: [io  0x0072-0x007f]
> [    3.118191] pnp 00:02: [io  0x0080]
> [    3.118415] pnp 00:02: [io  0x0084-0x0086]
> [    3.118668] pnp 00:02: [io  0x0088]
> [    3.118910] pnp 00:02: [io  0x008c-0x008e]
> [    3.119174] pnp 00:02: [io  0x0090-0x009f]
> [    3.119436] pnp 00:02: [io  0x00a2-0x00bf]
> [    3.119706] pnp 00:02: [io  0x00b1]
> [    3.119936] pnp 00:02: [io  0x00e0-0x00ef]
> [    3.120194] pnp 00:02: [io  0x04d0-0x04d1]
> [    3.120455] pnp 00:02: [io  0x040b]
> [    3.120683] pnp 00:02: [io  0x04d6]
> [    3.120916] pnp 00:02: [io  0x0c00-0x0c01]
> [    3.121172] pnp 00:02: [io  0x0c14]
> [    3.121397] pnp 00:02: [io  0x0c50-0x0c51]
> [    3.121653] pnp 00:02: [io  0x0c52]
> [    3.121885] pnp 00:02: [io  0x0c6c]
> [    3.122109] pnp 00:02: [io  0x0c6f]
> [    3.122335] pnp 00:02: [io  0x0cd0-0x0cd1]
> [    3.122591] pnp 00:02: [io  0x0cd2-0x0cd3]
> [    3.122860] pnp 00:02: [io  0x0cd4-0x0cd5]
> [    3.123120] pnp 00:02: [io  0x0cd6-0x0cd7]
> [    3.123377] pnp 00:02: [io  0x0cd8-0x0cdf]
> [    3.123633] pnp 00:02: [io  0x0800-0x089f]
> [    3.123898] pnp 00:02: [io  0x0000-0xffffffffffffffff disabled]
> [    3.124249] pnp 00:02: [io  0x0000-0x000f]
> [    3.124506] pnp 00:02: [io  0x0b20-0x0b3f]
> [    3.124768] pnp 00:02: [io  0x0900-0x090f]
> [    3.125026] pnp 00:02: [io  0x0910-0x091f]
> [    3.125282] pnp 00:02: [io  0xfe00-0xfefe]
> [    3.125537] pnp 00:02: [io  0x0060-0x005f disabled]
> [    3.125841] pnp 00:02: [io  0x0064-0x0063 disabled]
> [    3.126136] pnp 00:02: [mem 0xfec00000-0xfec00fff]
> [    3.126426] pnp 00:02: [mem 0xfee00000-0xfee00fff]
> [    3.126724] pnp 00:02: [mem 0xfed80000-0xfed8ffff]
> [    3.127024] pnp 00:02: [mem 0xfed61000-0xfed70fff]
> [    3.127321] pnp 00:02: [mem 0xfec10000-0xfec10fff]
> [    3.127619] pnp 00:02: [mem 0xfed00000-0xfed00fff]
> [    3.127920] pnp 00:02: [mem 0xff000000-0xffffffff]
> [    3.128629] system 00:02: [io  0x04d0-0x04d1] has been reserved
> [    3.129033] system 00:02: [io  0x040b] has been reserved
> [    3.129358] system 00:02: [io  0x04d6] has been reserved
> [    3.129680] system 00:02: [io  0x0c00-0x0c01] has been reserved
> [    3.130042] system 00:02: [io  0x0c14] has been reserved
> [    3.130365] system 00:02: [io  0x0c50-0x0c51] has been reserved
> [    3.130727] system 00:02: [io  0x0c52] has been reserved
> [    3.131046] system 00:02: [io  0x0c6c] has been reserved
> [    3.131369] system 00:02: [io  0x0c6f] has been reserved
> [    3.131692] system 00:02: [io  0x0cd0-0x0cd1] has been reserved
> [    3.132047] system 00:02: [io  0x0cd2-0x0cd3] has been reserved
> [    3.132401] system 00:02: [io  0x0cd4-0x0cd5] has been reserved
> [    3.132756] system 00:02: [io  0x0cd6-0x0cd7] has been reserved
> [    3.133111] system 00:02: [io  0x0cd8-0x0cdf] has been reserved
> [    3.133460] system 00:02: [io  0x0800-0x089f] has been reserved
> [    3.133814] system 00:02: [io  0x0b20-0x0b3f] has been reserved
> [    3.134168] system 00:02: [io  0x0900-0x090f] has been reserved
> [    3.134524] system 00:02: [io  0x0910-0x091f] has been reserved
> [    3.134888] system 00:02: [io  0xfe00-0xfefe] has been reserved
> [    3.135250] system 00:02: [mem 0xfec00000-0xfec00fff] could not be reserved
> [    3.135651] system 00:02: [mem 0xfee00000-0xfee00fff] has been reserved
> [    3.136053] system 00:02: [mem 0xfed80000-0xfed8ffff] has been reserved
> [    3.136437] system 00:02: [mem 0xfed61000-0xfed70fff] has been reserved
> [    3.136829] system 00:02: [mem 0xfec10000-0xfec10fff] has been reserved
> [    3.137219] system 00:02: [mem 0xfed00000-0xfed00fff] has been reserved
> [    3.137608] system 00:02: [mem 0xff000000-0xffffffff] has been reserved
> [    3.138015] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (active)
> [    3.138611] pnp 00:03: [io  0x0000-0xffffffffffffffff disabled]
> [    3.138981] pnp 00:03: [io  0x0300-0x031f]
> [    3.139249] pnp 00:03: [io  0x0290-0x029f]
> [    3.139512] pnp 00:03: [io  0x0230-0x023f]
> [    3.140070] system 00:03: [io  0x0300-0x031f] has been reserved
> [    3.140431] system 00:03: [io  0x0290-0x029f] has been reserved
> [    3.140800] system 00:03: [io  0x0230-0x023f] has been reserved
> [    3.141165] system 00:03: Plug and Play ACPI device, IDs PNP0c02 (active)
> [    3.141595] pnp 00:04: [dma 4]
> [    3.141809] pnp 00:04: [io  0x0000-0x000f]
> [    3.142070] pnp 00:04: [io  0x0081-0x0083]
> [    3.142330] pnp 00:04: [io  0x0087]
> [    3.142557] pnp 00:04: [io  0x0089-0x008b]
> [    3.142825] pnp 00:04: [io  0x008f]
> [    3.143052] pnp 00:04: [io  0x00c0-0x00df]
> [    3.143532] pnp 00:04: Plug and Play ACPI device, IDs PNP0200 (active)
> [    3.143961] pnp 00:05: [io  0x0070-0x0071]
> [    3.144222] xen: registering gsi 8 triggering 1 polarity 0
> [    3.144562] pnp 00:05: [irq 8]
> [    3.145001] pnp 00:05: Plug and Play ACPI device, IDs PNP0b00 (active)
> [    3.145408] pnp 00:06: [io  0x0061]
> [    3.145932] pnp 00:06: Plug and Play ACPI device, IDs PNP0800 (active)
> [    3.146422] pnp 00:07: [io  0x0010-0x001f]
> [    3.146682] pnp 00:07: [io  0x0022-0x003f]
> [    3.146977] pnp 00:07: [io  0x0044-0x005f]
> [    3.147238] pnp 00:07: [io  0x0072-0x007f]
> [    3.147491] pnp 00:07: [io  0x0080]
> [    3.147722] pnp 00:07: [io  0x0084-0x0086]
> [    3.147980] pnp 00:07: [io  0x0088]
> [    3.148211] pnp 00:07: [io  0x008c-0x008e]
> [    3.148469] pnp 00:07: [io  0x0090-0x009f]
> [    3.148734] pnp 00:07: [io  0x00a2-0x00bf]
> [    3.148988] pnp 00:07: [io  0x00e0-0x00ef]
> [    3.149250] pnp 00:07: [io  0x04d0-0x04d1]
> [    3.149697] system 00:07: [io  0x04d0-0x04d1] has been reserved
> [    3.150061] system 00:07: Plug and Play ACPI device, IDs PNP0c02 (active)
> [    3.150478] pnp 00:08: [io  0x00f0-0x00ff]
> [    3.150755] xen: registering gsi 13 triggering 1 polarity 0
> [    3.151101] pnp 00:08: [irq 13]
> [    3.151448] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)
> [    3.152100] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (active)
> [    3.152778] pnp 00:0a: [io  0x03f8-0x03ff]
> [    3.153037] xen: registering gsi 4 triggering 1 polarity 0
> [    3.153376] pnp 00:0a: [irq 4]
> [    3.153581] pnp 00:0a: [dma 0 disabled]
> [    3.153998] pnp 00:0a: Plug and Play ACPI device, IDs PNP0501 (active)
> [    3.155394] pnp 00:0b: [mem 0xfed00000-0xfed003ff]
> [    3.155978] pnp 00:0b: Plug and Play ACPI device, IDs PNP0103 (active)
> [    3.156388] pnp: PnP ACPI: found 12 devices
> [    3.156653] ACPI: ACPI bus type pnp unregistered
> [    3.156953] xen-pciback: Error parsing pci_devs_to_hide at "(00:02:00)"
> [    3.170459] PM-Timer failed consistency check  (0x0xffffff) - aborting.
> [    3.170947] pci 0000:00:14.4: PCI bridge to [bus 01]
> [    3.171261] pci 0000:00:14.4:   bridge window [io  0xe000-0xefff]
> [    3.171655] pci 0000:00:15.0: PCI bridge to [bus 02]
> [    3.171974] pci 0000:00:15.0:   bridge window [io  0xd000-0xdfff]
> [    3.172345] pci 0000:00:15.0:   bridge window [mem 0xfea00000-0xfeafffff]
> [    3.172762] pci 0000:00:15.1: PCI bridge to [bus 03]
> [    3.173067] pci 0000:00:15.1:   bridge window [io  0xc000-0xcfff]
> [    3.173436] pci 0000:00:15.1:   bridge window [mem 0xfe900000-0xfe9fffff]
> [    3.173889] xen: registering gsi 16 triggering 0 polarity 1
> [    3.174247] xen: --> pirq=16 -> irq=16 (gsi=16)
> [    3.174547] xen: registering gsi 16 triggering 0 polarity 1
> [    3.174894] Already setup the GSI :16
> [    3.175131] pci_bus 0000:00: resource 4 [io  0x0000-0x03af]
> [    3.175470] pci_bus 0000:00: resource 5 [io  0x03e0-0x0cf7]
> [    3.176854] pci_bus 0000:00: resource 6 [io  0x03b0-0x03df]
> [    3.177184] pci_bus 0000:00: resource 7 [io  0x0d00-0xffff]
> [    3.177514] pci_bus 0000:00: resource 8 [mem 0x000a0000-0x000bffff]
> [    3.177891] pci_bus 0000:00: resource 9 [mem 0x000c0000-0x000dffff]
> [    3.178267] pci_bus 0000:00: resource 10 [mem 0xd0000000-0xffffffff]
> [    3.178649] pci_bus 0000:01: resource 0 [io  0xe000-0xefff]
> [    3.178994] pci_bus 0000:01: resource 4 [io  0x0000-0x03af]
> [    3.179326] pci_bus 0000:01: resource 5 [io  0x03e0-0x0cf7]
> [    3.179672] pci_bus 0000:01: resource 6 [io  0x03b0-0x03df]
> [    3.180015] pci_bus 0000:01: resource 7 [io  0x0d00-0xffff]
> [    3.180344] pci_bus 0000:01: resource 8 [mem 0x000a0000-0x000bffff]
> [    3.180716] pci_bus 0000:01: resource 9 [mem 0x000c0000-0x000dffff]
> [    3.181081] pci_bus 0000:01: resource 10 [mem 0xd0000000-0xffffffff]
> [    3.181452] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
> [    3.181792] pci_bus 0000:02: resource 1 [mem 0xfea00000-0xfeafffff]
> [    3.182168] pci_bus 0000:03: resource 0 [io  0xc000-0xcfff]
> [    3.182505] pci_bus 0000:03: resource 1 [mem 0xfe900000-0xfe9fffff]
> [    3.183045] NET: Registered protocol family 2
> [    3.184322] TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
> [    3.186023] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
> [    3.186732] TCP: Hash tables configured (established 262144 bind 65536)
> [    3.187181] TCP: reno registered
> [    3.187411] UDP hash table entries: 1024 (order: 3, 32768 bytes)
> [    3.187803] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
> [    3.188405] NET: Registered protocol family 1
> [    3.188924] RPC: Registered named UNIX socket transport module.
> [    3.189285] RPC: Registered udp transport module.
> [    3.189588] RPC: Registered tcp transport module.
> [    3.189901] RPC: Registered tcp NFSv4.1 backchannel transport module.
> [    3.190306] pci 0000:00:01.0: Boot video device
> [    3.190606] xen: registering gsi 18 triggering 0 polarity 1
> [    3.190967] xen: --> pirq=18 -> irq=18 (gsi=18)
> [    3.191310] xen: registering gsi 17 triggering 0 polarity 1
> [    3.191651] xen: --> pirq=17 -> irq=17 (gsi=17)
> [    3.191987] xen: registering gsi 18 triggering 0 polarity 1
> [    3.192322] Already setup the GSI :18
> [    3.779210] xen: registering gsi 17 triggering 0 polarity 1
> [    3.779560] Already setup the GSI :17
> [    3.779854] xen: registering gsi 18 triggering 0 polarity 1
> [    3.780189] Already setup the GSI :18
> [    3.852950] xen: registering gsi 17 triggering 0 polarity 1
> [    3.853302] Already setup the GSI :17
> [    3.853601] xen: registering gsi 18 triggering 0 polarity 1
> [    3.853944] Already setup the GSI :18
> [    3.927246] PCI: CLS 64 bytes, default 64
> [    3.927731] Unpacking initramfs...
> [    4.409499] Freeing initrd memory: 339204k freed
> [    4.502233] Machine check injector initialized
> [    4.504138] microcode: CPU0: patch_level=0x0300000f
> [    4.504463] microcode: CPU1: patch_level=0x0300000f
> [    4.504809] microcode: CPU2: patch_level=0x0300000f
> [    4.505347] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
> [    4.506684] audit: initializing netlink socket (disabled)
> [    4.507060] type=2000 audit(1351615437.471:1): initialized
> [    4.520849] HugeTLB registered 2 MB page size, pre-allocated 0 pages
> [    4.521549] VFS: Disk quotas dquot_6.5.2
> [    4.521865] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
> [    4.522596] NFS: Registering the id_resolver key type
> [    4.522935] Key type id_resolver registered
> [    4.523199] Key type id_legacy registered
> [    4.523463] NTFS driver 2.1.30 [Flags: R/W].
> [    4.523927] msgmni has been set to 1798
> [    4.524230] SELinux:  Registering netfilter hooks
> [    4.526131] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
> [    4.526572] io scheduler noop registered
> [    4.526834] io scheduler deadline registered
> [    4.527129] io scheduler cfq registered (default)
> [    4.528468] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
> [    4.529395] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
> [    4.529907] ACPI: Power Button [PWRB]
> [    4.530299] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
> [    4.530782] ACPI: Power Button [PWRF]
> [    4.592637] GHES: HEST is not enabled!
> [    4.592910] ioatdma: Intel(R) QuickData Technology Driver 4.00
> [    4.594402] xen-pciback: backend is vpci
> [    4.666851] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [    4.688746] 00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> [    4.692137] xen: registering gsi 20 triggering 0 polarity 1
> [    4.692685] xen: --> pirq=20 -> irq=20 (gsi=20)
> [    4.715090] 0000:01:05.0: ttyS1 at I/O 0xe050 (irq = 20) is a 16550A
> [    4.723123] hpet_acpi_add: no address or irqs in _CRS
> [    4.729073] Non-volatile memory driver v1.3
> [    4.733807] Linux agpgart interface v0.103
> [    4.739678] [drm] Initialized drm 1.1.0 20060810
> [    4.747593] loop: module loaded
> [    4.751865] libphy: Fixed MDIO Bus: probed
> [    4.756157] tun: Universal TUN/TAP device driver, 1.6
> [    4.761408] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
> [    4.768474] ixgbevf: Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver - version 2.6.0-k
> [    4.778143] ixgbevf: Copyright (c) 2009 - 2012 Intel Corporation.
> [    4.786308] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> [    4.793112] ehci_hcd: block sizes: qh 104 qtd 96 itd 192 sitd 96
> [    4.799394] xen: registering gsi 17 triggering 0 polarity 1
> [    4.805186] Already setup the GSI :17
> [    4.809041] ehci_hcd 0000:00:12.2: EHCI Host Controller
> [    4.814827] ehci_hcd 0000:00:12.2: new USB bus registered, assigned bus number 1
> [    4.822582] QUIRK: Enable AMD PLL fix
> [    4.826402] ehci_hcd 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
> [    4.835422] ehci_hcd 0000:00:12.2: reset hcs_params 0x101505 dbg=1 cc=1 pcc=5 ordered !ppc ports=5
> [    4.844716] ehci_hcd 0000:00:12.2: reset hcc_params a076 thresh 7 uframes 256/512/1024 park
> [    4.853444] ehci_hcd 0000:00:12.2: park 0
> [    4.857628] ehci_hcd 0000:00:12.2: reset command 0080b02  park=3 ithresh=8 period=1024 Reset HALT
> [    4.866843] ehci_hcd 0000:00:12.2: debug port 1
> [    4.871568] ehci_hcd 0000:00:12.2: MWI active
> [    4.876100] ehci_hcd 0000:00:12.2: supports USB remote wakeup
> [    4.882116] ehci_hcd 0000:00:12.2: irq 17, io mem 0xfeb4f000
> [    4.887997] ehci_hcd 0000:00:12.2: init command 0010005 (park)=0 ithresh=1 period=512 RUN
> [    4.901882] ehci_hcd 0000:00:12.2: USB 2.0 started, EHCI 1.00
> [    4.907965] usb usb1: default language 0x0409
> [    4.912513] usb usb1: udev 1, busnum 1, minor = 0
> [    4.917409] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
> [    4.924454] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [    4.931952] usb usb1: Product: EHCI Host Controller
> [    4.937024] usb usb1: Manufacturer: Linux 3.7.0-rc3upstream-00220-g37b7153 ehci_hcd
> [    4.944967] usb usb1: SerialNumber: 0000:00:12.2
> [    4.950259] usb usb1: usb_probe_device
> [    4.954193] usb usb1: configuration #1 chosen from 1 choice
> [    4.959997] usb usb1: adding 1-0:1.0 (config #1, interface 0)
> [    4.966339] hub 1-0:1.0: usb_probe_interface
> [    4.970812] hub 1-0:1.0: usb_probe_interface - got id
> [    4.976063] hub 1-0:1.0: USB hub found
> [    4.979980] hub 1-0:1.0: 5 ports detected
> [    4.984155] hub 1-0:1.0: standalone hub
> [    4.988148] hub 1-0:1.0: no power switching (usb 1.0)
> [    4.993398] hub 1-0:1.0: individual port over-current protection
> [    4.999631] hub 1-0:1.0: power on to power good time: 20ms
> [    5.005333] hub 1-0:1.0: local power source is good
> [    5.010998] hub 1-0:1.0: trying to enable port power on non-switchable hub
> [    5.018235] xen: registering gsi 17 triggering 0 polarity 1
> [    5.024028] Already setup the GSI :17
> [    5.027880] ehci_hcd 0000:00:13.2: EHCI Host Controller
> [    5.033663] ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 2
> [    5.041377] ehci_hcd 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
> [    5.050398] ehci_hcd 0000:00:13.2: reset hcs_params 0x101505 dbg=1 cc=1 pcc=5 ordered !ppc ports=5
> [    5.059685] ehci_hcd 0000:00:13.2: reset hcc_params a076 thresh 7 uframes 256/512/1024 park
> [    5.068427] ehci_hcd 0000:00:13.2: park 0
> [    5.072610] ehci_hcd 0000:00:13.2: reset command 0080b02  park=3 ithresh=8 period=1024 Reset HALT
> [    5.081823] ehci_hcd 0000:00:13.2: debug port 1
> [    5.086547] ehci_hcd 0000:00:13.2: MWI active
> [    5.091081] ehci_hcd 0000:00:13.2: supports USB remote wakeup
> [    5.097059] ehci_hcd 0000:00:13.2: irq 17, io mem 0xfeb4d000
> [    5.102937] ehci_hcd 0000:00:13.2: init command 0010005 (park)=0 ithresh=1 period=512 RUN
> [    5.116889] ehci_hcd 0000:00:13.2: USB 2.0 started, EHCI 1.00
> [    5.123004] usb usb2: default language 0x0409
> [    5.127553] usb usb2: udev 1, busnum 2, minor = 128
> [    5.132627] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
> [    5.139668] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [    5.147164] usb usb2: Product: EHCI Host Controller
> [    5.152236] usb usb2: Manufacturer: Linux 3.7.0-rc3upstream-00220-g37b7153 ehci_hcd
> [    5.160180] usb usb2: SerialNumber: 0000:00:13.2
> [    5.165185] hub 1-0:1.0: state 7 ports 5 chg 0000 evt 0000
> [    5.165547] usb usb2: usb_probe_device
> [    5.165551] usb usb2: configuration #1 chosen from 1 choice
> [    5.165570] usb usb2: adding 2-0:1.0 (config #1, interface 0)
> [    5.165905] hub 2-0:1.0: usb_probe_interface
> [    5.165908] hub 2-0:1.0: usb_probe_interface - got id
> [    5.165911] hub 2-0:1.0: USB hub found
> [    5.165929] hub 2-0:1.0: 5 ports detected
> [    5.165930] hub 2-0:1.0: standalone hub
> [    5.165931] hub 2-0:1.0: no power switching (usb 1.0)
> [    5.165933] hub 2-0:1.0: individual port over-current protection
> [    5.165935] hub 2-0:1.0: power on to power good time: 20ms
> [    5.165942] hub 2-0:1.0: local power source is good
> [    5.166518] hub 2-0:1.0: trying to enable port power on non-switchable hub
> [    5.166966] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> [    5.166969] ohci_hcd: block sizes: ed 80 td 96
> [    5.167028] xen: registering gsi 18 triggering 0 polarity 1
> [    5.167033] Already setup the GSI :18
> [    5.167075] ohci_hcd 0000:00:12.0: OHCI Host Controller
> [    5.167260] ohci_hcd 0000:00:12.0: new USB bus registered, assigned bus number 3
> [    5.167338] ohci_hcd 0000:00:12.0: created debug files
> [    5.167340] ohci_hcd 0000:00:12.0: supports USB remote wakeup
> [    5.167385] ohci_hcd 0000:00:12.0: irq 18, io mem 0xfeb50000
> [    5.289966] hub 2-0:1.0: state 7 ports 5 chg 0000 evt 0000
> [    5.293989] ohci_hcd 0000:00:12.0: OHCI controller state
> [    5.293995] ohci_hcd 0000:00:12.0: OHCI 1.0, NO legacy support registers, rh state running
> [    5.293999] ohci_hcd 0000:00:12.0: control 0x283 RWC HCFS=operational CBSR=3
> [    5.294002] ohci_hcd 0000:00:12.0: cmdstatus 0x00000 SOC=0
> [    5.294006] ohci_hcd 0000:00:12.0: intrstatus 0x00000004 SF
> [    5.294009] ohci_hcd 0000:00:12.0: intrenable 0x8000005a MIE RHSC UE RD WDH
> [    5.294019] ohci_hcd 0000:00:12.0: hcca frame #0005
> [    5.294022] ohci_hcd 0000:00:12.0: roothub.a 02001205 POTPGT=2 NOCP NPS NDP=5(5)
> [    5.294025] ohci_hcd 0000:00:12.0: roothub.b 00000000 PPCM=0000 DR=0000
> [    5.294027] ohci_hcd 0000:00:12.0: roothub.status 00008000 DRWE
> [    5.294031] ohci_hcd 0000:00:12.0: roothub.portstatus [0] 0x00000100 PPS
> [    5.294034] ohci_hcd 0000:00:12.0: roothub.portstatus [1] 0x00000100 PPS
> [    5.294037] ohci_hcd 0000:00:12.0: roothub.portstatus [2] 0x00000100 PPS
> [    5.294041] ohci_hcd 0000:00:12.0: roothub.portstatus [3] 0x00000100 PPS
> [    5.294044] ohci_hcd 0000:00:12.0: roothub.portstatus [4] 0x00000100 PPS
> [    5.294080] usb usb3: default language 0x0409
> [    5.294093] usb usb3: udev 1, busnum 3, minor = 256
> [    5.294095] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
> [    5.294097] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [    5.294098] usb usb3: Product: OHCI Host Controller
> [    5.294100] usb usb3: Manufacturer: Linux 3.7.0-rc3upstream-00220-g37b7153 ohci_hcd
> [    5.294101] usb usb3: SerialNumber: 0000:00:12.0
> [    5.294371] usb usb3: usb_probe_device
> [    5.294374] usb usb3: configuration #1 chosen from 1 choice
> [    5.294386] usb usb3: adding 3-0:1.0 (config #1, interface 0)
> [    5.294481] hub 3-0:1.0: usb_probe_interface
> [    5.294482] hub 3-0:1.0: usb_probe_interface - got id
> [    5.294484] hub 3-0:1.0: USB hub found
> [    5.294492] hub 3-0:1.0: 5 ports detected
> [    5.294493] hub 3-0:1.0: standalone hub
> [    5.294495] hub 3-0:1.0: no power switching (usb 1.0)
> [    5.294496] hub 3-0:1.0: no over-current protection
> [    5.294497] hub 3-0:1.0: power on to power good time: 4ms
> [    5.294505] hub 3-0:1.0: local power source is good
> [    5.295074] hub 3-0:1.0: trying to enable port power on non-switchable hub
> [    5.295131] ehci_hcd 0000:00:12.2: HS companion for 0000:00:12.0
> [    5.295174] xen: registering gsi 18 triggering 0 polarity 1
> [    5.295178] Already setup the GSI :18
> [    5.295219] ohci_hcd 0000:00:13.0: OHCI Host Controller
> [    5.295337] ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 4
> [    5.295397] ohci_hcd 0000:00:13.0: created debug files
> [    5.295399] ohci_hcd 0000:00:13.0: supports USB remote wakeup
> [    5.295409] ohci_hcd 0000:00:13.0: irq 18, io mem 0xfeb4e000
> [    5.549971] hub 3-0:1.0: state 7 ports 5 chg 0000 evt 0000
> [    5.553975] ohci_hcd 0000:00:13.0: OHCI controller state
> [    5.553980] ohci_hcd 0000:00:13.0: OHCI 1.0, NO legacy support registers, rh state running
> [    5.553984] ohci_hcd 0000:00:13.0: control 0x283 RWC HCFS=operational CBSR=3
> [    5.553987] ohci_hcd 0000:00:13.0: cmdstatus 0x00000 SOC=0
> [    5.553990] ohci_hcd 0000:00:13.0: intrstatus 0x00000004 SF
> [    5.553993] ohci_hcd 0000:00:13.0: intrenable 0x8000005a MIE RHSC UE RD WDH
> [    5.554004] ohci_hcd 0000:00:13.0: hcca frame #0005
> [    5.554008] ohci_hcd 0000:00:13.0: roothub.a 02001205 POTPGT=2 NOCP NPS NDP=5(5)
> [    5.554011] ohci_hcd 0000:00:13.0: roothub.b 00000000 PPCM=0000 DR=0000
> [    5.554014] ohci_hcd 0000:00:13.0: roothub.status 00008000 DRWE
> [    5.554018] ohci_hcd 0000:00:13.0: roothub.portstatus [0] 0x00000100 PPS
> [    5.554021] ohci_hcd 0000:00:13.0: roothub.portstatus [1] 0x00000100 PPS
> [    5.554025] ohci_hcd 0000:00:13.0: roothub.portstatus [2] 0x00000100 PPS
> [    5.554028] ohci_hcd 0000:00:13.0: roothub.portstatus [3] 0x00000100 PPS
> [    5.554031] ohci_hcd 0000:00:13.0: roothub.portstatus [4] 0x00000100 PPS
> [    5.554051] usb usb4: default language 0x0409
> [    5.554064] usb usb4: udev 1, busnum 4, minor = 384
> [    5.554066] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
> [    5.554068] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [    5.554070] usb usb4: Product: OHCI Host Controller
> [    5.554071] usb usb4: Manufacturer: Linux 3.7.0-rc3upstream-00220-g37b7153 ohci_hcd
> [    5.554072] usb usb4: SerialNumber: 0000:00:13.0
> [    5.554538] usb usb4: usb_probe_device
> [    5.554542] usb usb4: configuration #1 chosen from 1 choice
> [    5.554559] usb usb4: adding 4-0:1.0 (config #1, interface 0)
> [    5.554665] hub 4-0:1.0: usb_probe_interface
> [    5.554667] hub 4-0:1.0: usb_probe_interface - got id
> [    5.554669] hub 4-0:1.0: USB hub found
> [    5.554678] hub 4-0:1.0: 5 ports detected
> [    5.554679] hub 4-0:1.0: standalone hub
> [    5.554681] hub 4-0:1.0: no power switching (usb 1.0)
> [    5.554682] hub 4-0:1.0: no over-current protection
> [    5.554683] hub 4-0:1.0: power on to power good time: 4ms
> [    5.554691] hub 4-0:1.0: local power source is good
> [    5.555283] hub 4-0:1.0: trying to enable port power on non-switchable hub
> [    5.555346] ehci_hcd 0000:00:13.2: HS companion for 0000:00:13.0
> [    5.555389] xen: registering gsi 18 triggering 0 polarity 1
> [    5.555394] Already setup the GSI :18
> [    5.555433] ohci_hcd 0000:00:14.5: OHCI Host Controller
> [    5.555598] ohci_hcd 0000:00:14.5: new USB bus registered, assigned bus number 5
> [    5.555670] ohci_hcd 0000:00:14.5: created debug files
> [    5.555672] ohci_hcd 0000:00:14.5: supports USB remote wakeup
> [    5.555685] ohci_hcd 0000:00:14.5: irq 18, io mem 0xfeb4c000
> [    5.809859] hub 4-0:1.0: state 7 ports 5 chg 0000 evt 0000
> [    5.813841] ohci_hcd 0000:00:14.5: OHCI controller state
> [    5.813847] ohci_hcd 0000:00:14.5: OHCI 1.0, NO legacy support registers, rh state running
> [    5.813851] ohci_hcd 0000:00:14.5: control 0x283 RWC HCFS=operational CBSR=3
> [    5.813854] ohci_hcd 0000:00:14.5: cmdstatus 0x00000 SOC=0
> [    5.813857] ohci_hcd 0000:00:14.5: intrstatus 0x00000004 SF
> [    5.813860] ohci_hcd 0000:00:14.5: intrenable 0x8000005a MIE RHSC UE RD WDH
> [    5.813871] ohci_hcd 0000:00:14.5: hcca frame #0004
> [    5.813874] ohci_hcd 0000:00:14.5: roothub.a 02001202 POTPGT=2 NOCP NPS NDP=2(2)
> [    5.813876] ohci_hcd 0000:00:14.5: roothub.b 00000000 PPCM=0000 DR=0000
> [    5.813880] ohci_hcd 0000:00:14.5: roothub.status 00008000 DRWE
> [    5.813884] ohci_hcd 0000:00:14.5: roothub.portstatus [0] 0x00000100 PPS
> [    5.813886] ohci_hcd 0000:00:14.5: roothub.portstatus [1] 0x00000100 PPS
> [    5.813923] usb usb5: default language 0x0409
> [    5.813935] usb usb5: udev 1, busnum 5, minor = 512
> [    5.813938] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
> [    5.813939] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> [    5.813941] usb usb5: Product: OHCI Host Controller
> [    5.813942] usb usb5: Manufacturer: Linux 3.7.0-rc3upstream-00220-g37b7153 ohci_hcd
> [    5.813944] usb usb5: SerialNumber: 0000:00:14.5
> [    5.814220] usb usb5: usb_probe_device
> [    5.814223] usb usb5: configuration #1 chosen from 1 choice
> [    5.814238] usb usb5: adding 5-0:1.0 (config #1, interface 0)
> [    5.814373] hub 5-0:1.0: usb_probe_interface
> [    5.814375] hub 5-0:1.0: usb_probe_interface - got id
> [    5.814377] hub 5-0:1.0: USB hub found
> [    5.814390] hub 5-0:1.0: 2 ports detected
> [    5.814392] hub 5-0:1.0: standalone hub
> [    5.814393] hub 5-0:1.0: no power switching (usb 1.0)
> [    5.814394] hub 5-0:1.0: no over-current protection
> [    5.814396] hub 5-0:1.0: power on to power good time: 4ms
> [    5.814405] hub 5-0:1.0: local power source is good
> [    5.814425] hub 5-0:1.0: trying to enable port power on non-switchable hub
> [    5.814584] uhci_hcd: USB Universal Host Controller Interface driver
> [    6.009259] hub 5-0:1.0: state 7 ports 2 chg 0000 evt 0000
> [    6.009372] usbcore: registered new interface driver usblp
> [    6.009676] i8042: PNP: No PS/2 controller found. Probing ports directly.
> [    6.010397] serio: i8042 KBD port at 0x60,0x64 irq 1
> [    6.010409] serio: i8042 AUX port at 0x60,0x64 irq 12
> [    6.010691] mousedev: PS/2 mouse device common for all mice
> [    6.011327] rtc_cmos 00:05: RTC can wake from S4
> [    6.011618] rtc_cmos 00:05: rtc core: registered rtc_cmos as rtc0
> [    6.011662] rtc0: alarms up to one month, y3k, 114 bytes nvram
> [    6.011868] EFI Variables Facility v0.08 2004-May-17
> [    6.011957] zram: num_devices not specified. Using default: 1
> [    6.011958] zram: Creating 1 devices ...
> [    6.077064] Netfilter messages via NETLINK v0.30.
> [    6.082006] nf_conntrack version 0.5.0 (7194 buckets, 28776 max)
> [    6.088334] ctnetlink v0.93: registering with nfnetlink.
> [    6.094201] ip_tables: (C) 2000-2006 Netfilter Core Team
> [    6.099817] TCP: cubic registered
> [    6.103279] Initializing XFRM netlink socket
> [    6.107873] NET: Registered protocol family 10
> [    6.112784] ip6_tables: (C) 2000-2006 Netfilter Core Team
> [    6.119125] sit: IPv6 over IPv4 tunneling driver
> [    6.124870] NET: Registered protocol family 17
> [    6.129593] Key type dns_resolver registered
> [    6.135108] PM: Hibernation image not present or could not be loaded.
> [    6.141853] registered taskstats version 1
> [    6.146837]   Magic number: 0:661:743
> [    6.151899] Freeing unused kernel memory: 752k freed
> [    6.157248] Write protecting the kernel read-only data: 10240k
> [    6.169212] Freeing unused kernel memory: 1768k freed
> [    6.175129] Freeing unused kernel memory: 168k freed
> [    6.188257] consoletype (1257) used greatest stack depth: 5272 bytes left
> [    6.524961] modprobe (1286) used greatest stack depth: 5256 bytes left
> [    6.547403] core_filesystem (1258) used greatest stack depth: 4952 bytes left
> [    6.592358] Initialising Xen virtual ethernet driver.
> [    6.722568] wmi: Mapper loaded
> [    6.796831] xen: registering gsi 17 triggering 0 polarity 1
> [    6.802666] Already setup the GSI :17
> [    6.808260] e1000e: Intel(R) PRO/1000 Network Driver - 2.1.4-k
> [    6.814354] e1000e: Copyright(c) 1999 - 2012 Intel Corporation.
> [    6.816573] SCSI subsystem initialized
> [    6.824498] e1000e 0000:02:00.0: Disabling ASPM L0s L1
> [    6.824524] xen: registering gsi 16 triggering 0 polarity 1
> [    6.824531] Already setup the GSI :16
> [    6.824740] e1000e 0000:02:00.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
> [    6.859455] [drm] radeon defaulting to kernel modesetting.
> [    6.866428] [drm] radeon kernel modesetting enabled.
> [    6.873121] xen: registering gsi 18 triggering 0 polarity 1
> [    6.873126] Already setup the GSI :18
> [    6.883269] atl1c 0000:03:00.0: version 1.0.1.0-NAPI
> [    6.883447] [drm] initializing kernel modesetting (SUMO 0x1002:0x9640 0x1043:0x84C8).
> [    6.883509] [drm] register mmio base: 0xFEB00000
> [    6.883511] [drm] register mmio size: 262144
> [    6.883646] ATOM BIOS: General
> [    6.883717] radeon 0000:00:01.0: VRAM: 512M 0x0000000000000000 - 0x000000001FFFFFFF (512M used)
> [    6.883720] radeon 0000:00:01.0: GTT: 512M 0x0000000020000000 - 0x000000003FFFFFFF
> [    6.883722] [drm] Detected VRAM RAM=512M, BAR=256M
> [    6.883725] [drm] RAM width 32bits DDR
> [    6.884463] [TTM] Zone  kernel: Available graphics memory: 461822 kiB
> [    6.884466] [TTM] Initializing pool allocator
> [    6.884476] [TTM] Initializing DMA pool allocator
> [    6.884529] [drm] radeon: 512M of VRAM memory ready
> [    6.884531] [drm] radeon: 512M of GTT memory ready.
> [    6.884622] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
> [    6.884625] [drm] Driver supports precise vblank timestamp query.
> [    6.884802] radeon 0000:00:01.0: radeon: using MSI.
> [    6.884865] [drm] radeon: irq initialized.
> [    6.884871] [drm] GART: num cpu pages 131072, num gpu pages 131072
> [    6.895835] [drm] Loading SUMO Microcode
> [    6.933742] ACPI: bus type scsi registered
> [    6.941860] e1000e 0000:02:00.0 eth1: (PCI Express:2.5GT/s:Width x1) 00:1b:21:ab:c6:12
> [    6.941862] e1000e 0000:02:00.0 eth1: Intel(R) PRO/1000 Network Connection
> [    6.941882] e1000e 0000:02:00.0 eth1: MAC: 3, PHY: 8, PBA No: E46981-005
> [    6.997612] ip (1909) used greatest stack depth: 3896 bytes left
> [    7.048540] libata version 3.00 loaded.
> [    7.144568] [drm] PCIE GART of 512M enabled (table at 0x0000000000040000).
> [    7.151898] radeon 0000:00:01.0: WB enabled
> [    7.156253] radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000020000c00 and cpu addr 0xffff880023235c00
> [    7.185375] [drm] ring test on 0 succeeded in 1 usecs
> [    7.191817] [drm] ib test on ring 0 succeeded in 0 usecs
> [    7.209657] [drm] Radeon Display Connectors
> [    7.214052] [drm] Connector 0:
> [    7.217253] [drm]   VGA-1
> [    7.220007] [drm]   HPD2
> [    7.222674] [drm]   DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c
> [    7.230416] [drm]   Encoders:
> [    7.233539] [drm]     CRT1: INTERNAL_UNIPHY2
> [    7.238001] [drm]     CRT1: NUTMEG
> [    7.238003] [drm] Connector 1:
> [    7.238005] [drm]   HDMI-A-1
> [    7.238006] [drm]   HPD1
> [    7.238009] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
> [    7.238011] [drm]   Encoders:
> [    7.238011] [drm]     DFP1: INTERNAL_UNIPHY2
> [    7.255949] [drm] Internal thermal controller without fan control
> [    7.259955] [drm] radeon: power management initialized
> [    7.335529] No connectors reported connected with modes
> [    7.340968] [drm] Cannot find any crtc or sizes - going 1024x768
> [    7.350906] [drm] fb mappable at 0xD0142000
> [    7.355261] [drm] vram apper at 0xD0000000
> [    7.359523] [drm] size 3145728
> [    7.362716] [drm] fb depth is 24
> [    7.366146] [drm]    pitch is 4096
> [    7.370065] fbcon: radeondrmfb (fb0) is primary device
> [    7.376982] ttyS1: 1 input overrun(s)
> [    7.411210] Console: switching to colour frame buffer device 128x48
> [    7.424071] fb0: radeondrmfb frame buffer device
> [    7.428949] drm: registered panic notifier
> [    7.433284] [drm] Initialized radeon 2.24.0 20080528 for 0000:00:01.0 on minor 0
> [    7.441164] ahci 0000:00:11.0: version 3.0
> [    7.445546] xen: registering gsi 19 triggering 0 polarity 1
> [    7.451464] xen: --> pirq=19 -> irq=19 (gsi=19)
> [    7.456473] ahci 0000:00:11.0: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
> [    7.465104] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part
> [    7.478140] scsi0 : ahci
> [    7.481629] scsi1 : ahci
> [    7.484929] scsi2 : ahci
> [    7.488287] scsi3 : ahci
> [    7.491496] scsi4 : ahci
> [    7.494907] scsi5 : ahci
> [    7.498649] ata1: SATA max UDMA/133 abar m2048@0xfeb51000 port 0xfeb51100 irq 71
> [    7.507585] ata2: SATA max UDMA/133 abar m2048@0xfeb51000 port 0xfeb51180 irq 71
> [    7.515392] ata3: SATA max UDMA/133 abar m2048@0xfeb51000 port 0xfeb51200 irq 71
> [    7.523177] ata4: SATA max UDMA/133 abar m2048@0xfeb51000 port 0xfeb51280 irq 71
> [    7.530982] ata5: SATA max UDMA/133 abar m2048@0xfeb51000 port 0xfeb51300 irq 71
> [    7.538786] ata6: SATA max UDMA/133 abar m2048@0xfeb51000 port 0xfeb51380 irq 71
> [    7.850775] ata1: SATA link down (SStatus 0 SControl 300)
> [    7.856613] ata2: SATA link down (SStatus 0 SControl 300)
> [    7.862497] ata6: SATA link down (SStatus 0 SControl 300)
> [    7.871228] ata3: SATA link down (SStatus 0 SControl 300)
> [    7.879887] ata5: SATA link down (SStatus 0 SControl 300)
> [    8.038131] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
> [    8.062593] ata4.00: ATA-7: WDC WD800AAJS-18TDA0, 01.00A03, max UDMA/133
> [    8.072417] ata4.00: 156250000 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
> [    8.082336] ata4.00: failed to get Identify Device Data, Emask 0x1
> [    8.092297] ata4.00: failed to get Identify Device Data, Emask 0x1
> [    8.100682] ata4.00: configured for UDMA/133
> [    8.107497] scsi 3:0:0:0: Direct-Access     ATA      WDC WD800AAJS-18 01.0 PQ: 0 ANSI: 5
> [    8.129843] sd 3:0:0:0: [sda] 156250000 512-byte logical blocks: (80.0 GB/74.5 GiB)
> [    8.140007] sd 3:0:0:0: [sda] Write Protect is off
> [    8.146945] sd 3:0:0:0: [sda] Mode Sense: 00 3a 00 00
> [    8.154244] sd 3:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> [    8.199771]  sda: sda1 sda2 sda3 sda4
> [    8.210772] sd 3:0:0:0: [sda] Attached SCSI disk
> [    8.224663] sd 3:0:0:0: Attached scsi generic sg0 type 0
> [    8.944409] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
> [    8.963120] device eth0 entered promiscuous mode
> [    9.181754] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
> [   10.053518] atl1c 0000:03:00.0: atl1c: eth0 NIC Link is Up<1000 Mbps Full Duplex>
> [   10.064785] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
> [   11.555156] e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
> [   11.566749] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
> [   13.964892] switch: port 1(eth0) entered forwarding state
> [   13.973524] switch: port 1(eth0) entered forwarding state
> [   16.232334] Loading iSCSI transport class v2.0-870.
> [   16.248793] iscsi: registered transport (tcp)
> [   16.306470] Event-channel device installed.
> [   19.630065] mount.nfs (3143) used greatest stack depth: 3224 bytes left
> [   21.157586] device-mapper: ioctl: 4.23.0-ioctl (2012-07-25) initialised: dm-devel@redhat.com
> [   21.170420] device-mapper: multipath: version 1.5.0 loaded
> [   21.450531] scsi6 : iSCSI Initiator over TCP/IP
> [   21.731710] scsi 6:0:0:0: Direct-Access     LIO-ORG  IBLOCK           4.0  PQ: 0 ANSI: 5
> [   21.747167] sd 6:0:0:0: [sdb] 503316480 512-byte logical blocks: (257 GB/240 GiB)
> [   21.747211] sd 6:0:0:0: Attached scsi generic sg1 type 0
> [   21.748648] scsi 6:0:0:1: Direct-Access     LIO-ORG  IBLOCK           4.0  PQ: 0 ANSI: 5
> [   21.752968] sd 6:0:0:1: [sdc] 167772160 512-byte logical blocks: (85.8 GB/80.0 GiB)
> [   21.753042] sd 6:0:0:1: Attached scsi generic sg2 type 0
> [   21.755647] sd 6:0:0:1: [sdc] Write Protect is off
> [   21.755655] sd 6:0:0:1: [sdc] Mode Sense: 2f 00 00 00
> [   21.756638] sd 6:0:0:1: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
> [   21.761219] scsi 6:0:0:2: Direct-Access     LIO-ORG  IBLOCK           4.0  PQ: 0 ANSI: 5
> [   21.770871] sd 6:0:0:2: Attached scsi generic sg3 type 0
> [   21.771168] sd 6:0:0:2: [sdd] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
> [   21.775163] ttyS1: 1 input overrun(s)
> [   21.776400] sd 6:0:0:2: [sdd] Write Protect is off
> [   21.776405] sd 6:0:0:2: [sdd] Mode Sense: 2f 00 00 00
> [   21.776884] sd 6:0:0:2: [sdd] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
> [   21.780001]  sdd: unknown partition table
> [   21.781272] sd 6:0:0:2: [sdd] Attached SCSI disk
> [   21.804226]  sdc: sdc1 sdc2 < sdc5 >
> [   21.806353] sd 6:0:0:1: [sdc] Attached SCSI disk
> [   21.918632] sd 6:0:0:0: [sdb] Write Protect is off
> [   21.926413] sd 6:0:0:0: [sdb] Mode Sense: 2f 00 00 00
> [   21.935417] sd 6:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
> [   21.963859]  sdb: unknown partition table
> [   21.974284] sd 6:0:0:0: [sdb] Attached SCSI disk
> [   28.589544] bio: create slab <bio-1> at 1
> [   28.997728] switch: port 1(eth0) entered forwarding state
> [   57.703132] device vif1.0 entered promiscuous mode
> [   57.715328] IPv6: ADDRCONF(NETDEV_UP): vif1.0: link is not ready
> [   59.760909] IPv6: ADDRCONF(NETDEV_CHANGE): vif1.0: link becomes ready
> [   59.770384] switch: port 2(vif1.0) entered forwarding state
> [   59.778900] switch: port 2(vif1.0) entered forwarding state
> [   59.876529] xen-blkback:ring-ref 10, event-channel 18, protocol 2 (x86_32-abi) persistent grants
> [   65.135453] switch: port 2(vif1.0) entered disabled state
> [   65.145638] device vif1.0 left promiscuous mode
> [   65.154458] switch: port 2(vif1.0) entered disabled state
> [   70.836602] device vif2.0 entered promiscuous mode
> [   70.848191] IPv6: ADDRCONF(NETDEV_UP): vif2.0: link is not ready
> [   72.285945] IPv6: ADDRCONF(NETDEV_CHANGE): vif2.0: link becomes ready
> [   72.295310] switch: port 2(vif2.0) entered forwarding state
> [   72.303597] switch: port 2(vif2.0) entered forwarding state
> [   72.403140] xen-blkback:ring-ref 10, event-channel 11, protocol 1 (x86_64-abi) persistent grants
> [   72.544101] ------------[ cut here ]------------
> [   72.552932] kernel BUG at /home/konrad/linux/drivers/block/xen-blkback/blkback.c:589!
> [   72.563680] invalid opcode: 0000 [#1] SMP
> [   72.570865] Modules linked in: dm_multipath dm_mod xen_evtchn iscsi_boot_sysfs iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi libcrc32c crc32c sg sd_mod ahci libahci libata radeon e1000e scsi_mod atl1c fbcon ttm tileblit font bitblit softcursor drm_kms_helper wmi xen_blkfront xen_netfront fb_sys_fops sysimgblt sysfillrect syscopyarea xenfs xen_privcmd [last unloaded: dump_dma]
> [   72.617251] CPU 0
> [   72.619173] Pid: 3823, comm: blkback.2.xvda Tainted: G           O 3.7.0-rc3upstream-00220-g37b7153 #1 System manufacturer System Product Name/F1A75-M
> [   72.641606] RIP: e030:[<ffffffff81409766>]  [<ffffffff81409766>] xen_blkbk_map+0x696/0x6e0
> [   72.653181] RSP: e02b:ffff880027dd3728  EFLAGS: 00010246
> [   72.661651] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
> [   72.672090] RDX: ffff8800232d7f40 RSI: 0000000000000000 RDI: ffff880027dd3d88
> [   72.682437] RBP: ffff880027dd39e8 R08: 0000000000000000 R09: 0000000000000000
> [   72.692835] R10: 0000000000000001 R11: dead000000200200 R12: 0000000000000000
> [   72.703261] R13: 0000000000000000 R14: ffff88002b5e7070 R15: 0000000000000000
> [   72.713560] FS:  00007f6cc62d5700(0000) GS:ffff88003e000000(0000) knlGS:0000000000000000
> [   72.724921] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
> [   72.733811] CR2: 00000000006dd384 CR3: 0000000027b8f000 CR4: 0000000000000660
> [   72.744131] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> [   72.754517] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> [   72.764882] Process blkback.2.xvda (pid: 3823, threadinfo ffff880027dd2000, task ffff88002bb15040)
> [   72.777140] Stack:
> [   72.782184]  ffff880027dd3738 ffff880026081af0 ffff880027dd3798 ffffffff810ac7df
> [   72.792960]  ffff880027dd3798 ffffffff8104c506 0000000000000117 ffff88002160d030
> [   72.803712]  ffff880027dd3a38 ffff88002b5e7120 ffff88002160d000 ffff880027dd3d88
> [   72.814469] Call Trace:
> [   72.820094]  [<ffffffff810ac7df>] ? __queue_work+0xff/0x420
> [   72.829023]  [<ffffffff8104c506>] ? xen_spin_lock_flags+0xb6/0x120
> [   72.838462]  [<ffffffff810acb61>] ? queue_work_on+0x31/0x50
> [   72.847279]  [<ffffffff81636eb9>] ? _raw_spin_unlock_irqrestore+0x19/0x30
> [   72.854408] ttyS1: 2 input overrun(s)
> [   72.864352]  [<ffffffff8107e068>] ? pvclock_clocksource_read+0x58/0xd0
> [   72.874471]  [<ffffffff812ea543>] ? cpumask_next_and+0x23/0x40
> [   72.883656]  [<ffffffff812ea543>] ? cpumask_next_and+0x23/0x40
> [   72.892716]  [<ffffffff810cc5e7>] ? update_sd_lb_stats+0x157/0x6c0
> [   72.902178]  [<ffffffff81636e90>] ? _raw_spin_lock_irq+0x20/0x30
> [   72.911486]  [<ffffffff810cd441>] ? find_busiest_group+0x31/0x4d0
> [   72.920849]  [<ffffffff81409e87>] dispatch_rw_block_io+0x377/0x600
> [   72.930187]  [<ffffffff8107e068>] ? pvclock_clocksource_read+0x58/0xd0
> [   72.939957]  [<ffffffff8103e0c0>] ? xen_mc_flush+0xc0/0x1f0
> [   72.948743]  [<ffffffff8103c9e9>] ? xen_end_context_switch+0x19/0x20
> [   72.958251]  [<ffffffff8107e068>] ? pvclock_clocksource_read+0x58/0xd0
> [   72.967917]  [<ffffffff8107e068>] ? pvclock_clocksource_read+0x58/0xd0
> [   72.977617]  [<ffffffff8107e068>] ? pvclock_clocksource_read+0x58/0xd0
> [   72.987474]  [<ffffffff81044359>] ? xen_clocksource_read+0x39/0x50
> [   72.997278]  [<ffffffff8104c506>] ? xen_spin_lock_flags+0xb6/0x120
> [   73.006476]  [<ffffffff8140a32e>] xen_blkif_schedule+0x21e/0xa00
> [   73.015493]  [<ffffffff81111442>] ? irq_to_desc+0x12/0x20
> [   73.023833]  [<ffffffff81114779>] ? irq_get_irq_data+0x9/0x10
> [   73.032418]  [<ffffffff81382909>] ? info_for_irq+0x9/0x20
> [   73.040554]  [<ffffffff81383cb9>] ? notify_remote_via_irq+0x29/0x50
> [   73.049523]  [<ffffffff810c844d>] ? sched_clock_cpu+0xcd/0x110
> [   73.058024]  [<ffffffff8107e068>] ? pvclock_clocksource_read+0x58/0xd0
> [   73.067191]  [<ffffffff8103e0c0>] ? xen_mc_flush+0xc0/0x1f0
> [   73.075338]  [<ffffffff81635e9e>] ? __schedule+0x3be/0x7c0
> [   73.083311]  [<ffffffff810b52a0>] ? wake_up_bit+0x40/0x40
> [   73.091108]  [<ffffffff8140a110>] ? dispatch_rw_block_io+0x600/0x600
> [   73.099902]  [<ffffffff810b4b16>] kthread+0xc6/0xd0
> [   73.107124]  [<ffffffff8103c9e9>] ? xen_end_context_switch+0x19/0x20
> [   73.115845]  [<ffffffff810b4a50>] ? kthread_freezable_should_stop+0x80/0x80
> [   73.125266]  [<ffffffff8163f1fc>] ret_from_fork+0x7c/0xb0
> [   73.133089]  [<ffffffff810b4a50>] ? kthread_freezable_should_stop+0x80/0x80
> [   73.142576] Code: 48 89 d7 e8 ad 66 d8 ff 4a c7 84 3d 70 ff ff ff 00 00 00 00 4c 8b 85 60 fd ff ff 41 8b b0 e4 fd ff ff 41 83 cd 01 e9 ef fb ff ff <0f> 0b eb fe 48 8d 95 10 ff ff ff 48 8d bd b0 fd ff ff 31 f6 44
> [   73.167611] RIP  [<ffffffff81409766>] xen_blkbk_map+0x696/0x6e0
> [   73.176081]  RSP <ffff880027dd3728>
> [   73.182024] ---[ end trace 914a52d8b62134db ]---
> [   87.339441] switch: port 2(vif2.0) entered forwarding state
> [  315.067569] device tap3.0 entered promiscuous mode
> [  315.074965] switch: port 3(tap3.0) entered forwarding state
> [  315.083116] switch: port 3(tap3.0) entered forwarding state
> [  315.142543] switch: port 3(tap3.0) entered disabled state
> [  315.161150] switch: port 3(tap3.0) entered forwarding state
> [  315.169097] switch: port 3(tap3.0) entered forwarding state
> [  330.162411] switch: port 3(tap3.0) entered forwarding state
> [  415.483626] switch: port 3(tap3.0) entered disabled state
> [  415.491439] device tap3.0 left promiscuous mode
> [  415.498191] switch: port 3(tap3.0) entered disabled state
> [  658.839306] device tap4.0 entered promiscuous mode
> [  658.846451] switch: port 3(tap4.0) entered forwarding state
> [  658.854354] switch: port 3(tap4.0) entered forwarding state
> [  658.923751] switch: port 3(tap4.0) entered disabled state
> [  658.942642] switch: port 3(tap4.0) entered forwarding state
> [  658.950492] switch: port 3(tap4.0) entered forwarding state
> [  673.990219] switch: port 3(tap4.0) entered forwarding state
> [  759.263762] switch: port 3(tap4.0) entered disabled state
> [  759.271529] device tap4.0 left promiscuous mode
> [  759.278257] switch: port 3(tap4.0) entered disabled state
> 


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

