All of lore.kernel.org
 help / color / mirror / Atom feed
* Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel?
@ 2010-09-08 12:15 Carsten Schiers
  2010-09-08 12:51 ` Jan Beulich
  0 siblings, 1 reply; 27+ messages in thread
From: Carsten Schiers @ 2010-09-08 12:15 UTC (permalink / raw)
  To: xen-devel

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

Hi,

I repeat to report this issue, because Jeremy thinks it might be more a Xen related
issue. Also I missed to provide the comunity with an excerpt of the log, for those
only able to read quickly through their mails:

Xen 4.0.1 self compiled on Debian Lenny 5.0.5 64 Bit, 2.6.32.18 and 2.6.32.21 pvops 
kernel boots well w/o Xen, but reports the following error (complete log attached):

[    3.478270] ACPI: Power Button [PWRB]
[    3.549779] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    3.550689] ACPI: Power Button [PWRF]
[    3.617753] ACPI: SSDT 00000000bbfb00b0 00235 (v01 DpgPmm  P001Ist 00000011 INTL 20051117)
[    3.668512] ACPI: SSDT 00000000bbfb02f0 00235 (v01 DpgPmm  P002Ist 00000012 INTL 20051117)
(XEN) mm.c:860:d0 Error getting mfn 80000 (pfn 5555555555555555) from L1 entry 8000000080000473 for l1e_owner=0, pg_owner=32753
[    3.719125] BUG: unable to handle kernel paging request at ffffc90000062000
[    3.719125] IP: [<ffffffff81223d03>] acpi_ex_system_memory_space_handler+0x16e/0x1cf
[    3.719125] PGD 1f80f067 PUD 1f854067 PMD 1f855067 PTE 0
[    3.719125] Oops: 0000 [#1] SMP 
[    3.719125] last sysfs file: 
[    3.719125] CPU 0 
[    3.719125] Modules linked in:
[    3.719125] Pid: 1, comm: swapper Not tainted 2.6.32.21 #2 To Be Filled By O.E.M.
[    3.719125] RIP: e030:[<ffffffff81223d03>]  [<ffffffff81223d03>] acpi_ex_system_memory_space_handler+0x16e/0x1cf
[    3.719125] RSP: e02b:ffff88001f86b9a0  EFLAGS: 00010246
[    3.719125] RAX: ffffc90000062000 RBX: 0000000000001000 RCX: 0000000000000040
[    3.719125] RDX: ffffc90000062000 RSI: 0000000000000001 RDI: 8000000080000273
[    3.719125] RBP: ffff88001f86b9d0 R08: ffffffff8165a270 R09: 0000000000000068
[    3.719125] R10: 0000000000080000 R11: 0000000000000001 R12: 0000000080000000
[    3.719125] R13: ffff88001f9a6a40 R14: 0000000000000008 R15: ffff88001f86ba88
[    3.719125] FS:  0000000000000000(0000) GS:ffff880002120000(0000) knlGS:0000000000000000
[    3.719125] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
[    3.719125] CR2: ffffc90000062000 CR3: 0000000001001000 CR4: 0000000000000660
[    3.719125] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    3.719125] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[    3.719125] Process swapper (pid: 1, threadinfo ffff88001f86a000, task ffff88001f870000)
[    3.719125] Stack:
[    3.719125]  0000000000000000 ffffffff81223b95 ffff88001ee22288 ffff88001f8624c8
[    3.719125] <0> ffff88001ee22048 0000000000000000 ffff88001f86ba30 ffffffff8121c7a1
[    3.719125] <0> 0000000000000024 ffff88001f86ba88 0000000000000008 0000000000000000
[    3.719125] Call Trace:
[    3.719125]  [<ffffffff81223b95>] ? acpi_ex_system_memory_space_handler+0x0/0x1cf
[    3.719125]  [<ffffffff8121c7a1>] acpi_ev_address_space_dispatch+0x176/0x1c3
[    3.719125]  [<ffffffff8121f6ac>] acpi_ex_load_op+0x93/0x254
[    3.719125]  [<ffffffff812226a7>] ? acpi_ex_resolve_operands+0x1e5/0x4e2
[    3.719125]  [<ffffffff81221fcf>] acpi_ex_opcode_1A_1T_0R+0x28/0x4e

Would be glad if anybody has an idea, even if it is only how to proceed.

BR,
Carsten.








[-- Attachment #2: putty.log --]
[-- Type: application/octet-stream, Size: 33150 bytes --]

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

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

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

* Re: Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel?
  2010-09-08 12:15 Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel? Carsten Schiers
@ 2010-09-08 12:51 ` Jan Beulich
  2010-09-08 20:15   ` AW: " Carsten Schiers
  2010-09-08 20:16   ` Carsten Schiers
  0 siblings, 2 replies; 27+ messages in thread
From: Jan Beulich @ 2010-09-08 12:51 UTC (permalink / raw)
  To: Carsten Schiers; +Cc: xen-devel

>>> On 08.09.10 at 14:15, Carsten Schiers <carsten@schiers.de> wrote:
> (XEN) mm.c:860:d0 Error getting mfn 80000 (pfn 5555555555555555) from L1 
> entry 8000000080000473 for l1e_owner=0, pg_owner=32753

DOMID_IO seen here generally means that Dom0 tried to map a page
it doesn't own (likely because of your use of dom0_mem=). As the
page really is a RAM one, Xen doesn't allow the access. Given that
this apparently happens in the context of
acpi_ex_system_memory_space_handler() you'd have to look at (or
provide) your DSDT and SSDT(s) to see where this reference comes
from. Very likely this is just a bogus reference, that you get away
with on native, perhaps because this code in ioremap.c

	last_pfn = last_addr >> PAGE_SHIFT;
	for (pfn = phys_addr >> PAGE_SHIFT; pfn <= last_pfn; pfn++) {
		int is_ram = page_is_ram(pfn);

		if (is_ram && pfn_valid(pfn) && !PageReserved(pfn_to_page(pfn)))
			return NULL;
		WARN_ON_ONCE(is_ram);
	}

should result in returning NULL there, while it wouldn't cover the
situation under Xen. (While the code is meaningless under Xen in
its current shape anyway, using dom0_mem= with a value above
2G should get you around the issue, as then PFN 0x80000 would
be considered RAM there too.)

Jan

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

* AW: Re: Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel?
  2010-09-08 12:51 ` Jan Beulich
@ 2010-09-08 20:15   ` Carsten Schiers
  2010-09-09  9:57     ` Jan Beulich
  2010-09-08 20:16   ` Carsten Schiers
  1 sibling, 1 reply; 27+ messages in thread
From: Carsten Schiers @ 2010-09-08 20:15 UTC (permalink / raw)
  To: JBeulich; +Cc: xen-devel

Hi,

no change when I set e.g. to dom0_mem=3000M (see below and in log. In 
log, I also tried 196M, same result).

> you'd have to look at (or
> provide) your DSDT and SSDT(s) to see where this reference comes
> from.

Sorry, my OS knowledge is on Andrew's Minix book niveau: how to provide? 


BR,
Carsten.
 
[    3.830424] ACPI: Power Button [PWRF]
[    3.897249] ACPI: SSDT 00000000bbfb00b0 00235 (v01 DpgPmm  P001Ist 
00000011 INTL 20051117)
[    3.947683] ACPI: SSDT 00000000bbfb02f0 00235 (v01 DpgPmm  P002Ist 
00000012 INTL 20051117)
(XEN) mm.c:860:d0 Error getting mfn 80000 (pfn 7c9ec) from L1 entry 
8000000080000473 for l1e_owner=0, pg_owner=32753
[    3.998293] BUG: unable to handle kernel paging request at 
ffffc90000062000
[    3.998293] IP: [<ffffffff81258492>] 
acpi_ex_system_memory_space_handler+0x16d/0x1df
[    3.998293] PGD bb80d067 PUD bb80e067 PMD bb80f067 PTE 0
[    3.998293] Oops: 0000 [#1] SMP 
[    3.998293] last sysfs file: 
[    3.998293] CPU 0 
[    3.998293] Modules linked in:
[    3.998293] Pid: 1, comm: swapper Not tainted 2.6.32.21 #1 To Be 
Filled By O.E.M.
[    3.998293] RIP: e030:[<ffffffff81258492>]  [<ffffffff81258492>] 
acpi_ex_system_memory_space_handler+0x16d/0x1df
[    3.998293] RSP: e02b:ffff8800bb871970  EFLAGS: 00010246
[    3.998293] RAX: ffffc90000062000 RBX: ffff8800bb89c040 RCX: 
0000000000000000
[    3.998293] RDX: ffff880002de90a0 RSI: 0000000000000001 RDI: 
ffffffff8100f22f
[    3.998293] RBP: ffff8800bb8719b0 R08: ffffffff8169e270 R09: 
0000000000001000
[    3.998293] R10: dead000000100100 R11: ffffffff8100f22f R12: 
ffffc90000062000
[    3.998293] R13: 0000000000000000 R14: 0000000000000008 R15: 
ffff8800bb871a68
[    3.998293] FS:  0000000000000000(0000) GS:ffff880002dde000(0000) 
knlGS:0000000000000000
[    3.998293] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
[    3.998293] CR2: ffffc90000062000 CR3: 0000000001001000 CR4: 
0000000000000660
[    3.998293] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 
0000000000000000
[    3.998293] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 
0000000000000400
[    3.998293] Process swapper (pid: 1, threadinfo ffff8800bb870000, 
task ffff8800bb868000)
[    3.998293] Stack:
[    3.998293]  ffff8800bb8719a0 0000000000001000 ffff880000000000 
ffff8800ba29b5a0
[    3.998293] <0> ffffffff81258325 ffff8800bb864b88 ffff8800ba29b240 
0000000000000000
[    3.998293] <0> ffff8800bb871a20 ffffffff81250f08 ffff8800ba32b800 
ffffffff81253f53
[    3.998293] Call Trace:
[    3.998293]  [<ffffffff81258325>] ? 
acpi_ex_system_memory_space_handler+0x0/0x1df
[    3.998293]  [<ffffffff81250f08>] 
acpi_ev_address_space_dispatch+0x16b/0x1b9
[    3.998293]  [<ffffffff81253f53>] ? acpi_os_allocate+0x33/0x35


-----Ursprüngliche Nachricht-----
Von: Jan Beulich [mailto:JBeulich@novell.com] 
Gesendet: Mittwoch, 8. September 2010 14:51
An: Carsten Schiers
Cc: xen-devel@lists.xensource.com
Betreff: Re: [Xen-devel] Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 
pvops Kernel?

>>> On 08.09.10 at 14:15, Carsten Schiers <carsten@schiers.de> wrote:
> (XEN) mm.c:860:d0 Error getting mfn 80000 (pfn 5555555555555555) from 
L1 
> entry 8000000080000473 for l1e_owner=0, pg_owner=32753

DOMID_IO seen here generally means that Dom0 tried to map a page
it doesn't own (likely because of your use of dom0_mem=). As the
page really is a RAM one, Xen doesn't allow the access. Given that
this apparently happens in the context of
acpi_ex_system_memory_space_handler() you'd have to look at (or
provide) your DSDT and SSDT(s) to see where this reference comes
from. Very likely this is just a bogus reference, that you get away
with on native, perhaps because this code in ioremap.c

	last_pfn = last_addr >> PAGE_SHIFT;
	for (pfn = phys_addr >> PAGE_SHIFT; pfn <= last_pfn; pfn++) {
		int is_ram = page_is_ram(pfn);

		if (is_ram && pfn_valid(pfn) && 
!PageReserved(pfn_to_page(pfn)))
			return NULL;
		WARN_ON_ONCE(is_ram);
	}

should result in returning NULL there, while it wouldn't cover the
situation under Xen. (While the code is meaningless under Xen in
its current shape anyway, using dom0_mem= with a value above
2G should get you around the issue, as then PFN 0x80000 would
be considered RAM there too.)

Jan

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

* AW: Re: Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel?
  2010-09-08 12:51 ` Jan Beulich
  2010-09-08 20:15   ` AW: " Carsten Schiers
@ 2010-09-08 20:16   ` Carsten Schiers
  1 sibling, 0 replies; 27+ messages in thread
From: Carsten Schiers @ 2010-09-08 20:16 UTC (permalink / raw)
  To: JBeulich; +Cc: xen-devel

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

Forgot to attach the log, here it is:

BR,
Carsten.

-----Ursprüngliche Nachricht-----
Von: Jan Beulich [mailto:JBeulich@novell.com] 
Gesendet: Mittwoch, 8. September 2010 14:51
An: Carsten Schiers
Cc: xen-devel@lists.xensource.com
Betreff: Re: [Xen-devel] Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 
pvops Kernel?

>>> On 08.09.10 at 14:15, Carsten Schiers <carsten@schiers.de> wrote:
> (XEN) mm.c:860:d0 Error getting mfn 80000 (pfn 5555555555555555) from 
L1 
> entry 8000000080000473 for l1e_owner=0, pg_owner=32753

DOMID_IO seen here generally means that Dom0 tried to map a page
it doesn't own (likely because of your use of dom0_mem=). As the
page really is a RAM one, Xen doesn't allow the access. Given that
this apparently happens in the context of
acpi_ex_system_memory_space_handler() you'd have to look at (or
provide) your DSDT and SSDT(s) to see where this reference comes
from. Very likely this is just a bogus reference, that you get away
with on native, perhaps because this code in ioremap.c

	last_pfn = last_addr >> PAGE_SHIFT;
	for (pfn = phys_addr >> PAGE_SHIFT; pfn <= last_pfn; pfn++) {
		int is_ram = page_is_ram(pfn);

		if (is_ram && pfn_valid(pfn) && 
!PageReserved(pfn_to_page(pfn)))
			return NULL;
		WARN_ON_ONCE(is_ram);
	}

should result in returning NULL there, while it wouldn't cover the
situation under Xen. (While the code is meaningless under Xen in
its current shape anyway, using dom0_mem= with a value above
2G should get you around the issue, as then PFN 0x80000 would
be considered RAM there too.)

Jan




[-- Attachment #2: putty.log --]
[-- Type: application/octet-stream, Size: 70964 bytes --]

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2010.09.08 22:08:41 =~=~=~=~=~=~=~=~=~=~=~=
 __  __            _  _    ___   _    _    __      _ _____ 
 \ \/ /___ _ __   | || |  / _ \ / |  / |  / _| ___/ |___ / 
  \  // _ \ '_ \  | || |_| | | || |__| | | |_ / __| | |_ \ 
  /  \  __/ | | | |__   _| |_| || |__| |_|  _| (__| |___) |
 /_/\_\___|_| |_|    |_|(_)___(_)_|  |_(_)_|  \___|_|____/ 
                                                           
(XEN) Xen version 4.0.1 (root@) (gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) ) Wed Sep  8 19:23:00 CEST 2010
(XEN) Latest ChangeSet: unavailable
(XEN) Console output is synchronous.
(XEN) Bootloader: GNU GRUB 0.97
(XEN) Command line: dom_mem=3000M loglvl=all guest_loglvl=all sync_console console_to_ring com1=19200,8n1 console=com1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009f800 (usable)
(XEN)  000000000009f800 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000bbfa0000 (usable)
(XEN)  00000000bbfa0000 - 00000000bbfb0000 (ACPI data)
(XEN)  00000000bbfb0000 - 00000000bbfe0000 (ACPI NVS)
(XEN)  00000000bbfe0000 - 00000000bc000000 (reserved)
(XEN)  00000000fee00000 - 00000000fee01000 (reserved)
(XEN)  00000000ffb80000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000144000000 (usable)
(XEN) ACPI: RSDP 000FA9D0, 0014 (r0 ACPIAM)
(XEN) ACPI: RSDT BBFA0000, 0040 (r1 A M I  OEMRSDT  11000904 MSFT       97)
(XEN) ACPI: FACP BBFA0200, 0084 (r2 A_M_I  OEMFACP  12000601 MSFT       97)
(XEN) ACPI: DSDT BBFA0440, 5A31 (r1  AS268 AS268101      101 INTL 20051117)
(XEN) ACPI: FACS BBFB0000, 0040
(XEN) ACPI: APIC BBFA0390, 006C (r1 A M I  OEMAPIC  11000904 MSFT       97)
(XEN) ACPI: MCFG BBFA0400, 003C (r1 A M I  OEMMCFG  11000904 MSFT       97)
(XEN) ACPI: OEMB BBFB0040, 0061 (r1 A M I  AMI_OEM  11000904 MSFT       97)
(XEN) ACPI: AAFT BBFA5E80, 0027 (r1 A M I  OEMAAFT  11000904 MSFT       97)
(XEN) ACPI: HPET BBFA5EB0, 0038 (r1 A M I  OEMHPET  11000904 MSFT       97)
(XEN) ACPI: SSDT BBFB0530, 0A7C (r1 DpgPmm    CpuPm       12 INTL 20051117)
(XEN) System RAM: 4095MB (4193532kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000144000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[bbfb000c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 6:15 APIC version 20
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 6:15 APIC version 20
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x82] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x83] disabled)
(XEN) ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
(XEN) ACPI: HPET id: 0xffffffff base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base f0000000 segment 0 buses 0 - 63
(XEN) PCI: Not using MMCONFIG.
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 2200.131 MHz processor.
(XEN) Initing memory sharing.
(XEN) Intel machine check reporting enabled
(XEN) I/O virtualisation disabled
(XEN) Total of 2 processors activated.
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) checking TSC synchronization across 2 CPUs: passed.
(XEN) Platform timer is 14.318MHz HPET
ÿ(XEN) Allocated console ring of 16 KiB.
(XEN) Brought up 2 CPUs
(XEN) microcode.c:73:d32767 microcode: CPU1 resumed
(XEN) HPET: 3 timers in total, 0 timers will be used for broadcast
(XEN) ACPI sleep modes: S3
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) *** LOADING DOMAIN 0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x198e000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   000000013c000000->0000000140000000 (985836 pages to be allocated)
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff8198e000
(XEN)  Init. ramdisk: ffffffff8198e000->ffffffff825fc400
(XEN)  Phys-Mach map: ffffffff825fd000->ffffffff82da2760
(XEN)  Start info:    ffffffff82da3000->ffffffff82da34b4
(XEN)  Page tables:   ffffffff82da4000->ffffffff82dbf000
(XEN)  Boot stack:    ffffffff82dbf000->ffffffff82dc0000
(XEN)  TOTAL:         ffffffff80000000->ffffffff83000000
(XEN)  ENTRY ADDRESS: ffffffff81717200
(XEN) Dom0 has maximum 2 VCPUs
(XEN) Scrubbing Free RAM: .done.
(XEN) trace.c:89:d32767 calc_tinfo_first_offset: NR_CPUs 128, offset_in_bytes 258, t_info_first_offset 65
(XEN) Xen trace buffers: disabled
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1... 
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 184kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 2.6.32.21 (root@ds9.space.zz) (gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) ) #1 SMP Wed Sep 8 19:49:49 CEST 2010
[    0.000000] Command line: ro root=/dev/mapper/space-ds9_lv_root nomodeset earlyprintk=xen console=hvc0
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] xen_release_chunk: looking at area pfn bc000-f4aec: 232172 pages freed
[    0.000000] released 232172 pages of unused memory
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 000000000009f800 (usable)
[    0.000000]  Xen: 000000000009f800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000bbfa0000 (usable)
[    0.000000]  Xen: 00000000bbfa0000 - 00000000bbfb0000 (ACPI data)
[    0.000000]  Xen: 00000000bbfb0000 - 00000000bbfe0000 (ACPI NVS)
[    0.000000]  Xen: 00000000bbfe0000 - 00000000bc000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  Xen: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  Xen: 00000000ffb80000 - 0000000100000000 (reserved)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] DMI present.
[    0.000000] AMI BIOS detected: BIOS may corrupt low RAM, working around it.
[    0.000000] last_pfn = 0xbbfa0 max_arch_pfn = 0x400000000
[    0.000000] x86 PAT enabled: cpu 0, old 0x50100070406, new 0x7010600070106
[    0.000000] Scanning 0 areas for low memory corruption
[    0.000000] modified physical RAM map:
[    0.000000]  modified: 0000000000000000 - 0000000000010000 (reserved)
[    0.000000]  modified: 0000000000010000 - 000000000009f800 (usable)
[    0.000000]  modified: 000000000009f800 - 0000000000100000 (reserved)
[    0.000000]  modified: 0000000000100000 - 00000000bbfa0000 (usable)
[    0.000000]  modified: 00000000bbfa0000 - 00000000bbfb0000 (ACPI data)
[    0.000000]  modified: 00000000bbfb0000 - 00000000bbfe0000 (ACPI NVS)
[    0.000000]  modified: 00000000bbfe0000 - 00000000bc000000 (reserved)
[    0.000000]  modified: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  modified: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  modified: 00000000ffb80000 - 0000000100000000 (reserved)
[    0.000000] init_memory_mapping: 0000000000000000-00000000bbfa0000
[    0.000000] RAMDISK: 0198e000 - 025fc400
[    0.000000] ACPI: RSDP 00000000000fa9d0 00014 (v00 ACPIAM)
[    0.000000] ACPI: RSDT 00000000bbfa0000 00040 (v01 A M I  OEMRSDT  11000904 MSFT 00000097)
[    0.000000] ACPI: FACP 00000000bbfa0200 00084 (v02 A_M_I  OEMFACP  12000601 MSFT 00000097)
[    0.000000] ACPI: DSDT 00000000bbfa0440 05A31 (v01  AS268 AS268101 00000101 INTL 20051117)
[    0.000000] ACPI: FACS 00000000bbfb0000 00040
[    0.000000] ACPI: APIC 00000000bbfa0390 0006C (v01 A M I  OEMAPIC  11000904 MSFT 00000097)
[    0.000000] ACPI: MCFG 00000000bbfa0400 0003C (v01 A M I  OEMMCFG  11000904 MSFT 00000097)
[    0.000000] ACPI: OEMB 00000000bbfb0040 00061 (v01 A M I  AMI_OEM  11000904 MSFT 00000097)
[    0.000000] ACPI: AAFT 00000000bbfa5e80 00027 (v01 A M I  OEMAAFT  11000904 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000bbfa5eb0 00038 (v01 A M I  OEMHPET  11000904 MSFT 00000097)
[    0.000000] ACPI: SSDT 00000000bbfb0530 00A7C (v01 DpgPmm    CpuPm 00000012 INTL 20051117)
[    0.000000] (8 early reservations) ==> bootmem [0000000000 - 00bbfa0000]
[    0.000000]   #0 [0000000000 - 0000001000]   BIOS data page ==> [0000000000 - 0000001000]
[    0.000000]   #1 [0002da4000 - 0002dbf000]   XEN PAGETABLES ==> [0002da4000 - 0002dbf000]
[    0.000000]   #2 [0000006000 - 0000008000]       TRAMPOLINE ==> [0000006000 - 0000008000]
[    0.000000]   #3 [0001000000 - 0001864dd8]    TEXT DATA BSS ==> [0001000000 - 0001864dd8]
[    0.000000]   #4 [000198e000 - 00025fc400]          RAMDISK ==> [000198e000 - 00025fc400]
[    0.000000]   #5 [00025fd000 - 0002da4000]   XEN START INFO ==> [00025fd000 - 0002da4000]
[    0.000000]   #6 [0001865000 - 000187212b]              BRK ==> [0001865000 - 000187212b]
[    0.000000]   #7 [0000100000 - 00006c6000]          PGTABLE ==> [0000100000 - 00006c6000]
[    0.000000] found SMP MP-table at [ffff8800000ff780] ff780
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x00100000
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[2] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x0000009f
[    0.000000]     0: 0x00000100 -> 0x000bbfa0
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    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[0x82] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x83] disabled)
[    0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 2, version 0, address 0xfec00000, GSI 0-0
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ERROR: Unable to locate IOAPIC for GSI 2
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ERROR: Unable to locate IOAPIC for GSI 9
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0xffffffff base: 0xfed00000
[    0.000000] SMP: Allowing 2 CPUs, 0 hotplug CPUs
[    0.000000] Allocating PCI resources starting at bc000000 (gap: bc000000:42c00000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.0.1 (preserve-AD) (dom0)
[    0.000000] NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 29 pages/cpu @ffff880002dde000 s88024 r8192 d22568 u118784
[    0.000000] pcpu-alloc: s88024 r8192 d22568 u118784 alloc=29*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] Xen: using vcpu_info placement
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 757831
[    0.000000] Kernel command line: ro root=/dev/mapper/space-ds9_lv_root nomodeset earlyprintk=xen console=hvc0
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.000000] Initializing CPU#0
[    0.000000] DMA: Placing 64MB software IO TLB between ffff8800061d7000 - ffff88000a1d7000
[    0.000000] DMA: software IO TLB at phys 0x61d7000 - 0xa1d7000
[    0.000000] xen_swiotlb_fixup: buf=ffff8800061d7000 size=67108864
[    0.000000] xen_swiotlb_fixup: buf=ffff88000a237000 size=32768
[    0.000000] Memory: 2927908k/3079808k available (4546k kernel code, 452k absent, 150836k reserved, 2619k data, 560k init)
[    0.000000] SLUB: Genslabs=13, HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:4352 nr_irqs:768
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] xen: sci override: source_irq=9 global_irq=9 trigger=c polarity=1
[    0.000000] xen_allocate_pirq: returning irq 9 for gsi 9
[    0.000000] xen: acpi sci 9
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] installing Xen timer for CPU 0
[    0.000000] Detected 2200.130 MHz processor.
[    0.000999] Calibrating delay loop (skipped), value calculated using timer frequency.. 4400.26 BogoMIPS (lpj=2200130)
[    0.000999] Security Framework initialized
[    0.000999] SELinux:  Initializing.
[    0.000999] Mount-cache hash table entries: 256
[    0.001195] Initializing cgroup subsys ns
[    0.001999] Initializing cgroup subsys cpuacct
[    0.001999] Initializing cgroup subsys freezer
[    0.002027] CPU: L1 I cache: 32K, L1 D cache: 32K
[    0.002999] CPU: L2 cache: 1024K
[    0.003006] CPU: Physical Processor ID: 0
[    0.004003] CPU: Processor Core ID: 0
[    0.005005] mce: CPU supports 6 MCE banks
[    0.006018] Performance Events: unsupported p6 CPU model 15 no PMU driver, software events only.
[    0.006998] SMP alternatives: switching to UP code
[    0.006998] ACPI: Core revision 20090903
[    0.018074] cpu 0 spinlock event irq 766
[    0.019208] installing Xen timer for CPU 1
[    0.020022] cpu 1 spinlock event irq 760
[    0.021018] SMP alternatives: switching to SMP code
[    0.000999] Initializing CPU#1
[    0.000999] CPU: L1 I cache: 32K, L1 D cache: 32K
[    0.000999] CPU: L2 cache: 1024K
[    0.000999] CPU: Physical Processor ID: 0
[    0.000999] CPU: Processor Core ID: 1
[    0.022143] Brought up 2 CPUs
[    0.023221] Grant table initialized
[    0.024051] NET: Registered protocol family 16
[    0.025075] ACPI: bus type pci registered
[    0.026066] PCI: MCFG configuration 0: base f0000000 segment 0 buses 0 - 63
[    0.026995] PCI: Not using MMCONFIG.
[    0.026995] PCI: Using configuration type 1 for base access
[    0.035051] bio: create slab <bio-0> at 0
[    0.037137] ERROR: Unable to locate IOAPIC for GSI 9
[    0.072667] ACPI: Executed 1 blocks of module-level executable AML code
[    0.120844] ACPI: Interpreter enabled
[    0.120981] ACPI: (supports S0 S5)
[    0.120981] ACPI: Using IOAPIC for interrupt routing
[    0.192039] PCI: MCFG configuration 0: base f0000000 segment 0 buses 0 - 63
[    0.237267] PCI: MCFG area at f0000000 reserved in ACPI motherboard resources
[    0.294028] PCI: Using MMCONFIG at f0000000 - f3ffffff
[    0.344128] ACPI Warning: Incorrect checksum in table [OEMB] - 56, should be 51 (20090903/tbutils-314)
[    0.344951] ACPI: No dock devices found.
[    0.345433] ACPI: PCI Root Bridge [PCI0] (0000:00)
[    0.346246] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[    0.346951] pci 0000:00:01.0: PME# disabled
[    0.346951] pci 0000:00:1a.7: PME# supported from D0 D3hot D3cold
[    0.346951] pci 0000:00:1a.7: PME# disabled
[    0.346951] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[    0.346951] pci 0000:00:1b.0: PME# disabled
[    0.346951] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    0.346951] pci 0000:00:1c.0: PME# disabled
[    0.346951] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
[    0.346951] pci 0000:00:1c.1: PME# disabled
[    0.346951] pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold
[    0.346951] pci 0000:00:1c.2: PME# disabled
[    0.346951] pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold
[    0.346951] pci 0000:00:1c.3: PME# disabled
[    0.346951] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[    0.346951] pci 0000:00:1d.7: PME# disabled
[    0.346951] pci 0000:00:1f.0: quirk: region 0800-087f claimed by ICH6 ACPI/GPIO/TCO
[    0.346951] pci 0000:00:1f.0: quirk: region 0480-04bf claimed by ICH6 GPIO
[    0.346951] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0280 (mask 00ff)
[    0.346951] pci 0000:00:1f.2: PME# supported from D3hot
[    0.346951] pci 0000:00:1f.2: PME# disabled
[    0.347272] pci 0000:00:1f.5: PME# supported from D3hot
[    0.347951] pci 0000:00:1f.5: PME# disabled
[    0.347951] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.347951] pci 0000:02:00.0: PME# disabled
[    0.347951] pci 0000:01:00.0: PME# supported from D2 D3hot D3cold
[    0.347951] pci 0000:01:00.0: PME# disabled
[    0.347951] pci 0000:01:00.1: PME# supported from D2 D3hot D3cold
[    0.347951] pci 0000:01:00.1: PME# disabled
[    0.347951] pci 0000:00:1e.0: transparent bridge
(XEN) PCI add device 00:00.0
(XEN) PCI add device 00:01.0
(XEN) PCI add device 00:1a.0
(XEN) PCI add device 00:1a.1
(XEN) PCI add device 00:1a.7
(XEN) PCI add device 00:1b.0
(XEN) PCI add device 00:1c.0
(XEN) PCI add device 00:1c.1
(XEN) PCI add device 00:1c.2
(XEN) PCI add device 00:1c.3
(XEN) PCI add device 00:1d.0
(XEN) PCI add device 00:1d.1
(XEN) PCI add device 00:1d.2
(XEN) PCI add device 00:1d.7
(XEN) PCI add device 00:1e.0
(XEN) PCI add device 00:1f.0
(XEN) PCI add device 00:1f.2
(XEN) PCI add device 00:1f.3
(XEN) PCI add device 00:1f.5
(XEN) PCI add device 06:00.0
(XEN) PCI add device 02:00.0
(XEN) PCI add device 01:00.0
(XEN) PCI add device 01:00.1
(XEN) PCI add device 05:01.0
[    0.391107] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 *5 6 7 10 11 12 14 15)
[    0.391951] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 11 12 14 *15)
[    0.391951] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 10 *11 12 14 15)
[    0.391951] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *10 11 12 14 15)
[    0.391951] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.
[    0.391951] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 *14 15)
[    0.391951] ACPI: PCI Interrupt Link [LNKG] (IRQs *3 4 5 6 7 10 11 12 14 15)
[    0.391951] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 *10 11 12 14 15)
[    0.392032] xen_balloon: Initialising balloon driver with page order 0.
[    0.393017] vgaarb: device added: PCI:0000:06:00.0,decodes=io+mem,owns=io+mem,locks=none
[    0.393951] vgaarb: loaded
[    0.394123] SCSI subsystem initialized
[    0.395021] usbcore: registered new interface driver usbfs
[    0.395992] usbcore: registered new interface driver hub
[    0.397010] usbcore: registered new device driver usb
[    0.398008] PCI: Using ACPI for IRQ routing
[    0.399075] NetLabel: Initializing
[    0.399951] NetLabel:  domain hash size = 128
[    0.399951] NetLabel:  protocols = UNLABELED CIPSOv4
[    0.399951] NetLabel:  unlabeled traffic allowed by default
[    0.400002] Switching to clocksource xen
[    0.404244] pnp: PnP ACPI init
[    0.405004] ACPI: bus type pnp registered
[    0.447593] xen_allocate_pirq: returning irq 8 for gsi 8
[    0.479792] xen_allocate_pirq: returning irq 13 for gsi 13
[    0.514769] xen_allocate_pirq: returning irq 7 for gsi 7
[    0.548470] xen_allocate_pirq: returning irq 1 for gsi 1
[    0.580446] xen_allocate_pirq: returning irq 12 for gsi 12
[    0.614369] xen_allocate_pirq: returning irq 4 for gsi 4
[    0.646123] Already setup the GSI :4
[    0.669863] pnp: PnP ACPI: found 18 devices
[    0.670411] ACPI: ACPI bus type pnp unregistered
[    0.670411] system 00:01: iomem range 0xfed14000-0xfed19fff has been reserved
[    0.670411] system 00:07: ioport range 0x4d0-0x4d1 has been reserved
[    0.670411] system 00:07: ioport range 0x800-0x87f has been reserved
[    0.670411] system 00:07: ioport range 0x480-0x4bf has been reserved
[    0.670411] system 00:07: ioport range 0x900-0x90f has been reserved
[    0.670411] system 00:07: iomem range 0xfed1c000-0xfed1ffff has been reserved
[    0.670411] system 00:07: iomem range 0xfed20000-0xfed8ffff has been reserved
[    0.670411] system 00:0a: iomem range 0xffc00000-0xfff7ffff has been reserved
[    0.670411] system 00:0b: iomem range 0xfec00000-0xfec00fff could not be reserved
[    0.670411] system 00:0b: iomem range 0xfee00000-0xfee00fff has been reserved
[    0.670411] system 00:0f: ioport range 0x280-0x28f has been reserved
[    0.670411] system 00:0f: ioport range 0x290-0x29f has been reserved
[    0.670411] system 00:10: iomem range 0xf0000000-0xf3ffffff has been reserved
[    0.670411] system 00:11: iomem range 0x0-0x9ffff could not be reserved
[    0.670411] system 00:11: iomem range 0xc0000-0xcffff could not be reserved
[    0.670411] system 00:11: iomem range 0xe0000-0xfffff could not be reserved
[    0.670411] system 00:11: iomem range 0x100000-0xbbffffff could not be reserved
[    1.433451] PM-Timer failed consistency check  (0x0xffffff) - aborting.
[    1.434002] pci 0000:00:01.0: PCI bridge, secondary bus 0000:06
[    1.434002] pci 0000:00:01.0:   IO window: 0xe000-0xefff
[    1.434002] pci 0000:00:01.0:   MEM window: 0xfa000000-0xfebfffff
[    1.434002] pci 0000:00:01.0:   PREFETCH window: 0x000000c0000000-0x000000dfffffff
[    1.434002] pci 0000:00:1c.0: PCI bridge, secondary bus 0000:04
[    1.434002] pci 0000:00:1c.0:   IO window: 0x1000-0x1fff
[    1.434002] pci 0000:00:1c.0:   MEM window: 0xbc000000-0xbc3fffff
[    1.434002] pci 0000:00:1c.0:   PREFETCH window: 0x000000bff00000-0x000000bfffffff
[    1.434002] pci 0000:00:1c.1: PCI bridge, secondary bus 0000:03
[    1.434002] pci 0000:00:1c.1:   IO window: 0x2000-0x2fff
[    1.434002] pci 0000:00:1c.1:   MEM window: 0xbc400000-0xbc7fffff
[    1.434002] pci 0000:00:1c.1:   PREFETCH window: 0x000000bfe00000-0x000000bfefffff
[    1.434002] pci 0000:00:1c.2: PCI bridge, secondary bus 0000:02
[    1.434002] pci 0000:00:1c.2:   IO window: 0xc000-0xcfff
[    1.434002] pci 0000:00:1c.2:   MEM window: 0xf9e00000-0xf9efffff
[    1.434002] pci 0000:00:1c.2:   PREFETCH window: 0x000000bfd00000-0x000000bfdfffff
[    1.434002] pci 0000:00:1c.3: PCI bridge, secondary bus 0000:01
[    1.434002] pci 0000:00:1c.3:   IO window: 0xb000-0xbfff
[    1.434002] pci 0000:00:1c.3:   MEM window: 0xf9d00000-0xf9dfffff
[    1.434002] pci 0000:00:1c.3:   PREFETCH window: 0x000000bc800000-0x000000bc9fffff
[    1.434002] pci 0000:00:1e.0: PCI bridge, secondary bus 0000:05
[    1.434002] pci 0000:00:1e.0:   IO window: 0xd000-0xdfff
[    1.434002] pci 0000:00:1e.0:   MEM window: 0xf9f00000-0xf9ffffff
[    1.434002] pci 0000:00:1e.0:   PREFETCH window: disabled
[    2.365759] pci 0000:00:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    2.366733] pci 0000:00:1c.0: enabling device (0106 -> 0107)
[    2.440600] pci 0000:00:1c.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    2.441588] pci 0000:00:1c.1: enabling device (0106 -> 0107)
[    2.441588] xen_allocate_pirq: returning irq 16 for gsi 16
[    2.548902] Already setup the GSI :16
[    2.549893] pci 0000:00:1c.1: PCI INT B -> GSI 16 (level, low) -> IRQ 16
[    2.611855] pci 0000:00:1c.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    2.652415] pci 0000:00:1c.3: PCI INT D -> GSI 19 (level, low) -> IRQ 19
[    2.693138] NET: Registered protocol family 2
[    2.694026] IP route cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    2.764624] TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
[    2.811599] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    2.812021] TCP: Hash tables configured (established 262144 bind 65536)
[    2.812021] TCP reno registered
[    2.911095] NET: Registered protocol family 1
[    2.937665] RPC: Registered udp transport module.
[    2.938597] RPC: Registered tcp transport module.
[    2.938597] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    3.034237] Trying to unpack rootfs image as initramfs...
[    3.097361] Freeing initrd memory: 12729k freed
[    3.131713] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    3.132014] DMA: Placing 64MB software IO TLB between ffff8800061d7000 - ffff88000a1d7000
[    3.132014] DMA: software IO TLB at phys 0x61d7000 - 0xa1d7000
[    3.257180] Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    3.258147] Scanning for low memory corruption every 60 seconds
[    3.340366] audit: initializing netlink socket (disabled)
[    3.372764] type=2000 audit(1283976673.701:1): initialized
[    3.413715] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    3.456388] VFS: Disk quotas dquot_6.5.2
[    3.480082] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    3.520888] msgmni has been set to 5744
[    3.544764] alg: No test for stdrng (krng)
[    3.569420] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    3.570385] io scheduler noop registered
[    3.570385] io scheduler anticipatory registered
[    3.570385] io scheduler deadline registered
[    3.692113] io scheduler cfq registered (default)
[    3.723044] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    3.756973] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0
[    3.757937] ACPI: Power Button [PWRB]
[    3.829460] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    3.830424] ACPI: Power Button [PWRF]
[    3.897249] ACPI: SSDT 00000000bbfb00b0 00235 (v01 DpgPmm  P001Ist 00000011 INTL 20051117)
[    3.947683] ACPI: SSDT 00000000bbfb02f0 00235 (v01 DpgPmm  P002Ist 00000012 INTL 20051117)
(XEN) mm.c:860:d0 Error getting mfn 80000 (pfn 7c9ec) from L1 entry 8000000080000473 for l1e_owner=0, pg_owner=32753
[    3.998293] BUG: unable to handle kernel paging request at ffffc90000062000
[    3.998293] IP: [<ffffffff81258492>] acpi_ex_system_memory_space_handler+0x16d/0x1df
[    3.998293] PGD bb80d067 PUD bb80e067 PMD bb80f067 PTE 0
[    3.998293] Oops: 0000 [#1] SMP 
[    3.998293] last sysfs file: 
[    3.998293] CPU 0 
[    3.998293] Modules linked in:
[    3.998293] Pid: 1, comm: swapper Not tainted 2.6.32.21 #1 To Be Filled By O.E.M.
[    3.998293] RIP: e030:[<ffffffff81258492>]  [<ffffffff81258492>] acpi_ex_system_memory_space_handler+0x16d/0x1df
[    3.998293] RSP: e02b:ffff8800bb871970  EFLAGS: 00010246
[    3.998293] RAX: ffffc90000062000 RBX: ffff8800bb89c040 RCX: 0000000000000000
[    3.998293] RDX: ffff880002de90a0 RSI: 0000000000000001 RDI: ffffffff8100f22f
[    3.998293] RBP: ffff8800bb8719b0 R08: ffffffff8169e270 R09: 0000000000001000
[    3.998293] R10: dead000000100100 R11: ffffffff8100f22f R12: ffffc90000062000
[    3.998293] R13: 0000000000000000 R14: 0000000000000008 R15: ffff8800bb871a68
[    3.998293] FS:  0000000000000000(0000) GS:ffff880002dde000(0000) knlGS:0000000000000000
[    3.998293] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
[    3.998293] CR2: ffffc90000062000 CR3: 0000000001001000 CR4: 0000000000000660
[    3.998293] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    3.998293] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[    3.998293] Process swapper (pid: 1, threadinfo ffff8800bb870000, task ffff8800bb868000)
[    3.998293] Stack:
[    3.998293]  ffff8800bb8719a0 0000000000001000 ffff880000000000 ffff8800ba29b5a0
[    3.998293] <0> ffffffff81258325 ffff8800bb864b88 ffff8800ba29b240 0000000000000000
[    3.998293] <0> ffff8800bb871a20 ffffffff81250f08 ffff8800ba32b800 ffffffff81253f53
[    3.998293] Call Trace:
[    3.998293]  [<ffffffff81258325>] ? acpi_ex_system_memory_space_handler+0x0/0x1df
[    3.998293]  [<ffffffff81250f08>] acpi_ev_address_space_dispatch+0x16b/0x1b9
[    3.998293]  [<ffffffff81253f53>] ? acpi_os_allocate+0x33/0x35
[    3.998293]  [<ffffffff81253fe9>] acpi_ex_load_op+0x94/0x263
[    3.998293]  [<ffffffff812567ae>] acpi_ex_opcode_1A_1T_0R+0x25/0x4b
[    3.998293]  [<ffffffff8124e020>] acpi_ds_exec_end_op+0xea/0x3d6
[    3.998293]  [<ffffffff8125feef>] acpi_ps_parse_loop+0x7bb/0x940
[    3.998293]  [<ffffffff8124e8f5>] ? acpi_ds_call_control_method+0x174/0x1e3
[    3.998293]  [<ffffffff8125eff5>] acpi_ps_parse_aml+0x9a/0x2d9
[    3.998293]  [<ffffffff8126073a>] acpi_ps_execute_method+0x1e4/0x2b6
[    3.998293]  [<ffffffff8125bec9>] acpi_ns_evaluate+0xe1/0x1a8
[    3.998293]  [<ffffffff8125b910>] acpi_evaluate_object+0xf9/0x1f2
[    3.998293]  [<ffffffff81023da1>] ? init_intel_pdc+0xd1/0x191
[    3.998293]  [<ffffffff81269ec7>] acpi_processor_set_pdc+0x3c/0x3e
[    3.998293]  [<ffffffff8146988d>] xen_acpi_processor_add+0x303/0x43a
[    3.998293]  [<ffffffff812453a7>] acpi_device_probe+0x4b/0x11d
[    3.998293]  [<ffffffff812f7f70>] driver_probe_device+0x9a/0x11f
[    3.998293]  [<ffffffff812f804d>] __driver_attach+0x58/0x7c
[    3.998293]  [<ffffffff812f7ff5>] ? __driver_attach+0x0/0x7c
[    3.998293]  [<ffffffff812f75ce>] bus_for_each_dev+0x4e/0x83
[    3.998293]  [<ffffffff812f7def>] driver_attach+0x19/0x1b
[    3.998293]  [<ffffffff812f7a47>] bus_add_driver+0xb1/0x1fe
[    3.998293]  [<ffffffff812f8311>] driver_register+0x99/0x10a
[    3.998293]  [<ffffffff8173c1c1>] ? acpi_processor_init+0x0/0x128
[    3.998293]  [<ffffffff81245de0>] acpi_bus_register_driver+0x3e/0x40
[    3.998293]  [<ffffffff8126cd2a>] xen_acpi_processor_init+0x10/0x12
[    3.998293]  [<ffffffff8173c26f>] acpi_processor_init+0xae/0x128
[    3.998293]  [<ffffffff81245de0>] ? acpi_bus_register_driver+0x3e/0x40
[    3.998293]  [<ffffffff8173c14b>] ? acpi_video_init+0x0/0x76
[    3.998293]  [<ffffffff8100a05f>] do_one_initcall+0x59/0x170
[    3.998293]  [<ffffffff817176fe>] kernel_init+0x153/0x1a9
[    3.998293]  [<ffffffff81013caa>] child_rip+0xa/0x20
[    3.998293]  [<ffffffff81012e61>] ? int_ret_from_sys_call+0x7/0x1b
[    3.998293]  [<ffffffff8101361d>] ? retint_restore_args+0x5/0x6
[    3.998293]  [<ffffffff81013ca0>] ? child_rip+0x0/0x20
[    3.998293] Code: 8a 00 00 00 eb 45 41 83 fe 10 49 c7 07 00 00 00 00 74 1f 77 08 41 83 fe 08 75 71 eb 0e 41 83 fe 20 74 16 41 83 fe 40 75 63 eb 17 <41> 0f b6 04 24 eb 14 41 0f b7 04 24 eb 0d 45 8b 24 24 4d 89 27 
[    3.998293] RIP  [<ffffffff81258492>] acpi_ex_system_memory_space_handler+0x16d/0x1df
[    3.998293]  RSP <ffff8800bb871970>
[    3.998293] CR2: ffffc90000062000
[    3.998293] ---[ end trace a7919e7f17c0a725 ]---
[    6.528467] Kernel panic - not syncing: Attempted to kill init!
[    6.529428] Pid: 1, comm: swapper Tainted: G      D    2.6.32.21 #1
[    6.529428] Call Trace:
[    6.529428]  [<ffffffff81469c18>] panic+0x75/0x137
[    6.529428]  [<ffffffff8104add2>] do_exit+0x75/0x710
[    6.529428]  [<ffffffff8146cf0a>] oops_end+0xdb/0xe3
[    6.529428]  [<ffffffff810306c8>] no_context+0x21d/0x22c
[    6.529428]  [<ffffffff8100ce48>] ? xen_pte_val+0x64/0x68
[    6.529428]  [<ffffffff8103085d>] __bad_area_nosemaphore+0x186/0x1a9
[    6.529428]  [<ffffffff8103088e>] bad_area_nosemaphore+0xe/0x10
[    6.529428]  [<ffffffff8146e504>] do_page_fault+0x1c6/0x304
[    6.529428]  [<ffffffff8146c355>] page_fault+0x25/0x30
[    6.529428]  [<ffffffff8100f22f>] ? xen_restore_fl_direct_end+0x0/0x1
[    6.529428]  [<ffffffff8100f22f>] ? xen_restore_fl_direct_end+0x0/0x1
[    6.529428]  [<ffffffff81258492>] ? acpi_ex_system_memory_space_handler+0x16d/0x1df
[    6.529428]  [<ffffffff81258325>] ? acpi_ex_system_memory_space_handler+0x0/0x1df
[    6.529428]  [<ffffffff81250f08>] acpi_ev_address_space_dispatch+0x16b/0x1b9
[    6.529428]  [<ffffffff81253f53>] ? acpi_os_allocate+0x33/0x35
[    6.529428]  [<ffffffff81253fe9>] acpi_ex_load_op+0x94/0x263
[    6.529428]  [<ffffffff812567ae>] acpi_ex_opcode_1A_1T_0R+0x25/0x4b
[    6.529428]  [<ffffffff8124e020>] acpi_ds_exec_end_op+0xea/0x3d6
[    6.529428]  [<ffffffff8125feef>] acpi_ps_parse_loop+0x7bb/0x940
[    6.529428]  [<ffffffff8124e8f5>] ? acpi_ds_call_control_method+0x174/0x1e3
[    6.529428]  [<ffffffff8125eff5>] acpi_ps_parse_aml+0x9a/0x2d9
[    6.529428]  [<ffffffff8126073a>] acpi_ps_execute_method+0x1e4/0x2b6
[    6.529428]  [<ffffffff8125bec9>] acpi_ns_evaluate+0xe1/0x1a8
[    6.529428]  [<ffffffff8125b910>] acpi_evaluate_object+0xf9/0x1f2
[    6.529428]  [<ffffffff81023da1>] ? init_intel_pdc+0xd1/0x191
[    6.529428]  [<ffffffff81269ec7>] acpi_processor_set_pdc+0x3c/0x3e
[    6.529428]  [<ffffffff8146988d>] xen_acpi_processor_add+0x303/0x43a
[    6.529428]  [<ffffffff812453a7>] acpi_device_probe+0x4b/0x11d
[    6.529428]  [<ffffffff812f7f70>] driver_probe_device+0x9a/0x11f
[    6.529428]  [<ffffffff812f804d>] __driver_attach+0x58/0x7c
[    6.529428]  [<ffffffff812f7ff5>] ? __driver_attach+0x0/0x7c
[    6.529428]  [<ffffffff812f75ce>] bus_for_each_dev+0x4e/0x83
[    6.529428]  [<ffffffff812f7def>] driver_attach+0x19/0x1b
[    6.529428]  [<ffffffff812f7a47>] bus_add_driver+0xb1/0x1fe
[    6.529428]  [<ffffffff812f8311>] driver_register+0x99/0x10a
[    6.529428]  [<ffffffff8173c1c1>] ? acpi_processor_init+0x0/0x128
[    6.529428]  [<ffffffff81245de0>] acpi_bus_register_driver+0x3e/0x40
[    6.529428]  [<ffffffff8126cd2a>] xen_acpi_processor_init+0x10/0x12
[    6.529428]  [<ffffffff8173c26f>] acpi_processor_init+0xae/0x128
[    6.529428]  [<ffffffff81245de0>] ? acpi_bus_register_driver+0x3e/0x40
[    6.529428]  [<ffffffff8173c14b>] ? acpi_video_init+0x0/0x76
[    6.529428]  [<ffffffff8100a05f>] do_one_initcall+0x59/0x170
[    6.529428]  [<ffffffff817176fe>] kernel_init+0x153/0x1a9
[    6.529428]  [<ffffffff81013caa>] child_rip+0xa/0x20
[    6.529428]  [<ffffffff81012e61>] ? int_ret_from_sys_call+0x7/0x1b
[    6.529428]  [<ffffffff8101361d>] ? retint_restore_args+0x5/0x6
[    6.529428]  [<ffffffff81013ca0>] ? child_rip+0x0/0x20
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.
 __  __            _  _    ___   _    _    __      _ _____ 
 \ \/ /___ _ __   | || |  / _ \ / |  / |  / _| ___/ |___ / 
  \  // _ \ '_ \  | || |_| | | || |__| | | |_ / __| | |_ \ 
  /  \  __/ | | | |__   _| |_| || |__| |_|  _| (__| |___) |
 /_/\_\___|_| |_|    |_|(_)___(_)_|  |_(_)_|  \___|_|____/ 
                                                           
(XEN) Xen version 4.0.1 (root@) (gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) ) Wed Sep  8 19:23:00 CEST 2010
(XEN) Latest ChangeSet: unavailable
(XEN) Console output is synchronous.
(XEN) Bootloader: GNU GRUB 0.97
(XEN) Command line: dom_mem=196M loglvl=all guest_loglvl=all sync_console console_to_ring com1=19200,8n1 console=com1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009f800 (usable)
(XEN)  000000000009f800 - 00000000000a0000 (reserved)
(XEN)  00000000000e4000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000bbfa0000 (usable)
(XEN)  00000000bbfa0000 - 00000000bbfb0000 (ACPI data)
(XEN)  00000000bbfb0000 - 00000000bbfe0000 (ACPI NVS)
(XEN)  00000000bbfe0000 - 00000000bc000000 (reserved)
(XEN)  00000000fee00000 - 00000000fee01000 (reserved)
(XEN)  00000000ffb80000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000144000000 (usable)
(XEN) ACPI: RSDP 000FA9D0, 0014 (r0 ACPIAM)
(XEN) ACPI: RSDT BBFA0000, 0040 (r1 A M I  OEMRSDT  11000904 MSFT       97)
(XEN) ACPI: FACP BBFA0200, 0084 (r2 A_M_I  OEMFACP  12000601 MSFT       97)
(XEN) ACPI: DSDT BBFA0440, 5A31 (r1  AS268 AS268101      101 INTL 20051117)
(XEN) ACPI: FACS BBFB0000, 0040
(XEN) ACPI: APIC BBFA0390, 006C (r1 A M I  OEMAPIC  11000904 MSFT       97)
(XEN) ACPI: MCFG BBFA0400, 003C (r1 A M I  OEMMCFG  11000904 MSFT       97)
(XEN) ACPI: OEMB BBFB0040, 0061 (r1 A M I  AMI_OEM  11000904 MSFT       97)
(XEN) ACPI: AAFT BBFA5E80, 0027 (r1 A M I  OEMAAFT  11000904 MSFT       97)
(XEN) ACPI: HPET BBFA5EB0, 0038 (r1 A M I  OEMHPET  11000904 MSFT       97)
(XEN) ACPI: SSDT BBFB0530, 0A7C (r1 DpgPmm    CpuPm       12 INTL 20051117)
(XEN) System RAM: 4095MB (4193532kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000144000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000ff780
(XEN) DMI present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[bbfb000c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
(XEN) Processor #0 6:15 APIC version 20
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
(XEN) Processor #1 6:15 APIC version 20
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x82] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x83] disabled)
(XEN) ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
(XEN) ACPI: HPET id: 0xffffffff base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base f0000000 segment 0 buses 0 - 63
(XEN) PCI: Not using MMCONFIG.
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 2200.115 MHz processor.
(XEN) Initing memory sharing.
(XEN) Intel machine check reporting enabled
(XEN) I/O virtualisation disabled
(XEN) Total of 2 processors activated.
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) checking TSC synchronization across 2 CPUs: passed.
(XEN) Platform timer is 14.318MHz HPET
ÿ(XEN) Allocated console ring of 16 KiB.
(XEN) Brought up 2 CPUs
(XEN) microcode.c:73:d32767 microcode: CPU1 resumed
(XEN) HPET: 3 timers in total, 0 timers will be used for broadcast
(XEN) ACPI sleep modes: S3
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) *** LOADING DOMAIN 0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x198e000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   000000013c000000->0000000140000000 (985836 pages to be allocated)
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff8198e000
(XEN)  Init. ramdisk: ffffffff8198e000->ffffffff825fc400
(XEN)  Phys-Mach map: ffffffff825fd000->ffffffff82da2760
(XEN)  Start info:    ffffffff82da3000->ffffffff82da34b4
(XEN)  Page tables:   ffffffff82da4000->ffffffff82dbf000
(XEN)  Boot stack:    ffffffff82dbf000->ffffffff82dc0000
(XEN)  TOTAL:         ffffffff80000000->ffffffff83000000
(XEN)  ENTRY ADDRESS: ffffffff81717200
(XEN) Dom0 has maximum 2 VCPUs
(XEN) Scrubbing Free RAM: .done.
(XEN) trace.c:89:d32767 calc_tinfo_first_offset: NR_CPUs 128, offset_in_bytes 258, t_info_first_offset 65
(XEN) Xen trace buffers: disabled
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1... 
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 184kB init memory.
mapping kernel into physical memory
Xen: setup ISA identity maps
about to get started...
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 2.6.32.21 (root@ds9.space.zz) (gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) ) #1 SMP Wed Sep 8 19:49:49 CEST 2010
[    0.000000] Command line: ro root=/dev/mapper/space-ds9_lv_root nomodeset earlyprintk=xen console=hvc0
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] xen_release_chunk: looking at area pfn bc000-f4aec: 232172 pages freed
[    0.000000] released 232172 pages of unused memory
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  Xen: 0000000000000000 - 000000000009f800 (usable)
[    0.000000]  Xen: 000000000009f800 - 0000000000100000 (reserved)
[    0.000000]  Xen: 0000000000100000 - 00000000bbfa0000 (usable)
[    0.000000]  Xen: 00000000bbfa0000 - 00000000bbfb0000 (ACPI data)
[    0.000000]  Xen: 00000000bbfb0000 - 00000000bbfe0000 (ACPI NVS)
[    0.000000]  Xen: 00000000bbfe0000 - 00000000bc000000 (reserved)
[    0.000000]  Xen: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  Xen: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  Xen: 00000000ffb80000 - 0000000100000000 (reserved)
[    0.000000] bootconsole [xenboot0] enabled
[    0.000000] DMI present.
[    0.000000] AMI BIOS detected: BIOS may corrupt low RAM, working around it.
[    0.000000] last_pfn = 0xbbfa0 max_arch_pfn = 0x400000000
[    0.000000] x86 PAT enabled: cpu 0, old 0x50100070406, new 0x7010600070106
[    0.000000] Scanning 0 areas for low memory corruption
[    0.000000] modified physical RAM map:
[    0.000000]  modified: 0000000000000000 - 0000000000010000 (reserved)
[    0.000000]  modified: 0000000000010000 - 000000000009f800 (usable)
[    0.000000]  modified: 000000000009f800 - 0000000000100000 (reserved)
[    0.000000]  modified: 0000000000100000 - 00000000bbfa0000 (usable)
[    0.000000]  modified: 00000000bbfa0000 - 00000000bbfb0000 (ACPI data)
[    0.000000]  modified: 00000000bbfb0000 - 00000000bbfe0000 (ACPI NVS)
[    0.000000]  modified: 00000000bbfe0000 - 00000000bc000000 (reserved)
[    0.000000]  modified: 00000000fec00000 - 00000000fec01000 (reserved)
[    0.000000]  modified: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  modified: 00000000ffb80000 - 0000000100000000 (reserved)
[    0.000000] init_memory_mapping: 0000000000000000-00000000bbfa0000
[    0.000000] RAMDISK: 0198e000 - 025fc400
[    0.000000] ACPI: RSDP 00000000000fa9d0 00014 (v00 ACPIAM)
[    0.000000] ACPI: RSDT 00000000bbfa0000 00040 (v01 A M I  OEMRSDT  11000904 MSFT 00000097)
[    0.000000] ACPI: FACP 00000000bbfa0200 00084 (v02 A_M_I  OEMFACP  12000601 MSFT 00000097)
[    0.000000] ACPI: DSDT 00000000bbfa0440 05A31 (v01  AS268 AS268101 00000101 INTL 20051117)
[    0.000000] ACPI: FACS 00000000bbfb0000 00040
[    0.000000] ACPI: APIC 00000000bbfa0390 0006C (v01 A M I  OEMAPIC  11000904 MSFT 00000097)
[    0.000000] ACPI: MCFG 00000000bbfa0400 0003C (v01 A M I  OEMMCFG  11000904 MSFT 00000097)
[    0.000000] ACPI: OEMB 00000000bbfb0040 00061 (v01 A M I  AMI_OEM  11000904 MSFT 00000097)
[    0.000000] ACPI: AAFT 00000000bbfa5e80 00027 (v01 A M I  OEMAAFT  11000904 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000bbfa5eb0 00038 (v01 A M I  OEMHPET  11000904 MSFT 00000097)
[    0.000000] ACPI: SSDT 00000000bbfb0530 00A7C (v01 DpgPmm    CpuPm 00000012 INTL 20051117)
[    0.000000] (8 early reservations) ==> bootmem [0000000000 - 00bbfa0000]
[    0.000000]   #0 [0000000000 - 0000001000]   BIOS data page ==> [0000000000 - 0000001000]
[    0.000000]   #1 [0002da4000 - 0002dbf000]   XEN PAGETABLES ==> [0002da4000 - 0002dbf000]
[    0.000000]   #2 [0000006000 - 0000008000]       TRAMPOLINE ==> [0000006000 - 0000008000]
[    0.000000]   #3 [0001000000 - 0001864dd8]    TEXT DATA BSS ==> [0001000000 - 0001864dd8]
[    0.000000]   #4 [000198e000 - 00025fc400]          RAMDISK ==> [000198e000 - 00025fc400]
[    0.000000]   #5 [00025fd000 - 0002da4000]   XEN START INFO ==> [00025fd000 - 0002da4000]
[    0.000000]   #6 [0001865000 - 000187212b]              BRK ==> [0001865000 - 000187212b]
[    0.000000]   #7 [0000100000 - 00006c6000]          PGTABLE ==> [0000100000 - 00006c6000]
[    0.000000] found SMP MP-table at [ffff8800000ff780] ff780
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   DMA32    0x00001000 -> 0x00100000
[    0.000000]   Normal   0x00100000 -> 0x00100000
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[2] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x0000009f
[    0.000000]     0: 0x00000100 -> 0x000bbfa0
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    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[0x82] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x83] disabled)
[    0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 2, version 0, address 0xfec00000, GSI 0-0
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ERROR: Unable to locate IOAPIC for GSI 2
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ERROR: Unable to locate IOAPIC for GSI 9
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0xffffffff base: 0xfed00000
[    0.000000] SMP: Allowing 2 CPUs, 0 hotplug CPUs
[    0.000000] Allocating PCI resources starting at bc000000 (gap: bc000000:42c00000)
[    0.000000] Booting paravirtualized kernel on Xen
[    0.000000] Xen version: 4.0.1 (preserve-AD) (dom0)
[    0.000000] NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 29 pages/cpu @ffff880002dde000 s88024 r8192 d22568 u118784
[    0.000000] pcpu-alloc: s88024 r8192 d22568 u118784 alloc=29*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] Xen: using vcpu_info placement
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 757831
[    0.000000] Kernel command line: ro root=/dev/mapper/space-ds9_lv_root nomodeset earlyprintk=xen console=hvc0
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.000000] Initializing CPU#0
[    0.000000] DMA: Placing 64MB software IO TLB between ffff8800061d7000 - ffff88000a1d7000
[    0.000000] DMA: software IO TLB at phys 0x61d7000 - 0xa1d7000
[    0.000000] xen_swiotlb_fixup: buf=ffff8800061d7000 size=67108864
[    0.000000] xen_swiotlb_fixup: buf=ffff88000a237000 size=32768
[    0.000000] Memory: 2927908k/3079808k available (4546k kernel code, 452k absent, 150836k reserved, 2619k data, 560k init)
[    0.000000] SLUB: Genslabs=13, HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:4352 nr_irqs:768
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] xen: sci override: source_irq=9 global_irq=9 trigger=c polarity=1
[    0.000000] xen_allocate_pirq: returning irq 9 for gsi 9
[    0.000000] xen: acpi sci 9
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] console [hvc0] enabled, bootconsole disabled
[    0.000000] installing Xen timer for CPU 0
[    0.000000] Detected 2200.114 MHz processor.
[    0.000999] Calibrating delay loop (skipped), value calculated using timer frequency.. 4400.22 BogoMIPS (lpj=2200114)
[    0.000999] Security Framework initialized
[    0.000999] SELinux:  Initializing.
[    0.000999] Mount-cache hash table entries: 256
[    0.001195] Initializing cgroup subsys ns
[    0.001999] Initializing cgroup subsys cpuacct
[    0.001999] Initializing cgroup subsys freezer
[    0.002028] CPU: L1 I cache: 32K, L1 D cache: 32K
[    0.002999] CPU: L2 cache: 1024K
[    0.003006] CPU: Physical Processor ID: 0
[    0.003999] CPU: Processor Core ID: 0
[    0.004005] mce: CPU supports 6 MCE banks
[    0.005018] Performance Events: unsupported p6 CPU model 15 no PMU driver, software events only.
[    0.005999] SMP alternatives: switching to UP code
[    0.005999] ACPI: Core revision 20090903
[    0.017073] cpu 0 spinlock event irq 766
[    0.018210] installing Xen timer for CPU 1
[    0.019022] cpu 1 spinlock event irq 760
[    0.020018] SMP alternatives: switching to SMP code
[    0.000999] Initializing CPU#1
[    0.000999] CPU: L1 I cache: 32K, L1 D cache: 32K
[    0.000999] CPU: L2 cache: 1024K
[    0.000999] CPU: Physical Processor ID: 0
[    0.000999] CPU: Processor Core ID: 1
[    0.021145] Brought up 2 CPUs
[    0.022221] Grant table initialized
[    0.023051] NET: Registered protocol family 16
[    0.024076] ACPI: bus type pci registered
[    0.025067] PCI: MCFG configuration 0: base f0000000 segment 0 buses 0 - 63
[    0.025996] PCI: Not using MMCONFIG.
[    0.025996] PCI: Using configuration type 1 for base access
[    0.034049] bio: create slab <bio-0> at 0
[    0.037141] ERROR: Unable to locate IOAPIC for GSI 9
[    0.044750] ACPI: Executed 1 blocks of module-level executable AML code
[    0.053761] ACPI: Interpreter enabled
[    0.053991] ACPI: (supports S0 S5)
[    0.053991] ACPI: Using IOAPIC for interrupt routing
[    0.054061] PCI: MCFG configuration 0: base f0000000 segment 0 buses 0 - 63
[    0.060594] PCI: MCFG area at f0000000 reserved in ACPI motherboard resources
[    0.074127] PCI: Using MMCONFIG at f0000000 - f3ffffff
[    0.094088] ACPI Warning: Incorrect checksum in table [OEMB] - 56, should be 51 (20090903/tbutils-314)
[    0.094985] ACPI: No dock devices found.
[    0.095436] ACPI: PCI Root Bridge [PCI0] (0000:00)
[    0.096278] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[    0.096985] pci 0000:00:01.0: PME# disabled
[    0.097362] pci 0000:00:1a.7: PME# supported from D0 D3hot D3cold
[    0.097985] pci 0000:00:1a.7: PME# disabled
[    0.097985] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[    0.097985] pci 0000:00:1b.0: PME# disabled
[    0.097985] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    0.097985] pci 0000:00:1c.0: PME# disabled
[    0.097985] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
[    0.097985] pci 0000:00:1c.1: PME# disabled
[    0.097985] pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold
[    0.097985] pci 0000:00:1c.2: PME# disabled
[    0.097985] pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold
[    0.097985] pci 0000:00:1c.3: PME# disabled
[    0.097985] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[    0.097985] pci 0000:00:1d.7: PME# disabled
[    0.097985] pci 0000:00:1f.0: quirk: region 0800-087f claimed by ICH6 ACPI/GPIO/TCO
[    0.097985] pci 0000:00:1f.0: quirk: region 0480-04bf claimed by ICH6 GPIO
[    0.097985] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0280 (mask 00ff)
[    0.097985] pci 0000:00:1f.2: PME# supported from D3hot
[    0.097985] pci 0000:00:1f.2: PME# disabled
[    0.097985] pci 0000:00:1f.5: PME# supported from D3hot
[    0.097985] pci 0000:00:1f.5: PME# disabled
[    0.098732] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.098984] pci 0000:02:00.0: PME# disabled
[    0.098984] pci 0000:01:00.0: PME# supported from D2 D3hot D3cold
[    0.098984] pci 0000:01:00.0: PME# disabled
[    0.098984] pci 0000:01:00.1: PME# supported from D2 D3hot D3cold
[    0.098984] pci 0000:01:00.1: PME# disabled
[    0.098984] pci 0000:00:1e.0: transparent bridge
(XEN) PCI add device 00:00.0
(XEN) PCI add device 00:01.0
(XEN) PCI add device 00:1a.0
(XEN) PCI add device 00:1a.1
(XEN) PCI add device 00:1a.7
(XEN) PCI add device 00:1b.0
(XEN) PCI add device 00:1c.0
(XEN) PCI add device 00:1c.1
(XEN) PCI add device 00:1c.2
(XEN) PCI add device 00:1c.3
(XEN) PCI add device 00:1d.0
(XEN) PCI add device 00:1d.1
(XEN) PCI add device 00:1d.2
(XEN) PCI add device 00:1d.7
(XEN) PCI add device 00:1e.0
(XEN) PCI add device 00:1f.0
(XEN) PCI add device 00:1f.2
(XEN) PCI add device 00:1f.3
(XEN) PCI add device 00:1f.5
(XEN) PCI add device 06:00.0
(XEN) PCI add device 02:00.0
(XEN) PCI add device 01:00.0
(XEN) PCI add device 01:00.1
(XEN) PCI add device 05:01.0
[    0.142135] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 *5 6 7 10 11 12 14 15)
[    0.142978] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 11 12 14 *15)
[    0.142978] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 10 *11 12 14 15)
[    0.142978] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *10 11 12 14 15)
[    0.143978] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.
[    0.143978] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 *14 15)
[    0.143978] ACPI: PCI Interrupt Link [LNKG] (IRQs *3 4 5 6 7 10 11 12 14 15)
[    0.143978] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 *10 11 12 14 15)
[    0.145056] xen_balloon: Initialising balloon driver with page order 0.
[    0.146051] vgaarb: device added: PCI:0000:06:00.0,decodes=io+mem,owns=io+mem,locks=none
[    0.146977] vgaarb: loaded
[    0.147147] SCSI subsystem initialized
[    0.148046] usbcore: registered new interface driver usbfs
[    0.149009] usbcore: registered new interface driver hub
[    0.150033] usbcore: registered new device driver usb
[    0.151045] PCI: Using ACPI for IRQ routing
[    0.152054] NetLabel: Initializing
[    0.152976] NetLabel:  domain hash size = 128
[    0.152976] NetLabel:  protocols = UNLABELED CIPSOv4
[    0.152976] NetLabel:  unlabeled traffic allowed by default
[    0.153066] Switching to clocksource xen
[    0.157261] pnp: PnP ACPI init
[    0.158004] ACPI: bus type pnp registered
[    0.200618] xen_allocate_pirq: returning irq 8 for gsi 8
[    0.232628] xen_allocate_pirq: returning irq 13 for gsi 13
[    0.267578] xen_allocate_pirq: returning irq 7 for gsi 7
[    0.301245] xen_allocate_pirq: returning irq 1 for gsi 1
[    0.333236] xen_allocate_pirq: returning irq 12 for gsi 12
[    0.367574] xen_allocate_pirq: returning irq 4 for gsi 4
[    0.399312] Already setup the GSI :4
[    0.423096] pnp: PnP ACPI: found 18 devices
[    0.424005] ACPI: ACPI bus type pnp unregistered
[    0.424005] system 00:01: iomem range 0xfed14000-0xfed19fff has been reserved
[    0.424005] system 00:07: ioport range 0x4d0-0x4d1 has been reserved
[    0.424005] system 00:07: ioport range 0x800-0x87f has been reserved
[    0.424005] system 00:07: ioport range 0x480-0x4bf has been reserved
[    0.424005] system 00:07: ioport range 0x900-0x90f has been reserved
[    0.424005] system 00:07: iomem range 0xfed1c000-0xfed1ffff has been reserved
[    0.424005] system 00:07: iomem range 0xfed20000-0xfed8ffff has been reserved
[    0.424005] system 00:0a: iomem range 0xffc00000-0xfff7ffff has been reserved
[    0.424005] system 00:0b: iomem range 0xfec00000-0xfec00fff could not be reserved
[    0.424005] system 00:0b: iomem range 0xfee00000-0xfee00fff has been reserved
[    0.424005] system 00:0f: ioport range 0x280-0x28f has been reserved
[    0.424005] system 00:0f: ioport range 0x290-0x29f has been reserved
[    0.424005] system 00:10: iomem range 0xf0000000-0xf3ffffff has been reserved
[    0.424005] system 00:11: iomem range 0x0-0x9ffff could not be reserved
[    0.424005] system 00:11: iomem range 0xc0000-0xcffff could not be reserved
[    0.424005] system 00:11: iomem range 0xe0000-0xfffff could not be reserved
[    0.424005] system 00:11: iomem range 0x100000-0xbbffffff could not be reserved
[    1.186973] PM-Timer failed consistency check  (0x0xffffff) - aborting.
[    1.187002] pci 0000:00:01.0: PCI bridge, secondary bus 0000:06
[    1.187002] pci 0000:00:01.0:   IO window: 0xe000-0xefff
[    1.187002] pci 0000:00:01.0:   MEM window: 0xfa000000-0xfebfffff
[    1.187002] pci 0000:00:01.0:   PREFETCH window: 0x000000c0000000-0x000000dfffffff
[    1.187002] pci 0000:00:1c.0: PCI bridge, secondary bus 0000:04
[    1.187002] pci 0000:00:1c.0:   IO window: 0x1000-0x1fff
[    1.187002] pci 0000:00:1c.0:   MEM window: 0xbc000000-0xbc3fffff
[    1.187002] pci 0000:00:1c.0:   PREFETCH window: 0x000000bff00000-0x000000bfffffff
[    1.187002] pci 0000:00:1c.1: PCI bridge, secondary bus 0000:03
[    1.187002] pci 0000:00:1c.1:   IO window: 0x2000-0x2fff
[    1.187002] pci 0000:00:1c.1:   MEM window: 0xbc400000-0xbc7fffff
[    1.187002] pci 0000:00:1c.1:   PREFETCH window: 0x000000bfe00000-0x000000bfefffff
[    1.187002] pci 0000:00:1c.2: PCI bridge, secondary bus 0000:02
[    1.187002] pci 0000:00:1c.2:   IO window: 0xc000-0xcfff
[    1.187002] pci 0000:00:1c.2:   MEM window: 0xf9e00000-0xf9efffff
[    1.187002] pci 0000:00:1c.2:   PREFETCH window: 0x000000bfd00000-0x000000bfdfffff
[    1.187002] pci 0000:00:1c.3: PCI bridge, secondary bus 0000:01
[    1.187002] pci 0000:00:1c.3:   IO window: 0xb000-0xbfff
[    1.187002] pci 0000:00:1c.3:   MEM window: 0xf9d00000-0xf9dfffff
[    1.187002] pci 0000:00:1c.3:   PREFETCH window: 0x000000bc800000-0x000000bc9fffff
[    1.187002] pci 0000:00:1e.0: PCI bridge, secondary bus 0000:05
[    1.187002] pci 0000:00:1e.0:   IO window: 0xd000-0xdfff
[    1.187002] pci 0000:00:1e.0:   MEM window: 0xf9f00000-0xf9ffffff
[    1.187002] pci 0000:00:1e.0:   PREFETCH window: disabled
[    2.119105] pci 0000:00:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    2.120080] pci 0000:00:1c.0: enabling device (0106 -> 0107)
[    2.194104] pci 0000:00:1c.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    2.195092] pci 0000:00:1c.1: enabling device (0106 -> 0107)
[    2.195092] xen_allocate_pirq: returning irq 16 for gsi 16
[    2.302247] Already setup the GSI :16
[    2.303241] pci 0000:00:1c.1: PCI INT B -> GSI 16 (level, low) -> IRQ 16
[    2.365201] pci 0000:00:1c.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    2.405920] pci 0000:00:1c.3: PCI INT D -> GSI 19 (level, low) -> IRQ 19
[    2.446637] NET: Registered protocol family 2
[    2.447530] IP route cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    2.518122] TCP established hash table entries: 262144 (order: 10, 4194304 bytes)
[    2.564886] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    2.565017] TCP: Hash tables configured (established 262144 bind 65536)
[    2.565017] TCP reno registered
[    2.565017] NET: Registered protocol family 1
[    2.691251] RPC: Registered udp transport module.
[    2.692183] RPC: Registered tcp transport module.
[    2.692183] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    2.787567] Trying to unpack rootfs image as initramfs...
[    2.850671] Freeing initrd memory: 12729k freed
[    2.884992] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    2.885012] DMA: Placing 64MB software IO TLB between ffff8800061d7000 - ffff88000a1d7000
[    2.885012] DMA: software IO TLB at phys 0x61d7000 - 0xa1d7000
[    3.010452] Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    3.011419] Scanning for low memory corruption every 60 seconds
[    3.093744] audit: initializing netlink socket (disabled)
[    3.126042] type=2000 audit(1283976752.108:1): initialized
[    3.167172] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    3.209748] VFS: Disk quotas dquot_6.5.2
[    3.233512] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    3.274195] msgmni has been set to 5744
[    3.298054] alg: No test for stdrng (krng)
[    3.322710] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    3.323675] io scheduler noop registered
[    3.323675] io scheduler anticipatory registered
[    3.323675] io scheduler deadline registered
[    3.445397] io scheduler cfq registered (default)
[    3.476350] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    3.510321] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0
[    3.511284] ACPI: Power Button [PWRB]
[    3.582771] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    3.583681] ACPI: Power Button [PWRF]
[    3.650722] ACPI: SSDT 00000000bbfb00b0 00235 (v01 DpgPmm  P001Ist 00000011 INTL 20051117)
[    3.701129] ACPI: SSDT 00000000bbfb02f0 00235 (v01 DpgPmm  P002Ist 00000012 INTL 20051117)
(XEN) mm.c:860:d0 Error getting mfn 80000 (pfn 7c9ec) from L1 entry 8000000080000473 for l1e_owner=0, pg_owner=32753
[    3.752005] BUG: unable to handle kernel paging request at ffffc90000062000
[    3.752005] IP: [<ffffffff81258492>] acpi_ex_system_memory_space_handler+0x16d/0x1df
[    3.752005] PGD bb80d067 PUD bb80e067 PMD bb80f067 PTE 0
[    3.752005] Oops: 0000 [#1] SMP 
[    3.752005] last sysfs file: 
[    3.752005] CPU 0 
[    3.752005] Modules linked in:
[    3.752005] Pid: 1, comm: swapper Not tainted 2.6.32.21 #1 To Be Filled By O.E.M.
[    3.752005] RIP: e030:[<ffffffff81258492>]  [<ffffffff81258492>] acpi_ex_system_memory_space_handler+0x16d/0x1df
[    3.752005] RSP: e02b:ffff8800bb871970  EFLAGS: 00010246
[    3.752005] RAX: ffffc90000062000 RBX: ffff8800ba2e25c0 RCX: 0000000000000000
[    3.752005] RDX: ffff880002de90a0 RSI: 0000000000000001 RDI: 0000000000000001
[    3.752005] RBP: ffff8800bb8719b0 R08: ffffffff8169e270 R09: 0000000000001000
[    3.752005] R10: 0000000000000080 R11: 0000000000000001 R12: ffffc90000062000
[    3.752005] R13: 0000000000000000 R14: 0000000000000008 R15: ffff8800bb871a68
[    3.752005] FS:  0000000000000000(0000) GS:ffff880002dde000(0000) knlGS:0000000000000000
[    3.752005] CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
[    3.752005] CR2: ffffc90000062000 CR3: 0000000001001000 CR4: 0000000000000660
[    3.752005] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    3.752005] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[    3.752005] Process swapper (pid: 1, threadinfo ffff8800bb870000, task ffff8800bb868000)
[    3.752005] Stack:
[    3.752005]  ffff8800bb8719a0 0000000000001000 ffff880000000000 ffff8800ba2c6288
[    3.752005] <0> ffffffff81258325 ffff8800bb8624c8 ffff8800ba2c61f8 0000000000000000
[    3.752005] <0> ffff8800bb871a20 ffffffff81250f08 ffff8800bba6bc00 ffffffff81253f53
[    3.752005] Call Trace:
[    3.752005]  [<ffffffff81258325>] ? acpi_ex_system_memory_space_handler+0x0/0x1df
[    3.752005]  [<ffffffff81250f08>] acpi_ev_address_space_dispatch+0x16b/0x1b9
[    3.752005]  [<ffffffff81253f53>] ? acpi_os_allocate+0x33/0x35
[    3.752005]  [<ffffffff81253fe9>] acpi_ex_load_op+0x94/0x263
[    3.752005]  [<ffffffff812567ae>] acpi_ex_opcode_1A_1T_0R+0x25/0x4b
[    3.752005]  [<ffffffff8124e020>] acpi_ds_exec_end_op+0xea/0x3d6
[    3.752005]  [<ffffffff8125feef>] acpi_ps_parse_loop+0x7bb/0x940
[    3.752005]  [<ffffffff8124e8f5>] ? acpi_ds_call_control_method+0x174/0x1e3
[    3.752005]  [<ffffffff8125eff5>] acpi_ps_parse_aml+0x9a/0x2d9
[    3.752005]  [<ffffffff8126073a>] acpi_ps_execute_method+0x1e4/0x2b6
[    3.752005]  [<ffffffff8125bec9>] acpi_ns_evaluate+0xe1/0x1a8
[    3.752005]  [<ffffffff8125b910>] acpi_evaluate_object+0xf9/0x1f2
[    3.752005]  [<ffffffff81023da1>] ? init_intel_pdc+0xd1/0x191
[    3.752005]  [<ffffffff81269ec7>] acpi_processor_set_pdc+0x3c/0x3e
[    3.752005]  [<ffffffff8146988d>] xen_acpi_processor_add+0x303/0x43a
[    3.752005]  [<ffffffff812453a7>] acpi_device_probe+0x4b/0x11d
[    3.752005]  [<ffffffff812f7f70>] driver_probe_device+0x9a/0x11f
[    3.752005]  [<ffffffff812f804d>] __driver_attach+0x58/0x7c
[    3.752005]  [<ffffffff812f7ff5>] ? __driver_attach+0x0/0x7c
[    3.752005]  [<ffffffff812f75ce>] bus_for_each_dev+0x4e/0x83
[    3.752005]  [<ffffffff812f7def>] driver_attach+0x19/0x1b
[    3.752005]  [<ffffffff812f7a47>] bus_add_driver+0xb1/0x1fe
[    3.752005]  [<ffffffff812f8311>] driver_register+0x99/0x10a
[    3.752005]  [<ffffffff8173c1c1>] ? acpi_processor_init+0x0/0x128
[    3.752005]  [<ffffffff81245de0>] acpi_bus_register_driver+0x3e/0x40
[    3.752005]  [<ffffffff8126cd2a>] xen_acpi_processor_init+0x10/0x12
[    3.752005]  [<ffffffff8173c26f>] acpi_processor_init+0xae/0x128
[    3.752005]  [<ffffffff81245de0>] ? acpi_bus_register_driver+0x3e/0x40
[    3.752005]  [<ffffffff8173c14b>] ? acpi_video_init+0x0/0x76
[    3.752005]  [<ffffffff8100a05f>] do_one_initcall+0x59/0x170
[    3.752005]  [<ffffffff817176fe>] kernel_init+0x153/0x1a9
[    3.752005]  [<ffffffff81013caa>] child_rip+0xa/0x20
[    3.752005]  [<ffffffff81012e61>] ? int_ret_from_sys_call+0x7/0x1b
[    3.752005]  [<ffffffff8101361d>] ? retint_restore_args+0x5/0x6
[    3.752005]  [<ffffffff81013ca0>] ? child_rip+0x0/0x20
[    3.752005] Code: 8a 00 00 00 eb 45 41 83 fe 10 49 c7 07 00 00 00 00 74 1f 77 08 41 83 fe 08 75 71 eb 0e 41 83 fe 20 74 16 41 83 fe 40 75 63 eb 17 <41> 0f b6 04 24 eb 14 41 0f b7 04 24 eb 0d 45 8b 24 24 4d 89 27 
[    3.752005] RIP  [<ffffffff81258492>] acpi_ex_system_memory_space_handler+0x16d/0x1df
[    3.752005]  RSP <ffff8800bb871970>
[    3.752005] CR2: ffffc90000062000
[    3.752005] ---[ end trace a7919e7f17c0a725 ]---
[    6.281968] Kernel panic - not syncing: Attempted to kill init!
[    6.282930] Pid: 1, comm: swapper Tainted: G      D    2.6.32.21 #1
[    6.282930] Call Trace:
[    6.282930]  [<ffffffff81469c18>] panic+0x75/0x137
[    6.282930]  [<ffffffff8104add2>] do_exit+0x75/0x710
[    6.282930]  [<ffffffff8146cf0a>] oops_end+0xdb/0xe3
[    6.282930]  [<ffffffff810306c8>] no_context+0x21d/0x22c
[    6.282930]  [<ffffffff8100ce48>] ? xen_pte_val+0x64/0x68
[    6.282930]  [<ffffffff8103085d>] __bad_area_nosemaphore+0x186/0x1a9
[    6.282930]  [<ffffffff8103088e>] bad_area_nosemaphore+0xe/0x10
[    6.282930]  [<ffffffff8146e504>] do_page_fault+0x1c6/0x304
[    6.282930]  [<ffffffff8146c355>] page_fault+0x25/0x30
[    6.282930]  [<ffffffff81258492>] ? acpi_ex_system_memory_space_handler+0x16d/0x1df
[    6.282930]  [<ffffffff81258325>] ? acpi_ex_system_memory_space_handler+0x0/0x1df
[    6.282930]  [<ffffffff81250f08>] acpi_ev_address_space_dispatch+0x16b/0x1b9
[    6.282930]  [<ffffffff81253f53>] ? acpi_os_allocate+0x33/0x35
[    6.282930]  [<ffffffff81253fe9>] acpi_ex_load_op+0x94/0x263
[    6.282930]  [<ffffffff812567ae>] acpi_ex_opcode_1A_1T_0R+0x25/0x4b
[    6.282930]  [<ffffffff8124e020>] acpi_ds_exec_end_op+0xea/0x3d6
[    6.282930]  [<ffffffff8125feef>] acpi_ps_parse_loop+0x7bb/0x940
[    6.282930]  [<ffffffff8124e8f5>] ? acpi_ds_call_control_method+0x174/0x1e3
[    6.282930]  [<ffffffff8125eff5>] acpi_ps_parse_aml+0x9a/0x2d9
[    6.282930]  [<ffffffff8126073a>] acpi_ps_execute_method+0x1e4/0x2b6
[    6.282930]  [<ffffffff8125bec9>] acpi_ns_evaluate+0xe1/0x1a8
[    6.282930]  [<ffffffff8125b910>] acpi_evaluate_object+0xf9/0x1f2
[    6.282930]  [<ffffffff81023da1>] ? init_intel_pdc+0xd1/0x191
[    6.282930]  [<ffffffff81269ec7>] acpi_processor_set_pdc+0x3c/0x3e
[    6.282930]  [<ffffffff8146988d>] xen_acpi_processor_add+0x303/0x43a
[    6.282930]  [<ffffffff812453a7>] acpi_device_probe+0x4b/0x11d
[    6.282930]  [<ffffffff812f7f70>] driver_probe_device+0x9a/0x11f
[    6.282930]  [<ffffffff812f804d>] __driver_attach+0x58/0x7c
[    6.282930]  [<ffffffff812f7ff5>] ? __driver_attach+0x0/0x7c
[    6.282930]  [<ffffffff812f75ce>] bus_for_each_dev+0x4e/0x83
[    6.282930]  [<ffffffff812f7def>] driver_attach+0x19/0x1b
[    6.282930]  [<ffffffff812f7a47>] bus_add_driver+0xb1/0x1fe
[    6.282930]  [<ffffffff812f8311>] driver_register+0x99/0x10a
[    6.282930]  [<ffffffff8173c1c1>] ? acpi_processor_init+0x0/0x128
[    6.282930]  [<ffffffff81245de0>] acpi_bus_register_driver+0x3e/0x40
[    6.282930]  [<ffffffff8126cd2a>] xen_acpi_processor_init+0x10/0x12
[    6.282930]  [<ffffffff8173c26f>] acpi_processor_init+0xae/0x128
[    6.282930]  [<ffffffff81245de0>] ? acpi_bus_register_driver+0x3e/0x40
[    6.282930]  [<ffffffff8173c14b>] ? acpi_video_init+0x0/0x76
[    6.282930]  [<ffffffff8100a05f>] do_one_initcall+0x59/0x170
[    6.282930]  [<ffffffff817176fe>] kernel_init+0x153/0x1a9
[    6.282930]  [<ffffffff81013caa>] child_rip+0xa/0x20
[    6.282930]  [<ffffffff81012e61>] ? int_ret_from_sys_call+0x7/0x1b
[    6.282930]  [<ffffffff8101361d>] ? retint_restore_args+0x5/0x6
[    6.282930]  [<ffffffff81013ca0>] ? child_rip+0x0/0x20
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

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

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

* AW: Re: Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21  pvops Kernel?
  2010-09-08 20:15   ` AW: " Carsten Schiers
@ 2010-09-09  9:57     ` Jan Beulich
  2010-09-09 18:27       ` Carsten Schiers
  0 siblings, 1 reply; 27+ messages in thread
From: Jan Beulich @ 2010-09-09  9:57 UTC (permalink / raw)
  To: Carsten Schiers; +Cc: xen-devel

>>> On 08.09.10 at 22:15, "Carsten Schiers" <carsten@schiers.de> wrote:
> Hi,
> 
> no change when I set e.g. to dom0_mem=3000M (see below and in log. In 
> log, I also tried 196M, same result).

You spell it right here, but the logs in the other mail say you used
"dom_mem="...

Jan

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

* AW: Re: Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel?
  2010-09-09  9:57     ` Jan Beulich
@ 2010-09-09 18:27       ` Carsten Schiers
  2010-09-09 18:40         ` Carsten Schiers
  2010-09-10  8:48         ` AW: " Jan Beulich
  0 siblings, 2 replies; 27+ messages in thread
From: Carsten Schiers @ 2010-09-09 18:27 UTC (permalink / raw)
  To: JBeulich; +Cc: xen-devel

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

Ups. My fault. But this won't make a difference. Find log for 3840MB, 
1024MB, and 256MB in attached log.

(XEN) Command line: dom0_mem=3840M loglvl=all guest_loglvl=all 
sync_console console_to_ring com1=19200,8n1 console=com1
...
[    3.579906] input: Power Button as 
/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    3.580827] ACPI: Power Button [PWRF]
[    3.647887] ACPI: SSDT 00000000bbfb00b0 00235 (v01 DpgPmm  P001Ist 
00000011 INTL 20051117)
[    3.698280] ACPI: SSDT 00000000bbfb02f0 00235 (v01 DpgPmm  P002Ist 
00000012 INTL 20051117)
(XEN) mm.c:860:d0 Error getting mfn 80000 (pfn 7c9ec) from L1 entry 
8000000080000473 for l1e_owner=0, pg_owner=32753
[    3.749005] BUG: unable to handle kernel paging request at 
ffffc90000062000
[    3.749005] IP: [<ffffffff81258492>] 
acpi_ex_system_memory_space_handler+0x16d/0x1df
[    3.749005] PGD bb80d067 PUD bb80e067 PMD bb80f067 PTE 0
[    3.749005] Oops: 0000 [#1] SMP 

I did a 

  cp /proc/acpi/dsdt > DSDT
  iasl -d DSDT 

and provided the output, just in case it is what you needed. I will for 
sure need some time to understand that.
Is the hypothesis that a) the BIOS is wrong, and b) Xen is checking more 
extreme than bare metal, so we need to
make the Xen Code a bit more relaxed (error message instead of crash)?

How to extract SSDT I don't know. Are they in this file also?

BR,
Carsten.

-----Ursprüngliche Nachricht-----
Von: Jan Beulich [mailto:JBeulich@novell.com] 
Gesendet: Donnerstag, 9. September 2010 11:58
An: Carsten Schiers
Cc: xen-devel
Betreff: AW: Re: [Xen-devel] Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 
pvops Kernel?

>>> On 08.09.10 at 22:15, "Carsten Schiers" <carsten@schiers.de> wrote:
> Hi,
> 
> no change when I set e.g. to dom0_mem=3000M (see below and in log. In 
> log, I also tried 196M, same result).

You spell it right here, but the logs in the other mail say you used
"dom_mem="...

Jan




[-- Attachment #2: putty.log --]
[-- Type: application/octet-stream, Size: 106057 bytes --]

[-- Attachment #3: DSDT.dsl --]
[-- Type: application/octet-stream, Size: 214677 bytes --]

/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20090123
 *
 * Disassembly of DSDT, Thu Sep  9 20:22:19 2010
 *
 *
 * Original Table Header:
 *     Signature        "DSDT"
 *     Length           0x00005A31 (23089)
 *     Revision         0x01 **** ACPI 1.0, no 64-bit math support
 *     Checksum         0xA5
 *     OEM ID           "AS268"
 *     OEM Table ID     "AS268101"
 *     OEM Revision     0x00000101 (257)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20051117 (537202967)
 */
DefinitionBlock ("DSDT.aml", "DSDT", 1, "AS268", "AS268101", 0x00000101)
{
    Scope (_PR)
    {
        Processor (P001, 0x01, 0x00000810, 0x06) {}
        Alias (P001, CPU1)
        Processor (P002, 0x02, 0x00000000, 0x00) {}
        Alias (P002, CPU2)
        Processor (P003, 0x03, 0x00000000, 0x00) {}
        Alias (P003, CPU3)
        Processor (P004, 0x04, 0x00000000, 0x00) {}
        Alias (P004, CPU4)
    }

    Name (DP80, 0x80)
    Name (DP90, 0x90)
    Name (WKTP, Zero)
    Name (SPIO, 0x2E)
    Name (IOSB, 0x0280)
    Name (IOSL, 0x10)
    Name (IOHB, 0x0290)
    Name (IOHL, 0x10)
    Name (APIC, One)
    Name (SMIP, 0xB2)
    Name (PMBS, 0x0800)
    Name (PMLN, 0x80)
    Name (GPBS, 0x0480)
    Name (GPLN, 0x40)
    Name (SMBS, Zero)
    Name (SMBL, Zero)
    Name (PM30, 0x0830)
    Name (SUSW, 0xFF)
    Name (TOBS, 0x0860)
    Name (SUCC, One)
    Name (NVLD, 0x02)
    Name (CRIT, 0x04)
    Name (NCRT, 0x06)
    Name (LIDS, One)
    Name (PCIB, 0xF0000000)
    Name (PCIL, 0x04000000)
    OperationRegion (BIOS, SystemMemory, 0xBBFB0064, 0xFF)
    Field (BIOS, ByteAcc, NoLock, Preserve)
    {
        SS1,    1, 
        SS2,    1, 
        SS3,    1, 
        SS4,    1, 
                Offset (0x01), 
        IOST,   16, 
        TOPM,   32, 
        ROMS,   32, 
        MG1B,   32, 
        MG1L,   32, 
        MG2B,   32, 
        MG2L,   32, 
                Offset (0x1C), 
        DMAX,   8, 
        HPTA,   32, 
        CPB0,   32, 
        CPB1,   32, 
        CPB2,   32, 
        CPB3,   32, 
        ASSB,   8, 
        AOTB,   8, 
        AAXB,   32, 
        SMIF,   8, 
        DTSE,   8, 
        DTS1,   8, 
        DTS2,   8, 
        MPEN,   8, 
        IDEP,   8
    }

    Method (RRIO, 4, NotSerialized)
    {
        Store ("RRIO", Debug)
    }

    Method (RDMA, 3, NotSerialized)
    {
        Store ("rDMA", Debug)
    }

    Name (PICM, Zero)
    Method (_PIC, 1, NotSerialized)
    {
        If (Arg0)
        {
            Store (0xAA, DBG8)
        }
        Else
        {
            Store (0xAC, DBG8)
        }

        Store (Arg0, PICM)
    }

    Name (OSVR, Ones)
    Method (OSFL, 0, NotSerialized)
    {
        If (LNotEqual (OSVR, Ones))
        {
            Return (OSVR)
        }

        If (LEqual (PICM, Zero))
        {
            Store (0xAC, DBG8)
        }

        Store (One, OSVR)
        If (CondRefOf (_OSI, Local1))
        {
            If (_OSI ("Windows 2001"))
            {
                Store (Zero, OSVR)
            }
        }
        Else
        {
            If (MCTH (_OS, "Microsoft Windows NT"))
            {
                Store (0x04, OSVR)
            }
            Else
            {
                If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
                {
                    Store (0x02, OSVR)
                }

                If (MCTH (_OS, "Linux"))
                {
                    Store (0x03, OSVR)
                }
            }
        }

        Return (OSVR)
    }

    Method (MCTH, 2, NotSerialized)
    {
        If (LLess (SizeOf (Arg0), SizeOf (Arg1)))
        {
            Return (Zero)
        }

        Add (SizeOf (Arg0), One, Local0)
        Name (BUF0, Buffer (Local0) {})
        Name (BUF1, Buffer (Local0) {})
        Store (Arg0, BUF0)
        Store (Arg1, BUF1)
        While (Local0)
        {
            Decrement (Local0)
            If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (
                BUF1, Local0))))
            {
                Return (Zero)
            }
        }

        Return (One)
    }

    Name (PRWP, Package (0x02)
    {
        Zero, 
        Zero
    })
    Method (GPRW, 2, NotSerialized)
    {
        Store (Arg0, Index (PRWP, Zero))
        Store (ShiftLeft (SS1, One), Local0)
        Or (Local0, ShiftLeft (SS2, 0x02), Local0)
        Or (Local0, ShiftLeft (SS3, 0x03), Local0)
        Or (Local0, ShiftLeft (SS4, 0x04), Local0)
        If (And (ShiftLeft (One, Arg1), Local0))
        {
            Store (Arg1, Index (PRWP, One))
        }
        Else
        {
            ShiftRight (Local0, One, Local0)
            If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
            {
                FindSetLeftBit (Local0, Index (PRWP, One))
            }
            Else
            {
                FindSetRightBit (Local0, Index (PRWP, One))
            }
        }

        Return (PRWP)
    }

    Name (WAKP, Package (0x02)
    {
        Zero, 
        Zero
    })
    OperationRegion (DEB0, SystemIO, DP80, One)
    Field (DEB0, ByteAcc, NoLock, Preserve)
    {
        DBG8,   8
    }

    OperationRegion (DEB1, SystemIO, DP90, 0x02)
    Field (DEB1, WordAcc, NoLock, Preserve)
    {
        DBG9,   16
    }

    Scope (_SB)
    {
        Name (PR00, Package (0x14)
        {
            Package (0x04)
            {
                0x0001FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                Zero, 
                LNKH, 
                Zero
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x03, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                One, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                Zero, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR00, Package (0x14)
        {
            Package (0x04)
            {
                0x0001FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                Zero, 
                Zero, 
                0x17
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x03, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                One, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                Zero, 
                Zero, 
                0x16
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PR02, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR02, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PR04, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR04, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PR05, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                Zero
            }
        })
        Name (AR05, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x10
            }
        })
        Name (PR06, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR06, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x11
            }
        })
        Name (PR07, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                Zero
            }
        })
        Name (AR07, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x12
            }
        })
        Name (PR08, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR08, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PR09, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                Zero
            }
        })
        Name (AR09, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x10
            }
        })
        Name (PR01, Package (0x0D)
        {
            Package (0x04)
            {
                0x0003FFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                LNKH, 
                Zero
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                One, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                0x02, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                0x03, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                Zero, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                One, 
                LNKH, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x02, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKH, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKE, 
                Zero
            }
        })
        Name (AR01, Package (0x0D)
        {
            Package (0x04)
            {
                0x0003FFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                Zero, 
                0x17
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                One, 
                Zero, 
                0x14
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                0x02, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                0x03, 
                Zero, 
                0x16
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                Zero, 
                Zero, 
                0x16
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                One, 
                Zero, 
                0x17
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x02, 
                Zero, 
                0x14
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x16
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x17
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x14
            }
        })
        Name (PRSA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {3,4,5,6,7,10,11,12,14,15}
        })
        Alias (PRSA, PRSB)
        Alias (PRSA, PRSC)
        Alias (PRSA, PRSD)
        Alias (PRSA, PRSE)
        Alias (PRSA, PRSF)
        Alias (PRSA, PRSG)
        Alias (PRSA, PRSH)
        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A08"))
            Name (_ADR, Zero)
            Method (^BN00, 0, NotSerialized)
            {
                Return (Zero)
            }

            Method (_BBN, 0, NotSerialized)
            {
                Return (BN00 ())
            }

            Name (_UID, Zero)
            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR00)
                }

                Return (PR00)
            }

            Method (_S3D, 0, NotSerialized)
            {
                If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                {
                    Return (0x02)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Name (_CID, EisaId ("PNP0A03"))
            Device (MCH)
            {
                Name (_HID, EisaId ("PNP0C01"))
                Name (_UID, 0x0A)
                Name (_CRS, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0xFED14000,         // Address Base
                        0x00006000,         // Address Length
                        )
                })
            }

            Method (NPTS, 1, NotSerialized)
            {
            }

            Method (NWAK, 1, NotSerialized)
            {
            }

            Device (P0P2)
            {
                Name (_ADR, 0x00010000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x09, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR02)
                    }

                    Return (PR02)
                }
            }

            Device (P0P1)
            {
                Name (_ADR, 0x001E0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR01)
                    }

                    Return (PR01)
                }
            }

            Device (SBRG)
            {
                Name (_ADR, 0x001F0000)
                Device (IELK)
                {
                    Name (_HID, "AWY0001")
                    OperationRegion (RXA0, PCI_Config, 0xA0, 0x20)
                    Field (RXA0, ByteAcc, NoLock, Preserve)
                    {
                            ,   9, 
                        PBLV,   1, 
                                Offset (0x10), 
                            ,   1, 
                        PBMS,   1, 
                            ,   1, 
                        PMCS,   1, 
                        ECNS,   1, 
                                Offset (0x11), 
                        ECT1,   16, 
                        ELEN,   1, 
                                Offset (0x14)
                    }

                    Method (\_GPE._L0A, 0, NotSerialized)
                    {
                        Notify (\_SB.PCI0.SBRG.IELK, 0x81)
                        Store (One, \_SB.PCI0.SBRG.IELK.PMCS)
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        If (ELEN)
                        {
                            Return (0x0F)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Method (SMOD, 1, NotSerialized)
                    {
                    }

                    Method (GPBS, 0, NotSerialized)
                    {
                        Return (XOr (PBLV, One))
                    }
                }

                Method (SPTS, 1, NotSerialized)
                {
                    Store (One, PS1S)
                    Store (One, PS1E)
                    Store (One, SLPS)
                }

                Method (SWAK, 1, NotSerialized)
                {
                    Store (Zero, SLPS)
                    Store (Zero, PS1E)
                    If (LAnd (LEqual (Arg0, One), RTCS))
                    {
                        If (PCES)
                        {
                            Notify (PWRB, 0x02)
                        }
                    }
                    Else
                    {
                        If (LAnd (LEqual (Arg0, 0x03), BRTC)) {}
                        Else
                        {
                            Notify (PWRB, 0x02)
                        }
                    }
                }

                OperationRegion (APMP, SystemIO, SMIP, 0x02)
                Field (APMP, ByteAcc, NoLock, Preserve)
                {
                    APMC,   8, 
                    APMS,   8
                }

                Field (APMP, ByteAcc, NoLock, Preserve)
                {
                            Offset (0x01), 
                        ,   1, 
                    BRTC,   1
                }

                OperationRegion (PMS0, SystemIO, PMBS, 0x04)
                Field (PMS0, ByteAcc, NoLock, Preserve)
                {
                        ,   10, 
                    RTCS,   1, 
                        ,   3, 
                    PCES,   1, 
                    WAKS,   1, 
                            Offset (0x03), 
                    PWBT,   1, 
                            Offset (0x04)
                }

                OperationRegion (SMIE, SystemIO, PM30, 0x08)
                Field (SMIE, ByteAcc, NoLock, Preserve)
                {
                        ,   4, 
                    PS1E,   1, 
                        ,   31, 
                    PS1S,   1, 
                            Offset (0x08)
                }

                Scope (\_SB)
                {
                    Name (SLPS, Zero)
                    Device (SLPB)
                    {
                        Name (_HID, EisaId ("PNP0C0E"))
                        Method (_STA, 0, NotSerialized)
                        {
                            If (LNotEqual (SUSW, 0xFF))
                            {
                                Return (0x0F)
                            }

                            Return (Zero)
                        }

                        Method (SBEV, 0, NotSerialized)
                        {
                            If (SLPS)
                            {
                                Notify (SLPB, 0x02)
                            }
                            Else
                            {
                                Notify (SLPB, 0x80)
                            }
                        }

                        Method (\_GPE._L1B, 0, NotSerialized)
                        {
                            \_SB.SLPB.SBEV ()
                        }

                        Method (_PRW, 0, NotSerialized)
                        {
                            Return (Package (0x02)
                            {
                                0x1B, 
                                0x04
                            })
                        }
                    }
                }

                Device (PIC)
                {
                    Name (_HID, EisaId ("PNP0000"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0020,             // Range Minimum
                            0x0020,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A0,             // Range Minimum
                            0x00A0,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IRQNoFlags ()
                            {2}
                    })
                }

                Device (DMAD)
                {
                    Name (_HID, EisaId ("PNP0200"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        DMA (Compatibility, BusMaster, Transfer8, )
                            {4}
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x0081,             // Range Minimum
                            0x0081,             // Range Maximum
                            0x00,               // Alignment
                            0x03,               // Length
                            )
                        IO (Decode16,
                            0x0087,             // Range Minimum
                            0x0087,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0089,             // Range Minimum
                            0x0089,             // Range Maximum
                            0x00,               // Alignment
                            0x03,               // Length
                            )
                        IO (Decode16,
                            0x008F,             // Range Minimum
                            0x008F,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x00C0,             // Range Minimum
                            0x00C0,             // Range Maximum
                            0x00,               // Alignment
                            0x20,               // Length
                            )
                    })
                }

                Device (TMR)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0040,             // Range Minimum
                            0x0040,             // Range Maximum
                            0x00,               // Alignment
                            0x04,               // Length
                            )
                        IRQNoFlags ()
                            {0}
                    })
                }

                Device (RTC0)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IRQNoFlags ()
                            {8}
                    })
                }

                Device (SPKR)
                {
                    Name (_HID, EisaId ("PNP0800"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0061,             // Range Minimum
                            0x0061,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                    })
                }

                Device (COPR)
                {
                    Name (_HID, EisaId ("PNP0C04"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x00F0,             // Range Minimum
                            0x00F0,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IRQNoFlags ()
                            {13}
                    })
                }

                Device (UAR2)
                {
                    Name (_UID, 0x02)
                    Method (_HID, 0, NotSerialized)
                    {
                        Return (UHID (One))
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (One))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (One, Zero)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (DCRS (One, One))
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        DSRS (Arg0, One)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        Return (CMPR)
                    }

                    Name (CMPR, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16,
                                0x02F8,             // Range Minimum
                                0x02F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03F8,             // Range Minimum
                                0x03F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x02F8,             // Range Minimum
                                0x02F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03E8,             // Range Minimum
                                0x03E8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x02E8,             // Range Minimum
                                0x02E8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03F8,             // Range Minimum
                                0x03F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x02F8,             // Range Minimum
                                0x02F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03E8,             // Range Minimum
                                0x03E8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x02E8,             // Range Minimum
                                0x02E8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        EndDependentFn ()
                    })
                }

                Device (FDC)
                {
                    Name (_HID, EisaId ("PNP0700"))
                    Method (_FDE, 0, NotSerialized)
                    {
                        Name (FDEP, Package (0x05)
                        {
                            Zero, 
                            Zero, 
                            0x02, 
                            0x02, 
                            0x02
                        })
                        If (_STA ())
                        {
                            Store (One, Index (FDEP, Zero))
                        }

                        Return (FDEP)
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (0x03))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (0x03, Zero)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        DCRS (0x03, One)
                        Store (IRQM, IRQE)
                        Store (DMAM, DMAE)
                        Store (IO11, IO21)
                        Store (IO12, IO22)
                        Store (0x06, LEN2)
                        Add (IO21, 0x07, IO31)
                        Store (IO31, IO32)
                        Store (One, LEN3)
                        Return (CRS2)
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        DSRS (Arg0, 0x03)
                        CreateWordField (Arg0, 0x11, IRQE)
                        CreateByteField (Arg0, 0x14, DMAE)
                        ENFG (CGLD (0x03))
                        If (IRQE)
                        {
                            FindSetRightBit (IRQE, Local0)
                            Subtract (Local0, One, INTR)
                        }
                        Else
                        {
                            Store (Zero, INTR)
                        }

                        If (DMAE)
                        {
                            FindSetRightBit (DMAE, Local0)
                            Subtract (Local0, One, DMCH)
                        }
                        Else
                        {
                            Store (0x04, DMCH)
                        }

                        EXFG ()
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16,
                                0x03F0,             // Range Minimum
                                0x03F0,             // Range Maximum
                                0x01,               // Alignment
                                0x06,               // Length
                                )
                            IO (Decode16,
                                0x03F7,             // Range Minimum
                                0x03F7,             // Range Maximum
                                0x01,               // Alignment
                                0x01,               // Length
                                )
                            IRQNoFlags ()
                                {6}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {2}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03F0,             // Range Minimum
                                0x03F0,             // Range Maximum
                                0x01,               // Alignment
                                0x06,               // Length
                                )
                            IO (Decode16,
                                0x03F7,             // Range Minimum
                                0x03F7,             // Range Maximum
                                0x01,               // Alignment
                                0x01,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x0370,             // Range Minimum
                                0x0370,             // Range Maximum
                                0x01,               // Alignment
                                0x06,               // Length
                                )
                            IO (Decode16,
                                0x0377,             // Range Minimum
                                0x0377,             // Range Maximum
                                0x01,               // Alignment
                                0x01,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        EndDependentFn ()
                    })
                }

                Device (LPTE)
                {
                    Method (_HID, 0, NotSerialized)
                    {
                        If (LPTM (0x02))
                        {
                            Return (0x0104D041)
                        }
                        Else
                        {
                            Return (0x0004D041)
                        }
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (0x02))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (0x02, Zero)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        DCRS (0x02, One)
                        If (LPTM (0x02))
                        {
                            Store (IRQM, IRQE)
                            Store (DMAM, DMAE)
                            Store (IO11, IO21)
                            Store (IO12, IO22)
                            Store (LEN1, LEN2)
                            Add (IO21, 0x0400, IO31)
                            Store (IO31, IO32)
                            Store (LEN2, LEN3)
                            Return (CRS2)
                        }
                        Else
                        {
                            Return (CRS1)
                        }
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        DSRS (Arg0, 0x02)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        If (LPTM (0x02))
                        {
                            Return (EPPR)
                        }
                        Else
                        {
                            Return (LPPR)
                        }
                    }

                    Name (LPPR, ResourceTemplate ()
                    {
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x0378,             // Range Minimum
                                0x0378,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x0278,             // Range Minimum
                                0x0278,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03BC,             // Range Minimum
                                0x03BC,             // Range Maximum
                                0x01,               // Alignment
                                0x04,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        EndDependentFn ()
                    })
                    Name (EPPR, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16,
                                0x0378,             // Range Minimum
                                0x0378,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IO (Decode16,
                                0x0778,             // Range Minimum
                                0x0778,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {7}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x0378,             // Range Minimum
                                0x0378,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IO (Decode16,
                                0x0778,             // Range Minimum
                                0x0778,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x0278,             // Range Minimum
                                0x0278,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IO (Decode16,
                                0x0678,             // Range Minimum
                                0x0678,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03BC,             // Range Minimum
                                0x03BC,             // Range Maximum
                                0x01,               // Alignment
                                0x04,               // Length
                                )
                            IO (Decode16,
                                0x07BC,             // Range Minimum
                                0x07BC,             // Range Maximum
                                0x01,               // Alignment
                                0x04,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        EndDependentFn ()
                    })
                }

                Device (RMSC)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x10)
                    Name (CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0010,             // Range Minimum
                            0x0010,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x0022,             // Range Minimum
                            0x0022,             // Range Maximum
                            0x00,               // Alignment
                            0x1E,               // Length
                            )
                        IO (Decode16,
                            0x0044,             // Range Minimum
                            0x0044,             // Range Maximum
                            0x00,               // Alignment
                            0x1C,               // Length
                            )
                        IO (Decode16,
                            0x0062,             // Range Minimum
                            0x0062,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0065,             // Range Minimum
                            0x0065,             // Range Maximum
                            0x00,               // Alignment
                            0x0B,               // Length
                            )
                        IO (Decode16,
                            0x0072,             // Range Minimum
                            0x0072,             // Range Maximum
                            0x00,               // Alignment
                            0x0E,               // Length
                            )
                        IO (Decode16,
                            0x0080,             // Range Minimum
                            0x0080,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0084,             // Range Minimum
                            0x0084,             // Range Maximum
                            0x00,               // Alignment
                            0x03,               // Length
                            )
                        IO (Decode16,
                            0x0088,             // Range Minimum
                            0x0088,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x008C,             // Range Minimum
                            0x008C,             // Range Maximum
                            0x00,               // Alignment
                            0x03,               // Length
                            )
                        IO (Decode16,
                            0x0090,             // Range Minimum
                            0x0090,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x00A2,             // Range Minimum
                            0x00A2,             // Range Maximum
                            0x00,               // Alignment
                            0x1E,               // Length
                            )
                        IO (Decode16,
                            0x00E0,             // Range Minimum
                            0x00E0,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x04D0,             // Range Minimum
                            0x04D0,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y00)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y01)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y02)
                        IO (Decode16,
                            0x0900,             // Range Minimum
                            0x0900,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        Memory32Fixed (ReadWrite,
                            0xFED1C000,         // Address Base
                            0x00004000,         // Address Length
                            )
                        Memory32Fixed (ReadWrite,
                            0xFED20000,         // Address Base
                            0x00070000,         // Address Length
                            )
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y00._MIN, GP00)
                        CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y00._MAX, GP01)
                        CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y00._LEN, GP0L)
                        Store (PMBS, GP00)
                        Store (PMBS, GP01)
                        Store (PMLN, GP0L)
                        If (SMBS)
                        {
                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y01._MIN, GP10)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y01._MAX, GP11)
                            CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y01._LEN, GP1L)
                            Store (SMBS, GP10)
                            Store (SMBS, GP11)
                            Store (SMBL, GP1L)
                        }

                        If (GPBS)
                        {
                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y02._MIN, GP20)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y02._MAX, GP21)
                            CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y02._LEN, GP2L)
                            Store (GPBS, GP20)
                            Store (GPBS, GP21)
                            Store (GPLN, GP2L)
                        }

                        Return (CRS)
                    }
                }

                Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            _Y03)
                    })
                    OperationRegion (^LPCR, SystemMemory, 0xFED1F404, 0x04)
                    Field (LPCR, AnyAcc, NoLock, Preserve)
                    {
                        HPTS,   2, 
                            ,   5, 
                        HPTE,   1, 
                                Offset (0x04)
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        If (LEqual (OSFL (), Zero))
                        {
                            If (HPTE)
                            {
                                Return (0x0F)
                            }
                        }
                        Else
                        {
                            If (HPTE)
                            {
                                Return (0x0B)
                            }
                        }

                        Return (Zero)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y03._BAS, HPT)
                        Multiply (HPTS, 0x1000, Local0)
                        Add (Local0, 0xFED00000, HPT)
                        Return (CRS)
                    }
                }

                OperationRegion (RX80, PCI_Config, Zero, 0xFF)
                Field (RX80, ByteAcc, NoLock, Preserve)
                {
                            Offset (0x80), 
                    LPCD,   16, 
                    LPCE,   16
                }

                Name (DBPT, Package (0x04)
                {
                    Package (0x08)
                    {
                        0x03F8, 
                        0x02F8, 
                        0x0220, 
                        0x0228, 
                        0x0238, 
                        0x02E8, 
                        0x0338, 
                        0x03E8
                    }, 

                    Package (0x08)
                    {
                        0x03F8, 
                        0x02F8, 
                        0x0220, 
                        0x0228, 
                        0x0238, 
                        0x02E8, 
                        0x0338, 
                        0x03E8
                    }, 

                    Package (0x03)
                    {
                        0x0378, 
                        0x0278, 
                        0x03BC
                    }, 

                    Package (0x02)
                    {
                        0x03F0, 
                        0x0370
                    }
                })
                Name (DDLT, Package (0x04)
                {
                    Package (0x02)
                    {
                        Zero, 
                        0xFFF8
                    }, 

                    Package (0x02)
                    {
                        0x04, 
                        0xFF8F
                    }, 

                    Package (0x02)
                    {
                        0x08, 
                        0xFCFF
                    }, 

                    Package (0x02)
                    {
                        0x0C, 
                        0xEFFF
                    }
                })
                Method (RRIO, 4, NotSerialized)
                {
                    If (LAnd (LLessEqual (Arg0, 0x03), LGreaterEqual (Arg0, Zero)))
                    {
                        Store (Match (DerefOf (Index (DBPT, Arg0)), MEQ, Arg2, MTR, 
                            Zero, Zero), Local0)
                        If (LNotEqual (Local0, Ones))
                        {
                            Store (DerefOf (Index (DerefOf (Index (DDLT, Arg0)), Zero)), 
                                Local1)
                            Store (DerefOf (Index (DerefOf (Index (DDLT, Arg0)), One)), 
                                Local2)
                            ShiftLeft (Local0, Local1, Local0)
                            And (LPCD, Local2, LPCD)
                            Or (LPCD, Local0, LPCD)
                            WX82 (Arg0, Arg1)
                        }
                    }

                    If (LEqual (Arg0, 0x08))
                    {
                        If (LEqual (Arg2, 0x0200))
                        {
                            WX82 (0x08, Arg0)
                        }
                        Else
                        {
                            If (LEqual (Arg2, 0x0208))
                            {
                                WX82 (0x09, Arg0)
                            }
                        }
                    }

                    If (LAnd (LLessEqual (Arg0, 0x0D), LGreaterEqual (Arg0, 0x0A)))
                    {
                        WX82 (Arg0, Arg1)
                    }
                }

                Method (WX82, 2, NotSerialized)
                {
                    ShiftLeft (One, Arg0, Local0)
                    If (Arg1)
                    {
                        Or (LPCE, Local0, LPCE)
                    }
                    Else
                    {
                        Not (Local0, Local0)
                        And (LPCE, Local0, LPCE)
                    }
                }

                Method (RDMA, 3, NotSerialized)
                {
                }

                Device (FWH)
                {
                    Name (_HID, EisaId ("INT0800"))
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y04)
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y05)
                    })
                    CreateDWordField (CRS, \_SB.PCI0.SBRG.FWH._Y04._BAS, BS00)
                    CreateDWordField (CRS, \_SB.PCI0.SBRG.FWH._Y04._LEN, BL00)
                    CreateDWordField (CRS, \_SB.PCI0.SBRG.FWH._Y05._BAS, BS10)
                    CreateDWordField (CRS, \_SB.PCI0.SBRG.FWH._Y05._LEN, BL10)
                    Method (_CRS, 0, NotSerialized)
                    {
                        Store (0xFF800000, Local0)
                        FindSetRightBit (FHD0, Local1)
                        Decrement (Local1)
                        If (Local1)
                        {
                            Multiply (Local1, 0x00080000, Local1)
                        }

                        Add (Local0, Local1, Local2)
                        Store (Local2, BS00)
                        Add (BS00, 0x00400000, BS10)
                        Subtract (Zero, BS10, BL00)
                        Store (BL00, BL10)
                        Return (CRS)
                    }
                }

                Device (FWHE)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x03)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y06)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.PCI0.SBRG.FWHE._Y06._BAS, BS00)
                        CreateDWordField (CRS, \_SB.PCI0.SBRG.FWHE._Y06._LEN, BL00)
                        If (LEqual (^^FWH.BS00, Zero))
                        {
                            ^^FWH._CRS ()
                        }

                        Add (^^FWH.BS00, ^^FWH.BL00, BS00)
                        Subtract (^^FWH.BS10, BS00, BL00)
                        Return (CRS)
                    }
                }

                OperationRegion (FHR0, PCI_Config, 0xD8, 0x02)
                Field (FHR0, ByteAcc, NoLock, Preserve)
                {
                    FHD1,   4, 
                            Offset (0x01), 
                    FHD0,   8
                }

                Device (^PCIE)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x11)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0xE0000000,         // Address Base
                            0x10000000,         // Address Length
                            _Y07)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.PCI0.PCIE._Y07._BAS, BAS1)
                        CreateDWordField (CRS, \_SB.PCI0.PCIE._Y07._LEN, LEN1)
                        Store (PCIB, BAS1)
                        Store (PCIL, LEN1)
                        Return (CRS)
                    }
                }

                Device (OMSC)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, Zero)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y08)
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y09)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        If (APIC)
                        {
                            CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y08._LEN, ML01)
                            CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y08._BAS, MB01)
                            CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y09._LEN, ML02)
                            CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y09._BAS, MB02)
                            Store (0xFEC00000, MB01)
                            Store (0x1000, ML01)
                            Store (0xFEE00000, MB02)
                            Store (0x1000, ML02)
                        }

                        Return (CRS)
                    }
                }

                Device (^^RMEM)
                {
                    Name (_HID, EisaId ("PNP0C01"))
                    Name (_UID, One)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0x00000000,         // Address Base
                            0x000A0000,         // Address Length
                            )
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y0A)
                        Memory32Fixed (ReadOnly,
                            0x000E0000,         // Address Base
                            0x00020000,         // Address Length
                            _Y0B)
                        Memory32Fixed (ReadWrite,
                            0x00100000,         // Address Base
                            0x00000000,         // Address Length
                            _Y0C)
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y0D)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.RMEM._Y0A._BAS, BAS1)
                        CreateDWordField (CRS, \_SB.RMEM._Y0A._LEN, LEN1)
                        CreateDWordField (CRS, \_SB.RMEM._Y0B._BAS, BAS2)
                        CreateDWordField (CRS, \_SB.RMEM._Y0B._LEN, LEN2)
                        CreateDWordField (CRS, \_SB.RMEM._Y0C._LEN, LEN3)
                        CreateDWordField (CRS, \_SB.RMEM._Y0D._BAS, BAS4)
                        CreateDWordField (CRS, \_SB.RMEM._Y0D._LEN, LEN4)
                        If (OSFL ()) {}
                        Else
                        {
                            If (MG1B)
                            {
                                If (LGreater (MG1B, 0x000C0000))
                                {
                                    Store (0x000C0000, BAS1)
                                    Subtract (MG1B, BAS1, LEN1)
                                }
                            }
                            Else
                            {
                                Store (0x000C0000, BAS1)
                                Store (0x00020000, LEN1)
                            }

                            If (Add (MG1B, MG1L, Local0))
                            {
                                Store (Local0, BAS2)
                                Subtract (0x00100000, BAS2, LEN2)
                            }
                        }

                        Subtract (MG2B, 0x00100000, LEN3)
                        Add (MG2B, MG2L, BAS4)
                        Subtract (Zero, BAS4, LEN4)
                        Return (CRS)
                    }
                }

                Device (PS2K)
                {
                    Name (_HID, EisaId ("PNP0303"))
                    Name (_CID, EisaId ("PNP030B"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ShiftLeft (One, 0x0A, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0060,             // Range Minimum
                            0x0060,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0064,             // Range Minimum
                            0x0064,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IRQNoFlags ()
                            {1}
                    })
                }

                Method (PS2K._PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x1C, 0x04))
                }

                Device (PS2M)
                {
                    Name (_HID, EisaId ("PNP0F03"))
                    Name (_CID, EisaId ("PNP0F13"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ShiftLeft (One, 0x0C, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Name (_CRS, ResourceTemplate ()
                    {
                        IRQNoFlags ()
                            {12}
                    })
                }

                Method (PS2M._PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x1C, 0x04))
                }

                Device (UAR1)
                {
                    Name (_UID, One)
                    Name (_HID, EisaId ("PNP0501"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (Zero))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (Zero, Zero)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (DCRS (Zero, Zero))
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        DSRS (Arg0, Zero)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        Return (CMPR)
                    }

                    Name (CMPR, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16,
                                0x03F8,             // Range Minimum
                                0x03F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {4}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03F8,             // Range Minimum
                                0x03F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x02F8,             // Range Minimum
                                0x02F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03E8,             // Range Minimum
                                0x03E8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x02E8,             // Range Minimum
                                0x02E8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        EndDependentFn ()
                    })
                }

                Method (UAR1._PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x08, 0x04))
                }

                Device (SIOR)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Method (_UID, 0, NotSerialized)
                    {
                        Return (SPIO)
                    }

                    Name (CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y0E)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y0F)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y10)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        If (LAnd (LNotEqual (SPIO, 0x03F0), LGreater (SPIO, 0xF0)))
                        {
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y0E._MIN, GP10)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y0E._MAX, GP11)
                            CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y0E._LEN, GPL1)
                            Store (SPIO, GP10)
                            Store (SPIO, GP11)
                            Store (0x02, GPL1)
                        }

                        If (IOSB)
                        {
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y0F._MIN, GP20)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y0F._MAX, GP21)
                            CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y0F._LEN, GPL2)
                            Store (IOSB, GP20)
                            Store (IOSB, GP21)
                            Store (IOSL, GPL2)
                        }

                        If (IOHB)
                        {
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y10._MIN, GP30)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y10._MAX, GP31)
                            CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y10._LEN, GPL3)
                            Store (IOHB, GP30)
                            Store (IOHB, GP31)
                            Store (IOHL, GPL3)
                        }

                        Return (CRS)
                    }
                }

                Name (DCAT, Package (0x16)
                {
                    0x02, 
                    0x03, 
                    One, 
                    Zero, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0x07, 
                    0x09, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF
                })
                Method (ENFG, 1, NotSerialized)
                {
                    Store (0x87, INDX)
                    Store (0x87, INDX)
                    Store (Arg0, LDN)
                }

                Method (EXFG, 0, NotSerialized)
                {
                    Store (0xAA, INDX)
                }

                Method (LPTM, 1, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    And (OPT0, 0x02, Local0)
                    EXFG ()
                    Return (Local0)
                }

                Method (UHID, 1, NotSerialized)
                {
                    If (LEqual (Arg0, One))
                    {
                        ENFG (CGLD (Arg0))
                        And (OPT1, 0x38, Local0)
                        EXFG ()
                        If (Local0)
                        {
                            Return (0x1005D041)
                        }
                    }

                    Return (0x0105D041)
                }

                Method (SIOK, 1, NotSerialized)
                {
                    ENFG (0x0A)
                    While (OPT3)
                    {
                        Stall (0x80)
                        Store (0xFF, OPT3)
                    }

                    And (Arg0, One, Local0)
                    And (OPT2, 0xFE, Local1)
                    Or (Local0, Local1, OPT2)
                    Store (And (Arg0, One), ACTR)
                    EXFG ()
                }

                Method (SLED, 1, NotSerialized)
                {
                    ENFG (0x08)
                    If (Arg0)
                    {
                        And (OPT5, 0x3F, Local0)
                        Or (Local0, 0x80, OPT5)
                    }
                    Else
                    {
                        And (OPT5, 0x3F, Local0)
                        Or (Local0, 0x40, OPT5)
                    }

                    EXFG ()
                }

                Name (KBFG, One)
                Name (MSFG, One)
                Name (U1FG, One)
                Name (U2FG, One)
                Method (PS2K._PSW, 1, NotSerialized)
                {
                    If (LNot (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))))
                    {
                        If (Arg0)
                        {
                            Store (One, KBFG)
                        }
                        Else
                        {
                            Store (Zero, KBFG)
                        }
                    }
                }

                Method (PS2M._PSW, 1, NotSerialized)
                {
                    If (LNot (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))))
                    {
                        If (Arg0)
                        {
                            Store (One, MSFG)
                        }
                        Else
                        {
                            Store (Zero, MSFG)
                        }
                    }
                }

                Method (SIOS, 1, NotSerialized)
                {
                    OperationRegion (KBIO, SystemIO, 0x60, 0x05)
                    Field (KBIO, ByteAcc, NoLock, Preserve)
                    {
                        KBDT,   8, 
                                Offset (0x02), 
                                Offset (0x03), 
                                Offset (0x04), 
                        KBST,   8
                    }

                    Store ("SIOS", Debug)
                    If (LNotEqual (Arg0, 0x05))
                    {
                        Sleep (0xC8)
                        And (KBST, One, Local0)
                        While (Local0)
                        {
                            Store (KBDT, Local0)
                            Sleep (0xC8)
                            And (KBST, One, Local0)
                        }
                    }

                    If (LEqual (Arg0, One))
                    {
                        SIOK (Ones)
                        ENFG (0x0A)
                        If (KBFG)
                        {
                            Or (OPT6, 0x10, OPT6)
                        }

                        If (MSFG)
                        {
                            Or (OPT6, 0x20, OPT6)
                        }

                        EXFG ()
                    }

                    If (LGreaterEqual (Arg0, 0x03))
                    {
                        ENFG (0x0A)
                        Store (Zero, CRE0)
                        Store (Zero, CRE1)
                        Store (Zero, CRE2)
                        Store (CRE3, Local0)
                        Sleep (0xC8)
                        If (KBFG)
                        {
                            Or (CRE0, 0x41, CRE0)
                        }

                        If (MSFG)
                        {
                            Or (CRE0, 0x22, CRE0)
                        }

                        EXFG ()
                    }
                }

                Method (SIOW, 1, NotSerialized)
                {
                    Store ("SIOW", Debug)
                    SIOK (Zero)
                    ENFG (0x0A)
                    While (OPT3)
                    {
                        Stall (0x80)
                        Store (0xFF, OPT3)
                    }

                    And (CRE0, 0x9F, CRE0)
                    And (OPT6, 0xCF, OPT6)
                    And (OPT2, 0xFE, OPT2)
                    EXFG ()
                    If (LAnd (LEqual (OSFL (), 0x04), LEqual (Arg0, 0x03)))
                    {
                        Sleep (0x07D0)
                    }
                }

                Method (SIOH, 0, NotSerialized)
                {
                    Notify (PWRB, 0x02)
                }

                OperationRegion (IOID, SystemIO, SPIO, 0x02)
                Field (IOID, ByteAcc, NoLock, Preserve)
                {
                    INDX,   8, 
                    DATA,   8
                }

                IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
                {
                            Offset (0x07), 
                    LDN,    8, 
                            Offset (0x22), 
                    FDCP,   1, 
                        ,   2, 
                    LPTP,   1, 
                    URAP,   1, 
                    URBP,   1, 
                            Offset (0x30), 
                    ACTR,   8, 
                            Offset (0x60), 
                    IOAH,   8, 
                    IOAL,   8, 
                    IOH2,   8, 
                    IOL2,   8, 
                            Offset (0x70), 
                    INTR,   8, 
                            Offset (0x74), 
                    DMCH,   8, 
                            Offset (0xE0), 
                    CRE0,   8, 
                    CRE1,   8, 
                    CRE2,   8, 
                    CRE3,   8, 
                    CRE4,   8, 
                    CRE5,   8, 
                    CRE6,   8, 
                            Offset (0xF0), 
                    OPT0,   8, 
                    OPT1,   8, 
                    OPT2,   8, 
                    OPT3,   8, 
                    OPT4,   8, 
                    OPT5,   8, 
                    OPT6,   8
                }

                Method (CGLD, 1, NotSerialized)
                {
                    Return (DerefOf (Index (DCAT, Arg0)))
                }

                Method (DSTA, 1, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    Store (ACTR, Local0)
                    EXFG ()
                    If (LEqual (Local0, 0xFF))
                    {
                        Return (Zero)
                    }

                    And (Local0, One, Local0)
                    Or (IOST, ShiftLeft (Local0, Arg0), IOST)
                    If (Local0)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        If (And (ShiftLeft (One, Arg0), IOST))
                        {
                            Return (0x0D)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Method (DCNT, 2, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    ShiftLeft (IOAH, 0x08, Local1)
                    Or (IOAL, Local1, Local1)
                    If (LAnd (LLess (DMCH, 0x04), LNotEqual (And (DMCH, 0x03, 
                        Local1), Zero)))
                    {
                        RDMA (Arg0, Arg1, Increment (Local1))
                    }

                    Store (Arg1, ACTR)
                    RRIO (Arg0, Arg1, Local1, 0x08)
                    EXFG ()
                }

                Name (CRS1, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0x00,               // Length
                        _Y13)
                    IRQNoFlags (_Y11)
                        {}
                    DMA (Compatibility, NotBusMaster, Transfer8, _Y12)
                        {}
                })
                CreateWordField (CRS1, \_SB.PCI0.SBRG._Y11._INT, IRQM)
                CreateByteField (CRS1, \_SB.PCI0.SBRG._Y12._DMA, DMAM)
                CreateWordField (CRS1, \_SB.PCI0.SBRG._Y13._MIN, IO11)
                CreateWordField (CRS1, \_SB.PCI0.SBRG._Y13._MAX, IO12)
                CreateByteField (CRS1, \_SB.PCI0.SBRG._Y13._LEN, LEN1)
                Name (CRS2, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0x00,               // Length
                        _Y16)
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0x00,               // Length
                        _Y17)
                    IRQNoFlags (_Y14)
                        {6}
                    DMA (Compatibility, NotBusMaster, Transfer8, _Y15)
                        {2}
                })
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y14._INT, IRQE)
                CreateByteField (CRS2, \_SB.PCI0.SBRG._Y15._DMA, DMAE)
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y16._MIN, IO21)
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y16._MAX, IO22)
                CreateByteField (CRS2, \_SB.PCI0.SBRG._Y16._LEN, LEN2)
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y17._MIN, IO31)
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y17._MAX, IO32)
                CreateByteField (CRS2, \_SB.PCI0.SBRG._Y17._LEN, LEN3)
                Method (DCRS, 2, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    ShiftLeft (IOAH, 0x08, IO11)
                    Or (IOAL, IO11, IO11)
                    Store (IO11, IO12)
                    Subtract (FindSetRightBit (IO11), One, Local0)
                    ShiftLeft (One, Local0, LEN1)
                    If (INTR)
                    {
                        ShiftLeft (One, INTR, IRQM)
                    }
                    Else
                    {
                        Store (Zero, IRQM)
                    }

                    If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, Zero)))
                    {
                        Store (Zero, DMAM)
                    }
                    Else
                    {
                        And (DMCH, 0x03, Local1)
                        ShiftLeft (One, Local1, DMAM)
                    }

                    EXFG ()
                    Return (CRS1)
                }

                Method (DSRS, 2, NotSerialized)
                {
                    CreateWordField (Arg0, 0x09, IRQM)
                    CreateByteField (Arg0, 0x0C, DMAM)
                    CreateWordField (Arg0, 0x02, IO11)
                    ENFG (CGLD (Arg1))
                    ShiftLeft (IOAH, 0x08, Local1)
                    Or (IOAL, Local1, Local1)
                    RRIO (Arg1, Zero, Local1, 0x08)
                    RRIO (Arg1, One, IO11, 0x08)
                    And (IO11, 0xFF, IOAL)
                    ShiftRight (IO11, 0x08, IOAH)
                    If (IRQM)
                    {
                        FindSetRightBit (IRQM, Local0)
                        Subtract (Local0, One, INTR)
                    }
                    Else
                    {
                        Store (Zero, INTR)
                    }

                    If (DMAM)
                    {
                        FindSetRightBit (DMAM, Local0)
                        Subtract (Local0, One, DMCH)
                    }
                    Else
                    {
                        Store (0x04, DMCH)
                    }

                    EXFG ()
                    DCNT (Arg1, One)
                }
            }

            Device (SATA)
            {
                Name (_ADR, 0x001F0002)
                Name (^NATA, Package (0x01)
                {
                    0x001F0002
                })
                Name (\FZTF, Buffer (0x07)
                {
                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5
                })
                Name (REGF, One)
                Method (_REG, 2, NotSerialized)
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        Store (Arg1, REGF)
                    }
                }

                Name (TIM0, Package (0x08)
                {
                    Package (0x04)
                    {
                        0x78, 
                        0xB4, 
                        0xF0, 
                        0x0384
                    }, 

                    Package (0x04)
                    {
                        0x23, 
                        0x21, 
                        0x10, 
                        Zero
                    }, 

                    Package (0x04)
                    {
                        0x0B, 
                        0x09, 
                        0x04, 
                        Zero
                    }, 

                    Package (0x06)
                    {
                        0x78, 
                        0x5A, 
                        0x3C, 
                        0x28, 
                        0x1E, 
                        0x14
                    }, 

                    Package (0x06)
                    {
                        Zero, 
                        One, 
                        0x02, 
                        One, 
                        0x02, 
                        One
                    }, 

                    Package (0x06)
                    {
                        Zero, 
                        Zero, 
                        Zero, 
                        One, 
                        One, 
                        One
                    }, 

                    Package (0x04)
                    {
                        0x04, 
                        0x03, 
                        0x02, 
                        Zero
                    }, 

                    Package (0x04)
                    {
                        0x02, 
                        One, 
                        Zero, 
                        Zero
                    }
                })
                Name (TMD0, Buffer (0x14) {})
                CreateDWordField (TMD0, Zero, PIO0)
                CreateDWordField (TMD0, 0x04, DMA0)
                CreateDWordField (TMD0, 0x08, PIO1)
                CreateDWordField (TMD0, 0x0C, DMA1)
                CreateDWordField (TMD0, 0x10, CHNF)
                OperationRegion (CFG2, PCI_Config, 0x40, 0x20)
                Field (CFG2, DWordAcc, NoLock, Preserve)
                {
                    PMPT,   4, 
                    PSPT,   4, 
                    PMRI,   6, 
                            Offset (0x02), 
                    SMPT,   4, 
                    SSPT,   4, 
                    SMRI,   6, 
                            Offset (0x04), 
                    PSRI,   4, 
                    SSRI,   4, 
                            Offset (0x08), 
                    PM3E,   1, 
                    PS3E,   1, 
                    SM3E,   1, 
                    SS3E,   1, 
                            Offset (0x0A), 
                    PMUT,   2, 
                        ,   2, 
                    PSUT,   2, 
                            Offset (0x0B), 
                    SMUT,   2, 
                        ,   2, 
                    SSUT,   2, 
                            Offset (0x0C), 
                            Offset (0x14), 
                    PM6E,   1, 
                    PS6E,   1, 
                    SM6E,   1, 
                    SS6E,   1, 
                    PMCR,   1, 
                    PSCR,   1, 
                    SMCR,   1, 
                    SSCR,   1, 
                        ,   4, 
                    PMAE,   1, 
                    PSAE,   1, 
                    SMAE,   1, 
                    SSAE,   1
                }

                Name (GMPT, Zero)
                Name (GMUE, Zero)
                Name (GMUT, Zero)
                Name (GMCR, Zero)
                Name (GSPT, Zero)
                Name (GSUE, Zero)
                Name (GSUT, Zero)
                Name (GSCR, Zero)
                Device (CHN0)
                {
                    Name (_ADR, Zero)
                    Method (_GTM, 0, NotSerialized)
                    {
                        ShiftLeft (PSCR, One, Local1)
                        Or (PMCR, Local1, Local0)
                        ShiftLeft (PMAE, 0x02, Local3)
                        ShiftLeft (PM6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (PM3E, Local3, Local1)
                        ShiftLeft (PMPT, 0x04, Local3)
                        Or (Local1, Local3, Local1)
                        ShiftLeft (PSAE, 0x02, Local3)
                        ShiftLeft (PS6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (PS3E, Local3, Local2)
                        ShiftLeft (PSPT, 0x04, Local3)
                        Or (Local2, Local3, Local2)
                        Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, Debug)
                        Store (Arg0, TMD0)
                        ShiftLeft (PMAE, 0x02, Local3)
                        ShiftLeft (PM6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (PM3E, Local3, Local0)
                        ShiftLeft (PMPT, 0x04, Local3)
                        Or (Local0, Local3, Local0)
                        ShiftLeft (PSAE, 0x02, Local3)
                        ShiftLeft (PS6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (PS3E, Local3, Local1)
                        ShiftLeft (PSPT, 0x04, Local3)
                        Or (Local1, Local3, Local1)
                        Store (PMRI, GMPT)
                        Store (Local0, GMUE)
                        Store (PMUT, GMUT)
                        Store (PMCR, GMCR)
                        Store (PSRI, GSPT)
                        Store (Local1, GSUE)
                        Store (PSUT, GSUT)
                        Store (PSCR, GSCR)
                        STM ()
                        Store (GMPT, PMRI)
                        Store (GMUE, Local0)
                        Store (GMUT, PMUT)
                        Store (GMCR, PMCR)
                        Store (GSUE, Local1)
                        Store (GSUT, PSUT)
                        Store (GSCR, PSCR)
                        If (And (Local0, One))
                        {
                            Store (One, PM3E)
                        }
                        Else
                        {
                            Store (Zero, PM3E)
                        }

                        If (And (Local0, 0x02))
                        {
                            Store (One, PM6E)
                        }
                        Else
                        {
                            Store (Zero, PM6E)
                        }

                        If (And (Local0, 0x04))
                        {
                            Store (One, PMAE)
                        }
                        Else
                        {
                            Store (Zero, PMAE)
                        }

                        If (And (Local1, One))
                        {
                            Store (One, PS3E)
                        }
                        Else
                        {
                            Store (Zero, PS3E)
                        }

                        If (And (Local1, 0x02))
                        {
                            Store (One, PS6E)
                        }
                        Else
                        {
                            Store (Zero, PS6E)
                        }

                        If (And (Local1, 0x04))
                        {
                            Store (One, PSAE)
                        }
                        Else
                        {
                            Store (Zero, PSAE)
                        }

                        Store (GTF (Zero, Arg1), ATA0)
                        Store (GTF (One, Arg2), ATA1)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, Zero)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (RATA (ATA0))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, One)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (RATA (ATA1))
                        }
                    }
                }

                Device (CHN1)
                {
                    Name (_ADR, One)
                    Method (_GTM, 0, NotSerialized)
                    {
                        ShiftLeft (SSCR, One, Local1)
                        Or (SMCR, Local1, Local0)
                        ShiftLeft (SMAE, 0x02, Local3)
                        ShiftLeft (SM6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (SM3E, Local3, Local1)
                        ShiftLeft (SMPT, 0x04, Local3)
                        Or (Local1, Local3, Local1)
                        ShiftLeft (SSAE, 0x02, Local3)
                        ShiftLeft (SS6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (SS3E, Local3, Local2)
                        ShiftLeft (SSPT, 0x04, Local3)
                        Or (Local2, Local3, Local2)
                        Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, Debug)
                        Store (Arg0, TMD0)
                        ShiftLeft (SMAE, 0x02, Local3)
                        ShiftLeft (SM6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (SM3E, Local3, Local0)
                        ShiftLeft (SMPT, 0x04, Local3)
                        Or (Local0, Local3, Local0)
                        ShiftLeft (SSAE, 0x02, Local3)
                        ShiftLeft (SS6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (SS3E, Local3, Local1)
                        ShiftLeft (SSPT, 0x04, Local3)
                        Or (Local1, Local3, Local1)
                        Store (SMRI, GMPT)
                        Store (Local0, GMUE)
                        Store (SMUT, GMUT)
                        Store (SMCR, GMCR)
                        Store (SSRI, GSPT)
                        Store (Local1, GSUE)
                        Store (SSUT, GSUT)
                        Store (SSCR, GSCR)
                        STM ()
                        Store (GMPT, SMRI)
                        Store (GMUE, Local0)
                        Store (GMUT, SMUT)
                        Store (GMCR, SMCR)
                        Store (GSUE, Local1)
                        Store (GSUT, SSUT)
                        Store (GSCR, SSCR)
                        If (And (Local0, One))
                        {
                            Store (One, SM3E)
                        }
                        Else
                        {
                            Store (Zero, SM3E)
                        }

                        If (And (Local0, 0x02))
                        {
                            Store (One, SM6E)
                        }
                        Else
                        {
                            Store (Zero, SM6E)
                        }

                        If (And (Local0, 0x04))
                        {
                            Store (One, SMAE)
                        }
                        Else
                        {
                            Store (Zero, SMAE)
                        }

                        If (And (Local1, One))
                        {
                            Store (One, SS3E)
                        }
                        Else
                        {
                            Store (Zero, SS3E)
                        }

                        If (And (Local1, 0x02))
                        {
                            Store (One, SS6E)
                        }
                        Else
                        {
                            Store (Zero, SS6E)
                        }

                        If (And (Local1, 0x04))
                        {
                            Store (One, SSAE)
                        }
                        Else
                        {
                            Store (Zero, SSAE)
                        }

                        Store (GTF (Zero, Arg1), ATA2)
                        Store (GTF (One, Arg2), ATA3)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, Zero)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (RATA (ATA2))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, One)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (RATA (ATA3))
                        }
                    }
                }

                Method (GTM, 7, Serialized)
                {
                    Store (Ones, PIO0)
                    Store (Ones, PIO1)
                    Store (Ones, DMA0)
                    Store (Ones, DMA1)
                    Store (0x10, CHNF)
                    If (REGF) {}
                    Else
                    {
                        Return (TMD0)
                    }

                    If (And (Arg1, 0x20))
                    {
                        Or (CHNF, 0x02, CHNF)
                    }

                    Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR, 
                        Zero, Zero), Local6)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), 
                        Local7)
                    Store (Local7, DMA0)
                    Store (Local7, PIO0)
                    If (And (Arg4, 0x20))
                    {
                        Or (CHNF, 0x08, CHNF)
                    }

                    Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR, 
                        Zero, Zero), Local6)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), 
                        Local7)
                    Store (Local7, DMA1)
                    Store (Local7, PIO1)
                    If (And (Arg1, 0x07))
                    {
                        Store (Arg2, Local5)
                        If (And (Arg1, 0x02))
                        {
                            Add (Local5, 0x02, Local5)
                        }

                        If (And (Arg1, 0x04))
                        {
                            Add (Local5, 0x04, Local5)
                        }

                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), 
                            DMA0)
                        Or (CHNF, One, CHNF)
                    }

                    If (And (Arg4, 0x07))
                    {
                        Store (Arg5, Local5)
                        If (And (Arg4, 0x02))
                        {
                            Add (Local5, 0x02, Local5)
                        }

                        If (And (Arg4, 0x04))
                        {
                            Add (Local5, 0x04, Local5)
                        }

                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), 
                            DMA1)
                        Or (CHNF, 0x04, CHNF)
                    }

                    Store (TMD0, Debug)
                    Return (TMD0)
                }

                Method (STM, 0, Serialized)
                {
                    If (REGF)
                    {
                        Store (Zero, GMUE)
                        Store (Zero, GMUT)
                        Store (Zero, GSUE)
                        Store (Zero, GSUT)
                        If (And (CHNF, One))
                        {
                            Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, 
                                Zero, Zero), Local0)
                            If (LGreater (Local0, 0x05))
                            {
                                Store (0x05, Local0)
                            }

                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), 
                                GMUT)
                            Or (GMUE, One, GMUE)
                            If (LGreater (Local0, 0x02))
                            {
                                Or (GMUE, 0x02, GMUE)
                            }

                            If (LGreater (Local0, 0x04))
                            {
                                And (GMUE, 0xFD, GMUE)
                                Or (GMUE, 0x04, GMUE)
                            }
                        }
                        Else
                        {
                            If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero)))
                            {
                                If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero)))
                                {
                                    Store (DMA0, PIO0)
                                    Or (GMUE, 0x80, GMUE)
                                }
                            }
                        }

                        If (And (CHNF, 0x04))
                        {
                            Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, 
                                Zero, Zero), Local0)
                            If (LGreater (Local0, 0x05))
                            {
                                Store (0x05, Local0)
                            }

                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), 
                                GSUT)
                            Or (GSUE, One, GSUE)
                            If (LGreater (Local0, 0x02))
                            {
                                Or (GSUE, 0x02, GSUE)
                            }

                            If (LGreater (Local0, 0x04))
                            {
                                And (GSUE, 0xFD, GSUE)
                                Or (GSUE, 0x04, GSUE)
                            }
                        }
                        Else
                        {
                            If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero)))
                            {
                                If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero)))
                                {
                                    Store (DMA1, PIO1)
                                    Or (GSUE, 0x80, GSUE)
                                }
                            }
                        }

                        If (And (CHNF, 0x02))
                        {
                            Or (GMUE, 0x20, GMUE)
                        }

                        If (And (CHNF, 0x08))
                        {
                            Or (GSUE, 0x20, GSUE)
                        }

                        And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR, 
                            Zero, Zero), 0x07, Local0)
                        Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), 
                            Local1)
                        Store (Local1, GMPT)
                        If (LLess (Local0, 0x03))
                        {
                            Or (GMUE, 0x50, GMUE)
                        }

                        And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, 
                            Zero, Zero), 0x07, Local0)
                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), 
                            Local1)
                        Store (Local1, GSPT)
                        If (LLess (Local0, 0x03))
                        {
                            Or (GSUE, 0x50, GSUE)
                        }
                    }
                }

                Name (AT01, Buffer (0x07)
                {
                    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
                })
                Name (AT02, Buffer (0x07)
                {
                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
                })
                Name (AT03, Buffer (0x07)
                {
                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
                })
                Name (AT04, Buffer (0x07)
                {
                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
                })
                Name (ATA0, Buffer (0x1D) {})
                Name (ATA1, Buffer (0x1D) {})
                Name (ATA2, Buffer (0x1D) {})
                Name (ATA3, Buffer (0x1D) {})
                Name (ATAB, Buffer (0x1D) {})
                CreateByteField (ATAB, Zero, CMDC)
                Method (GTFB, 3, Serialized)
                {
                    Multiply (CMDC, 0x38, Local0)
                    Add (Local0, 0x08, Local1)
                    CreateField (ATAB, Local1, 0x38, CMDX)
                    Multiply (CMDC, 0x07, Local0)
                    CreateByteField (ATAB, Add (Local0, 0x02), A001)
                    CreateByteField (ATAB, Add (Local0, 0x06), A005)
                    Store (Arg0, CMDX)
                    Store (Arg1, A001)
                    Store (Arg2, A005)
                    Increment (CMDC)
                }

                Method (GTF, 2, Serialized)
                {
                    Store (Arg1, Debug)
                    Store (Zero, CMDC)
                    Name (ID49, 0x0C00)
                    Name (ID59, Zero)
                    Name (ID53, 0x04)
                    Name (ID63, 0x0F00)
                    Name (ID88, 0x0F00)
                    Name (IRDY, One)
                    Name (PIOT, Zero)
                    Name (DMAT, Zero)
                    If (LEqual (SizeOf (Arg1), 0x0200))
                    {
                        CreateWordField (Arg1, 0x62, IW49)
                        Store (IW49, ID49)
                        CreateWordField (Arg1, 0x6A, IW53)
                        Store (IW53, ID53)
                        CreateWordField (Arg1, 0x7E, IW63)
                        Store (IW63, ID63)
                        CreateWordField (Arg1, 0x76, IW59)
                        Store (IW59, ID59)
                        CreateWordField (Arg1, 0xB0, IW88)
                        Store (IW88, ID88)
                    }

                    Store (0xA0, Local7)
                    If (Arg0)
                    {
                        Store (0xB0, Local7)
                        And (CHNF, 0x08, IRDY)
                        If (And (CHNF, 0x10))
                        {
                            Store (PIO1, PIOT)
                        }
                        Else
                        {
                            Store (PIO0, PIOT)
                        }

                        If (And (CHNF, 0x04))
                        {
                            If (And (CHNF, 0x10))
                            {
                                Store (DMA1, DMAT)
                            }
                            Else
                            {
                                Store (DMA0, DMAT)
                            }
                        }
                    }
                    Else
                    {
                        And (CHNF, 0x02, IRDY)
                        Store (PIO0, PIOT)
                        If (And (CHNF, One))
                        {
                            Store (DMA0, DMAT)
                        }
                    }

                    If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00
                        )), DMAT))
                    {
                        Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, 
                            Zero, Zero), Local1)
                        If (LGreater (Local1, 0x05))
                        {
                            Store (0x05, Local1)
                        }

                        GTFB (AT01, Or (0x40, Local1), Local7)
                    }
                    Else
                    {
                        If (LAnd (And (ID63, 0xFF00), PIOT))
                        {
                            And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, 
                                Zero, Zero), 0x03, Local0)
                            Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0
                                )), Local1)
                            GTFB (AT01, Local1, Local7)
                        }
                    }

                    If (IRDY)
                    {
                        And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, 
                            Zero, Zero), 0x07, Local0)
                        Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0
                            )), Local1)
                        GTFB (AT01, Local1, Local7)
                    }
                    Else
                    {
                        If (And (ID49, 0x0400))
                        {
                            GTFB (AT01, One, Local7)
                        }
                    }

                    If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF)))
                    {
                        GTFB (AT03, And (ID59, 0xFF), Local7)
                    }

                    Store (ATAB, Debug)
                    Return (ATAB)
                }

                Method (RATA, 1, NotSerialized)
                {
                    CreateByteField (Arg0, Zero, CMDN)
                    Multiply (CMDN, 0x38, Local0)
                    CreateField (Arg0, 0x08, Local0, RETB)
                    Store (RETB, Debug)
                    Return (Concatenate (RETB, FZTF))
                }
            }

            Device (SAT1)
            {
                Name (_ADR, 0x001F0005)
                Name (REGF, One)
                Method (_REG, 2, NotSerialized)
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        Store (Arg1, REGF)
                    }
                }

                Name (TIM0, Package (0x08)
                {
                    Package (0x04)
                    {
                        0x78, 
                        0xB4, 
                        0xF0, 
                        0x0384
                    }, 

                    Package (0x04)
                    {
                        0x23, 
                        0x21, 
                        0x10, 
                        Zero
                    }, 

                    Package (0x04)
                    {
                        0x0B, 
                        0x09, 
                        0x04, 
                        Zero
                    }, 

                    Package (0x06)
                    {
                        0x78, 
                        0x5A, 
                        0x3C, 
                        0x28, 
                        0x1E, 
                        0x14
                    }, 

                    Package (0x06)
                    {
                        Zero, 
                        One, 
                        0x02, 
                        One, 
                        0x02, 
                        One
                    }, 

                    Package (0x06)
                    {
                        Zero, 
                        Zero, 
                        Zero, 
                        One, 
                        One, 
                        One
                    }, 

                    Package (0x04)
                    {
                        0x04, 
                        0x03, 
                        0x02, 
                        Zero
                    }, 

                    Package (0x04)
                    {
                        0x02, 
                        One, 
                        Zero, 
                        Zero
                    }
                })
                Name (TMD0, Buffer (0x14) {})
                CreateDWordField (TMD0, Zero, PIO0)
                CreateDWordField (TMD0, 0x04, DMA0)
                CreateDWordField (TMD0, 0x08, PIO1)
                CreateDWordField (TMD0, 0x0C, DMA1)
                CreateDWordField (TMD0, 0x10, CHNF)
                OperationRegion (CFG2, PCI_Config, 0x40, 0x20)
                Field (CFG2, DWordAcc, NoLock, Preserve)
                {
                    PMPT,   4, 
                    PSPT,   4, 
                    PMRI,   6, 
                            Offset (0x02), 
                    SMPT,   4, 
                    SSPT,   4, 
                    SMRI,   6, 
                            Offset (0x04), 
                    PSRI,   4, 
                    SSRI,   4, 
                            Offset (0x08), 
                    PM3E,   1, 
                    PS3E,   1, 
                    SM3E,   1, 
                    SS3E,   1, 
                            Offset (0x0A), 
                    PMUT,   2, 
                        ,   2, 
                    PSUT,   2, 
                            Offset (0x0B), 
                    SMUT,   2, 
                        ,   2, 
                    SSUT,   2, 
                            Offset (0x0C), 
                            Offset (0x14), 
                    PM6E,   1, 
                    PS6E,   1, 
                    SM6E,   1, 
                    SS6E,   1, 
                    PMCR,   1, 
                    PSCR,   1, 
                    SMCR,   1, 
                    SSCR,   1, 
                        ,   4, 
                    PMAE,   1, 
                    PSAE,   1, 
                    SMAE,   1, 
                    SSAE,   1
                }

                Name (GMPT, Zero)
                Name (GMUE, Zero)
                Name (GMUT, Zero)
                Name (GMCR, Zero)
                Name (GSPT, Zero)
                Name (GSUE, Zero)
                Name (GSUT, Zero)
                Name (GSCR, Zero)
                Device (CHN0)
                {
                    Name (_ADR, Zero)
                    Method (_GTM, 0, NotSerialized)
                    {
                        ShiftLeft (PSCR, One, Local1)
                        Or (PMCR, Local1, Local0)
                        ShiftLeft (PMAE, 0x02, Local3)
                        ShiftLeft (PM6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (PM3E, Local3, Local1)
                        ShiftLeft (PMPT, 0x04, Local3)
                        Or (Local1, Local3, Local1)
                        ShiftLeft (PSAE, 0x02, Local3)
                        ShiftLeft (PS6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (PS3E, Local3, Local2)
                        ShiftLeft (PSPT, 0x04, Local3)
                        Or (Local2, Local3, Local2)
                        Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, Debug)
                        Store (Arg0, TMD0)
                        ShiftLeft (PMAE, 0x02, Local3)
                        ShiftLeft (PM6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (PM3E, Local3, Local0)
                        ShiftLeft (PMPT, 0x04, Local3)
                        Or (Local0, Local3, Local0)
                        ShiftLeft (PSAE, 0x02, Local3)
                        ShiftLeft (PS6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (PS3E, Local3, Local1)
                        ShiftLeft (PSPT, 0x04, Local3)
                        Or (Local1, Local3, Local1)
                        Store (PMRI, GMPT)
                        Store (Local0, GMUE)
                        Store (PMUT, GMUT)
                        Store (PMCR, GMCR)
                        Store (PSRI, GSPT)
                        Store (Local1, GSUE)
                        Store (PSUT, GSUT)
                        Store (PSCR, GSCR)
                        STM ()
                        Store (GMPT, PMRI)
                        Store (GMUE, Local0)
                        Store (GMUT, PMUT)
                        Store (GMCR, PMCR)
                        Store (GSUE, Local1)
                        Store (GSUT, PSUT)
                        Store (GSCR, PSCR)
                        If (And (Local0, One))
                        {
                            Store (One, PM3E)
                        }
                        Else
                        {
                            Store (Zero, PM3E)
                        }

                        If (And (Local0, 0x02))
                        {
                            Store (One, PM6E)
                        }
                        Else
                        {
                            Store (Zero, PM6E)
                        }

                        If (And (Local0, 0x04))
                        {
                            Store (One, PMAE)
                        }
                        Else
                        {
                            Store (Zero, PMAE)
                        }

                        If (And (Local1, One))
                        {
                            Store (One, PS3E)
                        }
                        Else
                        {
                            Store (Zero, PS3E)
                        }

                        If (And (Local1, 0x02))
                        {
                            Store (One, PS6E)
                        }
                        Else
                        {
                            Store (Zero, PS6E)
                        }

                        If (And (Local1, 0x04))
                        {
                            Store (One, PSAE)
                        }
                        Else
                        {
                            Store (Zero, PSAE)
                        }

                        Store (GTF (Zero, Arg1), ATA0)
                        Store (GTF (One, Arg2), ATA1)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, Zero)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (RATA (ATA0))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, One)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (RATA (ATA1))
                        }
                    }
                }

                Device (CHN1)
                {
                    Name (_ADR, One)
                    Method (_GTM, 0, NotSerialized)
                    {
                        ShiftLeft (SSCR, One, Local1)
                        Or (SMCR, Local1, Local0)
                        ShiftLeft (SMAE, 0x02, Local3)
                        ShiftLeft (SM6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (SM3E, Local3, Local1)
                        ShiftLeft (SMPT, 0x04, Local3)
                        Or (Local1, Local3, Local1)
                        ShiftLeft (SSAE, 0x02, Local3)
                        ShiftLeft (SS6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (SS3E, Local3, Local2)
                        ShiftLeft (SSPT, 0x04, Local3)
                        Or (Local2, Local3, Local2)
                        Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, Debug)
                        Store (Arg0, TMD0)
                        ShiftLeft (SMAE, 0x02, Local3)
                        ShiftLeft (SM6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (SM3E, Local3, Local0)
                        ShiftLeft (SMPT, 0x04, Local3)
                        Or (Local0, Local3, Local0)
                        ShiftLeft (SSAE, 0x02, Local3)
                        ShiftLeft (SS6E, One, Local4)
                        Or (Local3, Local4, Local3)
                        Or (SS3E, Local3, Local1)
                        ShiftLeft (SSPT, 0x04, Local3)
                        Or (Local1, Local3, Local1)
                        Store (SMRI, GMPT)
                        Store (Local0, GMUE)
                        Store (SMUT, GMUT)
                        Store (SMCR, GMCR)
                        Store (SSRI, GSPT)
                        Store (Local1, GSUE)
                        Store (SSUT, GSUT)
                        Store (SSCR, GSCR)
                        STM ()
                        Store (GMPT, SMRI)
                        Store (GMUE, Local0)
                        Store (GMUT, SMUT)
                        Store (GMCR, SMCR)
                        Store (GSUE, Local1)
                        Store (GSUT, SSUT)
                        Store (GSCR, SSCR)
                        If (And (Local0, One))
                        {
                            Store (One, SM3E)
                        }
                        Else
                        {
                            Store (Zero, SM3E)
                        }

                        If (And (Local0, 0x02))
                        {
                            Store (One, SM6E)
                        }
                        Else
                        {
                            Store (Zero, SM6E)
                        }

                        If (And (Local0, 0x04))
                        {
                            Store (One, SMAE)
                        }
                        Else
                        {
                            Store (Zero, SMAE)
                        }

                        If (And (Local1, One))
                        {
                            Store (One, SS3E)
                        }
                        Else
                        {
                            Store (Zero, SS3E)
                        }

                        If (And (Local1, 0x02))
                        {
                            Store (One, SS6E)
                        }
                        Else
                        {
                            Store (Zero, SS6E)
                        }

                        If (And (Local1, 0x04))
                        {
                            Store (One, SSAE)
                        }
                        Else
                        {
                            Store (Zero, SSAE)
                        }

                        Store (GTF (Zero, Arg1), ATA2)
                        Store (GTF (One, Arg2), ATA3)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, Zero)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (RATA (ATA2))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, One)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (RATA (ATA3))
                        }
                    }
                }

                Method (GTM, 7, Serialized)
                {
                    Store (Ones, PIO0)
                    Store (Ones, PIO1)
                    Store (Ones, DMA0)
                    Store (Ones, DMA1)
                    Store (0x10, CHNF)
                    If (REGF) {}
                    Else
                    {
                        Return (TMD0)
                    }

                    If (And (Arg1, 0x20))
                    {
                        Or (CHNF, 0x02, CHNF)
                    }

                    Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR, 
                        Zero, Zero), Local6)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), 
                        Local7)
                    Store (Local7, DMA0)
                    Store (Local7, PIO0)
                    If (And (Arg4, 0x20))
                    {
                        Or (CHNF, 0x08, CHNF)
                    }

                    Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR, 
                        Zero, Zero), Local6)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), 
                        Local7)
                    Store (Local7, DMA1)
                    Store (Local7, PIO1)
                    If (And (Arg1, 0x07))
                    {
                        Store (Arg2, Local5)
                        If (And (Arg1, 0x02))
                        {
                            Add (Local5, 0x02, Local5)
                        }

                        If (And (Arg1, 0x04))
                        {
                            Add (Local5, 0x04, Local5)
                        }

                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), 
                            DMA0)
                        Or (CHNF, One, CHNF)
                    }

                    If (And (Arg4, 0x07))
                    {
                        Store (Arg5, Local5)
                        If (And (Arg4, 0x02))
                        {
                            Add (Local5, 0x02, Local5)
                        }

                        If (And (Arg4, 0x04))
                        {
                            Add (Local5, 0x04, Local5)
                        }

                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), 
                            DMA1)
                        Or (CHNF, 0x04, CHNF)
                    }

                    Store (TMD0, Debug)
                    Return (TMD0)
                }

                Method (STM, 0, Serialized)
                {
                    If (REGF)
                    {
                        Store (Zero, GMUE)
                        Store (Zero, GMUT)
                        Store (Zero, GSUE)
                        Store (Zero, GSUT)
                        If (And (CHNF, One))
                        {
                            Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, 
                                Zero, Zero), Local0)
                            If (LGreater (Local0, 0x05))
                            {
                                Store (0x05, Local0)
                            }

                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), 
                                GMUT)
                            Or (GMUE, One, GMUE)
                            If (LGreater (Local0, 0x02))
                            {
                                Or (GMUE, 0x02, GMUE)
                            }

                            If (LGreater (Local0, 0x04))
                            {
                                And (GMUE, 0xFD, GMUE)
                                Or (GMUE, 0x04, GMUE)
                            }
                        }
                        Else
                        {
                            If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero)))
                            {
                                If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero)))
                                {
                                    Store (DMA0, PIO0)
                                    Or (GMUE, 0x80, GMUE)
                                }
                            }
                        }

                        If (And (CHNF, 0x04))
                        {
                            Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, 
                                Zero, Zero), Local0)
                            If (LGreater (Local0, 0x05))
                            {
                                Store (0x05, Local0)
                            }

                            Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), 
                                GSUT)
                            Or (GSUE, One, GSUE)
                            If (LGreater (Local0, 0x02))
                            {
                                Or (GSUE, 0x02, GSUE)
                            }

                            If (LGreater (Local0, 0x04))
                            {
                                And (GSUE, 0xFD, GSUE)
                                Or (GSUE, 0x04, GSUE)
                            }
                        }
                        Else
                        {
                            If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero)))
                            {
                                If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero)))
                                {
                                    Store (DMA1, PIO1)
                                    Or (GSUE, 0x80, GSUE)
                                }
                            }
                        }

                        If (And (CHNF, 0x02))
                        {
                            Or (GMUE, 0x20, GMUE)
                        }

                        If (And (CHNF, 0x08))
                        {
                            Or (GSUE, 0x20, GSUE)
                        }

                        And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR, 
                            Zero, Zero), 0x07, Local0)
                        Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), 
                            Local1)
                        Store (Local1, GMPT)
                        If (LLess (Local0, 0x03))
                        {
                            Or (GMUE, 0x50, GMUE)
                        }

                        And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, 
                            Zero, Zero), 0x07, Local0)
                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), 
                            Local1)
                        Store (Local1, GSPT)
                        If (LLess (Local0, 0x03))
                        {
                            Or (GSUE, 0x50, GSUE)
                        }
                    }
                }

                Name (AT01, Buffer (0x07)
                {
                    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
                })
                Name (AT02, Buffer (0x07)
                {
                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
                })
                Name (AT03, Buffer (0x07)
                {
                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
                })
                Name (AT04, Buffer (0x07)
                {
                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
                })
                Name (ATA0, Buffer (0x1D) {})
                Name (ATA1, Buffer (0x1D) {})
                Name (ATA2, Buffer (0x1D) {})
                Name (ATA3, Buffer (0x1D) {})
                Name (ATAB, Buffer (0x1D) {})
                CreateByteField (ATAB, Zero, CMDC)
                Method (GTFB, 3, Serialized)
                {
                    Multiply (CMDC, 0x38, Local0)
                    Add (Local0, 0x08, Local1)
                    CreateField (ATAB, Local1, 0x38, CMDX)
                    Multiply (CMDC, 0x07, Local0)
                    CreateByteField (ATAB, Add (Local0, 0x02), A001)
                    CreateByteField (ATAB, Add (Local0, 0x06), A005)
                    Store (Arg0, CMDX)
                    Store (Arg1, A001)
                    Store (Arg2, A005)
                    Increment (CMDC)
                }

                Method (GTF, 2, Serialized)
                {
                    Store (Arg1, Debug)
                    Store (Zero, CMDC)
                    Name (ID49, 0x0C00)
                    Name (ID59, Zero)
                    Name (ID53, 0x04)
                    Name (ID63, 0x0F00)
                    Name (ID88, 0x0F00)
                    Name (IRDY, One)
                    Name (PIOT, Zero)
                    Name (DMAT, Zero)
                    If (LEqual (SizeOf (Arg1), 0x0200))
                    {
                        CreateWordField (Arg1, 0x62, IW49)
                        Store (IW49, ID49)
                        CreateWordField (Arg1, 0x6A, IW53)
                        Store (IW53, ID53)
                        CreateWordField (Arg1, 0x7E, IW63)
                        Store (IW63, ID63)
                        CreateWordField (Arg1, 0x76, IW59)
                        Store (IW59, ID59)
                        CreateWordField (Arg1, 0xB0, IW88)
                        Store (IW88, ID88)
                    }

                    Store (0xA0, Local7)
                    If (Arg0)
                    {
                        Store (0xB0, Local7)
                        And (CHNF, 0x08, IRDY)
                        If (And (CHNF, 0x10))
                        {
                            Store (PIO1, PIOT)
                        }
                        Else
                        {
                            Store (PIO0, PIOT)
                        }

                        If (And (CHNF, 0x04))
                        {
                            If (And (CHNF, 0x10))
                            {
                                Store (DMA1, DMAT)
                            }
                            Else
                            {
                                Store (DMA0, DMAT)
                            }
                        }
                    }
                    Else
                    {
                        And (CHNF, 0x02, IRDY)
                        Store (PIO0, PIOT)
                        If (And (CHNF, One))
                        {
                            Store (DMA0, DMAT)
                        }
                    }

                    If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00
                        )), DMAT))
                    {
                        Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, 
                            Zero, Zero), Local1)
                        If (LGreater (Local1, 0x05))
                        {
                            Store (0x05, Local1)
                        }

                        GTFB (AT01, Or (0x40, Local1), Local7)
                    }
                    Else
                    {
                        If (LAnd (And (ID63, 0xFF00), PIOT))
                        {
                            And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, 
                                Zero, Zero), 0x03, Local0)
                            Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0
                                )), Local1)
                            GTFB (AT01, Local1, Local7)
                        }
                    }

                    If (IRDY)
                    {
                        And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, 
                            Zero, Zero), 0x07, Local0)
                        Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0
                            )), Local1)
                        GTFB (AT01, Local1, Local7)
                    }
                    Else
                    {
                        If (And (ID49, 0x0400))
                        {
                            GTFB (AT01, One, Local7)
                        }
                    }

                    If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF)))
                    {
                        GTFB (AT03, And (ID59, 0xFF), Local7)
                    }

                    Store (ATAB, Debug)
                    Return (ATAB)
                }

                Method (RATA, 1, NotSerialized)
                {
                    CreateByteField (Arg0, Zero, CMDN)
                    Multiply (CMDN, 0x38, Local0)
                    CreateField (Arg0, 0x08, Local0, RETB)
                    Store (RETB, Debug)
                    Return (Concatenate (RETB, FZTF))
                }
            }

            Device (USB0)
            {
                Name (_ADR, 0x001D0000)
                OperationRegion (BAR0, PCI_Config, 0xC4, One)
                Field (BAR0, ByteAcc, NoLock, Preserve)
                {
                    USBW,   2, 
                            Offset (0x01)
                }

                Method (_S3D, 0, NotSerialized)
                {
                    If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }

                Method (_PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (0x03, USBW)
                    }
                    Else
                    {
                        Store (Zero, USBW)
                    }
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x03, 0x04))
                }
            }

            Device (USB1)
            {
                Name (_ADR, 0x001D0001)
                OperationRegion (BAR0, PCI_Config, 0xC4, One)
                Field (BAR0, ByteAcc, NoLock, Preserve)
                {
                    USBW,   2, 
                            Offset (0x01)
                }

                Method (_S3D, 0, NotSerialized)
                {
                    If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }

                Method (_PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (0x03, USBW)
                    }
                    Else
                    {
                        Store (Zero, USBW)
                    }
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x04, 0x04))
                }
            }

            Device (USB2)
            {
                Name (_ADR, 0x001D0002)
                OperationRegion (BAR0, PCI_Config, 0xC4, One)
                Field (BAR0, ByteAcc, NoLock, Preserve)
                {
                    USBW,   2, 
                            Offset (0x01)
                }

                Method (_S3D, 0, NotSerialized)
                {
                    If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }

                Method (_PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (0x03, USBW)
                    }
                    Else
                    {
                        Store (Zero, USBW)
                    }
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0C, 0x04))
                }
            }

            Device (USB3)
            {
                Name (_ADR, 0x001D0003)
                OperationRegion (BAR0, PCI_Config, 0xC4, One)
                Field (BAR0, ByteAcc, NoLock, Preserve)
                {
                    USBW,   2, 
                            Offset (0x01)
                }

                Method (_S3D, 0, NotSerialized)
                {
                    If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }

                Method (_PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (0x03, USBW)
                    }
                    Else
                    {
                        Store (Zero, USBW)
                    }
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0E, 0x04))
                }
            }

            Device (EUSB)
            {
                Name (_ADR, 0x001D0007)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0D, 0x04))
                }
            }

            Device (USB4)
            {
                Name (_ADR, 0x001A0000)
                OperationRegion (BAR0, PCI_Config, 0xC4, One)
                Field (BAR0, ByteAcc, NoLock, Preserve)
                {
                    USBW,   2, 
                            Offset (0x01)
                }

                Method (_S3D, 0, NotSerialized)
                {
                    If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }

                Method (_PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (0x03, USBW)
                    }
                    Else
                    {
                        Store (Zero, USBW)
                    }
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0E, 0x04))
                }
            }

            Device (USB5)
            {
                Name (_ADR, 0x001A0001)
                OperationRegion (BAR0, PCI_Config, 0xC4, One)
                Field (BAR0, ByteAcc, NoLock, Preserve)
                {
                    USBW,   2, 
                            Offset (0x01)
                }

                Method (_S3D, 0, NotSerialized)
                {
                    If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }

                Method (_PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (0x03, USBW)
                    }
                    Else
                    {
                        Store (Zero, USBW)
                    }
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x05, 0x04))
                }
            }

            Device (USBE)
            {
                Name (_ADR, 0x001A0007)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0D, 0x04))
                }
            }

            Device (P0P4)
            {
                Name (_ADR, 0x001C0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x09, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR04)
                    }

                    Return (PR04)
                }
            }

            Device (P0P5)
            {
                Name (_ADR, 0x001C0001)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x09, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR05)
                    }

                    Return (PR05)
                }
            }

            Device (P0P6)
            {
                Name (_ADR, 0x001C0002)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x09, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR06)
                    }

                    Return (PR06)
                }
            }

            Device (P0P7)
            {
                Name (_ADR, 0x001C0003)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x09, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR07)
                    }

                    Return (PR07)
                }

                Device (VT01)
                {
                    Name (_ADR, One)
                    Name (REFL, One)
                    Name (MSTM, 0x08)
                    Name (SSTM, 0x08)
                    Method (_STA, 0, NotSerialized)
                    {
                        If (LNotEqual (VID, 0x1106))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            If (LNotEqual (DID, 0x0415))
                            {
                                Return (Zero)
                            }

                            If (LEqual (CMDR, Zero))
                            {
                                Return (0x0D)
                            }
                            Else
                            {
                                Return (0x0F)
                            }
                        }
                    }

                    Method (_REG, 2, NotSerialized)
                    {
                        If (LEqual (Arg0, 0x02))
                        {
                            Store (Arg1, REFL)
                        }
                    }

                    Name (MATX, Buffer (0x14) {})
                    CreateDWordField (MATX, Zero, PIOM)
                    CreateDWordField (MATX, 0x04, DMAM)
                    CreateDWordField (MATX, 0x08, PIOS)
                    CreateDWordField (MATX, 0x0C, DMAS)
                    CreateDWordField (MATX, 0x10, CHFL)
                    OperationRegion (E2PR, PCI_Config, Zero, 0x10)
                    Field (E2PR, ByteAcc, NoLock, Preserve)
                    {
                        VID,    16, 
                        DID,    16, 
                        CMDR,   3
                    }

                    Device (CHN0)
                    {
                        Name (_ADR, Zero)
                        Name (_STA, 0x0F)
                        Method (_GTM, 0, NotSerialized)
                        {
                            Return (GTM ())
                        }

                        Method (_STM, 3, NotSerialized)
                        {
                            Store (Arg0, MATX)
                            STM ()
                        }

                        Device (DRV0)
                        {
                            Name (_ADR, Zero)
                            Method (_GTF, 0, NotSerialized)
                            {
                                Return (GTF (Zero, MSTM))
                            }
                        }

                        Device (DRV1)
                        {
                            Name (_ADR, One)
                            Method (_GTF, 0, NotSerialized)
                            {
                                Return (GTF (One, SSTM))
                            }
                        }
                    }

                    Device (CHN1)
                    {
                        Name (_ADR, One)
                        Name (_STA, Zero)
                    }

                    Method (GTF, 2, Serialized)
                    {
                        Store (Buffer (0x07)
                            {
                                0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                            }, Local0)
                        CreateByteField (Local0, One, MODE)
                        CreateByteField (Local0, 0x05, CHSL)
                        And (Arg0, 0x03, Local1)
                        If (LEqual (And (Local1, One), One))
                        {
                            Store (0xB0, CHSL)
                        }

                        Store (Arg1, MODE)
                        Return (Local0)
                    }

                    Method (GTM, 0, Serialized)
                    {
                        If (IDEP)
                        {
                            Store (0x78, PIOM)
                            Store (0x78, PIOS)
                            Store (0x3C, DMAM)
                            Store (0x3C, DMAS)
                            Store (0x15, CHFL)
                        }
                        Else
                        {
                            Store (0x78, PIOM)
                            Store (0x78, PIOS)
                            Store (0x0F, DMAM)
                            Store (0x0F, DMAS)
                            Store (0x15, CHFL)
                        }

                        Return (MATX)
                    }

                    Method (STM, 0, Serialized)
                    {
                        If (REFL) {}
                        Else
                        {
                            Return (MATX)
                        }

                        If (And (CHFL, One))
                        {
                            If (LEqual (DMAM, 0x78))
                            {
                                Store (0x40, MSTM)
                            }

                            If (LEqual (DMAM, 0x50))
                            {
                                Store (0x41, MSTM)
                            }

                            If (LEqual (DMAM, 0x3C))
                            {
                                Store (0x42, MSTM)
                            }

                            If (LEqual (DMAM, 0x2D))
                            {
                                Store (0x43, MSTM)
                            }

                            If (LEqual (DMAM, 0x1E))
                            {
                                Store (0x44, MSTM)
                            }

                            If (LEqual (DMAM, 0x14))
                            {
                                Store (0x45, MSTM)
                            }

                            If (LEqual (DMAM, 0x0F))
                            {
                                Store (0x46, MSTM)
                            }
                        }
                        Else
                        {
                            If (LEqual (PIOM, 0x0258))
                            {
                                Store (0x08, MSTM)
                            }

                            If (LEqual (PIOM, 0x017F))
                            {
                                Store (0x09, MSTM)
                            }

                            If (LEqual (PIOM, 0xF0))
                            {
                                Store (0x0A, MSTM)
                            }

                            If (LEqual (PIOM, 0xB4))
                            {
                                Store (0x0B, MSTM)
                            }

                            If (LEqual (PIOM, 0x78))
                            {
                                Store (0x0C, MSTM)
                            }
                        }

                        If (And (CHFL, 0x04))
                        {
                            If (LEqual (DMAS, 0x78))
                            {
                                Store (0x40, SSTM)
                            }

                            If (LEqual (DMAS, 0x50))
                            {
                                Store (0x41, SSTM)
                            }

                            If (LEqual (DMAS, 0x3C))
                            {
                                Store (0x42, SSTM)
                            }

                            If (LEqual (DMAS, 0x2D))
                            {
                                Store (0x43, SSTM)
                            }

                            If (LEqual (DMAS, 0x1E))
                            {
                                Store (0x44, SSTM)
                            }

                            If (LEqual (DMAS, 0x14))
                            {
                                Store (0x45, SSTM)
                            }

                            If (LEqual (DMAS, 0x0F))
                            {
                                Store (0x46, SSTM)
                            }
                        }
                        Else
                        {
                            If (LEqual (PIOS, 0x0258))
                            {
                                Store (0x08, SSTM)
                            }

                            If (LEqual (PIOS, 0x017F))
                            {
                                Store (0x09, SSTM)
                            }

                            If (LEqual (PIOS, 0xF0))
                            {
                                Store (0x0A, SSTM)
                            }

                            If (LEqual (PIOS, 0xB4))
                            {
                                Store (0x0B, SSTM)
                            }

                            If (LEqual (PIOS, 0x78))
                            {
                                Store (0x0C, SSTM)
                            }
                        }
                    }
                }
            }

            Device (P0P8)
            {
                Name (_ADR, 0x001C0004)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x09, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR08)
                    }

                    Return (PR08)
                }
            }

            Device (P0P9)
            {
                Name (_ADR, 0x001C0005)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x09, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR09)
                    }

                    Return (PR09)
                }
            }
        }

        Scope (\_GPE)
        {
            Method (_L09, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.P0P2, 0x02)
                Notify (\_SB.PCI0.P0P4, 0x02)
                Notify (\_SB.PCI0.P0P5, 0x02)
                Notify (\_SB.PCI0.P0P6, 0x02)
                Notify (\_SB.PCI0.P0P7, 0x02)
                Notify (\_SB.PCI0.P0P8, 0x02)
                Notify (\_SB.PCI0.P0P9, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L0B, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.P0P1, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L1C, 0, NotSerialized)
            {
                \_SB.PCI0.SBRG.SIOH ()
            }

            Method (_L08, 0, NotSerialized)
            {
                \_SB.PCI0.SBRG.SIOH ()
            }

            Method (_L03, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.USB0, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L04, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.USB1, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L0C, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.USB2, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L0E, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.USB3, 0x02)
                Notify (\_SB.PCI0.USB4, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L0D, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.EUSB, 0x02)
                Notify (\_SB.PCI0.USBE, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L05, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.USB5, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }
        }

        Device (PWRB)
        {
            Name (_HID, EisaId ("PNP0C0C"))
            Name (_UID, 0xAA)
            Name (_STA, 0x0B)
        }
    }

    OperationRegion (_SB.PCI0.SBRG.PIX0, PCI_Config, 0x60, 0x0C)
    Field (\_SB.PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve)
    {
        PIRA,   8, 
        PIRB,   8, 
        PIRC,   8, 
        PIRD,   8, 
                Offset (0x08), 
        PIRE,   8, 
        PIRF,   8, 
        PIRG,   8, 
        PIRH,   8
    }

    Scope (_SB)
    {
        Name (BUFA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {15}
        })
        CreateWordField (BUFA, One, IRA0)
        Device (LNKA)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, One)
            Method (_STA, 0, NotSerialized)
            {
                And (PIRA, 0x80, Local0)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSA)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRA, 0x80, PIRA)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRA, 0x0F, Local0)
                ShiftLeft (One, Local0, IRA0)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRA)
            }
        }

        Device (LNKB)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x02)
            Method (_STA, 0, NotSerialized)
            {
                And (PIRB, 0x80, Local0)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSB)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRB, 0x80, PIRB)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRB, 0x0F, Local0)
                ShiftLeft (One, Local0, IRA0)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRB)
            }
        }

        Device (LNKC)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x03)
            Method (_STA, 0, NotSerialized)
            {
                And (PIRC, 0x80, Local0)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSC)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRC, 0x80, PIRC)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRC, 0x0F, Local0)
                ShiftLeft (One, Local0, IRA0)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRC)
            }
        }

        Device (LNKD)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x04)
            Method (_STA, 0, NotSerialized)
            {
                And (PIRD, 0x80, Local0)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSD)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRD, 0x80, PIRD)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRD, 0x0F, Local0)
                ShiftLeft (One, Local0, IRA0)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRD)
            }
        }

        Device (LNKE)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x05)
            Method (_STA, 0, NotSerialized)
            {
                And (PIRE, 0x80, Local0)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSE)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRE, 0x80, PIRE)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRE, 0x0F, Local0)
                ShiftLeft (One, Local0, IRA0)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRE)
            }
        }

        Device (LNKF)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x06)
            Method (_STA, 0, NotSerialized)
            {
                And (PIRF, 0x80, Local0)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSF)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRF, 0x80, PIRF)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRF, 0x0F, Local0)
                ShiftLeft (One, Local0, IRA0)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRF)
            }
        }

        Device (LNKG)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x07)
            Method (_STA, 0, NotSerialized)
            {
                And (PIRG, 0x80, Local0)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSG)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRG, 0x80, PIRG)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRG, 0x0F, Local0)
                ShiftLeft (One, Local0, IRA0)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRG)
            }
        }

        Device (LNKH)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x08)
            Method (_STA, 0, NotSerialized)
            {
                And (PIRH, 0x80, Local0)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSH)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRH, 0x80, PIRH)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRH, 0x0F, Local0)
                ShiftLeft (One, Local0, IRA0)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRH)
            }
        }
    }

    Scope (_SB)
    {
        Name (XCPD, Zero)
        Name (XNPT, One)
        Name (XCAP, 0x02)
        Name (XDCP, 0x04)
        Name (XDCT, 0x08)
        Name (XDST, 0x0A)
        Name (XLCP, 0x0C)
        Name (XLCT, 0x10)
        Name (XLST, 0x12)
        Name (XSCP, 0x14)
        Name (XSCT, 0x18)
        Name (XSST, 0x1A)
        Name (XRCT, 0x1C)
        Mutex (MUTE, 0x00)
        Method (RBPE, 1, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, One)
            Field (PCFG, ByteAcc, NoLock, Preserve)
            {
                XCFG,   8
            }

            Release (MUTE)
            Return (XCFG)
        }

        Method (RWPE, 1, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFE, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x02)
            Field (PCFG, WordAcc, NoLock, Preserve)
            {
                XCFG,   16
            }

            Release (MUTE)
            Return (XCFG)
        }

        Method (RDPE, 1, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFC, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x04)
            Field (PCFG, DWordAcc, NoLock, Preserve)
            {
                XCFG,   32
            }

            Release (MUTE)
            Return (XCFG)
        }

        Method (WBPE, 2, NotSerialized)
        {
            Acquire (MUTE, 0x0FFF)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, One)
            Field (PCFG, ByteAcc, NoLock, Preserve)
            {
                XCFG,   8
            }

            Store (Arg1, XCFG)
            Release (MUTE)
        }

        Method (WWPE, 2, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFE, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x02)
            Field (PCFG, WordAcc, NoLock, Preserve)
            {
                XCFG,   16
            }

            Store (Arg1, XCFG)
            Release (MUTE)
        }

        Method (WDPE, 2, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFC, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x04)
            Field (PCFG, DWordAcc, NoLock, Preserve)
            {
                XCFG,   32
            }

            Store (Arg1, XCFG)
            Release (MUTE)
        }

        Method (RWDP, 3, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFC, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x04)
            Field (PCFG, DWordAcc, NoLock, Preserve)
            {
                XCFG,   32
            }

            And (XCFG, Arg2, Local1)
            Or (Local1, Arg1, XCFG)
            Release (MUTE)
        }

        Method (RPME, 1, NotSerialized)
        {
            Add (Arg0, 0x84, Local0)
            Store (RDPE (Local0), Local1)
            If (LEqual (Local1, Ones))
            {
                Return (Zero)
            }
            Else
            {
                If (LAnd (Local1, 0x00010000))
                {
                    WDPE (Local0, And (Local1, 0x00010000))
                    Return (One)
                }

                Return (Zero)
            }
        }
    }

    Scope (_SB.PCI0)
    {
        Name (SUPP, Zero)
        Name (CTRL, Zero)
        Method (_OSC, 4, NotSerialized)
        {
            If (LEqual (Arg0, Buffer (0x10)
                    {
                        /* 0000 */    0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40, 
                        /* 0008 */    0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
                    }))
            {
                CreateDWordField (Arg3, Zero, CDW1)
                CreateDWordField (Arg3, 0x04, CDW2)
                CreateDWordField (Arg3, 0x08, CDW3)
                Store (CDW2, SUPP)
                Store (CDW3, CTRL)
                If (LNotEqual (And (SUPP, 0x16), 0x16))
                {
                    And (CTRL, 0x1E, CTRL)
                }

                And (CTRL, 0x1D, CTRL)
                If (Not (And (CDW1, One)))
                {
                    If (And (CTRL, One)) {}
                    If (And (CTRL, 0x04)) {}
                    If (And (CTRL, 0x10)) {}
                }

                If (LNotEqual (Arg1, One))
                {
                    Or (CDW1, 0x08, CDW1)
                }

                If (LNotEqual (CDW3, CTRL))
                {
                    Or (CDW1, 0x10, CDW1)
                }

                Store (CTRL, CDW3)
                Return (Arg3)
            }
            Else
            {
                Or (CDW1, 0x04, CDW1)
                Return (Arg3)
            }
        }
    }

    Scope (_SB.PCI0)
    {
        Device (GFX0)
        {
            Name (_ADR, 0x00020000)
            OperationRegion (IGDM, SystemMemory, 0xFF000000, 0x2000)
            Field (IGDM, AnyAcc, NoLock, Preserve)
            {
                SIGN,   128, 
                SIZE,   32, 
                OVER,   32, 
                SVER,   256, 
                VVER,   128, 
                GVER,   128, 
                MBOX,   32, 
                        Offset (0xF0), 
                IBTT,   8, 
                IPSC,   2, 
                IPAT,   4, 
                        Offset (0xF2), 
                IBIA,   3, 
                IBLC,   2, 
                    ,   1, 
                ITVF,   4, 
                ITVM,   4, 
                        Offset (0xF4), 
                IDVM,   1, 
                IDVS,   2, 
                ISSC,   1, 
                        Offset (0xF5), 
                        Offset (0x100), 
                DRDY,   32, 
                CSTS,   32, 
                CEVT,   32, 
                        Offset (0x120), 
                DIDL,   32, 
                DDL2,   32, 
                DDL3,   32, 
                DDL4,   32, 
                DDL5,   32, 
                DDL6,   32, 
                DDL7,   32, 
                DDL8,   32, 
                CPDL,   32, 
                CPL2,   32, 
                CPL3,   32, 
                CPL4,   32, 
                CPL5,   32, 
                CPL6,   32, 
                CPL7,   32, 
                CPL8,   32, 
                CADL,   32, 
                CAL2,   32, 
                CAL3,   32, 
                CAL4,   32, 
                CAL5,   32, 
                CAL6,   32, 
                CAL7,   32, 
                CAL8,   32, 
                NADL,   32, 
                NDL2,   32, 
                NDL3,   32, 
                NDL4,   32, 
                NDL5,   32, 
                NDL6,   32, 
                NDL7,   32, 
                NDL8,   32, 
                ASLP,   32, 
                TIDX,   32, 
                CHPD,   32, 
                CLID,   32, 
                CDCK,   32, 
                SXSW,   32, 
                EVTS,   32, 
                CNOT,   32, 
                NRDY,   32, 
                        Offset (0x200), 
                SCIE,   1, 
                GEFC,   4, 
                GXFC,   3, 
                GESF,   8, 
                        Offset (0x204), 
                PARM,   32, 
                DSLP,   32, 
                        Offset (0x300), 
                ARDY,   32, 
                ASLC,   32, 
                TCHE,   32, 
                ALSI,   32, 
                BCLP,   32, 
                PFIT,   32, 
                CBLV,   32, 
                BCLM,   320, 
                CPFM,   32, 
                EPFM,   32, 
                        Offset (0x400), 
                GVD1,   57344
            }

            OperationRegion (TCOI, SystemIO, TOBS, 0x08)
            Field (TCOI, WordAcc, NoLock, Preserve)
            {
                        Offset (0x04), 
                    ,   9, 
                SCIS,   1, 
                        Offset (0x06)
            }

            Name (DBTB, Package (0x15)
            {
                Zero, 
                0x07, 
                0x38, 
                0x01C0, 
                0x0E00, 
                0x3F, 
                0x01C7, 
                0x0E07, 
                0x01F8, 
                0x0E38, 
                0x0FC0, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                0x7000, 
                0x7007, 
                0x7038, 
                0x71C0, 
                0x7E00
            })
            Method (GSCI, 0, NotSerialized)
            {
                If (LEqual (GEFC, 0x04))
                {
                    Store (GBDA (), GXFC)
                }

                If (LEqual (GEFC, 0x06))
                {
                    Store (SBCB (), GXFC)
                }

                Store (One, SCIS)
                Store (Zero, GEFC)
                Store (Zero, GSSE)
                Store (Zero, SCIE)
                Return (Zero)
            }

            Method (GBDA, 0, NotSerialized)
            {
                If (LEqual (GESF, Zero))
                {
                    Store (0x0279, PARM)
                    Store (Zero, GESF)
                    Return (SUCC)
                }

                If (LEqual (GESF, One))
                {
                    Store (0x0240, PARM)
                    Store (Zero, GESF)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x04))
                {
                    And (PARM, 0xEFFF0000, PARM)
                    And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10), 
                        PARM)
                    Or (IBTT, PARM, PARM)
                    Store (Zero, GESF)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x05))
                {
                    Store (IPSC, PARM)
                    Or (PARM, ShiftLeft (IPAT, 0x08), PARM)
                    Add (PARM, 0x0100, PARM)
                    Or (PARM, ShiftLeft (LIDS, 0x10), PARM)
                    XOr (PARM, 0x00010000, PARM)
                    Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
                    Store (Zero, GESF)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x06))
                {
                    Store (ITVF, PARM)
                    Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
                    Store (Zero, GESF)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x07))
                {
                    Name (MEMS, 0x0D)
                    Store (GIVD, PARM)
                    XOr (PARM, One, PARM)
                    Or (PARM, ShiftLeft (GMFN, One), PARM)
                    Or (PARM, 0x1000, PARM)
                    Or (ShiftLeft (CDCT, 0x15), PARM, PARM)
                    If (LEqual (IDVM, One))
                    {
                        Store (0x11, MEMS)
                    }

                    If (LLess (TASM, M512))
                    {
                        Or (PARM, ShiftLeft (One, MEMS), PARM)
                    }
                    Else
                    {
                        If (LLess (TASM, M1GB))
                        {
                            If (LLess (IDVS, 0x03))
                            {
                                Or (PARM, ShiftLeft (IDVS, MEMS), PARM)
                            }
                            Else
                            {
                                Or (PARM, ShiftLeft (0x02, MEMS), PARM)
                            }
                        }
                        Else
                        {
                            Or (PARM, ShiftLeft (IDVS, MEMS), PARM)
                        }
                    }

                    Store (One, GESF)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x0A))
                {
                    Store (Zero, PARM)
                    If (ISSC)
                    {
                        Or (PARM, 0x03, PARM)
                    }

                    Store (Zero, GESF)
                    Return (SUCC)
                }

                Store (Zero, GESF)
                Return (CRIT)
            }

            Method (SBCB, 0, NotSerialized)
            {
                If (LEqual (GESF, Zero))
                {
                    Store (0x20, PARM)
                    Store (Zero, GESF)
                    Return (SUCC)
                }

                If (LEqual (GESF, One))
                {
                    Store (Zero, GESF)
                    Store (Zero, PARM)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x03))
                {
                    Store (Zero, GESF)
                    Store (Zero, PARM)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x04))
                {
                    Store (Zero, GESF)
                    Store (Zero, PARM)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x05))
                {
                    Store (Zero, GESF)
                    Store (Zero, PARM)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x06))
                {
                    ShiftRight (PARM, 0x1C, Local0)
                    If (LEqual (Local0, Zero))
                    {
                        And (PARM, 0x0F, ITVF)
                        And (PARM, 0xF0, ITVM)
                    }

                    Store (Zero, GESF)
                    Store (Zero, PARM)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x07))
                {
                    Store (Zero, GESF)
                    Store (Zero, PARM)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x08))
                {
                    Store (Zero, GESF)
                    Store (Zero, PARM)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x09))
                {
                    And (PARM, 0xFF, IBTT)
                    Store (Zero, GESF)
                    Store (Zero, PARM)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x0A))
                {
                    ShiftRight (PARM, 0x1C, Local0)
                    If (LEqual (Local0, Zero))
                    {
                        And (PARM, 0xFF, IPSC)
                        Subtract (And (ShiftRight (PARM, 0x08), 0xFF), One, IPAT)
                        And (ShiftRight (PARM, 0x12), 0x03, IBLC)
                        And (ShiftRight (PARM, 0x14), 0x07, IBIA)
                    }

                    Store (Zero, GESF)
                    Store (Zero, PARM)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x0B))
                {
                    If (LEqual (And (ShiftRight (PARM, 0x0B), 0x03), 0x02))
                    {
                        And (ShiftRight (PARM, 0x0D), 0x0F, Local0)
                        And (ShiftRight (PARM, 0x11), 0x0F, Local1)
                        If (Local0)
                        {
                            Store (Zero, IDVM)
                            Store (Local0, IDVS)
                        }

                        If (Local1)
                        {
                            Store (One, IDVM)
                            Store (Local1, IDVS)
                        }
                    }

                    Store (Zero, GESF)
                    Store (Zero, PARM)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x10))
                {
                    Store (Zero, GESF)
                    Store (Zero, PARM)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x11))
                {
                    Store (ShiftLeft (LIDS, 0x08), PARM)
                    Add (PARM, 0x0100, PARM)
                    Store (Zero, GESF)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x12))
                {
                    If (And (PARM, One))
                    {
                        If (LEqual (ShiftRight (PARM, One), One))
                        {
                            Store (One, ISSC)
                        }
                        Else
                        {
                            Store (Zero, GESF)
                            Return (CRIT)
                        }
                    }
                    Else
                    {
                        Store (Zero, ISSC)
                    }

                    Store (Zero, GESF)
                    Store (Zero, PARM)
                    Return (SUCC)
                }

                If (LEqual (GESF, 0x13))
                {
                    Store (Zero, GESF)
                    Store (Zero, PARM)
                    Return (SUCC)
                }

                Store (Zero, GESF)
                Return (SUCC)
            }

            Scope (^^PCI0)
            {
                OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
                Field (MCHP, AnyAcc, NoLock, Preserve)
                {
                            Offset (0x60), 
                    TASM,   10, 
                            Offset (0x62)
                }
            }

            OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
            Field (IGDP, AnyAcc, NoLock, Preserve)
            {
                        Offset (0x12), 
                    ,   1, 
                GIVD,   1, 
                    ,   2, 
                GUMA,   3, 
                        Offset (0x14), 
                    ,   4, 
                GMFN,   1, 
                        Offset (0x18), 
                        Offset (0x8C), 
                CDCT,   10, 
                        Offset (0x8E), 
                        Offset (0xA8), 
                GSSE,   1, 
                GSSB,   14, 
                GSES,   1, 
                        Offset (0xBC), 
                ASLS,   32
            }

            Name (M512, 0x08)
            Name (M1GB, 0x10)
            Scope (\_GPE)
            {
                Method (_L06, 0, NotSerialized)
                {
                    \_SB.PCI0.GFX0.GSCI ()
                }
            }

            Name (OPBS, 0xFFFFFF00)
            Method (OPTS, 1, NotSerialized)
            {
                If (LEqual (Arg0, 0x03))
                {
                    Store (ASLS, OPBS)
                }
            }

            Method (OWAK, 1, NotSerialized)
            {
                If (LEqual (Arg0, 0x03))
                {
                    Store (OPBS, ASLS)
                    Store (One, GSES)
                }
            }
        }
    }

    OperationRegion (GPR2, SystemIO, GPBS, 0x30)
    Field (GPR2, ByteAcc, NoLock, Preserve)
    {
                Offset (0x18), 
            ,   27, 
        GB27,   1, 
                Offset (0x1C)
    }

    Method (SBPS, 1, NotSerialized)
    {
        If (LEqual (Arg0, One))
        {
            Store (One, GB27)
        }

        If (LEqual (Arg0, 0x03))
        {
            Store (One, GB27)
        }
    }

    Method (SBPW, 1, NotSerialized)
    {
        Store (Zero, GB27)
    }

    Scope (_SB)
    {
        Scope (PCI0)
        {
            Name (CRS, ResourceTemplate ()
            {
                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                    0x0000,             // Granularity
                    0x0000,             // Range Minimum
                    0x00FF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0100,             // Length
                    ,, )
                IO (Decode16,
                    0x0CF8,             // Range Minimum
                    0x0CF8,             // Range Maximum
                    0x01,               // Alignment
                    0x08,               // Length
                    )
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,             // Granularity
                    0x0000,             // Range Minimum
                    0x0CF7,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0CF8,             // Length
                    ,, , TypeStatic)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,             // Granularity
                    0x0D00,             // Range Minimum
                    0xFFFF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0xF300,             // Length
                    ,, , TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000A0000,         // Range Minimum
                    0x000BFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00020000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C0000,         // Range Minimum
                    0x000DFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00020000,         // Length
                    ,, _Y18, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0x00000000,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000000,         // Length
                    ,, _Y19, AddressRangeMemory, TypeStatic)
            })
            CreateDWordField (CRS, \_SB.PCI0._Y18._MIN, MIN5)
            CreateDWordField (CRS, \_SB.PCI0._Y18._MAX, MAX5)
            CreateDWordField (CRS, \_SB.PCI0._Y18._LEN, LEN5)
            CreateDWordField (CRS, \_SB.PCI0._Y19._MIN, MIN6)
            CreateDWordField (CRS, \_SB.PCI0._Y19._MAX, MAX6)
            CreateDWordField (CRS, \_SB.PCI0._Y19._LEN, LEN6)
            Method (_CRS, 0, NotSerialized)
            {
                Store (MG1L, Local0)
                If (Local0)
                {
                    Store (MG1B, MIN5)
                    Store (MG1L, LEN5)
                    Add (MIN5, Decrement (Local0), MAX5)
                }

                Store (MG2B, MIN6)
                Store (MG2L, LEN6)
                Store (MG2L, Local0)
                Add (MIN6, Decrement (Local0), MAX6)
                Return (CRS)
            }
        }
    }

    Name (WOTB, Zero)
    Name (WSSB, Zero)
    Name (WAXB, Zero)
    Method (_PTS, 1, NotSerialized)
    {
        Store (Arg0, DBG8)
        PTS (Arg0)
        Store (Zero, Index (WAKP, Zero))
        Store (Zero, Index (WAKP, One))
        If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
        {
            Sleep (0x0BB8)
        }

        Store (ASSB, WSSB)
        Store (AOTB, WOTB)
        Store (AAXB, WAXB)
        Store (Arg0, ASSB)
        Store (OSFL (), AOTB)
        Store (Zero, AAXB)
    }

    Method (_WAK, 1, NotSerialized)
    {
        ShiftLeft (Arg0, 0x04, DBG8)
        WAK (Arg0)
        If (ASSB)
        {
            Store (WSSB, ASSB)
            Store (WOTB, AOTB)
            Store (WAXB, AAXB)
        }

        If (DerefOf (Index (WAKP, Zero)))
        {
            Store (Zero, Index (WAKP, One))
        }
        Else
        {
            Store (Arg0, Index (WAKP, One))
        }

        Return (WAKP)
    }

    Name (_S0, Package (0x04)
    {
        Zero, 
        Zero, 
        Zero, 
        Zero
    })
    If (SS1)
    {
        Name (_S1, Package (0x04)
        {
            One, 
            Zero, 
            Zero, 
            Zero
        })
    }

    If (SS3)
    {
        Name (_S3, Package (0x04)
        {
            0x05, 
            Zero, 
            Zero, 
            Zero
        })
    }

    If (SS4)
    {
        Name (_S4, Package (0x04)
        {
            0x06, 
            Zero, 
            Zero, 
            Zero
        })
    }

    Name (_S5, Package (0x04)
    {
        0x07, 
        Zero, 
        Zero, 
        Zero
    })
    Method (PTS, 1, NotSerialized)
    {
        If (Arg0)
        {
            \_SB.PCI0.SBRG.SIOS (Arg0)
            \_SB.PCI0.NPTS (Arg0)
            \_SB.PCI0.SBRG.SPTS (Arg0)
            \_SB.PCI0.GFX0.OPTS (Arg0)
            SBPS (Arg0)
        }
    }

    Method (WAK, 1, NotSerialized)
    {
        \_SB.PCI0.SBRG.SIOW (Arg0)
        \_SB.PCI0.NWAK (Arg0)
        \_SB.PCI0.SBRG.SWAK (Arg0)
        \_SB.PCI0.GFX0.OWAK (Arg0)
        SBPW (Arg0)
    }
}


[-- Attachment #4: Type: text/plain, Size: 138 bytes --]

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

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

* AW: Re: Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel?
  2010-09-09 18:27       ` Carsten Schiers
@ 2010-09-09 18:40         ` Carsten Schiers
  2010-09-09 19:04           ` Carsten Schiers
  2010-09-10  8:45           ` Jan Beulich
  2010-09-10  8:48         ` AW: " Jan Beulich
  1 sibling, 2 replies; 27+ messages in thread
From: Carsten Schiers @ 2010-09-09 18:40 UTC (permalink / raw)
  To: JBeulich, Carsten Schiers; +Cc: xen-devel

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

OK, here are the three SSDT's that I seem to have. BR, Carsten.

-----Ursprüngliche Nachricht-----
Von: Carsten Schiers 
Gesendet: Donnerstag, 9. September 2010 20:27
An: JBeulich
Cc: xen-devel
Betreff: AW: Re: [Xen-devel] Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 
pvops Kernel?

Ups. My fault. But this won't make a difference. Find log for 3840MB, 
1024MB, and 256MB in attached log.

(XEN) Command line: dom0_mem=3840M loglvl=all guest_loglvl=all 
sync_console console_to_ring com1=19200,8n1 console=com1 ...
[    3.579906] input: Power Button as 
/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    3.580827] ACPI: Power Button [PWRF]
[    3.647887] ACPI: SSDT 00000000bbfb00b0 00235 (v01 DpgPmm  P001Ist 
00000011 INTL 20051117)
[    3.698280] ACPI: SSDT 00000000bbfb02f0 00235 (v01 DpgPmm  P002Ist 
00000012 INTL 20051117)
(XEN) mm.c:860:d0 Error getting mfn 80000 (pfn 7c9ec) from L1 entry
8000000080000473 for l1e_owner=0, pg_owner=32753
[    3.749005] BUG: unable to handle kernel paging request at 
ffffc90000062000
[    3.749005] IP: [<ffffffff81258492>] 
acpi_ex_system_memory_space_handler+0x16d/0x1df
[    3.749005] PGD bb80d067 PUD bb80e067 PMD bb80f067 PTE 0
[    3.749005] Oops: 0000 [#1] SMP 

I did a 

  cp /proc/acpi/dsdt > DSDT
  iasl -d DSDT 

and provided the output, just in case it is what you needed. I will for 
sure need some time to understand that.
Is the hypothesis that a) the BIOS is wrong, and b) Xen is checking more 
extreme than bare metal, so we need to make the Xen Code a bit more 
relaxed (error message instead of crash)?

How to extract SSDT I don't know. Are they in this file also?

BR,
Carsten.

-----Ursprüngliche Nachricht-----
Von: Jan Beulich [mailto:JBeulich@novell.com]
Gesendet: Donnerstag, 9. September 2010 11:58
An: Carsten Schiers
Cc: xen-devel
Betreff: AW: Re: [Xen-devel] Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 
pvops Kernel?

>>> On 08.09.10 at 22:15, "Carsten Schiers" <carsten@schiers.de> wrote:
> Hi,
> 
> no change when I set e.g. to dom0_mem=3000M (see below and in log. In 
> log, I also tried 196M, same result).

You spell it right here, but the logs in the other mail say you used 
"dom_mem="...

Jan






[-- Attachment #2: SSDT3.dsl --]
[-- Type: application/octet-stream, Size: 5072 bytes --]

/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20090123
 *
 * Disassembly of SSDT3, Thu Sep  9 20:39:56 2010
 *
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x00000235 (565)
 *     Revision         0x01
 *     Checksum         0x53
 *     OEM ID           "DpgPmm"
 *     OEM Table ID     "P002Ist"
 *     OEM Revision     0x00000012 (18)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20051117 (537202967)
 */
DefinitionBlock ("SSDT3.aml", "SSDT", 1, "DpgPmm", "P002Ist", 0x00000012)
{
    External (NCPU)
    External (NPCP, IntObj)
    External (PDC1)
    External (CFGD)
    External (\_PR_.P002, DeviceObj)

    Scope (\_PR.P002)
    {
        Method (_PPC, 0, NotSerialized)
        {
            Return (Zero)
        }

        Method (_PCT, 0, NotSerialized)
        {
            If (LAnd (LNot (And (CFGD, 0x4000)), LEqual (And (PDC1, 
                0x09), 0x09)))
            {
                Return (Package (0x02)
                {
                    ResourceTemplate ()
                    {
                        Register (FFixedHW, 
                            0x00,               // Bit Width
                            0x00,               // Bit Offset
                            0x0000000000000000, // Address
                            ,)
                    }, 

                    ResourceTemplate ()
                    {
                        Register (FFixedHW, 
                            0x00,               // Bit Width
                            0x00,               // Bit Offset
                            0x0000000000000000, // Address
                            ,)
                    }
                })
            }

            Return (Package (0x02)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x10,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000900, // Address
                        ,)
                }, 

                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x10,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000902, // Address
                        ,)
                }
            })
        }

        Method (_PSD, 0, NotSerialized)
        {
            Name (DOMN, 0x00)
            Name (CRTP, 0x00)
            Name (NOPR, 0x00)
            If (And (PDC1, 0x0800))
            {
                Store (0xFE, CRTP)
            }
            Else
            {
                Store (0xFC, CRTP)
            }

            Divide (0x02, NPCP, Local1, Local2)
            If (LEqual (Local1, 0x00))
            {
                Store (NPCP, Local1)
            }

            Decrement (Local1)
            Store (Local1, DOMN)
            Divide (NCPU, NPCP, Local2, Local3)
            Store (Local3, NOPR)
            Return (Package (0x01)
            {
                Package (0x05)
                {
                    0x05, 
                    0x00, 
                    DOMN, 
                    CRTP, 
                    NOPR
                }
            })
        }

        Method (_PSS, 0, NotSerialized)
        {
            If (LAnd (LNot (And (CFGD, 0x4000)), LEqual (And (PDC1, 
                0x09), 0x09)))
            {
                Return (NPSS)
            }

            Return (SPSS)
        }

        Name (SPSS, Package (0x03)
        {
            Package (0x06)
            {
                0x00000898, 
                0x00015BA8, 
                0x000000A0, 
                0x0000000A, 
                0x00000B28, 
                0x00000B28
            }, 

            Package (0x06)
            {
                0x00000640, 
                0x000109A0, 
                0x000000A0, 
                0x0000000A, 
                0x00000822, 
                0x00000822
            }, 

            Package (0x06)
            {
                0x000004B0, 
                0x0000D6D8, 
                0x000000A0, 
                0x0000000A, 
                0x0000061D, 
                0x0000061D
            }
        })
        Name (NPSS, Package (0x03)
        {
            Package (0x06)
            {
                0x0000089B, 
                0x00015BA8, 
                0x0000000A, 
                0x0000000A, 
                0x00000B28, 
                0x00000B28
            }, 

            Package (0x06)
            {
                0x00000643, 
                0x000109A0, 
                0x0000000A, 
                0x0000000A, 
                0x00000822, 
                0x00000822
            }, 

            Package (0x06)
            {
                0x000004B3, 
                0x0000D6D8, 
                0x0000000A, 
                0x0000000A, 
                0x0000061D, 
                0x0000061D
            }
        })
    }
}


[-- Attachment #3: SSDT2.dsl --]
[-- Type: application/octet-stream, Size: 5072 bytes --]

/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20090123
 *
 * Disassembly of SSDT2, Thu Sep  9 20:39:55 2010
 *
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x00000235 (565)
 *     Revision         0x01
 *     Checksum         0x5A
 *     OEM ID           "DpgPmm"
 *     OEM Table ID     "P001Ist"
 *     OEM Revision     0x00000011 (17)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20051117 (537202967)
 */
DefinitionBlock ("SSDT2.aml", "SSDT", 1, "DpgPmm", "P001Ist", 0x00000011)
{
    External (NCPU)
    External (NPCP, IntObj)
    External (PDC0)
    External (CFGD)
    External (\_PR_.P001, DeviceObj)

    Scope (\_PR.P001)
    {
        Method (_PPC, 0, NotSerialized)
        {
            Return (Zero)
        }

        Method (_PCT, 0, NotSerialized)
        {
            If (LAnd (LNot (And (CFGD, 0x4000)), LEqual (And (PDC0, 
                0x09), 0x09)))
            {
                Return (Package (0x02)
                {
                    ResourceTemplate ()
                    {
                        Register (FFixedHW, 
                            0x00,               // Bit Width
                            0x00,               // Bit Offset
                            0x0000000000000000, // Address
                            ,)
                    }, 

                    ResourceTemplate ()
                    {
                        Register (FFixedHW, 
                            0x00,               // Bit Width
                            0x00,               // Bit Offset
                            0x0000000000000000, // Address
                            ,)
                    }
                })
            }

            Return (Package (0x02)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x10,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000900, // Address
                        ,)
                }, 

                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x10,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000902, // Address
                        ,)
                }
            })
        }

        Method (_PSD, 0, NotSerialized)
        {
            Name (DOMN, 0x00)
            Name (CRTP, 0x00)
            Name (NOPR, 0x00)
            If (And (PDC0, 0x0800))
            {
                Store (0xFE, CRTP)
            }
            Else
            {
                Store (0xFC, CRTP)
            }

            Divide (0x01, NPCP, Local1, Local2)
            If (LEqual (Local1, 0x00))
            {
                Store (NPCP, Local1)
            }

            Decrement (Local1)
            Store (Local1, DOMN)
            Divide (NCPU, NPCP, Local2, Local3)
            Store (Local3, NOPR)
            Return (Package (0x01)
            {
                Package (0x05)
                {
                    0x05, 
                    0x00, 
                    DOMN, 
                    CRTP, 
                    NOPR
                }
            })
        }

        Method (_PSS, 0, NotSerialized)
        {
            If (LAnd (LNot (And (CFGD, 0x4000)), LEqual (And (PDC0, 
                0x09), 0x09)))
            {
                Return (NPSS)
            }

            Return (SPSS)
        }

        Name (SPSS, Package (0x03)
        {
            Package (0x06)
            {
                0x00000898, 
                0x00015BA8, 
                0x000000A0, 
                0x0000000A, 
                0x00000B28, 
                0x00000B28
            }, 

            Package (0x06)
            {
                0x00000640, 
                0x000109A0, 
                0x000000A0, 
                0x0000000A, 
                0x00000822, 
                0x00000822
            }, 

            Package (0x06)
            {
                0x000004B0, 
                0x0000D6D8, 
                0x000000A0, 
                0x0000000A, 
                0x0000061D, 
                0x0000061D
            }
        })
        Name (NPSS, Package (0x03)
        {
            Package (0x06)
            {
                0x0000089B, 
                0x00015BA8, 
                0x0000000A, 
                0x0000000A, 
                0x00000B28, 
                0x00000B28
            }, 

            Package (0x06)
            {
                0x00000643, 
                0x000109A0, 
                0x0000000A, 
                0x0000000A, 
                0x00000822, 
                0x00000822
            }, 

            Package (0x06)
            {
                0x000004B3, 
                0x0000D6D8, 
                0x0000000A, 
                0x0000000A, 
                0x0000061D, 
                0x0000061D
            }
        })
    }
}


[-- Attachment #4: SSDT1.dsl --]
[-- Type: application/octet-stream, Size: 14197 bytes --]

/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20090123
 *
 * Disassembly of SSDT1, Thu Sep  9 20:39:48 2010
 *
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x00000A7C (2684)
 *     Revision         0x01
 *     Checksum         0x3E
 *     OEM ID           "DpgPmm"
 *     OEM Table ID     "CpuPm"
 *     OEM Revision     0x00000012 (18)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20051117 (537202967)
 */
DefinitionBlock ("SSDT1.aml", "SSDT", 1, "DpgPmm", "CpuPm", 0x00000012)
{
    External (\_PR_.P004, DeviceObj)
    External (\_PR_.P003, DeviceObj)
    External (\_PR_.P002, DeviceObj)
    External (\_PR_.P001, DeviceObj)

    Scope (\)
    {
        Name (SSDT, Package (0x18)
        {
            "CPU0IST ", 
            0xBBFB00B0, 
            0x00000235, 
            "CPU1IST ", 
            0xBBFB02F0, 
            0x00000235, 
            "CPU2IST ", 
            0x80000000, 
            0x80000000, 
            "CPU3IST ", 
            0x80000000, 
            0x80000000, 
            "CPU4IST ", 
            0x80000000, 
            0x80000000, 
            "CPU5IST ", 
            0x80000000, 
            0x80000000, 
            "CPU6IST ", 
            0x80000000, 
            0x80000000, 
            "CPU7IST ", 
            0x80000000, 
            0x80000000
        })
        Name (CSDT, Package (0x18)
        {
            "CPU0CST ", 
            0x80000000, 
            0x80000000, 
            "CPU1CST ", 
            0x80000000, 
            0x80000000, 
            "CPU2CST ", 
            0x80000000, 
            0x80000000, 
            "CPU3CST ", 
            0x80000000, 
            0x80000000, 
            "CPU4CST ", 
            0x80000000, 
            0x80000000, 
            "CPU5CST ", 
            0x80000000, 
            0x80000000, 
            "CPU6CST ", 
            0x80000000, 
            0x80000000, 
            "CPU7CST ", 
            0x80000000, 
            0x80000000
        })
        Name (CFGD, 0x00000002)
        Name (NCPU, 0x00000002)
        Name (NPCP, 0x00000001)
        Name (PDC0, 0x80000000)
        Name (PDC1, 0x80000000)
        Name (PDC2, 0x80000000)
        Name (PDC3, 0x80000000)
        Name (PDC4, 0x80000000)
        Name (PDC5, 0x80000000)
        Name (PDC6, 0x80000000)
        Name (PDC7, 0x80000000)
        Name (TBL0, 0x00)
        Name (TBL1, 0x00)
        Name (TBL2, 0x00)
        Name (TBL3, 0x00)
        Name (TBL4, 0x00)
        Name (TBL5, 0x00)
        Name (TBL6, 0x00)
        Name (TBL7, 0x00)
        Name (CTB0, 0x00)
        Name (CTB1, 0x00)
        Name (CTB2, 0x00)
        Name (CTB3, 0x00)
        OperationRegion (PMRG, SystemIO, 0x0800, 0x50)
        Field (PMRG, ByteAcc, NoLock, Preserve)
        {
                    Offset (0x41), 
            DEV4,   1, 
            DEV5,   1, 
            DEV6,   1, 
            DEV7,   1, 
            STS4,   1, 
            STS5,   1, 
            STS6,   1, 
            STS7,   1
        }
    }

    Scope (\_PR.P001)
    {
        Name (HI0, 0x00)
        Name (HC0, 0x00)
        Method (_PDC, 1, NotSerialized)
        {
            CreateDWordField (Arg0, 0x00, REVS)
            CreateDWordField (Arg0, 0x04, SIZE)
            Store (SizeOf (Arg0), Local0)
            Store (Subtract (Local0, 0x08), Local1)
            CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
            Name (STS0, Buffer (0x04)
            {
                0x00, 0x00, 0x00, 0x00
            })
            Concatenate (STS0, TEMP, Local2)
            _OSC (Buffer (0x10)
                {
                    /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                    /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
                }, REVS, SIZE, Local2)
        }

        Method (_OSC, 4, NotSerialized)
        {
            CreateDWordField (Arg3, 0x00, STS0)
            CreateDWordField (Arg3, 0x04, CAP0)
            CreateDWordField (Arg0, 0x00, IID0)
            CreateDWordField (Arg0, 0x04, IID1)
            CreateDWordField (Arg0, 0x08, IID2)
            CreateDWordField (Arg0, 0x0C, IID3)
            Name (UID0, Buffer (0x10)
            {
                /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
            })
            CreateDWordField (UID0, 0x00, EID0)
            CreateDWordField (UID0, 0x04, EID1)
            CreateDWordField (UID0, 0x08, EID2)
            CreateDWordField (UID0, 0x0C, EID3)
            If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
                LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
            {
                Store (0x06, Index (STS0, 0x00))
                Return (Arg3)
            }

            If (LNotEqual (Arg1, 0x01))
            {
                Store (0x0A, Index (STS0, 0x00))
                Return (Arg3)
            }

            Or (And (PDC0, 0x7FFFFFFF), CAP0, PDC0)
            If (LAnd (LAnd (LEqual (And (PDC0, 0x09), 0x09), LEqual (
                TBL0, Zero)), LEqual (And (CFGD, 0x02), 0x02)))
            {
                Or (TBL0, 0x01, TBL0)
                OperationRegion (GV00, SystemMemory, DerefOf (Index (SSDT, 0x01)), DerefOf (Index (SSDT, 0x02
                    )))
                Load (GV00, HI0)
            }

            If (LAnd (LAnd (LEqual (And (PDC0, 0x18), 0x18), LEqual (
                CTB0, Zero)), LEqual (And (CFGD, 0x20), 0x20)))
            {
                Or (CTB0, 0x01, CTB0)
                OperationRegion (CT00, SystemMemory, DerefOf (Index (CSDT, 0x01)), DerefOf (Index (CSDT, 0x02
                    )))
                Load (CT00, HC0)
            }

            Return (Arg3)
        }
    }

    Scope (\_PR.P002)
    {
        Name (HI1, 0x00)
        Name (HC1, 0x00)
        Method (_PDC, 1, NotSerialized)
        {
            CreateDWordField (Arg0, 0x00, REVS)
            CreateDWordField (Arg0, 0x04, SIZE)
            Store (SizeOf (Arg0), Local0)
            Store (Subtract (Local0, 0x08), Local1)
            CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
            Name (STS0, Buffer (0x04)
            {
                0x00, 0x00, 0x00, 0x00
            })
            Concatenate (STS0, TEMP, Local2)
            _OSC (Buffer (0x10)
                {
                    /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                    /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
                }, REVS, SIZE, Local2)
        }

        Method (_OSC, 4, NotSerialized)
        {
            CreateDWordField (Arg3, 0x00, STS0)
            CreateDWordField (Arg3, 0x04, CAP0)
            CreateDWordField (Arg0, 0x00, IID0)
            CreateDWordField (Arg0, 0x04, IID1)
            CreateDWordField (Arg0, 0x08, IID2)
            CreateDWordField (Arg0, 0x0C, IID3)
            Name (UID0, Buffer (0x10)
            {
                /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
            })
            CreateDWordField (UID0, 0x00, EID0)
            CreateDWordField (UID0, 0x04, EID1)
            CreateDWordField (UID0, 0x08, EID2)
            CreateDWordField (UID0, 0x0C, EID3)
            If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
                LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
            {
                Store (0x06, Index (STS0, 0x00))
                Return (Arg3)
            }

            If (LNotEqual (Arg1, 0x01))
            {
                Store (0x0A, Index (STS0, 0x00))
                Return (Arg3)
            }

            Or (And (PDC1, 0x7FFFFFFF), CAP0, PDC1)
            If (LAnd (LAnd (LEqual (And (PDC1, 0x09), 0x09), LEqual (
                TBL1, Zero)), LEqual (And (CFGD, 0x02), 0x02)))
            {
                Or (TBL1, 0x01, TBL1)
                OperationRegion (GV01, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05
                    )))
                Load (GV01, HI1)
            }

            If (LAnd (LAnd (LEqual (And (PDC1, 0x18), 0x18), LEqual (
                CTB1, Zero)), LEqual (And (CFGD, 0x20), 0x20)))
            {
                Or (CTB1, 0x01, CTB1)
                OperationRegion (CT01, SystemMemory, DerefOf (Index (CSDT, 0x04)), DerefOf (Index (CSDT, 0x05
                    )))
                Load (CT01, HC1)
            }

            Return (Arg3)
        }
    }

    Scope (\_PR.P003)
    {
        Name (HI2, 0x00)
        Name (HC2, 0x00)
        Method (_PDC, 1, NotSerialized)
        {
            CreateDWordField (Arg0, 0x00, REVS)
            CreateDWordField (Arg0, 0x04, SIZE)
            Store (SizeOf (Arg0), Local0)
            Store (Subtract (Local0, 0x08), Local1)
            CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
            Name (STS0, Buffer (0x04)
            {
                0x00, 0x00, 0x00, 0x00
            })
            Concatenate (STS0, TEMP, Local2)
            _OSC (Buffer (0x10)
                {
                    /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                    /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
                }, REVS, SIZE, Local2)
        }

        Method (_OSC, 4, NotSerialized)
        {
            CreateDWordField (Arg3, 0x00, STS0)
            CreateDWordField (Arg3, 0x04, CAP0)
            CreateDWordField (Arg0, 0x00, IID0)
            CreateDWordField (Arg0, 0x04, IID1)
            CreateDWordField (Arg0, 0x08, IID2)
            CreateDWordField (Arg0, 0x0C, IID3)
            Name (UID0, Buffer (0x10)
            {
                /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
            })
            CreateDWordField (UID0, 0x00, EID0)
            CreateDWordField (UID0, 0x04, EID1)
            CreateDWordField (UID0, 0x08, EID2)
            CreateDWordField (UID0, 0x0C, EID3)
            If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
                LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
            {
                Store (0x06, Index (STS0, 0x00))
                Return (Arg3)
            }

            If (LNotEqual (Arg1, 0x01))
            {
                Store (0x0A, Index (STS0, 0x00))
                Return (Arg3)
            }

            Or (And (PDC2, 0x7FFFFFFF), CAP0, PDC2)
            If (LAnd (LAnd (LEqual (And (PDC2, 0x09), 0x09), LEqual (
                TBL2, Zero)), LEqual (And (CFGD, 0x02), 0x02)))
            {
                Or (TBL2, 0x01, TBL2)
                OperationRegion (GV02, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08
                    )))
                Load (GV02, HI2)
            }

            If (LAnd (LAnd (LEqual (And (PDC2, 0x18), 0x18), LEqual (
                CTB2, Zero)), LEqual (And (CFGD, 0x20), 0x20)))
            {
                Or (CTB2, 0x01, CTB2)
                OperationRegion (CT02, SystemMemory, DerefOf (Index (CSDT, 0x07)), DerefOf (Index (CSDT, 0x08
                    )))
                Load (CT02, HC2)
            }

            Return (Arg3)
        }
    }

    Scope (\_PR.P004)
    {
        Name (HI3, 0x00)
        Name (HC3, 0x00)
        Method (_PDC, 1, NotSerialized)
        {
            CreateDWordField (Arg0, 0x00, REVS)
            CreateDWordField (Arg0, 0x04, SIZE)
            Store (SizeOf (Arg0), Local0)
            Store (Subtract (Local0, 0x08), Local1)
            CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
            Name (STS0, Buffer (0x04)
            {
                0x00, 0x00, 0x00, 0x00
            })
            Concatenate (STS0, TEMP, Local2)
            _OSC (Buffer (0x10)
                {
                    /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                    /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
                }, REVS, SIZE, Local2)
        }

        Method (_OSC, 4, NotSerialized)
        {
            CreateDWordField (Arg3, 0x00, STS0)
            CreateDWordField (Arg3, 0x04, CAP0)
            CreateDWordField (Arg0, 0x00, IID0)
            CreateDWordField (Arg0, 0x04, IID1)
            CreateDWordField (Arg0, 0x08, IID2)
            CreateDWordField (Arg0, 0x0C, IID3)
            Name (UID0, Buffer (0x10)
            {
                /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
            })
            CreateDWordField (UID0, 0x00, EID0)
            CreateDWordField (UID0, 0x04, EID1)
            CreateDWordField (UID0, 0x08, EID2)
            CreateDWordField (UID0, 0x0C, EID3)
            If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
                LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
            {
                Store (0x06, Index (STS0, 0x00))
                Return (Arg3)
            }

            If (LNotEqual (Arg1, 0x01))
            {
                Store (0x0A, Index (STS0, 0x00))
                Return (Arg3)
            }

            Or (And (PDC3, 0x7FFFFFFF), CAP0, PDC3)
            If (LAnd (LAnd (LEqual (And (PDC3, 0x09), 0x09), LEqual (
                TBL3, Zero)), LEqual (And (CFGD, 0x02), 0x02)))
            {
                Or (TBL3, 0x01, TBL3)
                OperationRegion (GV03, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B
                    )))
                Load (GV03, HI3)
            }

            If (LAnd (LAnd (LEqual (And (PDC3, 0x18), 0x18), LEqual (
                CTB3, Zero)), LEqual (And (CFGD, 0x20), 0x20)))
            {
                Or (CTB3, 0x01, CTB3)
                OperationRegion (CT03, SystemMemory, DerefOf (Index (CSDT, 0x0A)), DerefOf (Index (CSDT, 0x0B
                    )))
                Load (CT03, HC3)
            }

            Return (Arg3)
        }
    }
}


[-- Attachment #5: Type: text/plain, Size: 138 bytes --]

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

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

* AW: Re: Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel?
  2010-09-09 18:40         ` Carsten Schiers
@ 2010-09-09 19:04           ` Carsten Schiers
  2010-09-10  8:22             ` Jan Beulich
  2010-09-10  8:45           ` Jan Beulich
  1 sibling, 1 reply; 27+ messages in thread
From: Carsten Schiers @ 2010-09-09 19:04 UTC (permalink / raw)
  To: JBeulich; +Cc: xen-devel

OK, I took out 2GB of memory to be at 2GB now. It will come up, but says 
now:

[    3.470518] ACPI: Power Button [PWRB]
[    3.542045] input: Power Button as 
/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    3.543005] ACPI: Power Button [PWRF]
[    3.609966] ACPI: SSDT 000000007ffb00b0 00235 (v01 DpgPmm  P001Ist 
00000011 INTL 20051117)
[    3.660356] ACPI: SSDT 000000007ffb02f0 00235 (v01 DpgPmm  P002Ist 
00000012 INTL 20051117)
[    3.710648] ------------[ cut here ]------------
[    3.711073] WARNING: at mm/page_alloc.c:1820 
__alloc_pages_nodemask+0x1b5/0x603()
[    3.711073] Hardware name: To Be Filled By O.E.M.
[    3.711073] Modules linked in:
[    3.711073] Pid: 1, comm: swapper Not tainted 2.6.32.21 #1
[    3.711073] Call Trace:
[    3.711073]  [<ffffffff810478da>] warn_slowpath_common+0x77/0x8f
[    3.711073]  [<ffffffff81047901>] warn_slowpath_null+0xf/0x11
[    3.711073]  [<ffffffff810afcae>] __alloc_pages_nodemask+0x1b5/0x603
[    3.711073]  [<ffffffff81030e41>] ? __ioremap_caller+0x291/0x2f7
[    3.711073]  [<ffffffff8146bed2>] ? _spin_unlock_irqrestore+0x48/0x4b
[    3.711073]  [<ffffffff81459bc1>] ? acpi_os_map_memory+0x12/0x1b
[    3.711073]  [<ffffffff810b010e>] __get_free_pages+0x12/0x4f
[    3.711073]  [<ffffffff810daae5>] __kmalloc+0x42/0x180
[    3.711073]  [<ffffffff81253f53>] acpi_os_allocate+0x33/0x35
[    3.711073]  [<ffffffff8125402d>] acpi_ex_load_op+0xd8/0x263
[    3.711073]  [<ffffffff812567ae>] acpi_ex_opcode_1A_1T_0R+0x25/0x4b
[    3.711073]  [<ffffffff8124e020>] acpi_ds_exec_end_op+0xea/0x3d6
[    3.711073]  [<ffffffff8125feef>] acpi_ps_parse_loop+0x7bb/0x940
[    3.711073]  [<ffffffff8124e8f5>] ? 
acpi_ds_call_control_method+0x174/0x1e3
[    3.711073]  [<ffffffff8125eff5>] acpi_ps_parse_aml+0x9a/0x2d9
[    3.711073]  [<ffffffff8126073a>] acpi_ps_execute_method+0x1e4/0x2b6
[    3.711073]  [<ffffffff8125bec9>] acpi_ns_evaluate+0xe1/0x1a8
[    3.711073]  [<ffffffff8125b910>] acpi_evaluate_object+0xf9/0x1f2
[    3.711073]  [<ffffffff81023da1>] ? init_intel_pdc+0xd1/0x191
[    3.711073]  [<ffffffff81269ec7>] acpi_processor_set_pdc+0x3c/0x3e
[    3.711073]  [<ffffffff8146988d>] xen_acpi_processor_add+0x303/0x43a
[    3.711073]  [<ffffffff812453a7>] acpi_device_probe+0x4b/0x11d
[    3.711073]  [<ffffffff812f7f70>] driver_probe_device+0x9a/0x11f
[    3.711073]  [<ffffffff812f804d>] __driver_attach+0x58/0x7c
[    3.711073]  [<ffffffff812f7ff5>] ? __driver_attach+0x0/0x7c
[    3.711073]  [<ffffffff812f75ce>] bus_for_each_dev+0x4e/0x83
[    3.711073]  [<ffffffff812f7def>] driver_attach+0x19/0x1b
[    3.711073]  [<ffffffff812f7a47>] bus_add_driver+0xb1/0x1fe
[    3.711073]  [<ffffffff812f8311>] driver_register+0x99/0x10a
[    3.711073]  [<ffffffff8173c1c1>] ? acpi_processor_init+0x0/0x128
[    3.711073]  [<ffffffff81245de0>] acpi_bus_register_driver+0x3e/0x40
[    3.711073]  [<ffffffff8126cd2a>] xen_acpi_processor_init+0x10/0x12
[    3.711073]  [<ffffffff8173c26f>] acpi_processor_init+0xae/0x128
[    3.711073]  [<ffffffff81245de0>] ? 
acpi_bus_register_driver+0x3e/0x40
[    3.711073]  [<ffffffff8173c14b>] ? acpi_video_init+0x0/0x76
[    3.711073]  [<ffffffff8100a05f>] do_one_initcall+0x59/0x170
[    3.711073]  [<ffffffff817176fe>] kernel_init+0x153/0x1a9
[    3.711073]  [<ffffffff81013caa>] child_rip+0xa/0x20
[    3.711073]  [<ffffffff81012e61>] ? int_ret_from_sys_call+0x7/0x1b
[    3.711073]  [<ffffffff8101361d>] ? retint_restore_args+0x5/0x6
[    3.711073]  [<ffffffff81013ca0>] ? child_rip+0x0/0x20
[    3.711073] ---[ end trace a7919e7f17c0a725 ]---
[    3.711073] ACPI Error (psparse-0537): Method parse/execution failed 
[\_PR_.P003._OSC] (Node ffff88001f865640), AE_NO_MEMORY
[    5.440328] ACPI Error (psparse-0537): Method parse/execution failed 
[\_PR_.P003._PDC] (Node ffff88001f865620), AE_NO_MEMORY
[    5.508528] ACPI Error (psparse-0537): Method parse/execution failed 
[\_PR_.P004._OSC] (Node ffff88001f8656c0), AE_NO_MEMORY
[    5.575663] ACPI Error (psparse-0537): Method parse/execution failed 
[\_PR_.P004._PDC] (Node ffff88001f8656a0), AE_NO_MEMORY
[    5.648962] Event-channel device installed.

BR,
Carsten.

-----Ursprüngliche Nachricht-----
Von: Carsten Schiers 
Gesendet: Donnerstag, 9. September 2010 20:41
An: JBeulich@novell.com; Carsten Schiers
Cc: xen-devel@lists.xensource.com
Betreff: AW: Re: [Xen-devel] Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 
pvops Kernel?

OK, here are the three SSDT's that I seem to have. BR, Carsten.

-----Ursprüngliche Nachricht-----
Von: Carsten Schiers
Gesendet: Donnerstag, 9. September 2010 20:27
An: JBeulich
Cc: xen-devel
Betreff: AW: Re: [Xen-devel] Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 
pvops Kernel?

Ups. My fault. But this won't make a difference. Find log for 3840MB, 
1024MB, and 256MB in attached log.

(XEN) Command line: dom0_mem=3840M loglvl=all guest_loglvl=all 
sync_console console_to_ring com1=19200,8n1 console=com1 ...
[    3.579906] input: Power Button as 
/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    3.580827] ACPI: Power Button [PWRF]
[    3.647887] ACPI: SSDT 00000000bbfb00b0 00235 (v01 DpgPmm  P001Ist 
00000011 INTL 20051117)
[    3.698280] ACPI: SSDT 00000000bbfb02f0 00235 (v01 DpgPmm  P002Ist 
00000012 INTL 20051117)
(XEN) mm.c:860:d0 Error getting mfn 80000 (pfn 7c9ec) from L1 entry
8000000080000473 for l1e_owner=0, pg_owner=32753
[    3.749005] BUG: unable to handle kernel paging request at 
ffffc90000062000
[    3.749005] IP: [<ffffffff81258492>] 
acpi_ex_system_memory_space_handler+0x16d/0x1df
[    3.749005] PGD bb80d067 PUD bb80e067 PMD bb80f067 PTE 0
[    3.749005] Oops: 0000 [#1] SMP 

I did a 

  cp /proc/acpi/dsdt > DSDT
  iasl -d DSDT 

and provided the output, just in case it is what you needed. I will for 
sure need some time to understand that.
Is the hypothesis that a) the BIOS is wrong, and b) Xen is checking more 
extreme than bare metal, so we need to make the Xen Code a bit more 
relaxed (error message instead of crash)?

How to extract SSDT I don't know. Are they in this file also?

BR,
Carsten.

-----Ursprüngliche Nachricht-----
Von: Jan Beulich [mailto:JBeulich@novell.com]
Gesendet: Donnerstag, 9. September 2010 11:58
An: Carsten Schiers
Cc: xen-devel
Betreff: AW: Re: [Xen-devel] Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 
pvops Kernel?

>>> On 08.09.10 at 22:15, "Carsten Schiers" <carsten@schiers.de> wrote:
> Hi,
> 
> no change when I set e.g. to dom0_mem=3000M (see below and in log. In 
> log, I also tried 196M, same result).

You spell it right here, but the logs in the other mail say you used 
"dom_mem="...

Jan

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

* AW: Re: Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel?
  2010-09-09 19:04           ` Carsten Schiers
@ 2010-09-10  8:22             ` Jan Beulich
  0 siblings, 0 replies; 27+ messages in thread
From: Jan Beulich @ 2010-09-10  8:22 UTC (permalink / raw)
  To: Carsten Schiers; +Cc: xen-devel

>>> On 09.09.10 at 21:04, "Carsten Schiers" <carsten@schiers.de> wrote:
> [    3.711073] WARNING: at mm/page_alloc.c:1820 
> __alloc_pages_nodemask+0x1b5/0x603()

Is it this warning

	if (order >= MAX_ORDER) {
		WARN_ON_ONCE(!(gfp_mask & __GFP_NOWARN));
		return NULL;
	}

according to your sources? And do you not see it with a native
kernel?

Jan

> [    3.711073] Hardware name: To Be Filled By O.E.M.
> [    3.711073] Modules linked in:
> [    3.711073] Pid: 1, comm: swapper Not tainted 2.6.32.21 #1
> [    3.711073] Call Trace:
> [    3.711073]  [<ffffffff810478da>] warn_slowpath_common+0x77/0x8f
> [    3.711073]  [<ffffffff81047901>] warn_slowpath_null+0xf/0x11
> [    3.711073]  [<ffffffff810afcae>] __alloc_pages_nodemask+0x1b5/0x603
> [    3.711073]  [<ffffffff81030e41>] ? __ioremap_caller+0x291/0x2f7
> [    3.711073]  [<ffffffff8146bed2>] ? _spin_unlock_irqrestore+0x48/0x4b
> [    3.711073]  [<ffffffff81459bc1>] ? acpi_os_map_memory+0x12/0x1b
> [    3.711073]  [<ffffffff810b010e>] __get_free_pages+0x12/0x4f
> [    3.711073]  [<ffffffff810daae5>] __kmalloc+0x42/0x180
> [    3.711073]  [<ffffffff81253f53>] acpi_os_allocate+0x33/0x35
> [    3.711073]  [<ffffffff8125402d>] acpi_ex_load_op+0xd8/0x263
> [    3.711073]  [<ffffffff812567ae>] acpi_ex_opcode_1A_1T_0R+0x25/0x4b
> [    3.711073]  [<ffffffff8124e020>] acpi_ds_exec_end_op+0xea/0x3d6
> [    3.711073]  [<ffffffff8125feef>] acpi_ps_parse_loop+0x7bb/0x940
> [    3.711073]  [<ffffffff8124e8f5>] ? 
> acpi_ds_call_control_method+0x174/0x1e3
> [    3.711073]  [<ffffffff8125eff5>] acpi_ps_parse_aml+0x9a/0x2d9
> [    3.711073]  [<ffffffff8126073a>] acpi_ps_execute_method+0x1e4/0x2b6
> [    3.711073]  [<ffffffff8125bec9>] acpi_ns_evaluate+0xe1/0x1a8
> [    3.711073]  [<ffffffff8125b910>] acpi_evaluate_object+0xf9/0x1f2
> [    3.711073]  [<ffffffff81023da1>] ? init_intel_pdc+0xd1/0x191
> [    3.711073]  [<ffffffff81269ec7>] acpi_processor_set_pdc+0x3c/0x3e
> [    3.711073]  [<ffffffff8146988d>] xen_acpi_processor_add+0x303/0x43a
> [    3.711073]  [<ffffffff812453a7>] acpi_device_probe+0x4b/0x11d
> [    3.711073]  [<ffffffff812f7f70>] driver_probe_device+0x9a/0x11f
> [    3.711073]  [<ffffffff812f804d>] __driver_attach+0x58/0x7c
> [    3.711073]  [<ffffffff812f7ff5>] ? __driver_attach+0x0/0x7c
> [    3.711073]  [<ffffffff812f75ce>] bus_for_each_dev+0x4e/0x83
> [    3.711073]  [<ffffffff812f7def>] driver_attach+0x19/0x1b
> [    3.711073]  [<ffffffff812f7a47>] bus_add_driver+0xb1/0x1fe
> [    3.711073]  [<ffffffff812f8311>] driver_register+0x99/0x10a
> [    3.711073]  [<ffffffff8173c1c1>] ? acpi_processor_init+0x0/0x128
> [    3.711073]  [<ffffffff81245de0>] acpi_bus_register_driver+0x3e/0x40
> [    3.711073]  [<ffffffff8126cd2a>] xen_acpi_processor_init+0x10/0x12
> [    3.711073]  [<ffffffff8173c26f>] acpi_processor_init+0xae/0x128
> [    3.711073]  [<ffffffff81245de0>] ? 
> acpi_bus_register_driver+0x3e/0x40
> [    3.711073]  [<ffffffff8173c14b>] ? acpi_video_init+0x0/0x76
> [    3.711073]  [<ffffffff8100a05f>] do_one_initcall+0x59/0x170
> [    3.711073]  [<ffffffff817176fe>] kernel_init+0x153/0x1a9
> [    3.711073]  [<ffffffff81013caa>] child_rip+0xa/0x20
> [    3.711073]  [<ffffffff81012e61>] ? int_ret_from_sys_call+0x7/0x1b
> [    3.711073]  [<ffffffff8101361d>] ? retint_restore_args+0x5/0x6
> [    3.711073]  [<ffffffff81013ca0>] ? child_rip+0x0/0x20
> [    3.711073] ---[ end trace a7919e7f17c0a725 ]---

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

* AW: Re: Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel?
  2010-09-09 18:40         ` Carsten Schiers
  2010-09-09 19:04           ` Carsten Schiers
@ 2010-09-10  8:45           ` Jan Beulich
  2010-09-14  9:10             ` Carsten Schiers
  1 sibling, 1 reply; 27+ messages in thread
From: Jan Beulich @ 2010-09-10  8:45 UTC (permalink / raw)
  To: Carsten Schiers; +Cc: xen-devel

>>> On 09.09.10 at 20:40, "Carsten Schiers" <carsten@schiers.de> wrote:
> OK, here are the three SSDT's that I seem to have. BR, Carsten.

SSDT1.dsl seems to be the bad one: While the SSDT package defined
at the top is reasonable (having invalid entries only for CPUs 2 and
up), the CSDT package is bogus, and gets referenced later in the
same file in \_PR.P001._OSC:

            If (LAnd (LAnd (LEqual (And (PDC0, 0x18), 0x18), LEqual (
                CTB0, Zero)), LEqual (And (CFGD, 0x20), 0x20)))
            {
                Or (CTB0, 0x01, CTB0)
                OperationRegion (CT00, SystemMemory, DerefOf (Index (CSDT, 0x01)), DerefOf (Index (CSDT, 0x02
                    )))
                Load (CT00, HC0)
            }

Hence, at least if the condition is true (not sure how the ACPI
interpreter works wrt mapping memory in the body of false
conditionals) a memory range of 0x80000000 bytes at address
0x80000000 will be attempted to be created and accessed,
no matter how much memory the system has (and the
variable the initialize with the memory access doesn't appear
to be used at all). I'm really surprised you (they) get away
with this on a native kernel... Did you try to compare control
flow of Xen and native kernels?

Jan

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

* AW: Re: Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21  pvops Kernel?
  2010-09-09 18:27       ` Carsten Schiers
  2010-09-09 18:40         ` Carsten Schiers
@ 2010-09-10  8:48         ` Jan Beulich
  1 sibling, 0 replies; 27+ messages in thread
From: Jan Beulich @ 2010-09-10  8:48 UTC (permalink / raw)
  To: Carsten Schiers; +Cc: xen-devel

>>> On 09.09.10 at 20:27, "Carsten Schiers" <carsten@schiers.de> wrote:
> and provided the output, just in case it is what you needed. I will for 
> sure need some time to understand that.
> Is the hypothesis that a) the BIOS is wrong, and b) Xen is checking more 
> extreme than bare metal, so we need to
> make the Xen Code a bit more relaxed (error message instead of crash)?

I think the underlying problem was pointed out before: The page table
accessor functions can't currently propagate errors, and hence
ioremap() can't be forced to fail if Xen refused a mapping. And then, as
I wrote in an earlier reply, the check for not trying to map RAM from
ioremap() is pretty pointless (and hence no help) currently for the Xen
case.

Jan

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

* AW: Re: Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel?
  2010-09-10  8:45           ` Jan Beulich
@ 2010-09-14  9:10             ` Carsten Schiers
  2010-09-14  9:33               ` Jan Beulich
  0 siblings, 1 reply; 27+ messages in thread
From: Carsten Schiers @ 2010-09-14  9:10 UTC (permalink / raw)
  To: JBeulich; +Cc: xen-devel

Hi,

I am still trying to solve this issue.

> I'm really surprised you (they) get away with this on a native 
kernel...

I think I now know. I found the BIOS option that causes the problem: 
SpeedStep. The buggy table
is the description of the C-States. But there is a different behavior 
between native and Xen.
See native here with acpi debug enabled:

[    0.358790] Table [SSDT](id 000C) - 6 Objects with 0 Devices 4 
Methods 0 Regions
[    0.358793]   nsload-0136 [10] ns_load_table         : **** Completed 
Table Method Parsing and Object Initialization
[    0.358944] processor_throttling-1143 [00] processor_get_throttli: 
pblk_address[0x00000810] duty_offset[1] duty_width[0]
[    0.358952] processor_throttling-0893 [00] processor_get_fadt_inf: No 
throttling states
[    0.358959] processor_idle-0361 [00] processor_get_power_in: No _CST, 
giving up
[    0.358963] processor_idle-0317 [00] processor_get_power_in: C2 
latency too large [101]
[    0.358967] processor_idle-0325 [00] processor_get_power_in: 
lvl2[0x00000000] lvl3[0x00000815]
[    0.358972] processor_idle-0548 [00] processor_power_verify: latency 
too large [1001]

No _CST, giving up, C2 too large (0x80000000, I guess), giving up. Xen 
doesn't give up.

I did not manage to create the same with Xen, as it will not appear in 
the serial log. It will show in dmesg, if it comes
up, but unfortunately, it will crash with SpeedStep enabled, but not 
interpret SSDT1 if disabled, thus no information. 

BR, Carsten.

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

* AW: Re: Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel?
  2010-09-14  9:10             ` Carsten Schiers
@ 2010-09-14  9:33               ` Jan Beulich
  2010-09-14 21:19                 ` AW: Re: ACPI problem, was " Carsten Schiers
  0 siblings, 1 reply; 27+ messages in thread
From: Jan Beulich @ 2010-09-14  9:33 UTC (permalink / raw)
  To: Carsten Schiers; +Cc: xen-devel

>>> On 14.09.10 at 11:10, "Carsten Schiers" <carsten@schiers.de> wrote:
> I think I now know. I found the BIOS option that causes the problem: 
> SpeedStep. The buggy table
> is the description of the C-States. But there is a different behavior 
> between native and Xen.
> See native here with acpi debug enabled:
> 
> [    0.358790] Table [SSDT](id 000C) - 6 Objects with 0 Devices 4 
> Methods 0 Regions
> [    0.358793]   nsload-0136 [10] ns_load_table         : **** Completed 
> Table Method Parsing and Object Initialization
> [    0.358944] processor_throttling-1143 [00] processor_get_throttli: 
> pblk_address[0x00000810] duty_offset[1] duty_width[0]
> [    0.358952] processor_throttling-0893 [00] processor_get_fadt_inf: No 
> throttling states
> [    0.358959] processor_idle-0361 [00] processor_get_power_in: No _CST, 
> giving up
> [    0.358963] processor_idle-0317 [00] processor_get_power_in: C2 
> latency too large [101]
> [    0.358967] processor_idle-0325 [00] processor_get_power_in: 
> lvl2[0x00000000] lvl3[0x00000815]
> [    0.358972] processor_idle-0548 [00] processor_power_verify: latency 
> too large [1001]
> 
> No _CST, giving up, C2 too large (0x80000000, I guess), giving up. Xen 
> doesn't give up.

Hmm, I wouldn't think it's the 0x80000000 value, but more likely
some random value they happen to read. The question really is
what ioremap()s the native kernel executes, and how that
compares to the Xen case.

> I did not manage to create the same with Xen, as it will not appear in 
> the serial log. It will show in dmesg, if it comes
> up, but unfortunately, it will crash with SpeedStep enabled, but not 
> interpret SSDT1 if disabled, thus no information. 

Sure. I have to admit that I don't know much about pv-ops' C-state
handling. Did you try a non-pv-ops kernel (e.g. XCP's or SLE11SP1's
or OpenSuSE 11.3's)?

But in any case - the root cause is broken firmware.

Jan

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

* AW: Re: ACPI problem, was Xen BUG in mm / Xen 4.0.1 with  2.6.32.18/21 pvops Kernel?
  2010-09-14  9:33               ` Jan Beulich
@ 2010-09-14 21:19                 ` Carsten Schiers
  2010-09-14 22:05                   ` Jeremy Fitzhardinge
  0 siblings, 1 reply; 27+ messages in thread
From: Carsten Schiers @ 2010-09-14 21:19 UTC (permalink / raw)
  To: JBeulich, jeremy; +Cc: xen-devel

> But in any case - the root cause is broken firmware.

Getting deeper into it. The faulty entries seems not to be the CPUxCST, 
but CPUxIST
for CPU2 and up. For a reason I don't know, native booting the kernel 
doesn't run
into this issue. I have managed to get a veeeeery detailed ACPI debug 
output now
from the Xen/Dom0 kernel, will try to do the same with native booted 
Kernel tomorrow.

I know already that the natively booting kernel will also run through 4 
CPUs, even
though my CPU has only 2 cores. So it must be something different. There 
is special
code in the acpi driver section for xen in the pvops kernel...

Jeremy, did you do it? Who could possibly help? I am not a real 
specialist...

Did not attached the log, in case anybody is interested...it's 31MB.

BR,
Carsten.

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

* Re: AW: Re: ACPI problem, was Xen BUG in mm / Xen 4.0.1 with  2.6.32.18/21 pvops Kernel?
  2010-09-14 21:19                 ` AW: Re: ACPI problem, was " Carsten Schiers
@ 2010-09-14 22:05                   ` Jeremy Fitzhardinge
  2010-09-15  1:20                     ` Yu, Ke
  0 siblings, 1 reply; 27+ messages in thread
From: Jeremy Fitzhardinge @ 2010-09-14 22:05 UTC (permalink / raw)
  To: Carsten Schiers; +Cc: xen-devel, Yu, Ke, JBeulich, Jiang, Yunhong

 On 09/14/2010 02:19 PM, Carsten Schiers wrote:
>> But in any case - the root cause is broken firmware.
> Getting deeper into it. The faulty entries seems not to be the CPUxCST, 
> but CPUxIST
> for CPU2 and up. For a reason I don't know, native booting the kernel 
> doesn't run
> into this issue. I have managed to get a veeeeery detailed ACPI debug 
> output now
> from the Xen/Dom0 kernel, will try to do the same with native booted 
> Kernel tomorrow.
>
> I know already that the natively booting kernel will also run through 4 
> CPUs, even
> though my CPU has only 2 cores. So it must be something different. There 
> is special
> code in the acpi driver section for xen in the pvops kernel...
>
> Jeremy, did you do it? Who could possibly help? I am not a real 
> specialist...
>
> Did not attached the log, in case anybody is interested...it's 31MB.

I'm not really an expert on ACPI at all.  I've cc:d some of the Intel
folks who've been very helpful in contributing ACPI changes.

    J

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

* RE: AW: Re: ACPI problem, was Xen BUG in mm / Xen 4.0.1 with  2.6.32.18/21 pvops Kernel?
  2010-09-14 22:05                   ` Jeremy Fitzhardinge
@ 2010-09-15  1:20                     ` Yu, Ke
  2010-09-15  2:02                       ` Wang, Winston L
  0 siblings, 1 reply; 27+ messages in thread
From: Yu, Ke @ 2010-09-15  1:20 UTC (permalink / raw)
  To: Jeremy Fitzhardinge, Carsten Schiers, Wang, Winston L
  Cc: xen-devel, JBeulich, Jiang, Yunhong

CC  Winston, who has is working on the Xen ACPI stuff.

Regards
Ke

> -----Original Message-----
> From: Jeremy Fitzhardinge [mailto:jeremy@goop.org]
> Sent: Wednesday, September 15, 2010 6:05 AM
> To: Carsten Schiers
> Cc: JBeulich; xen-devel; Yu, Ke; Jiang, Yunhong
> Subject: Re: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / Xen
> 4.0.1 with 2.6.32.18/21 pvops Kernel?
> 
>  On 09/14/2010 02:19 PM, Carsten Schiers wrote:
> >> But in any case - the root cause is broken firmware.
> > Getting deeper into it. The faulty entries seems not to be the CPUxCST,
> > but CPUxIST
> > for CPU2 and up. For a reason I don't know, native booting the kernel
> > doesn't run
> > into this issue. I have managed to get a veeeeery detailed ACPI debug
> > output now
> > from the Xen/Dom0 kernel, will try to do the same with native booted
> > Kernel tomorrow.
> >
> > I know already that the natively booting kernel will also run through 4
> > CPUs, even
> > though my CPU has only 2 cores. So it must be something different. There
> > is special
> > code in the acpi driver section for xen in the pvops kernel...
> >
> > Jeremy, did you do it? Who could possibly help? I am not a real
> > specialist...
> >
> > Did not attached the log, in case anybody is interested...it's 31MB.
> 
> I'm not really an expert on ACPI at all.  I've cc:d some of the Intel
> folks who've been very helpful in contributing ACPI changes.
> 
>     J

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

* RE: AW: Re: ACPI problem, was Xen BUG in mm / Xen 4.0.1 with  2.6.32.18/21 pvops Kernel?
  2010-09-15  1:20                     ` Yu, Ke
@ 2010-09-15  2:02                       ` Wang, Winston L
  2010-09-15  5:37                         ` Jiang, Yunhong
  0 siblings, 1 reply; 27+ messages in thread
From: Wang, Winston L @ 2010-09-15  2:02 UTC (permalink / raw)
  To: Wei, Gang, Jeremy Fitzhardinge, Carsten Schiers
  Cc: xen-devel, JBeulich, Jiang, Yunhong

I am forward this to Jimmy, he is currently working on Xen acpi4.0 support.
I know ACPI 4.0 on native 2.6.32 is buggy besides possible BIOS firmware bug, would you check if native has the similar issue? if you can provide acpi error dump, that will be helpful. 
By the way, what platform are you using?

Regards,

Winston,

> -----Original Message-----
> From: Yu, Ke
> Sent: Tuesday, September 14, 2010 6:20 PM
> To: Jeremy Fitzhardinge; Carsten Schiers; Wang, Winston L
> Cc: JBeulich; xen-devel; Jiang, Yunhong
> Subject: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / Xen
> 4.0.1 with 2.6.32.18/21 pvops Kernel?
> 
> CC  Winston, who has is working on the Xen ACPI stuff.
> 
> Regards
> Ke
> 
> > -----Original Message-----
> > From: Jeremy Fitzhardinge [mailto:jeremy@goop.org]
> > Sent: Wednesday, September 15, 2010 6:05 AM
> > To: Carsten Schiers
> > Cc: JBeulich; xen-devel; Yu, Ke; Jiang, Yunhong
> > Subject: Re: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm /
> Xen
> > 4.0.1 with 2.6.32.18/21 pvops Kernel?
> >
> >  On 09/14/2010 02:19 PM, Carsten Schiers wrote:
> > >> But in any case - the root cause is broken firmware.
> > > Getting deeper into it. The faulty entries seems not to be the
> CPUxCST,
> > > but CPUxIST
> > > for CPU2 and up. For a reason I don't know, native booting the
> kernel
> > > doesn't run
> > > into this issue. I have managed to get a veeeeery detailed ACPI
> debug
> > > output now
> > > from the Xen/Dom0 kernel, will try to do the same with native
> booted
> > > Kernel tomorrow.
> > >
> > > I know already that the natively booting kernel will also run
> through 4
> > > CPUs, even
> > > though my CPU has only 2 cores. So it must be something different.
> There
> > > is special
> > > code in the acpi driver section for xen in the pvops kernel...
> > >
> > > Jeremy, did you do it? Who could possibly help? I am not a real
> > > specialist...
> > >
> > > Did not attached the log, in case anybody is interested...it's 31MB.
> >
> > I'm not really an expert on ACPI at all.  I've cc:d some of the Intel
> > folks who've been very helpful in contributing ACPI changes.
> >
> >     J

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

* RE: AW: Re: ACPI problem, was Xen BUG in mm / Xen 4.0.1 with  2.6.32.18/21 pvops Kernel?
  2010-09-15  2:02                       ` Wang, Winston L
@ 2010-09-15  5:37                         ` Jiang, Yunhong
  2010-09-15  7:22                           ` AW: " Carsten Schiers
  2010-09-15 17:01                           ` AW: Re: ACPI problem, was Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel? Jeremy Fitzhardinge
  0 siblings, 2 replies; 27+ messages in thread
From: Jiang, Yunhong @ 2010-09-15  5:37 UTC (permalink / raw)
  To: Wang, Winston L, Wei, Gang, Jeremy Fitzhardinge, Carsten Schiers
  Cc: xen-devel, JBeulich

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

Jimmy and I checked the log and the SSDT table, since it is caused by a workaround in Xen PVops dom0. Currently PVOPS dom0 will try to get all CPU's information in the system, no matter it is populated or not, while native Linux will get the CPU information only if it is enabled. During this process, following SSDT code cause trouble:

The followed SSDT code try to load region 
                OperationRegion (GV03, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B
                    )))
                Load (GV03, HI3)
            
While the region is defined as:
        Name (SSDT, Package (0x18)
        {
            "CPU0IST ", 
            0xBBFB00B0, 
            0x00000235, 
            "CPU1IST ", 
            0xBBFB02F0, 
            0x00000235, 
            "CPU2IST ", 
            0x80000000, 
            0x80000000, 
            "CPU3IST ", 
            0x80000000, 
            0x80000000, 
            "CPU4IST ", 
            0x80000000, 
            0x80000000,
That seems try to load to 0x80000000.

Can you please try to apply the attached patch to see if it has any help? This patch should enable dom0 to only scan enabled CPUs.

Thanks
--jyh


>-----Original Message-----
>From: Wang, Winston L
>Sent: Wednesday, September 15, 2010 10:03 AM
>To: Wei, Gang; Jeremy Fitzhardinge; Carsten Schiers
>Cc: JBeulich; xen-devel; Jiang, Yunhong
>Subject: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / Xen 4.0.1 with
>2.6.32.18/21 pvops Kernel?
>
>I am forward this to Jimmy, he is currently working on Xen acpi4.0 support.
>I know ACPI 4.0 on native 2.6.32 is buggy besides possible BIOS firmware bug, would
>you check if native has the similar issue? if you can provide acpi error dump, that will
>be helpful.
>By the way, what platform are you using?
>
>Regards,
>
>Winston,
>
>> -----Original Message-----
>> From: Yu, Ke
>> Sent: Tuesday, September 14, 2010 6:20 PM
>> To: Jeremy Fitzhardinge; Carsten Schiers; Wang, Winston L
>> Cc: JBeulich; xen-devel; Jiang, Yunhong
>> Subject: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / Xen
>> 4.0.1 with 2.6.32.18/21 pvops Kernel?
>>
>> CC  Winston, who has is working on the Xen ACPI stuff.
>>
>> Regards
>> Ke
>>
>> > -----Original Message-----
>> > From: Jeremy Fitzhardinge [mailto:jeremy@goop.org]
>> > Sent: Wednesday, September 15, 2010 6:05 AM
>> > To: Carsten Schiers
>> > Cc: JBeulich; xen-devel; Yu, Ke; Jiang, Yunhong
>> > Subject: Re: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm /
>> Xen
>> > 4.0.1 with 2.6.32.18/21 pvops Kernel?
>> >
>> >  On 09/14/2010 02:19 PM, Carsten Schiers wrote:
>> > >> But in any case - the root cause is broken firmware.
>> > > Getting deeper into it. The faulty entries seems not to be the
>> CPUxCST,
>> > > but CPUxIST
>> > > for CPU2 and up. For a reason I don't know, native booting the
>> kernel
>> > > doesn't run
>> > > into this issue. I have managed to get a veeeeery detailed ACPI
>> debug
>> > > output now
>> > > from the Xen/Dom0 kernel, will try to do the same with native
>> booted
>> > > Kernel tomorrow.
>> > >
>> > > I know already that the natively booting kernel will also run
>> through 4
>> > > CPUs, even
>> > > though my CPU has only 2 cores. So it must be something different.
>> There
>> > > is special
>> > > code in the acpi driver section for xen in the pvops kernel...
>> > >
>> > > Jeremy, did you do it? Who could possibly help? I am not a real
>> > > specialist...
>> > >
>> > > Did not attached the log, in case anybody is interested...it's 31MB.
>> >
>> > I'm not really an expert on ACPI at all.  I've cc:d some of the Intel
>> > folks who've been very helpful in contributing ACPI changes.
>> >
>> >     J


[-- Attachment #2: pcpu_hotplug_port.patch --]
[-- Type: application/octet-stream, Size: 3910 bytes --]

Add cpu hotplug support for 2.6.32 branch

Add physical CPU hotplug support to origin/xen/next-2.6.32 branch.
Please notice that, even with this change, the acpi_processor->id is 
still always -1. This is because several workaround in PM side depends
on acpi_processor->id == -1. As the CPU hotplug logic does not depends
on acpi_processor->id, I'd still keep it no changes.

But we need change the acpi_processor->id in the future.

Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>


diff --git a/drivers/acpi/processor_xen.c b/drivers/acpi/processor_xen.c
index 2f37c9c..305398d 100644
--- a/drivers/acpi/processor_xen.c
+++ b/drivers/acpi/processor_xen.c
@@ -39,6 +39,7 @@
 #include <acpi/acpi_drivers.h>
 #include <acpi/processor.h>
 #include <xen/acpi.h>
+#include <xen/pcpu.h>
 
 #define PREFIX "ACPI: "
 
@@ -82,6 +83,42 @@ struct acpi_driver xen_acpi_processor_driver = {
 		},
 };
 
+static int is_processor_present(acpi_handle handle)
+{
+	acpi_status status;
+	unsigned long long sta = 0;
+
+
+	status = acpi_evaluate_integer(handle, "_STA", NULL, &sta);
+
+	if (ACPI_SUCCESS(status) && (sta & ACPI_STA_DEVICE_PRESENT))
+		return 1;
+
+	/*
+	 * _STA is mandatory for a processor that supports hot plug
+	 */
+	if (status == AE_NOT_FOUND)
+		ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+				"Processor does not support hot plug\n"));
+	else
+		ACPI_EXCEPTION((AE_INFO, status,
+				"Processor Device is not present"));
+	return 0;
+}
+
+static acpi_status
+xen_acpi_processor_hotadd_init(struct acpi_processor *pr, int *p_cpu)
+{
+	if (!is_processor_present(pr->handle))
+		return AE_ERROR;
+
+	if (processor_cntl_xen_notify(pr,
+				PROCESSOR_HOTPLUG, HOTPLUG_TYPE_ADD))
+		return AE_ERROR;
+
+	return AE_OK;
+}
+
 static int xen_acpi_processor_get_info(struct acpi_device *device)
 {
 	acpi_status status = 0;
@@ -164,14 +201,12 @@ static int xen_acpi_processor_get_info(struct acpi_device *device)
 	 *  They should be ignored _iff they are physically not present.
 	 *
 	 */
-#if 0
-	if (pr->id == -1) {
+	if (xen_pcpu_index(pr->acpi_id, 1) == -1) {
 		if (ACPI_FAILURE
-		    (acpi_processor_hotadd_init(pr->handle, &pr->id))) {
+		    (xen_acpi_processor_hotadd_init(pr, &pr->id))) {
 			return -ENODEV;
 		}
 	}
-#endif
 
 	/*
 	 * On some boxes several processors use the same processor bus id.
diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
index 6450c17..6d1a770 100644
--- a/drivers/xen/pcpu.c
+++ b/drivers/xen/pcpu.c
@@ -313,6 +313,38 @@ static struct pcpu *_sync_pcpu(int cpu_num, int *max_id, int *result)
 	return pcpu;
 }
 
+int xen_pcpu_index(uint32_t id, int is_acpiid)
+{
+	int cpu_num = 0, max_id = 0, ret;
+	xen_platform_op_t op = {
+		.cmd            = XENPF_get_cpuinfo,
+		.interface_version  = XENPF_INTERFACE_VERSION,
+	};
+	struct xenpf_pcpuinfo *info = &op.u.pcpu_info;
+
+	info->xen_cpuid = 0;
+	ret = HYPERVISOR_dom0_op(&op);
+	if (ret)
+		return -1;
+	max_id = op.u.pcpu_info.max_present;
+
+	while ((cpu_num <= max_id)) {
+		info->xen_cpuid = cpu_num;
+		ret = HYPERVISOR_dom0_op(&op);
+		if (ret)
+			continue;
+
+		if (op.u.pcpu_info.max_present > max_id)
+			max_id = op.u.pcpu_info.max_present;
+		if (id == (is_acpiid ? info->acpi_id : info->apic_id))
+			return cpu_num;
+		cpu_num++;
+	}
+
+    return -1;
+}
+EXPORT_SYMBOL(xen_pcpu_index);
+
 /*
  * Sync dom0's pcpu information with xen hypervisor's
  */
@@ -417,4 +449,4 @@ static int __init xen_pcpu_init(void)
 	return err;
 }
 
-subsys_initcall(xen_pcpu_init);
+arch_initcall(xen_pcpu_init);
diff --git a/include/xen/pcpu.h b/include/xen/pcpu.h
index fb2bf6b..7e8f9d1 100644
--- a/include/xen/pcpu.h
+++ b/include/xen/pcpu.h
@@ -27,4 +27,6 @@ static inline int xen_pcpu_online(uint32_t flags)
 extern int register_xen_pcpu_notifier(struct notifier_block *nb);
 
 extern void unregister_xen_pcpu_notifier(struct notifier_block *nb);
+
+extern int xen_pcpu_index(uint32_t acpi_id, int is_acpiid);
 #endif

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

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

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

* AW: RE: AW: Re: ACPI problem, was Xen BUG in mm / Xen 4.0.1 with  2.6.32.18/21 pvops Kernel?
  2010-09-15  5:37                         ` Jiang, Yunhong
@ 2010-09-15  7:22                           ` Carsten Schiers
  2010-09-15  7:38                             ` Jiang, Yunhong
  2010-09-15  8:15                             ` AW: " Jan Beulich
  2010-09-15 17:01                           ` AW: Re: ACPI problem, was Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel? Jeremy Fitzhardinge
  1 sibling, 2 replies; 27+ messages in thread
From: Carsten Schiers @ 2010-09-15  7:22 UTC (permalink / raw)
  To: gang.wei, jeremy, winston.l.wang, yunhong.jiang; +Cc: xen-devel, JBeulich

Thank you very much, this will solve the issue. acpi_avaluate_object on 
_PDC is now only called
twice. 

For the records: we spoke about an Asrock P5B-DE BIOS 1.10 board 
equipped with an Intel E2200
and 4GB of RAM. The problem will not occur, if Speedstep is disabled, or 
only 2 GB RAM is used.

As I am not such an expert (although through this experience, I now know 
much more about ACPI),
can we now assume that the BIOS is ok? It's because I mailed the Asrock 
guys already and either
need to give them the latest info, or I would explain them everything is 
settled.

BR & Thanks again,
Carsten.


-----Ursprüngliche Nachricht-----
Von: Jiang, Yunhong [mailto:yunhong.jiang@intel.com] 
Gesendet: Mittwoch, 15. September 2010 07:37
An: Wang, Winston L; Wei, Gang; Jeremy Fitzhardinge; Carsten Schiers
Cc: JBeulich; xen-devel
Betreff: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / Xen 
4.0.1 with 2.6.32.18/21 pvops Kernel?

Jimmy and I checked the log and the SSDT table, since it is caused by a 
workaround in Xen PVops dom0. Currently PVOPS dom0 will try to get all 
CPU's information in the system, no matter it is populated or not, while 
native Linux will get the CPU information only if it is enabled. During 
this process, following SSDT code cause trouble:

The followed SSDT code try to load region 
                OperationRegion (GV03, SystemMemory, DerefOf (Index 
(SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B
                    )))
                Load (GV03, HI3)
            
While the region is defined as:
        Name (SSDT, Package (0x18)
        {
            "CPU0IST ", 
            0xBBFB00B0, 
            0x00000235, 
            "CPU1IST ", 
            0xBBFB02F0, 
            0x00000235, 
            "CPU2IST ", 
            0x80000000, 
            0x80000000, 
            "CPU3IST ", 
            0x80000000, 
            0x80000000, 
            "CPU4IST ", 
            0x80000000, 
            0x80000000,
That seems try to load to 0x80000000.

Can you please try to apply the attached patch to see if it has any 
help? This patch should enable dom0 to only scan enabled CPUs.

Thanks
--jyh


>-----Original Message-----
>From: Wang, Winston L
>Sent: Wednesday, September 15, 2010 10:03 AM
>To: Wei, Gang; Jeremy Fitzhardinge; Carsten Schiers
>Cc: JBeulich; xen-devel; Jiang, Yunhong
>Subject: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / Xen 
>4.0.1 with
>2.6.32.18/21 pvops Kernel?
>
>I am forward this to Jimmy, he is currently working on Xen acpi4.0 
support.
>I know ACPI 4.0 on native 2.6.32 is buggy besides possible BIOS 
>firmware bug, would you check if native has the similar issue? if you 
>can provide acpi error dump, that will be helpful.
>By the way, what platform are you using?
>
>Regards,
>
>Winston,
>
>> -----Original Message-----
>> From: Yu, Ke
>> Sent: Tuesday, September 14, 2010 6:20 PM
>> To: Jeremy Fitzhardinge; Carsten Schiers; Wang, Winston L
>> Cc: JBeulich; xen-devel; Jiang, Yunhong
>> Subject: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / 
>> Xen
>> 4.0.1 with 2.6.32.18/21 pvops Kernel?
>>
>> CC  Winston, who has is working on the Xen ACPI stuff.
>>
>> Regards
>> Ke
>>
>> > -----Original Message-----
>> > From: Jeremy Fitzhardinge [mailto:jeremy@goop.org]
>> > Sent: Wednesday, September 15, 2010 6:05 AM
>> > To: Carsten Schiers
>> > Cc: JBeulich; xen-devel; Yu, Ke; Jiang, Yunhong
>> > Subject: Re: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm /
>> Xen
>> > 4.0.1 with 2.6.32.18/21 pvops Kernel?
>> >
>> >  On 09/14/2010 02:19 PM, Carsten Schiers wrote:
>> > >> But in any case - the root cause is broken firmware.
>> > > Getting deeper into it. The faulty entries seems not to be the
>> CPUxCST,
>> > > but CPUxIST
>> > > for CPU2 and up. For a reason I don't know, native booting the
>> kernel
>> > > doesn't run
>> > > into this issue. I have managed to get a veeeeery detailed ACPI
>> debug
>> > > output now
>> > > from the Xen/Dom0 kernel, will try to do the same with native
>> booted
>> > > Kernel tomorrow.
>> > >
>> > > I know already that the natively booting kernel will also run
>> through 4
>> > > CPUs, even
>> > > though my CPU has only 2 cores. So it must be something 
different.
>> There
>> > > is special
>> > > code in the acpi driver section for xen in the pvops kernel...
>> > >
>> > > Jeremy, did you do it? Who could possibly help? I am not a real 
>> > > specialist...
>> > >
>> > > Did not attached the log, in case anybody is interested...it's 
31MB.
>> >
>> > I'm not really an expert on ACPI at all.  I've cc:d some of the 
>> > Intel folks who've been very helpful in contributing ACPI changes.
>> >
>> >     J

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

* RE: RE: AW: Re: ACPI problem, was Xen BUG in mm / Xen 4.0.1 with  2.6.32.18/21 pvops Kernel?
  2010-09-15  7:22                           ` AW: " Carsten Schiers
@ 2010-09-15  7:38                             ` Jiang, Yunhong
  2010-09-15  8:15                             ` AW: " Jan Beulich
  1 sibling, 0 replies; 27+ messages in thread
From: Jiang, Yunhong @ 2010-09-15  7:38 UTC (permalink / raw)
  To: Carsten Schiers, Wei, Gang, jeremy, Wang, Winston L; +Cc: xen-devel, JBeulich


>-----Original Message-----
>From: Carsten Schiers [mailto:carsten@schiers.de]
>Sent: Wednesday, September 15, 2010 3:23 PM
>To: Wei, Gang; jeremy; Wang, Winston L; Jiang, Yunhong
>Cc: JBeulich; xen-devel
>Subject: AW: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / Xen 4.0.1
>with 2.6.32.18/21 pvops Kernel?
>
>Thank you very much, this will solve the issue. acpi_avaluate_object on
>_PDC is now only called
>twice.

Glad to knows about this.

>
>For the records: we spoke about an Asrock P5B-DE BIOS 1.10 board
>equipped with an Intel E2200
>and 4GB of RAM. The problem will not occur, if Speedstep is disabled, or
>only 2 GB RAM is used.

Yes, 2GB RAM is ok because the 0x80000000 is above 2G, thus hypervisor think it is MMIO in such situation and avoid such situation.

>
>As I am not such an expert (although through this experience, I now know
>much more about ACPI),
>can we now assume that the BIOS is ok? It's because I mailed the Asrock
>guys already and either
>need to give them the latest info, or I would explain them everything is
>settled.

I think BIOS is ok. Sorry for the issue caused.

Thanks
--jyh

>
>BR & Thanks again,
>Carsten.
>
>
>-----Ursprüngliche Nachricht-----
>Von: Jiang, Yunhong [mailto:yunhong.jiang@intel.com]
>Gesendet: Mittwoch, 15. September 2010 07:37
>An: Wang, Winston L; Wei, Gang; Jeremy Fitzhardinge; Carsten Schiers
>Cc: JBeulich; xen-devel
>Betreff: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / Xen
>4.0.1 with 2.6.32.18/21 pvops Kernel?
>
>Jimmy and I checked the log and the SSDT table, since it is caused by a
>workaround in Xen PVops dom0. Currently PVOPS dom0 will try to get all
>CPU's information in the system, no matter it is populated or not, while
>native Linux will get the CPU information only if it is enabled. During
>this process, following SSDT code cause trouble:
>
>The followed SSDT code try to load region
>                OperationRegion (GV03, SystemMemory, DerefOf (Index
>(SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B
>                    )))
>                Load (GV03, HI3)
>
>While the region is defined as:
>        Name (SSDT, Package (0x18)
>        {
>            "CPU0IST ",
>            0xBBFB00B0,
>            0x00000235,
>            "CPU1IST ",
>            0xBBFB02F0,
>            0x00000235,
>            "CPU2IST ",
>            0x80000000,
>            0x80000000,
>            "CPU3IST ",
>            0x80000000,
>            0x80000000,
>            "CPU4IST ",
>            0x80000000,
>            0x80000000,
>That seems try to load to 0x80000000.
>
>Can you please try to apply the attached patch to see if it has any
>help? This patch should enable dom0 to only scan enabled CPUs.
>
>Thanks
>--jyh
>
>
>>-----Original Message-----
>>From: Wang, Winston L
>>Sent: Wednesday, September 15, 2010 10:03 AM
>>To: Wei, Gang; Jeremy Fitzhardinge; Carsten Schiers
>>Cc: JBeulich; xen-devel; Jiang, Yunhong
>>Subject: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / Xen
>>4.0.1 with
>>2.6.32.18/21 pvops Kernel?
>>
>>I am forward this to Jimmy, he is currently working on Xen acpi4.0
>support.
>>I know ACPI 4.0 on native 2.6.32 is buggy besides possible BIOS
>>firmware bug, would you check if native has the similar issue? if you
>>can provide acpi error dump, that will be helpful.
>>By the way, what platform are you using?
>>
>>Regards,
>>
>>Winston,
>>
>>> -----Original Message-----
>>> From: Yu, Ke
>>> Sent: Tuesday, September 14, 2010 6:20 PM
>>> To: Jeremy Fitzhardinge; Carsten Schiers; Wang, Winston L
>>> Cc: JBeulich; xen-devel; Jiang, Yunhong
>>> Subject: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm /
>>> Xen
>>> 4.0.1 with 2.6.32.18/21 pvops Kernel?
>>>
>>> CC  Winston, who has is working on the Xen ACPI stuff.
>>>
>>> Regards
>>> Ke
>>>
>>> > -----Original Message-----
>>> > From: Jeremy Fitzhardinge [mailto:jeremy@goop.org]
>>> > Sent: Wednesday, September 15, 2010 6:05 AM
>>> > To: Carsten Schiers
>>> > Cc: JBeulich; xen-devel; Yu, Ke; Jiang, Yunhong
>>> > Subject: Re: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm /
>>> Xen
>>> > 4.0.1 with 2.6.32.18/21 pvops Kernel?
>>> >
>>> >  On 09/14/2010 02:19 PM, Carsten Schiers wrote:
>>> > >> But in any case - the root cause is broken firmware.
>>> > > Getting deeper into it. The faulty entries seems not to be the
>>> CPUxCST,
>>> > > but CPUxIST
>>> > > for CPU2 and up. For a reason I don't know, native booting the
>>> kernel
>>> > > doesn't run
>>> > > into this issue. I have managed to get a veeeeery detailed ACPI
>>> debug
>>> > > output now
>>> > > from the Xen/Dom0 kernel, will try to do the same with native
>>> booted
>>> > > Kernel tomorrow.
>>> > >
>>> > > I know already that the natively booting kernel will also run
>>> through 4
>>> > > CPUs, even
>>> > > though my CPU has only 2 cores. So it must be something
>different.
>>> There
>>> > > is special
>>> > > code in the acpi driver section for xen in the pvops kernel...
>>> > >
>>> > > Jeremy, did you do it? Who could possibly help? I am not a real
>>> > > specialist...
>>> > >
>>> > > Did not attached the log, in case anybody is interested...it's
>31MB.
>>> >
>>> > I'm not really an expert on ACPI at all.  I've cc:d some of the
>>> > Intel folks who've been very helpful in contributing ACPI changes.
>>> >
>>> >     J
>
>

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

* AW: RE: AW: Re: ACPI problem, was Xen BUG in mm / Xen 4.0.1 with  2.6.32.18/21 pvops Kernel?
  2010-09-15  7:22                           ` AW: " Carsten Schiers
  2010-09-15  7:38                             ` Jiang, Yunhong
@ 2010-09-15  8:15                             ` Jan Beulich
  2010-09-15  8:28                               ` Carsten Schiers
                                                 ` (2 more replies)
  1 sibling, 3 replies; 27+ messages in thread
From: Jan Beulich @ 2010-09-15  8:15 UTC (permalink / raw)
  To: Carsten Schiers
  Cc: xen-devel, jeremy, yunhong.jiang, winston.l.wang, gang.wei

>>> On 15.09.10 at 09:22, "Carsten Schiers" <carsten@schiers.de> wrote:
> As I am not such an expert (although through this experience, I now know 
> much more about ACPI),
> can we now assume that the BIOS is ok? It's because I mailed the Asrock 
> guys already and either
> need to give them the latest info, or I would explain them everything is 
> settled.

Based on even the native kernel complaining (just not dying) the
BIOS certainly isn't fully correct. This particularly includes (but isn't
necessarily limited to)

        Name (CSDT, Package (0x18)
        {
            "CPU0CST ", 
            0x80000000, 
            0x80000000, 
            "CPU1CST ", 
            0x80000000, 
            0x80000000, 
            "CPU2CST ", 
            0x80000000, 
            0x80000000, 
            "CPU3CST ", 
            0x80000000, 
            0x80000000, 
            "CPU4CST ", 
            0x80000000, 
            0x80000000, 
            "CPU5CST ", 
            0x80000000, 
            0x80000000, 
            "CPU6CST ", 
            0x80000000, 
            0x80000000, 
            "CPU7CST ", 
            0x80000000, 
            0x80000000
        })

listing invalid addressed for *all* CPUs (not just the ones actually
not present). Another point is that currently you may be luck in that
they may not get evaluated. If they can guarantee that this will
never get accessed, imo they should just leave it (and the dead
access) out.

Jan

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

* AW: RE: AW: Re: ACPI problem, was Xen BUG in mm /  Xen 4.0.1 with  2.6.32.18/21 pvops Kernel?
  2010-09-15  8:15                             ` AW: " Jan Beulich
@ 2010-09-15  8:28                               ` Carsten Schiers
  2010-09-15  8:36                               ` Jiang, Yunhong
  2010-09-15  8:50                               ` Jiang, Yunhong
  2 siblings, 0 replies; 27+ messages in thread
From: Carsten Schiers @ 2010-09-15  8:28 UTC (permalink / raw)
  To: JBeulich; +Cc: jeremy, xen-devel, winston.l.wang, gang.wei, yunhong.jiang

So let's wait what they tell me. Issue has been passed to their BIOS 
group. BR, Carsten.

-----Ursprüngliche Nachricht-----
Von: Jan Beulich [mailto:JBeulich@novell.com] 
Gesendet: Mittwoch, 15. September 2010 10:15
An: Carsten Schiers
Cc: jeremy; gang.wei; winston.l.wang; yunhong.jiang; xen-devel
Betreff: AW: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / 
Xen 4.0.1 with 2.6.32.18/21 pvops Kernel?

>>> On 15.09.10 at 09:22, "Carsten Schiers" <carsten@schiers.de> wrote:
> As I am not such an expert (although through this experience, I now 
know 
> much more about ACPI),
> can we now assume that the BIOS is ok? It's because I mailed the 
Asrock 
> guys already and either
> need to give them the latest info, or I would explain them everything 
is 
> settled.

Based on even the native kernel complaining (just not dying) the
BIOS certainly isn't fully correct. This particularly includes (but 
isn't
necessarily limited to)

        Name (CSDT, Package (0x18)
        {
            "CPU0CST ", 
            0x80000000, 
            0x80000000, 
            "CPU1CST ", 
            0x80000000, 
            0x80000000, 
            "CPU2CST ", 
            0x80000000, 
            0x80000000, 
            "CPU3CST ", 
            0x80000000, 
            0x80000000, 
            "CPU4CST ", 
            0x80000000, 
            0x80000000, 
            "CPU5CST ", 
            0x80000000, 
            0x80000000, 
            "CPU6CST ", 
            0x80000000, 
            0x80000000, 
            "CPU7CST ", 
            0x80000000, 
            0x80000000
        })

listing invalid addressed for *all* CPUs (not just the ones actually
not present). Another point is that currently you may be luck in that
they may not get evaluated. If they can guarantee that this will
never get accessed, imo they should just leave it (and the dead
access) out.

Jan

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

* RE: RE: AW: Re: ACPI problem, was Xen BUG in mm /  Xen 4.0.1 with  2.6.32.18/21 pvops Kernel?
  2010-09-15  8:15                             ` AW: " Jan Beulich
  2010-09-15  8:28                               ` Carsten Schiers
@ 2010-09-15  8:36                               ` Jiang, Yunhong
  2010-09-15  8:50                               ` Jiang, Yunhong
  2 siblings, 0 replies; 27+ messages in thread
From: Jiang, Yunhong @ 2010-09-15  8:36 UTC (permalink / raw)
  To: Jan Beulich, Carsten Schiers
  Cc: jeremy, xen-devel, Wang, Winston L, Wei, Gang

One potential reality is, the BIOS populate the CSDT definition based on the same condition as the evaluatioin of the _OSC method. (i.e. Initially all is 0x80000000, BIOS initialization code check the same condition, and only malloc memory and update it if the condition meet, later the _OSC method check the same condition also). It is said BIOS does not change the DSDT/SSDT table dynamically, but just create it, and if needed, update several field.

But yes, it will be helpful to get confirmation from OEM.

BTW, Jan, where did you get the native kernel complaining? I didn't find it in Carsten's mail.

Thanks
--jyh


>-----Original Message-----
>From: Jan Beulich [mailto:JBeulich@novell.com]
>Sent: Wednesday, September 15, 2010 4:15 PM
>To: Carsten Schiers
>Cc: jeremy; Wei, Gang; Wang, Winston L; Jiang, Yunhong; xen-devel
>Subject: AW: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / Xen 4.0.1
>with 2.6.32.18/21 pvops Kernel?
>
>>>> On 15.09.10 at 09:22, "Carsten Schiers" <carsten@schiers.de> wrote:
>> As I am not such an expert (although through this experience, I now know
>> much more about ACPI),
>> can we now assume that the BIOS is ok? It's because I mailed the Asrock
>> guys already and either
>> need to give them the latest info, or I would explain them everything is
>> settled.
>
>Based on even the native kernel complaining (just not dying) the
>BIOS certainly isn't fully correct. This particularly includes (but isn't
>necessarily limited to)
>
>        Name (CSDT, Package (0x18)
>        {
>            "CPU0CST ",
>            0x80000000,
>            0x80000000,
>            "CPU1CST ",
>            0x80000000,
>            0x80000000,
>            "CPU2CST ",
>            0x80000000,
>            0x80000000,
>            "CPU3CST ",
>            0x80000000,
>            0x80000000,
>            "CPU4CST ",
>            0x80000000,
>            0x80000000,
>            "CPU5CST ",
>            0x80000000,
>            0x80000000,
>            "CPU6CST ",
>            0x80000000,
>            0x80000000,
>            "CPU7CST ",
>            0x80000000,
>            0x80000000
>        })
>
>listing invalid addressed for *all* CPUs (not just the ones actually
>not present). Another point is that currently you may be luck in that
>they may not get evaluated. If they can guarantee that this will
>never get accessed, imo they should just leave it (and the dead
>access) out.
>
>Jan

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

* RE: RE: AW: Re: ACPI problem, was Xen BUG in mm /  Xen 4.0.1 with  2.6.32.18/21 pvops Kernel?
  2010-09-15  8:15                             ` AW: " Jan Beulich
  2010-09-15  8:28                               ` Carsten Schiers
  2010-09-15  8:36                               ` Jiang, Yunhong
@ 2010-09-15  8:50                               ` Jiang, Yunhong
  2010-10-19  9:59                                 ` 2.6.34.7 with SUSE patches: Invalid Kernel Carsten Schiers
  2 siblings, 1 reply; 27+ messages in thread
From: Jiang, Yunhong @ 2010-09-15  8:50 UTC (permalink / raw)
  To: Jan Beulich, Carsten Schiers
  Cc: jeremy, xen-devel, Wang, Winston L, Wei, Gang

>BTW, Jan, where did you get the native kernel complaining? I didn't find it in
>Carsten's mail.

I find the log in the end. Before that, I just checked the attachment :$

This warning should be ok since it is only printed in debug level, when the system does not support _CST.

    status = acpi_evaluate_object(pr->handle, "_CST", NULL, &buffer);
    if (ACPI_FAILURE(status)) {
        ACPI_DEBUG_PRINT((ACPI_DB_INFO, "No _CST, giving up\n"));
        return -ENODEV;
    }

Thanks
--jyh

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

* Re: AW: Re: ACPI problem, was Xen BUG in mm / Xen 4.0.1 with  2.6.32.18/21 pvops Kernel?
  2010-09-15  5:37                         ` Jiang, Yunhong
  2010-09-15  7:22                           ` AW: " Carsten Schiers
@ 2010-09-15 17:01                           ` Jeremy Fitzhardinge
  1 sibling, 0 replies; 27+ messages in thread
From: Jeremy Fitzhardinge @ 2010-09-15 17:01 UTC (permalink / raw)
  To: Jiang, Yunhong
  Cc: Carsten Schiers, xen-devel, Wang, Winston L, Wei, Gang, JBeulich

 On 09/14/2010 10:37 PM, Jiang, Yunhong wrote:
> Jimmy and I checked the log and the SSDT table, since it is caused by a workaround in Xen PVops dom0. Currently PVOPS dom0 will try to get all CPU's information in the system, no matter it is populated or not, while native Linux will get the CPU information only if it is enabled. During this process, following SSDT code cause trouble:
>
> The followed SSDT code try to load region 
>                 OperationRegion (GV03, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B
>                     )))
>                 Load (GV03, HI3)
>             
> While the region is defined as:
>         Name (SSDT, Package (0x18)
>         {
>             "CPU0IST ", 
>             0xBBFB00B0, 
>             0x00000235, 
>             "CPU1IST ", 
>             0xBBFB02F0, 
>             0x00000235, 
>             "CPU2IST ", 
>             0x80000000, 
>             0x80000000, 
>             "CPU3IST ", 
>             0x80000000, 
>             0x80000000, 
>             "CPU4IST ", 
>             0x80000000, 
>             0x80000000,
> That seems try to load to 0x80000000.
>
> Can you please try to apply the attached patch to see if it has any help? This patch should enable dom0 to only scan enabled CPUs.

BTW, I got around to applying this yesterday, so it should be in
xen/stable-2.6.32.x soon (it's currently in xen/next-2.6.32).

    J

> Thanks
> --jyh
>
>
>> -----Original Message-----
>> From: Wang, Winston L
>> Sent: Wednesday, September 15, 2010 10:03 AM
>> To: Wei, Gang; Jeremy Fitzhardinge; Carsten Schiers
>> Cc: JBeulich; xen-devel; Jiang, Yunhong
>> Subject: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / Xen 4.0.1 with
>> 2.6.32.18/21 pvops Kernel?
>>
>> I am forward this to Jimmy, he is currently working on Xen acpi4.0 support.
>> I know ACPI 4.0 on native 2.6.32 is buggy besides possible BIOS firmware bug, would
>> you check if native has the similar issue? if you can provide acpi error dump, that will
>> be helpful.
>> By the way, what platform are you using?
>>
>> Regards,
>>
>> Winston,
>>
>>> -----Original Message-----
>>> From: Yu, Ke
>>> Sent: Tuesday, September 14, 2010 6:20 PM
>>> To: Jeremy Fitzhardinge; Carsten Schiers; Wang, Winston L
>>> Cc: JBeulich; xen-devel; Jiang, Yunhong
>>> Subject: RE: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm / Xen
>>> 4.0.1 with 2.6.32.18/21 pvops Kernel?
>>>
>>> CC  Winston, who has is working on the Xen ACPI stuff.
>>>
>>> Regards
>>> Ke
>>>
>>>> -----Original Message-----
>>>> From: Jeremy Fitzhardinge [mailto:jeremy@goop.org]
>>>> Sent: Wednesday, September 15, 2010 6:05 AM
>>>> To: Carsten Schiers
>>>> Cc: JBeulich; xen-devel; Yu, Ke; Jiang, Yunhong
>>>> Subject: Re: AW: Re: [Xen-devel] ACPI problem, was Xen BUG in mm /
>>> Xen
>>>> 4.0.1 with 2.6.32.18/21 pvops Kernel?
>>>>
>>>>  On 09/14/2010 02:19 PM, Carsten Schiers wrote:
>>>>>> But in any case - the root cause is broken firmware.
>>>>> Getting deeper into it. The faulty entries seems not to be the
>>> CPUxCST,
>>>>> but CPUxIST
>>>>> for CPU2 and up. For a reason I don't know, native booting the
>>> kernel
>>>>> doesn't run
>>>>> into this issue. I have managed to get a veeeeery detailed ACPI
>>> debug
>>>>> output now
>>>>> from the Xen/Dom0 kernel, will try to do the same with native
>>> booted
>>>>> Kernel tomorrow.
>>>>>
>>>>> I know already that the natively booting kernel will also run
>>> through 4
>>>>> CPUs, even
>>>>> though my CPU has only 2 cores. So it must be something different.
>>> There
>>>>> is special
>>>>> code in the acpi driver section for xen in the pvops kernel...
>>>>>
>>>>> Jeremy, did you do it? Who could possibly help? I am not a real
>>>>> specialist...
>>>>>
>>>>> Did not attached the log, in case anybody is interested...it's 31MB.
>>>> I'm not really an expert on ACPI at all.  I've cc:d some of the Intel
>>>> folks who've been very helpful in contributing ACPI changes.
>>>>
>>>>     J

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

* 2.6.34.7 with SUSE patches: Invalid Kernel
  2010-09-15  8:50                               ` Jiang, Yunhong
@ 2010-10-19  9:59                                 ` Carsten Schiers
  2010-10-20 16:54                                   ` Jeremy Fitzhardinge
  0 siblings, 1 reply; 27+ messages in thread
From: Carsten Schiers @ 2010-10-19  9:59 UTC (permalink / raw)
  To: xen-devel

Hi,

any idea what i configured wrong with my 2.6.34.7 32 Bit kernel? I get:
VmError: (2, 'Invalid kernel', 'elf_xen_note_check: ERROR: Will only 
load images built for the generic loader or Linux images')PAE is enabled...

BR,
Carsten.

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

* Re: 2.6.34.7 with SUSE patches: Invalid Kernel
  2010-10-19  9:59                                 ` 2.6.34.7 with SUSE patches: Invalid Kernel Carsten Schiers
@ 2010-10-20 16:54                                   ` Jeremy Fitzhardinge
  0 siblings, 0 replies; 27+ messages in thread
From: Jeremy Fitzhardinge @ 2010-10-20 16:54 UTC (permalink / raw)
  To: Carsten Schiers; +Cc: xen-devel

 On 10/19/2010 02:59 AM, Carsten Schiers wrote:
> Hi,
>
> any idea what i configured wrong with my 2.6.34.7 32 Bit kernel? I get:
> VmError: (2, 'Invalid kernel', 'elf_xen_note_check: ERROR: Will only 
> load images built for the generic loader or Linux images')PAE is enabled...

Is CONFIG_XEN enabled?

    J

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

end of thread, other threads:[~2010-10-20 16:54 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-08 12:15 Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel? Carsten Schiers
2010-09-08 12:51 ` Jan Beulich
2010-09-08 20:15   ` AW: " Carsten Schiers
2010-09-09  9:57     ` Jan Beulich
2010-09-09 18:27       ` Carsten Schiers
2010-09-09 18:40         ` Carsten Schiers
2010-09-09 19:04           ` Carsten Schiers
2010-09-10  8:22             ` Jan Beulich
2010-09-10  8:45           ` Jan Beulich
2010-09-14  9:10             ` Carsten Schiers
2010-09-14  9:33               ` Jan Beulich
2010-09-14 21:19                 ` AW: Re: ACPI problem, was " Carsten Schiers
2010-09-14 22:05                   ` Jeremy Fitzhardinge
2010-09-15  1:20                     ` Yu, Ke
2010-09-15  2:02                       ` Wang, Winston L
2010-09-15  5:37                         ` Jiang, Yunhong
2010-09-15  7:22                           ` AW: " Carsten Schiers
2010-09-15  7:38                             ` Jiang, Yunhong
2010-09-15  8:15                             ` AW: " Jan Beulich
2010-09-15  8:28                               ` Carsten Schiers
2010-09-15  8:36                               ` Jiang, Yunhong
2010-09-15  8:50                               ` Jiang, Yunhong
2010-10-19  9:59                                 ` 2.6.34.7 with SUSE patches: Invalid Kernel Carsten Schiers
2010-10-20 16:54                                   ` Jeremy Fitzhardinge
2010-09-15 17:01                           ` AW: Re: ACPI problem, was Xen BUG in mm / Xen 4.0.1 with 2.6.32.18/21 pvops Kernel? Jeremy Fitzhardinge
2010-09-10  8:48         ` AW: " Jan Beulich
2010-09-08 20:16   ` Carsten Schiers

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