Re: Help to enable Iris Pro on Retina MBP 11.3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jani,

As a matter of fact, I tried kernel from 3.9 to 3.13-rc6, all of them cannot 
read the pci information from 0:2.0, and lspci do not have Iris Pro as a video 
controller. I put in the attachment dmesg output from 3.12.6, I added some 
printk to show the results from pci_bus_read_dev_vendor_id, otherwise it is a 
vanilla kernel. I do not think I get any extra information by adding 
drm.debug=0xe because the pci device is never registered properly, but it was 
there anyway.The weird thing is grub can read pci device fine, I took a picture 
since I do not know how to save outputs in grub console. I did some test with 
another laptop with a working HD 4600. It seems even if I use setpci -s 0:2.0 
4.b=0 to disable the device, it is still responsive to further setpci and I 
can bring it back by setting 4.b=7. Now it does not look like the video card 
is disable. I guess maybe something wrong in the ACPI table triggered the 
kernel to read the wrong place. But still strange it only missed that 
particular bus. In case you are interested, I also put the dsdt table in the 
attachment, I can provide other tables if they are important.

-- 
Best Regards,
LR

On Tuesday 07 January 2014 10:02:02, Jani Nikula wrote:
> On Mon, 06 Jan 2014, "Lu, Ran" <hephooey@xxxxxxxxx> wrote:
> > I just got a Retina MBP with Iris Pro and Nvidia GT 750. The iGPU works in
> > OSX(Mavericks), but when I boot into Linux, the device was disabled. I
> > debugged the kernel a little, apparently when pci_bus_read_dev_vendor_id
> > is
> > called for PCI 00:2.0 (the intel gpu), it returns -1 which indicates the
> > device is disabled.
> > 
> > I can check all the registers in grub using setpci or pcidump, so it seems
> > before boot into the kernel the device is actually online, and I am
> > looking
> > for some magical registers that I can set to enable the device. I did a
> > ioreg
> > -l in OSX and the information about Iris Pro looks like this:
> Kernel version? Dmesg from early boot with drm.debug=0xe module
> parameter?
> 
> BR,
> Jani.
[    0.000000] Linux version 3.12.6 (root@RMBP) (gcc version 4.8.2 (Gentoo 4.8.2 p1.3, pie-0.5.8) ) #31 SMP Tue Jan 7 00:44:45 CST 2014
[    0.000000] Command line: \vmlinuz-3.12.6 ro root=/dev/sda2 libata.force=noncq drm.debug=0xe
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x0000000000057fff] usable
[    0.000000] BIOS-e820: [mem 0x0000000000058000-0x0000000000058fff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000059000-0x000000000008efff] usable
[    0.000000] BIOS-e820: [mem 0x000000000008f000-0x000000000008ffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000090000-0x000000000009ffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000000a0000-0x00000000000bffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007ad13fff] usable
[    0.000000] BIOS-e820: [mem 0x000000007ad14000-0x000000007ad52fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x000000007ad53000-0x000000007ad5ffff] usable
[    0.000000] BIOS-e820: [mem 0x000000007ad60000-0x000000007ad8efff] ACPI data
[    0.000000] BIOS-e820: [mem 0x000000007ad8f000-0x000000007ae38fff] usable
[    0.000000] BIOS-e820: [mem 0x000000007ae39000-0x000000007ae8efff] reserved
[    0.000000] BIOS-e820: [mem 0x000000007ae8f000-0x000000007aecffff] usable
[    0.000000] BIOS-e820: [mem 0x000000007aed0000-0x000000007aefefff] reserved
[    0.000000] BIOS-e820: [mem 0x000000007aeff000-0x000000007af7afff] usable
[    0.000000] BIOS-e820: [mem 0x000000007af7b000-0x000000007afe4fff] reserved
[    0.000000] BIOS-e820: [mem 0x000000007afe5000-0x000000007affffff] usable
[    0.000000] BIOS-e820: [mem 0x000000007b000000-0x000000007f9fffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000e00f8000-0x00000000e00f8fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ffe10000-0x00000000ffe3ffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000047f5fffff] usable
[    0.000000] e820: update [mem 0x7928b190-0x792a17cf] usable ==> usable
[    0.000000] extended physical RAM map:
[    0.000000] reserve setup_data: [mem 0x0000000000000000-0x0000000000057fff] usable
[    0.000000] reserve setup_data: [mem 0x0000000000058000-0x0000000000058fff] reserved
[    0.000000] reserve setup_data: [mem 0x0000000000059000-0x000000000008efff] usable
[    0.000000] reserve setup_data: [mem 0x000000000008f000-0x000000000008ffff] reserved
[    0.000000] reserve setup_data: [mem 0x0000000000090000-0x000000000009ffff] usable
[    0.000000] reserve setup_data: [mem 0x00000000000a0000-0x00000000000bffff] reserved
[    0.000000] reserve setup_data: [mem 0x0000000000100000-0x000000007928b18f] usable
[    0.000000] reserve setup_data: [mem 0x000000007928b190-0x00000000792a17cf] usable
[    0.000000] reserve setup_data: [mem 0x00000000792a17d0-0x000000007ad13fff] usable
[    0.000000] reserve setup_data: [mem 0x000000007ad14000-0x000000007ad52fff] ACPI NVS
[    0.000000] reserve setup_data: [mem 0x000000007ad53000-0x000000007ad5ffff] usable
[    0.000000] reserve setup_data: [mem 0x000000007ad60000-0x000000007ad8efff] ACPI data
[    0.000000] reserve setup_data: [mem 0x000000007ad8f000-0x000000007ae38fff] usable
[    0.000000] reserve setup_data: [mem 0x000000007ae39000-0x000000007ae8efff] reserved
[    0.000000] reserve setup_data: [mem 0x000000007ae8f000-0x000000007aecffff] usable
[    0.000000] reserve setup_data: [mem 0x000000007aed0000-0x000000007aefefff] reserved
[    0.000000] reserve setup_data: [mem 0x000000007aeff000-0x000000007af7afff] usable
[    0.000000] reserve setup_data: [mem 0x000000007af7b000-0x000000007afe4fff] reserved
[    0.000000] reserve setup_data: [mem 0x000000007afe5000-0x000000007affffff] usable
[    0.000000] reserve setup_data: [mem 0x000000007b000000-0x000000007f9fffff] reserved
[    0.000000] reserve setup_data: [mem 0x00000000e00f8000-0x00000000e00f8fff] reserved
[    0.000000] reserve setup_data: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] reserve setup_data: [mem 0x00000000ffe10000-0x00000000ffe3ffff] reserved
[    0.000000] reserve setup_data: [mem 0x0000000100000000-0x000000047f5fffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] efi: EFI v1.10 by Apple
[    0.000000] efi:  ACPI=0x7ad8e000  ACPI 2.0=0x7ad8e014  SMBIOS=0x7ad15000 
[    0.000000] efi: mem00: type=7, attr=0x80000000000000f, range=[0x0000000000000000-0x0000000000058000) (0MB)
[    0.000000] efi: mem01: type=0, attr=0x80000000000000f, range=[0x0000000000058000-0x0000000000059000) (0MB)
[    0.000000] efi: mem02: type=2, attr=0x80000000000000f, range=[0x0000000000059000-0x0000000000062000) (0MB)
[    0.000000] efi: mem03: type=7, attr=0x80000000000000f, range=[0x0000000000062000-0x000000000008f000) (0MB)
[    0.000000] efi: mem04: type=0, attr=0x80000000000000f, range=[0x000000000008f000-0x0000000000090000) (0MB)
[    0.000000] efi: mem05: type=7, attr=0x80000000000000f, range=[0x0000000000090000-0x00000000000a0000) (0MB)
[    0.000000] efi: mem06: type=7, attr=0xf, range=[0x0000000000100000-0x0000000001000000) (15MB)
[    0.000000] efi: mem07: type=2, attr=0xf, range=[0x0000000001000000-0x0000000001b7a000) (11MB)
[    0.000000] efi: mem08: type=7, attr=0xf, range=[0x0000000001b7a000-0x000000006cb0e000) (1711MB)
[    0.000000] efi: mem09: type=1, attr=0xf, range=[0x000000006cb0e000-0x000000006cdd9000) (2MB)
[    0.000000] efi: mem10: type=7, attr=0xf, range=[0x000000006cdd9000-0x000000006d0a4000) (2MB)
[    0.000000] efi: mem11: type=4, attr=0xf, range=[0x000000006d0a4000-0x000000006d0af000) (0MB)
[    0.000000] efi: mem12: type=7, attr=0xf, range=[0x000000006d0af000-0x000000006d0d9000) (0MB)
[    0.000000] efi: mem13: type=4, attr=0xf, range=[0x000000006d0d9000-0x000000006e5e0000) (21MB)
[    0.000000] efi: mem14: type=1, attr=0xf, range=[0x000000006e5e0000-0x000000006e60b000) (0MB)
[    0.000000] efi: mem15: type=4, attr=0xf, range=[0x000000006e60b000-0x000000006ec90000) (6MB)
[    0.000000] efi: mem16: type=3, attr=0xf, range=[0x000000006ec90000-0x000000006edbc000) (1MB)
[    0.000000] efi: mem17: type=4, attr=0xf, range=[0x000000006edbc000-0x000000006ef4f000) (1MB)
[    0.000000] efi: mem18: type=3, attr=0xf, range=[0x000000006ef4f000-0x000000006ef76000) (0MB)
[    0.000000] efi: mem19: type=4, attr=0xf, range=[0x000000006ef76000-0x000000006efa6000) (0MB)
[    0.000000] efi: mem20: type=3, attr=0xf, range=[0x000000006efa6000-0x000000006efcb000) (0MB)
[    0.000000] efi: mem21: type=4, attr=0xf, range=[0x000000006efcb000-0x0000000074069000) (80MB)
[    0.000000] efi: mem22: type=3, attr=0xf, range=[0x0000000074069000-0x0000000074074000) (0MB)
[    0.000000] efi: mem23: type=4, attr=0xf, range=[0x0000000074074000-0x0000000074077000) (0MB)
[    0.000000] efi: mem24: type=3, attr=0xf, range=[0x0000000074077000-0x000000007407d000) (0MB)
[    0.000000] efi: mem25: type=4, attr=0xf, range=[0x000000007407d000-0x000000007407f000) (0MB)
[    0.000000] efi: mem26: type=3, attr=0xf, range=[0x000000007407f000-0x0000000074095000) (0MB)
[    0.000000] efi: mem27: type=4, attr=0xf, range=[0x0000000074095000-0x0000000074099000) (0MB)
[    0.000000] efi: mem28: type=3, attr=0xf, range=[0x0000000074099000-0x000000007409c000) (0MB)
[    0.000000] efi: mem29: type=4, attr=0xf, range=[0x000000007409c000-0x000000007409f000) (0MB)
[    0.000000] efi: mem30: type=3, attr=0xf, range=[0x000000007409f000-0x00000000740a5000) (0MB)
[    0.000000] efi: mem31: type=4, attr=0xf, range=[0x00000000740a5000-0x00000000740a9000) (0MB)
[    0.000000] efi: mem32: type=3, attr=0xf, range=[0x00000000740a9000-0x00000000740ad000) (0MB)
[    0.000000] efi: mem33: type=4, attr=0xf, range=[0x00000000740ad000-0x00000000740ae000) (0MB)
[    0.000000] efi: mem34: type=3, attr=0xf, range=[0x00000000740ae000-0x00000000740af000) (0MB)
[    0.000000] efi: mem35: type=4, attr=0xf, range=[0x00000000740af000-0x00000000740b3000) (0MB)
[    0.000000] efi: mem36: type=3, attr=0xf, range=[0x00000000740b3000-0x00000000740d4000) (0MB)
[    0.000000] efi: mem37: type=4, attr=0xf, range=[0x00000000740d4000-0x00000000740d7000) (0MB)
[    0.000000] efi: mem38: type=3, attr=0xf, range=[0x00000000740d7000-0x00000000740db000) (0MB)
[    0.000000] efi: mem39: type=4, attr=0xf, range=[0x00000000740db000-0x00000000740e1000) (0MB)
[    0.000000] efi: mem40: type=3, attr=0xf, range=[0x00000000740e1000-0x00000000740ec000) (0MB)
[    0.000000] efi: mem41: type=4, attr=0xf, range=[0x00000000740ec000-0x00000000740ee000) (0MB)
[    0.000000] efi: mem42: type=3, attr=0xf, range=[0x00000000740ee000-0x0000000074100000) (0MB)
[    0.000000] efi: mem43: type=4, attr=0xf, range=[0x0000000074100000-0x0000000077406000) (51MB)
[    0.000000] efi: mem44: type=3, attr=0xf, range=[0x0000000077406000-0x000000007740e000) (0MB)
[    0.000000] efi: mem45: type=4, attr=0xf, range=[0x000000007740e000-0x0000000077413000) (0MB)
[    0.000000] efi: mem46: type=3, attr=0xf, range=[0x0000000077413000-0x0000000077418000) (0MB)
[    0.000000] efi: mem47: type=4, attr=0xf, range=[0x0000000077418000-0x000000007741b000) (0MB)
[    0.000000] efi: mem48: type=3, attr=0xf, range=[0x000000007741b000-0x000000007741c000) (0MB)
[    0.000000] efi: mem49: type=4, attr=0xf, range=[0x000000007741c000-0x000000007792e000) (5MB)
[    0.000000] efi: mem50: type=3, attr=0xf, range=[0x000000007792e000-0x0000000077933000) (0MB)
[    0.000000] efi: mem51: type=4, attr=0xf, range=[0x0000000077933000-0x000000007925f000) (25MB)
[    0.000000] efi: mem52: type=7, attr=0xf, range=[0x000000007925f000-0x000000007928b000) (0MB)
[    0.000000] efi: mem53: type=2, attr=0xf, range=[0x000000007928b000-0x00000000792a2000) (0MB)
[    0.000000] efi: mem54: type=4, attr=0xf, range=[0x00000000792a2000-0x0000000079336000) (0MB)
[    0.000000] efi: mem55: type=2, attr=0xf, range=[0x0000000079336000-0x0000000079337000) (0MB)
[    0.000000] efi: mem56: type=4, attr=0xf, range=[0x0000000079337000-0x000000007941a000) (0MB)
[    0.000000] efi: mem57: type=3, attr=0xf, range=[0x000000007941a000-0x000000007942a000) (0MB)
[    0.000000] efi: mem58: type=4, attr=0xf, range=[0x000000007942a000-0x0000000079441000) (0MB)
[    0.000000] efi: mem59: type=3, attr=0xf, range=[0x0000000079441000-0x0000000079443000) (0MB)
[    0.000000] efi: mem60: type=4, attr=0xf, range=[0x0000000079443000-0x0000000079446000) (0MB)
[    0.000000] efi: mem61: type=3, attr=0xf, range=[0x0000000079446000-0x0000000079447000) (0MB)
[    0.000000] efi: mem62: type=4, attr=0xf, range=[0x0000000079447000-0x000000007944a000) (0MB)
[    0.000000] efi: mem63: type=3, attr=0xf, range=[0x000000007944a000-0x000000007944b000) (0MB)
[    0.000000] efi: mem64: type=4, attr=0xf, range=[0x000000007944b000-0x000000007944c000) (0MB)
[    0.000000] efi: mem65: type=3, attr=0xf, range=[0x000000007944c000-0x0000000079454000) (0MB)
[    0.000000] efi: mem66: type=4, attr=0xf, range=[0x0000000079454000-0x0000000079456000) (0MB)
[    0.000000] efi: mem67: type=3, attr=0xf, range=[0x0000000079456000-0x0000000079457000) (0MB)
[    0.000000] efi: mem68: type=4, attr=0xf, range=[0x0000000079457000-0x0000000079458000) (0MB)
[    0.000000] efi: mem69: type=3, attr=0xf, range=[0x0000000079458000-0x0000000079459000) (0MB)
[    0.000000] efi: mem70: type=4, attr=0xf, range=[0x0000000079459000-0x000000007945c000) (0MB)
[    0.000000] efi: mem71: type=3, attr=0xf, range=[0x000000007945c000-0x0000000079464000) (0MB)
[    0.000000] efi: mem72: type=4, attr=0xf, range=[0x0000000079464000-0x000000007946c000) (0MB)
[    0.000000] efi: mem73: type=3, attr=0xf, range=[0x000000007946c000-0x0000000079471000) (0MB)
[    0.000000] efi: mem74: type=4, attr=0xf, range=[0x0000000079471000-0x0000000079479000) (0MB)
[    0.000000] efi: mem75: type=3, attr=0xf, range=[0x0000000079479000-0x000000007947a000) (0MB)
[    0.000000] efi: mem76: type=4, attr=0xf, range=[0x000000007947a000-0x0000000079488000) (0MB)
[    0.000000] efi: mem77: type=3, attr=0xf, range=[0x0000000079488000-0x000000007948c000) (0MB)
[    0.000000] efi: mem78: type=4, attr=0xf, range=[0x000000007948c000-0x0000000079490000) (0MB)
[    0.000000] efi: mem79: type=3, attr=0xf, range=[0x0000000079490000-0x000000007949b000) (0MB)
[    0.000000] efi: mem80: type=4, attr=0xf, range=[0x000000007949b000-0x000000007949f000) (0MB)
[    0.000000] efi: mem81: type=3, attr=0xf, range=[0x000000007949f000-0x00000000794a0000) (0MB)
[    0.000000] efi: mem82: type=4, attr=0xf, range=[0x00000000794a0000-0x00000000794a1000) (0MB)
[    0.000000] efi: mem83: type=3, attr=0xf, range=[0x00000000794a1000-0x00000000794a2000) (0MB)
[    0.000000] efi: mem84: type=4, attr=0xf, range=[0x00000000794a2000-0x00000000794a6000) (0MB)
[    0.000000] efi: mem85: type=3, attr=0xf, range=[0x00000000794a6000-0x00000000794a8000) (0MB)
[    0.000000] efi: mem86: type=4, attr=0xf, range=[0x00000000794a8000-0x00000000794ef000) (0MB)
[    0.000000] efi: mem87: type=3, attr=0xf, range=[0x00000000794ef000-0x00000000794f8000) (0MB)
[    0.000000] efi: mem88: type=4, attr=0xf, range=[0x00000000794f8000-0x0000000079501000) (0MB)
[    0.000000] efi: mem89: type=3, attr=0xf, range=[0x0000000079501000-0x000000007953f000) (0MB)
[    0.000000] efi: mem90: type=4, attr=0xf, range=[0x000000007953f000-0x0000000079567000) (0MB)
[    0.000000] efi: mem91: type=3, attr=0xf, range=[0x0000000079567000-0x0000000079579000) (0MB)
[    0.000000] efi: mem92: type=4, attr=0xf, range=[0x0000000079579000-0x000000007958b000) (0MB)
[    0.000000] efi: mem93: type=3, attr=0xf, range=[0x000000007958b000-0x0000000079597000) (0MB)
[    0.000000] efi: mem94: type=4, attr=0xf, range=[0x0000000079597000-0x00000000795a3000) (0MB)
[    0.000000] efi: mem95: type=3, attr=0xf, range=[0x00000000795a3000-0x00000000795ad000) (0MB)
[    0.000000] efi: mem96: type=4, attr=0xf, range=[0x00000000795ad000-0x00000000795b7000) (0MB)
[    0.000000] efi: mem97: type=3, attr=0xf, range=[0x00000000795b7000-0x00000000795c7000) (0MB)
[    0.000000] efi: mem98: type=4, attr=0xf, range=[0x00000000795c7000-0x00000000795cb000) (0MB)
[    0.000000] efi: mem99: type=3, attr=0xf, range=[0x00000000795cb000-0x00000000795d0000) (0MB)
[    0.000000] efi: mem100: type=4, attr=0xf, range=[0x00000000795d0000-0x00000000795d5000) (0MB)
[    0.000000] efi: mem101: type=3, attr=0xf, range=[0x00000000795d5000-0x00000000795d8000) (0MB)
[    0.000000] efi: mem102: type=4, attr=0xf, range=[0x00000000795d8000-0x00000000795d9000) (0MB)
[    0.000000] efi: mem103: type=3, attr=0xf, range=[0x00000000795d9000-0x00000000795da000) (0MB)
[    0.000000] efi: mem104: type=4, attr=0xf, range=[0x00000000795da000-0x00000000795de000) (0MB)
[    0.000000] efi: mem105: type=3, attr=0xf, range=[0x00000000795de000-0x00000000795ea000) (0MB)
[    0.000000] efi: mem106: type=4, attr=0xf, range=[0x00000000795ea000-0x00000000795ec000) (0MB)
[    0.000000] efi: mem107: type=3, attr=0xf, range=[0x00000000795ec000-0x00000000795ed000) (0MB)
[    0.000000] efi: mem108: type=4, attr=0xf, range=[0x00000000795ed000-0x00000000795f0000) (0MB)
[    0.000000] efi: mem109: type=3, attr=0xf, range=[0x00000000795f0000-0x00000000795f1000) (0MB)
[    0.000000] efi: mem110: type=4, attr=0xf, range=[0x00000000795f1000-0x00000000795f4000) (0MB)
[    0.000000] efi: mem111: type=3, attr=0xf, range=[0x00000000795f4000-0x00000000795f6000) (0MB)
[    0.000000] efi: mem112: type=4, attr=0xf, range=[0x00000000795f6000-0x00000000795f7000) (0MB)
[    0.000000] efi: mem113: type=3, attr=0xf, range=[0x00000000795f7000-0x00000000795f8000) (0MB)
[    0.000000] efi: mem114: type=4, attr=0xf, range=[0x00000000795f8000-0x00000000795fa000) (0MB)
[    0.000000] efi: mem115: type=3, attr=0xf, range=[0x00000000795fa000-0x0000000079604000) (0MB)
[    0.000000] efi: mem116: type=4, attr=0xf, range=[0x0000000079604000-0x0000000079609000) (0MB)
[    0.000000] efi: mem117: type=3, attr=0xf, range=[0x0000000079609000-0x0000000079611000) (0MB)
[    0.000000] efi: mem118: type=4, attr=0xf, range=[0x0000000079611000-0x0000000079612000) (0MB)
[    0.000000] efi: mem119: type=3, attr=0xf, range=[0x0000000079612000-0x000000007961c000) (0MB)
[    0.000000] efi: mem120: type=4, attr=0xf, range=[0x000000007961c000-0x0000000079631000) (0MB)
[    0.000000] efi: mem121: type=3, attr=0xf, range=[0x0000000079631000-0x000000007965e000) (0MB)
[    0.000000] efi: mem122: type=4, attr=0xf, range=[0x000000007965e000-0x0000000079661000) (0MB)
[    0.000000] efi: mem123: type=3, attr=0xf, range=[0x0000000079661000-0x0000000079663000) (0MB)
[    0.000000] efi: mem124: type=4, attr=0xf, range=[0x0000000079663000-0x0000000079665000) (0MB)
[    0.000000] efi: mem125: type=3, attr=0xf, range=[0x0000000079665000-0x000000007967b000) (0MB)
[    0.000000] efi: mem126: type=4, attr=0xf, range=[0x000000007967b000-0x000000007967f000) (0MB)
[    0.000000] efi: mem127: type=3, attr=0xf, range=[0x000000007967f000-0x0000000079683000) (0MB)
[    0.000000] efi: mem128: type=4, attr=0xf, range=[0x0000000079683000-0x000000007968b000) (0MB)
[    0.000000] efi: mem129: type=3, attr=0xf, range=[0x000000007968b000-0x000000007968e000) (0MB)
[    0.000000] efi: mem130: type=4, attr=0xf, range=[0x000000007968e000-0x0000000079690000) (0MB)
[    0.000000] efi: mem131: type=3, attr=0xf, range=[0x0000000079690000-0x0000000079692000) (0MB)
[    0.000000] efi: mem132: type=4, attr=0xf, range=[0x0000000079692000-0x0000000079695000) (0MB)
[    0.000000] efi: mem133: type=3, attr=0xf, range=[0x0000000079695000-0x00000000796d0000) (0MB)
[    0.000000] efi: mem134: type=4, attr=0xf, range=[0x00000000796d0000-0x00000000796d6000) (0MB)
[    0.000000] efi: mem135: type=3, attr=0xf, range=[0x00000000796d6000-0x00000000796d7000) (0MB)
[    0.000000] efi: mem136: type=4, attr=0xf, range=[0x00000000796d7000-0x00000000796dd000) (0MB)
[    0.000000] efi: mem137: type=3, attr=0xf, range=[0x00000000796dd000-0x00000000796e0000) (0MB)
[    0.000000] efi: mem138: type=4, attr=0xf, range=[0x00000000796e0000-0x00000000796e2000) (0MB)
[    0.000000] efi: mem139: type=3, attr=0xf, range=[0x00000000796e2000-0x00000000796eb000) (0MB)
[    0.000000] efi: mem140: type=4, attr=0xf, range=[0x00000000796eb000-0x00000000796ee000) (0MB)
[    0.000000] efi: mem141: type=3, attr=0xf, range=[0x00000000796ee000-0x00000000796ef000) (0MB)
[    0.000000] efi: mem142: type=4, attr=0xf, range=[0x00000000796ef000-0x00000000796f0000) (0MB)
[    0.000000] efi: mem143: type=3, attr=0xf, range=[0x00000000796f0000-0x00000000796f1000) (0MB)
[    0.000000] efi: mem144: type=4, attr=0xf, range=[0x00000000796f1000-0x00000000796f7000) (0MB)
[    0.000000] efi: mem145: type=3, attr=0xf, range=[0x00000000796f7000-0x00000000796f9000) (0MB)
[    0.000000] efi: mem146: type=4, attr=0xf, range=[0x00000000796f9000-0x00000000796fd000) (0MB)
[    0.000000] efi: mem147: type=3, attr=0xf, range=[0x00000000796fd000-0x00000000796fe000) (0MB)
[    0.000000] efi: mem148: type=4, attr=0xf, range=[0x00000000796fe000-0x00000000796ff000) (0MB)
[    0.000000] efi: mem149: type=3, attr=0xf, range=[0x00000000796ff000-0x0000000079702000) (0MB)
[    0.000000] efi: mem150: type=4, attr=0xf, range=[0x0000000079702000-0x0000000079704000) (0MB)
[    0.000000] efi: mem151: type=3, attr=0xf, range=[0x0000000079704000-0x0000000079706000) (0MB)
[    0.000000] efi: mem152: type=4, attr=0xf, range=[0x0000000079706000-0x000000007970e000) (0MB)
[    0.000000] efi: mem153: type=3, attr=0xf, range=[0x000000007970e000-0x0000000079710000) (0MB)
[    0.000000] efi: mem154: type=4, attr=0xf, range=[0x0000000079710000-0x0000000079714000) (0MB)
[    0.000000] efi: mem155: type=3, attr=0xf, range=[0x0000000079714000-0x0000000079718000) (0MB)
[    0.000000] efi: mem156: type=4, attr=0xf, range=[0x0000000079718000-0x000000007971c000) (0MB)
[    0.000000] efi: mem157: type=3, attr=0xf, range=[0x000000007971c000-0x000000007971d000) (0MB)
[    0.000000] efi: mem158: type=4, attr=0xf, range=[0x000000007971d000-0x0000000079722000) (0MB)
[    0.000000] efi: mem159: type=3, attr=0xf, range=[0x0000000079722000-0x0000000079724000) (0MB)
[    0.000000] efi: mem160: type=4, attr=0xf, range=[0x0000000079724000-0x0000000079729000) (0MB)
[    0.000000] efi: mem161: type=3, attr=0xf, range=[0x0000000079729000-0x000000007972a000) (0MB)
[    0.000000] efi: mem162: type=4, attr=0xf, range=[0x000000007972a000-0x000000007972b000) (0MB)
[    0.000000] efi: mem163: type=3, attr=0xf, range=[0x000000007972b000-0x000000007972c000) (0MB)
[    0.000000] efi: mem164: type=4, attr=0xf, range=[0x000000007972c000-0x000000007972f000) (0MB)
[    0.000000] efi: mem165: type=3, attr=0xf, range=[0x000000007972f000-0x0000000079730000) (0MB)
[    0.000000] efi: mem166: type=4, attr=0xf, range=[0x0000000079730000-0x0000000079743000) (0MB)
[    0.000000] efi: mem167: type=3, attr=0xf, range=[0x0000000079743000-0x0000000079751000) (0MB)
[    0.000000] efi: mem168: type=4, attr=0xf, range=[0x0000000079751000-0x0000000079766000) (0MB)
[    0.000000] efi: mem169: type=3, attr=0xf, range=[0x0000000079766000-0x0000000079769000) (0MB)
[    0.000000] efi: mem170: type=4, attr=0xf, range=[0x0000000079769000-0x000000007979c000) (0MB)
[    0.000000] efi: mem171: type=3, attr=0xf, range=[0x000000007979c000-0x00000000797ae000) (0MB)
[    0.000000] efi: mem172: type=4, attr=0xf, range=[0x00000000797ae000-0x00000000797af000) (0MB)
[    0.000000] efi: mem173: type=3, attr=0xf, range=[0x00000000797af000-0x00000000797b3000) (0MB)
[    0.000000] efi: mem174: type=4, attr=0xf, range=[0x00000000797b3000-0x00000000797c0000) (0MB)
[    0.000000] efi: mem175: type=3, attr=0xf, range=[0x00000000797c0000-0x00000000797c6000) (0MB)
[    0.000000] efi: mem176: type=4, attr=0xf, range=[0x00000000797c6000-0x00000000797d8000) (0MB)
[    0.000000] efi: mem177: type=3, attr=0xf, range=[0x00000000797d8000-0x00000000797da000) (0MB)
[    0.000000] efi: mem178: type=4, attr=0xf, range=[0x00000000797da000-0x00000000797de000) (0MB)
[    0.000000] efi: mem179: type=3, attr=0xf, range=[0x00000000797de000-0x00000000797e5000) (0MB)
[    0.000000] efi: mem180: type=4, attr=0xf, range=[0x00000000797e5000-0x00000000797f2000) (0MB)
[    0.000000] efi: mem181: type=3, attr=0xf, range=[0x00000000797f2000-0x00000000797f3000) (0MB)
[    0.000000] efi: mem182: type=4, attr=0xf, range=[0x00000000797f3000-0x00000000797f4000) (0MB)
[    0.000000] efi: mem183: type=3, attr=0xf, range=[0x00000000797f4000-0x00000000797f5000) (0MB)
[    0.000000] efi: mem184: type=4, attr=0xf, range=[0x00000000797f5000-0x00000000797f8000) (0MB)
[    0.000000] efi: mem185: type=3, attr=0xf, range=[0x00000000797f8000-0x00000000797fa000) (0MB)
[    0.000000] efi: mem186: type=4, attr=0xf, range=[0x00000000797fa000-0x0000000079811000) (0MB)
[    0.000000] efi: mem187: type=3, attr=0xf, range=[0x0000000079811000-0x0000000079819000) (0MB)
[    0.000000] efi: mem188: type=4, attr=0xf, range=[0x0000000079819000-0x000000007981a000) (0MB)
[    0.000000] efi: mem189: type=3, attr=0xf, range=[0x000000007981a000-0x000000007981b000) (0MB)
[    0.000000] efi: mem190: type=4, attr=0xf, range=[0x000000007981b000-0x0000000079820000) (0MB)
[    0.000000] efi: mem191: type=3, attr=0xf, range=[0x0000000079820000-0x0000000079830000) (0MB)
[    0.000000] efi: mem192: type=4, attr=0xf, range=[0x0000000079830000-0x000000007983e000) (0MB)
[    0.000000] efi: mem193: type=3, attr=0xf, range=[0x000000007983e000-0x000000007983f000) (0MB)
[    0.000000] efi: mem194: type=4, attr=0xf, range=[0x000000007983f000-0x0000000079840000) (0MB)
[    0.000000] efi: mem195: type=3, attr=0xf, range=[0x0000000079840000-0x0000000079841000) (0MB)
[    0.000000] efi: mem196: type=4, attr=0xf, range=[0x0000000079841000-0x0000000079842000) (0MB)
[    0.000000] efi: mem197: type=3, attr=0xf, range=[0x0000000079842000-0x0000000079843000) (0MB)
[    0.000000] efi: mem198: type=4, attr=0xf, range=[0x0000000079843000-0x0000000079c69000) (4MB)
[    0.000000] efi: mem199: type=3, attr=0xf, range=[0x0000000079c69000-0x0000000079c6f000) (0MB)
[    0.000000] efi: mem200: type=4, attr=0xf, range=[0x0000000079c6f000-0x0000000079c71000) (0MB)
[    0.000000] efi: mem201: type=3, attr=0xf, range=[0x0000000079c71000-0x0000000079c72000) (0MB)
[    0.000000] efi: mem202: type=4, attr=0xf, range=[0x0000000079c72000-0x0000000079c73000) (0MB)
[    0.000000] efi: mem203: type=3, attr=0xf, range=[0x0000000079c73000-0x0000000079c7a000) (0MB)
[    0.000000] efi: mem204: type=4, attr=0xf, range=[0x0000000079c7a000-0x0000000079c80000) (0MB)
[    0.000000] efi: mem205: type=3, attr=0xf, range=[0x0000000079c80000-0x0000000079c82000) (0MB)
[    0.000000] efi: mem206: type=4, attr=0xf, range=[0x0000000079c82000-0x0000000079c88000) (0MB)
[    0.000000] efi: mem207: type=3, attr=0xf, range=[0x0000000079c88000-0x0000000079c89000) (0MB)
[    0.000000] efi: mem208: type=4, attr=0xf, range=[0x0000000079c89000-0x0000000079d15000) (0MB)
[    0.000000] efi: mem209: type=3, attr=0xf, range=[0x0000000079d15000-0x0000000079d16000) (0MB)
[    0.000000] efi: mem210: type=4, attr=0xf, range=[0x0000000079d16000-0x0000000079d1a000) (0MB)
[    0.000000] efi: mem211: type=3, attr=0xf, range=[0x0000000079d1a000-0x0000000079d1b000) (0MB)
[    0.000000] efi: mem212: type=4, attr=0xf, range=[0x0000000079d1b000-0x0000000079d1c000) (0MB)
[    0.000000] efi: mem213: type=3, attr=0xf, range=[0x0000000079d1c000-0x0000000079d20000) (0MB)
[    0.000000] efi: mem214: type=4, attr=0xf, range=[0x0000000079d20000-0x0000000079d21000) (0MB)
[    0.000000] efi: mem215: type=3, attr=0xf, range=[0x0000000079d21000-0x0000000079d22000) (0MB)
[    0.000000] efi: mem216: type=4, attr=0xf, range=[0x0000000079d22000-0x0000000079d26000) (0MB)
[    0.000000] efi: mem217: type=3, attr=0xf, range=[0x0000000079d26000-0x0000000079d27000) (0MB)
[    0.000000] efi: mem218: type=4, attr=0xf, range=[0x0000000079d27000-0x000000007ad03000) (15MB)
[    0.000000] efi: mem219: type=7, attr=0xf, range=[0x000000007ad03000-0x000000007ad14000) (0MB)
[    0.000000] efi: mem220: type=10, attr=0xf, range=[0x000000007ad14000-0x000000007ad53000) (0MB)
[    0.000000] efi: mem221: type=7, attr=0xf, range=[0x000000007ad53000-0x000000007ad60000) (0MB)
[    0.000000] efi: mem222: type=9, attr=0xf, range=[0x000000007ad60000-0x000000007ad8f000) (0MB)
[    0.000000] efi: mem223: type=7, attr=0xf, range=[0x000000007ad8f000-0x000000007ae39000) (0MB)
[    0.000000] efi: mem224: type=6, attr=0x800000000000000f, range=[0x000000007ae39000-0x000000007ae8f000) (0MB)
[    0.000000] efi: mem225: type=7, attr=0xf, range=[0x000000007ae8f000-0x000000007aed0000) (0MB)
[    0.000000] efi: mem226: type=5, attr=0x800000000000000f, range=[0x000000007aed0000-0x000000007aeff000) (0MB)
[    0.000000] efi: mem227: type=7, attr=0xf, range=[0x000000007aeff000-0x000000007af7b000) (0MB)
[    0.000000] efi: mem228: type=0, attr=0xf, range=[0x000000007af7b000-0x000000007afe5000) (0MB)
[    0.000000] efi: mem229: type=4, attr=0xf, range=[0x000000007afe5000-0x000000007b000000) (0MB)
[    0.000000] efi: mem230: type=7, attr=0xf, range=[0x0000000100000000-0x000000047f600000) (14326MB)
[    0.000000] efi: mem231: type=0, attr=0x8000000000000000, range=[0x00000000000a0000-0x00000000000c0000) (0MB)
[    0.000000] efi: mem232: type=0, attr=0x8000000000000000, range=[0x000000007b000000-0x000000007fa00000) (74MB)
[    0.000000] efi: mem233: type=11, attr=0x8000000000000001, range=[0x00000000e00f8000-0x00000000e00f9000) (0MB)
[    0.000000] efi: mem234: type=11, attr=0x8000000000000001, range=[0x00000000fed1c000-0x00000000fed20000) (0MB)
[    0.000000] efi: mem235: type=11, attr=0x8000000000000001, range=[0x00000000ffe10000-0x00000000ffe40000) (0MB)
[    0.000000] SMBIOS 2.4 present.
[    0.000000] DMI: Apple Inc. MacBookPro11,3/Mac-2BD1B31983FE1663, BIOS MBP112.88Z.0138.B02.1310181745 10/18/2013
[    0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] No AGP bridge found
[    0.000000] e820: last_pfn = 0x47f600 max_arch_pfn = 0x400000000
[    0.000000] MTRR default type: write-back
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-DFFFF write-protect
[    0.000000]   E0000-FFFFF uncachable
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 0080000000 mask 7F80000000 uncachable
[    0.000000]   1 base 007C000000 mask 7FFC000000 uncachable
[    0.000000]   2 base 007B800000 mask 7FFF800000 uncachable
[    0.000000]   3 disabled
[    0.000000]   4 disabled
[    0.000000]   5 disabled
[    0.000000]   6 disabled
[    0.000000]   7 disabled
[    0.000000]   8 disabled
[    0.000000]   9 disabled
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] e820: last_pfn = 0x7b000 max_arch_pfn = 0x400000000
[    0.000000] Base memory trampoline at [ffff880000099000] 99000 size 24576
[    0.000000] Using GB pages for direct mapping
[    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[    0.000000]  [mem 0x00000000-0x000fffff] page 4k
[    0.000000] BRK [0x01824000, 0x01824fff] PGTABLE
[    0.000000] BRK [0x01825000, 0x01825fff] PGTABLE
[    0.000000] BRK [0x01826000, 0x01826fff] PGTABLE
[    0.000000] init_memory_mapping: [mem 0x47f400000-0x47f5fffff]
[    0.000000]  [mem 0x47f400000-0x47f5fffff] page 2M
[    0.000000] BRK [0x01827000, 0x01827fff] PGTABLE
[    0.000000] init_memory_mapping: [mem 0x47c000000-0x47f3fffff]
[    0.000000]  [mem 0x47c000000-0x47f3fffff] page 2M
[    0.000000] init_memory_mapping: [mem 0x400000000-0x47bffffff]
[    0.000000]  [mem 0x400000000-0x43fffffff] page 1G
[    0.000000]  [mem 0x440000000-0x47bffffff] page 2M
[    0.000000] init_memory_mapping: [mem 0x00100000-0x7ad13fff]
[    0.000000]  [mem 0x00100000-0x001fffff] page 4k
[    0.000000]  [mem 0x00200000-0x7abfffff] page 2M
[    0.000000]  [mem 0x7ac00000-0x7ad13fff] page 4k
[    0.000000] init_memory_mapping: [mem 0x7ad53000-0x7ad5ffff]
[    0.000000]  [mem 0x7ad53000-0x7ad5ffff] page 4k
[    0.000000] init_memory_mapping: [mem 0x7ad8f000-0x7ae38fff]
[    0.000000]  [mem 0x7ad8f000-0x7ae38fff] page 4k
[    0.000000] BRK [0x01828000, 0x01828fff] PGTABLE
[    0.000000] init_memory_mapping: [mem 0x7ae8f000-0x7aecffff]
[    0.000000]  [mem 0x7ae8f000-0x7aecffff] page 4k
[    0.000000] init_memory_mapping: [mem 0x7aeff000-0x7af7afff]
[    0.000000]  [mem 0x7aeff000-0x7af7afff] page 4k
[    0.000000] init_memory_mapping: [mem 0x7afe5000-0x7affffff]
[    0.000000]  [mem 0x7afe5000-0x7affffff] page 4k
[    0.000000] init_memory_mapping: [mem 0x100000000-0x3ffffffff]
[    0.000000]  [mem 0x100000000-0x3ffffffff] page 1G
[    0.000000] ACPI: RSDP 000000007ad8e014 00024 (v02 APPLE )
[    0.000000] ACPI: XSDT 000000007ad8e1c0 0009C (v01 APPLE   Apple00 00000000      01000013)
[    0.000000] ACPI: FACP 000000007ad8c000 000F4 (v05 APPLE   Apple00 00000000 Loki 0000005F)
[    0.000000] ACPI: DSDT 000000007ad80000 06BF9 (v03 APPLE  MacBookP 00110002 INTL 20100915)
[    0.000000] ACPI: FACS 000000007ad1c000 00040
[    0.000000] ACPI: HPET 000000007ad8b000 00038 (v01 APPLE   Apple00 00000001 Loki 0000005F)
[    0.000000] ACPI: APIC 000000007ad8a000 000BC (v02 APPLE   Apple00 00000001 Loki 0000005F)
[    0.000000] ACPI: SBST 000000007ad88000 00030 (v01 APPLE   Apple00 00000001 Loki 0000005F)
[    0.000000] ACPI: ECDT 000000007ad87000 00053 (v01 APPLE   Apple00 00000001 Loki 0000005F)
[    0.000000] ACPI: SSDT 000000007ad7f000 0010B (v01 APPLE  SataAhci 00001000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000007ad7e000 00024 (v01 APPLE   SmcDppt 00001000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000007ad7c000 00688 (v01 APPLE  SDUsbLpt 00001000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000007ad79000 00032 (v01 APPLE    SsdtS3 00001000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000007ad65000 09CE3 (v01 APPLE  TbtPEG11 00001000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000007ad64000 000B8 (v01 APPLE      Sdxc 00001000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000007ad62000 006DE (v01  PmRef  Cpu0Ist 00003000 INTL 20100915)
[    0.000000] ACPI: SSDT 000000007ad61000 00B83 (v01  PmRef    CpuPm 00003000 INTL 20100915)
[    0.000000] ACPI: MCFG 000000007ad89000 0003C (v01 APPLE   Apple00 00000001 Loki 0000005F)
[    0.000000] ACPI: DMAR 000000007ad60000 00088 (v01 APPLE      HSW  00000001 AAPL 00000001)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000]  [ffffea0000000000-ffffea0011ffffff] PMD -> [ffff88046ec00000-ffff88047ebfffff] on node 0
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x00001000-0x00ffffff]
[    0.000000]   DMA32    [mem 0x01000000-0xffffffff]
[    0.000000]   Normal   [mem 0x100000000-0x47f5fffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00001000-0x00057fff]
[    0.000000]   node   0: [mem 0x00059000-0x0008efff]
[    0.000000]   node   0: [mem 0x00090000-0x0009ffff]
[    0.000000]   node   0: [mem 0x00100000-0x7ad13fff]
[    0.000000]   node   0: [mem 0x7ad53000-0x7ad5ffff]
[    0.000000]   node   0: [mem 0x7ad8f000-0x7ae38fff]
[    0.000000]   node   0: [mem 0x7ae8f000-0x7aecffff]
[    0.000000]   node   0: [mem 0x7aeff000-0x7af7afff]
[    0.000000]   node   0: [mem 0x7afe5000-0x7affffff]
[    0.000000]   node   0: [mem 0x100000000-0x47f5fffff]
[    0.000000] On node 0 totalpages: 4170816
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 25 pages reserved
[    0.000000]   DMA zone: 3997 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 7803 pages used for memmap
[    0.000000]   DMA32 zone: 499363 pages, LIFO batch:31
[    0.000000]   Normal zone: 57304 pages used for memmap
[    0.000000]   Normal zone: 3667456 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x408
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x04] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x06] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x03] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x05] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x07] enabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x05] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x06] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x07] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x08] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] smpboot: Allowing 8 CPUs, 0 hotplug CPUs
[    0.000000] nr_irqs_gsi: 40
[    0.000000] e820: [mem 0x7fa00000-0xe00f7fff] available for PCI devices
[    0.000000] setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:8 nr_node_ids:1
[    0.000000] PERCPU: Embedded 27 pages/cpu @ffff88047f200000 s78208 r8192 d24192 u262144
[    0.000000] pcpu-alloc: s78208 r8192 d24192 u262144 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 0 1 2 3 4 5 6 7 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 4105620
[    0.000000] Kernel command line: root=/dev/sda2 ro \vmlinuz-3.12.6 ro root=/dev/sda2 libata.force=noncq drm.debug=0xe
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes)
[    0.000000] Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes)
[    0.000000] xsave: enabled xstate_bv 0x7, cntxt size 0x340
[    0.000000] Checking aperture...
[    0.000000] No AGP bridge found
[    0.000000] Memory: 16095756K/16683264K available (3790K kernel code, 482K rwdata, 1416K rodata, 832K init, 852K bss, 587508K reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	CONFIG_RCU_FANOUT set to non-default value of 32
[    0.000000] NR_IRQS:4352 nr_irqs:744 16
[    0.000000] Console: colour dummy device 80x25
[    0.000000] console [tty0] enabled
[    0.000000] hpet clockevent registered
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.001000] tsc: Detected 2294.650 MHz processor
[    0.000001] Calibrating delay loop (skipped), value calculated using timer frequency.. 4589.30 BogoMIPS (lpj=2294650)
[    0.000004] pid_max: default: 32768 minimum: 301
[    0.000019] init_memory_mapping: [mem 0x7ae39000-0x7ae8efff]
[    0.000020]  [mem 0x7ae39000-0x7ae8efff] page 4k
[    0.000026] init_memory_mapping: [mem 0x7aed0000-0x7aefefff]
[    0.000027]  [mem 0x7aed0000-0x7aefefff] page 4k
[    0.000055] init_memory_mapping: [mem 0x7b000000-0x7f9fffff]
[    0.000056]  [mem 0x7b000000-0x7f9fffff] page 2M
[    0.025855] Mount-cache hash table entries: 256
[    0.025958] CPU: Physical Processor ID: 0
[    0.025959] CPU: Processor Core ID: 0
[    0.025962] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
[    0.026713] mce: CPU supports 10 MCE banks
[    0.026724] CPU0: Thermal monitoring enabled (TM1)
[    0.026733] Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
Last level dTLB entries: 4KB 64, 2MB 0, 4MB 0
tlb_flushall_shift: 6
[    0.026804] Freeing SMP alternatives memory: 16K (ffffffff8174a000 - ffffffff8174e000)
[    0.026805] ACPI: Core revision 20130725
[    0.038230] ACPI: All ACPI Tables successfully acquired
[    0.042982] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.052980] smpboot: CPU0: Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz (fam: 06, model: 46, stepping: 01)
[    0.052990] TSC deadline timer enabled
[    0.052996] Performance Events: PEBS fmt2+, 16-deep LBR, Haswell events, full-width counters, Intel PMU driver.
[    0.053001] ... version:                3
[    0.053002] ... bit width:              48
[    0.053003] ... generic registers:      4
[    0.053004] ... value mask:             0000ffffffffffff
[    0.053004] ... max period:             0000ffffffffffff
[    0.053005] ... fixed-purpose events:   3
[    0.053006] ... event mask:             000000070000000f
[    0.053115] smpboot: Booting Node   0, Processors  #   1 #   2 #   3 #   4 #   5 #   6 #   7 OK
[    0.177440] Brought up 8 CPUs
[    0.177444] smpboot: Total of 8 processors activated (36714.40 BogoMIPS)
[    0.253677] devtmpfs: initialized
[    0.253762] PM: Registering ACPI NVS region [mem 0x7ad14000-0x7ad52fff] (258048 bytes)
[    0.253884] NET: Registered protocol family 16
[    0.254026] cpuidle: using governor menu
[    0.254034] ACPI: bus type PCI registered
[    0.254087] PCI: MMCONFIG for domain 0000 [bus 00-9c] at [mem 0xe0000000-0xe9cfffff] (base 0xe0000000)
[    0.254089] PCI: not using MMCONFIG
[    0.254090] PCI: Using configuration type 1 for base access
[    0.255572] bio: create slab <bio-0> at 0
[    0.255688] ACPI: Added _OSI(Module Device)
[    0.255689] ACPI: Added _OSI(Processor Device)
[    0.255691] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.255692] ACPI: Added _OSI(Processor Aggregator Device)
[    0.257961] ACPI: EC: EC description table is found, configuring boot EC
[    0.264022] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[    2.271888] ACPI: SSDT 000000007af7d890 004F0 (v01  PmRef  Cpu0Cst 00003001 INTL 20100915)
[    2.272500] ACPI: Dynamic OEM Table Load:
[    2.272502] ACPI: SSDT           (null) 004F0 (v01  PmRef  Cpu0Cst 00003001 INTL 20100915)
[    2.277001] ACPI: SSDT 000000007af7e190 0067C (v01  PmRef    ApIst 00003000 INTL 20100915)
[    2.277685] ACPI: Dynamic OEM Table Load:
[    2.277687] ACPI: SSDT           (null) 0067C (v01  PmRef    ApIst 00003000 INTL 20100915)
[    2.281885] ACPI: SSDT 000000007af7cd90 00119 (v01  PmRef    ApCst 00003000 INTL 20100915)
[    2.282494] ACPI: Dynamic OEM Table Load:
[    2.282496] ACPI: SSDT           (null) 00119 (v01  PmRef    ApCst 00003000 INTL 20100915)
[    2.287773] ACPI: Interpreter enabled
[    2.287778] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20130725/hwxface-571)
[    2.287783] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20130725/hwxface-571)
[    2.287792] ACPI: (supports S0 S3 S5)
[    2.287794] ACPI: Using IOAPIC for interrupt routing
[    2.287807] PCI: MMCONFIG for domain 0000 [bus 00-9c] at [mem 0xe0000000-0xe9cfffff] (base 0xe0000000)
[    2.288236] PCI: MMCONFIG at [mem 0xe0000000-0xe9cfffff] reserved in ACPI motherboard resources
[    2.304168] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    2.304299] ACPI: No dock devices found.
[    2.314873] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    2.314964] acpi PNP0A08:00: Requesting ACPI _OSC control (0x15)
[    2.315044] acpi PNP0A08:00: ACPI _OSC control (0x15) granted
[    2.315209] acpi PNP0A08:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-9c] only partially covers this bridge
[    2.315239] PCI host bridge to bus 0000:00
[    2.315241] pci_bus 0000:00: root bus resource [bus 00-ff]
[    2.315244] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7]
[    2.315245] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
[    2.315247] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
[    2.315249] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000c3fff]
[    2.315250] pci_bus 0000:00: root bus resource [mem 0x000c4000-0x000c7fff]
[    2.315252] pci_bus 0000:00: root bus resource [mem 0x000c8000-0x000cbfff]
[    2.315253] pci_bus 0000:00: root bus resource [mem 0x000cc000-0x000cffff]
[    2.315255] pci_bus 0000:00: root bus resource [mem 0x000d0000-0x000d3fff]
[    2.315257] pci_bus 0000:00: root bus resource [mem 0x000d4000-0x000d7fff]
[    2.315258] pci_bus 0000:00: root bus resource [mem 0x000d8000-0x000dbfff]
[    2.315260] pci_bus 0000:00: root bus resource [mem 0x000dc000-0x000dffff]
[    2.315261] pci_bus 0000:00: root bus resource [mem 0x000e0000-0x000e3fff]
[    2.315263] pci_bus 0000:00: root bus resource [mem 0x000e4000-0x000e7fff]
[    2.315265] pci_bus 0000:00: root bus resource [mem 0x000e8000-0x000ebfff]
[    2.315266] pci_bus 0000:00: root bus resource [mem 0x000ec000-0x000effff]
[    2.315268] pci_bus 0000:00: root bus resource [mem 0x000f0000-0x000fffff]
[    2.315269] pci_bus 0000:00: root bus resource [mem 0x7fa00000-0xfeafffff]
[    2.315271] pci_bus 0000:00: root bus resource [mem 0xfed40000-0xfed44fff]
[    2.315273] pci_bus 0000:00: scanning bus
[    2.315283] pci 0000:00:00.0: [8086:0d04] type 00 class 0x060000
[    2.315294] pci 0000:00:00.0: calling quirk_mmio_always_on+0x0/0x10
[    2.315371] pci 0000:00:01.0: [8086:0d01] type 01 class 0x060400
[    2.315387] pci 0000:00:01.0: calling pci_fixup_transparent_bridge+0x0/0x20
[    2.315404] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[    2.315406] pci 0000:00:01.0: PME# disabled
[    2.315434] pci 0000:00:01.0: System wakeup disabled by ACPI
[    2.315471] pci 0000:00:01.1: [8086:0d05] type 01 class 0x060400
[    2.315485] pci 0000:00:01.1: calling pci_fixup_transparent_bridge+0x0/0x20
[    2.315501] pci 0000:00:01.1: PME# supported from D0 D3hot D3cold
[    2.315503] pci 0000:00:01.1: PME# disabled
[    2.315529] pci 0000:00:01.1: System wakeup disabled by ACPI
[    2.315586] pci 0000:00:02.0: [ffff:ffff] type 7f class 0xffffff
[    2.315589] pci 0000:00:02.0: unknown header type 7f, ignoring device
[    2.315645] pci 0000:00:14.0: [8086:8c31] type 00 class 0x0c0330
[    2.315665] pci 0000:00:14.0: reg 0x10: [mem 0xc1e00000-0xc1e0ffff 64bit]
[    2.315721] pci 0000:00:14.0: PME# supported from D3hot D3cold
[    2.315724] pci 0000:00:14.0: PME# disabled
[    2.315746] pci 0000:00:14.0: System wakeup disabled by ACPI
[    2.315793] pci 0000:00:16.0: [8086:8c3a] type 00 class 0x078000
[    2.315813] pci 0000:00:16.0: reg 0x10: [mem 0xc1e19100-0xc1e1910f 64bit]
[    2.315876] pci 0000:00:16.0: PME# supported from D0 D3hot D3cold
[    2.315879] pci 0000:00:16.0: PME# disabled
[    2.315974] pci 0000:00:1b.0: [8086:8c20] type 00 class 0x040300
[    2.315988] pci 0000:00:1b.0: reg 0x10: [mem 0xc1e14000-0xc1e17fff 64bit]
[    2.316048] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[    2.316051] pci 0000:00:1b.0: PME# disabled
[    2.316075] pci 0000:00:1b.0: System wakeup disabled by ACPI
[    2.316120] pci 0000:00:1c.0: [8086:8c10] type 01 class 0x060400
[    2.316148] pci 0000:00:1c.0: calling pci_fixup_transparent_bridge+0x0/0x20
[    2.316198] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    2.316201] pci 0000:00:1c.0: PME# disabled
[    2.316265] pci 0000:00:1c.2: [8086:8c14] type 01 class 0x060400
[    2.316296] pci 0000:00:1c.2: calling pci_fixup_transparent_bridge+0x0/0x20
[    2.316331] pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold
[    2.316334] pci 0000:00:1c.2: PME# disabled
[    2.316358] pci 0000:00:1c.2: System wakeup disabled by ACPI
[    2.316400] pci 0000:00:1c.3: [8086:8c16] type 01 class 0x060400
[    2.316431] pci 0000:00:1c.3: calling pci_fixup_transparent_bridge+0x0/0x20
[    2.316465] pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold
[    2.316468] pci 0000:00:1c.3: PME# disabled
[    2.316493] pci 0000:00:1c.3: System wakeup disabled by ACPI
[    2.316533] pci 0000:00:1c.4: [8086:8c18] type 01 class 0x060400
[    2.316564] pci 0000:00:1c.4: calling pci_fixup_transparent_bridge+0x0/0x20
[    2.316598] pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold
[    2.316602] pci 0000:00:1c.4: PME# disabled
[    2.316626] pci 0000:00:1c.4: System wakeup disabled by ACPI
[    2.316679] pci 0000:00:1f.0: [8086:8c4b] type 00 class 0x060100
[    2.316826] pci 0000:00:1f.3: [8086:8c22] type 00 class 0x0c0500
[    2.316840] pci 0000:00:1f.3: reg 0x10: [mem 0xc1e19000-0xc1e190ff 64bit]
[    2.316862] pci 0000:00:1f.3: reg 0x20: [io  0xefa0-0xefbf]
[    2.316931] pci_bus 0000:00: fixups for bus
[    2.316933] pci 0000:00:01.0: scanning [bus 01-01] behind bridge, pass 0
[    2.316967] pci_bus 0000:01: scanning bus
[    2.316989] pci 0000:01:00.0: [10de:0fe9] type 00 class 0x030000
[    2.316999] pci 0000:01:00.0: reg 0x10: [mem 0xc0000000-0xc0ffffff]
[    2.317010] pci 0000:01:00.0: reg 0x14: [mem 0x80000000-0x8fffffff 64bit pref]
[    2.317020] pci 0000:01:00.0: reg 0x1c: [mem 0x90000000-0x91ffffff 64bit pref]
[    2.317028] pci 0000:01:00.0: reg 0x24: [io  0x1000-0x107f]
[    2.317035] pci 0000:01:00.0: reg 0x30: [mem 0xc1000000-0xc107ffff pref]
[    2.317092] pci 0000:01:00.0: System wakeup disabled by ACPI
[    2.317139] pci 0000:01:00.1: [10de:0e1b] type 00 class 0x040300
[    2.317147] pci 0000:01:00.1: reg 0x10: [mem 0xc1080000-0xc1083fff]
[    2.320877] pci_bus 0000:01: fixups for bus
[    2.320879] pci 0000:00:01.0: PCI bridge to [bus 01]
[    2.320881] pci 0000:00:01.0:   bridge window [io  0x1000-0x1fff]
[    2.320883] pci 0000:00:01.0:   bridge window [mem 0xc0000000-0xc10fffff]
[    2.320886] pci 0000:00:01.0:   bridge window [mem 0x80000000-0x91ffffff 64bit pref]
[    2.320887] pci_bus 0000:01: bus scan returning with max=01
[    2.320890] pci 0000:00:01.1: scanning [bus 06-9c] behind bridge, pass 0
[    2.320928] pci_bus 0000:06: scanning bus
[    2.320930] pci_bus 0000:06: fixups for bus
[    2.320932] pci 0000:00:01.1: PCI bridge to [bus 06-9c]
[    2.320934] pci 0000:00:01.1:   bridge window [io  0x3000-0x5fff]
[    2.320936] pci 0000:00:01.1:   bridge window [mem 0xc1f00000-0xcdffffff]
[    2.320939] pci 0000:00:01.1:   bridge window [mem 0xce000000-0xd9ffffff 64bit pref]
[    2.320940] pci_bus 0000:06: bus scan returning with max=06
[    2.320948] pci 0000:00:1c.0: scanning [bus 02-02] behind bridge, pass 0
[    2.321002] pci_bus 0000:02: scanning bus
[    2.321010] pci_bus 0000:02: fixups for bus
[    2.321011] pci 0000:00:1c.0: PCI bridge to [bus 02]
[    2.321020] pci_bus 0000:02: bus scan returning with max=02
[    2.321023] pci 0000:00:1c.2: scanning [bus 03-03] behind bridge, pass 0
[    2.321077] pci_bus 0000:03: scanning bus
[    2.321150] pci 0000:03:00.0: [14e4:43a0] type 00 class 0x028000
[    2.321185] pci 0000:03:00.0: reg 0x10: [mem 0xc1a00000-0xc1a07fff 64bit]
[    2.321214] pci 0000:03:00.0: reg 0x18: [mem 0xc1800000-0xc19fffff 64bit]
[    2.321361] pci 0000:03:00.0: supports D1 D2
[    2.321362] pci 0000:03:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    2.321369] pci 0000:03:00.0: PME# disabled
[    2.321417] pci 0000:03:00.0: System wakeup disabled by ACPI
[    2.322914] pci_bus 0000:03: fixups for bus
[    2.322915] pci 0000:00:1c.2: PCI bridge to [bus 03]
[    2.322920] pci 0000:00:1c.2:   bridge window [mem 0xc1800000-0xc1afffff]
[    2.322925] pci_bus 0000:03: bus scan returning with max=03
[    2.322929] pci 0000:00:1c.3: scanning [bus 04-04] behind bridge, pass 0
[    2.322984] pci_bus 0000:04: scanning bus
[    2.323014] pci 0000:04:00.0: [14e4:1570] type 00 class 0x048000
[    2.323034] pci 0000:04:00.0: reg 0x10: [mem 0xc1d00000-0xc1d0ffff 64bit]
[    2.323050] pci 0000:04:00.0: reg 0x18: [mem 0xa0000000-0xafffffff 64bit pref]
[    2.323067] pci 0000:04:00.0: reg 0x20: [mem 0xc1c00000-0xc1cfffff 64bit]
[    2.323131] pci 0000:04:00.0: supports D1
[    2.323132] pci 0000:04:00.0: PME# supported from D0 D3hot
[    2.323136] pci 0000:04:00.0: PME# disabled
[    2.324881] pci_bus 0000:04: fixups for bus
[    2.324882] pci 0000:00:1c.3: PCI bridge to [bus 04]
[    2.324887] pci 0000:00:1c.3:   bridge window [mem 0xc1c00000-0xc1dfffff]
[    2.324893] pci 0000:00:1c.3:   bridge window [mem 0xa0000000-0xafffffff 64bit pref]
[    2.324894] pci_bus 0000:04: bus scan returning with max=04
[    2.324897] pci 0000:00:1c.4: scanning [bus 05-05] behind bridge, pass 0
[    2.324952] pci_bus 0000:05: scanning bus
[    2.325028] pci 0000:05:00.0: [144d:1600] type 00 class 0x010601
[    2.325088] pci 0000:05:00.0: reg 0x24: [mem 0xc1b00000-0xc1b01fff]
[    2.325099] pci 0000:05:00.0: reg 0x30: [mem 0xffff0000-0xffffffff pref]
[    2.325151] pci 0000:05:00.0: PME# supported from D3hot D3cold
[    2.325155] pci 0000:05:00.0: PME# disabled
[    2.326883] pci_bus 0000:05: fixups for bus
[    2.326884] pci 0000:00:1c.4: PCI bridge to [bus 05]
[    2.326889] pci 0000:00:1c.4:   bridge window [mem 0xc1b00000-0xc1bfffff]
[    2.326894] pci_bus 0000:05: bus scan returning with max=05
[    2.326898] pci 0000:00:01.0: scanning [bus 01-01] behind bridge, pass 1
[    2.326901] pci 0000:00:01.1: scanning [bus 06-9c] behind bridge, pass 1
[    2.326910] pci 0000:00:1c.0: scanning [bus 02-02] behind bridge, pass 1
[    2.326915] pci 0000:00:1c.2: scanning [bus 03-03] behind bridge, pass 1
[    2.326920] pci 0000:00:1c.3: scanning [bus 04-04] behind bridge, pass 1
[    2.326925] pci 0000:00:1c.4: scanning [bus 05-05] behind bridge, pass 1
[    2.326929] pci_bus 0000:00: bus scan returning with max=9c
[    2.326993] pci_bus 0000:00: on NUMA node 0
[    2.328276] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 10 12 14 15) *0, disabled.
[    2.328333] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
[    2.328395] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 10 12 14 15) *0, disabled.
[    2.328433] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
[    2.328476] ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 7 10 12 14 15) *0, disabled.
[    2.328514] ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
[    2.328552] ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 7 10 12 14 15) *0, disabled.
[    2.328594] ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
[    2.329850] ACPI: Enabled 2 GPEs in block 00 to 3F
[    2.329857] ACPI: \_SB_.PCI0: notify handler is installed
[    2.329928] Found 1 acpi root devices
[    2.329948] ACPI: EC: GPE = 0x17, I/O: command/status = 0x66, data = 0x62
[    2.330058] vgaarb: device added: PCI:0000:01:00.0,decodes=io+mem,owns=none,locks=none
[    2.330060] vgaarb: loaded
[    2.330061] vgaarb: bridge control possible 0000:01:00.0
[    2.330140] SCSI subsystem initialized
[    2.330210] libata version 3.00 loaded.
[    2.330295] PCI: Using ACPI for IRQ routing
[    2.331612] PCI: pci_cache_line_size set to 64 bytes
[    2.331627] pci 0000:01:00.0: BAR 0: reserving [mem 0xc0000000-0xc0ffffff flags 0x40200] (d=0, p=0)
[    2.331628] pci 0000:01:00.0: BAR 1: reserving [mem 0x80000000-0x8fffffff flags 0x14220c] (d=0, p=0)
[    2.331629] pci 0000:01:00.0: BAR 3: reserving [mem 0x90000000-0x91ffffff flags 0x14220c] (d=0, p=0)
[    2.331638] pci 0000:00:14.0: BAR 0: reserving [mem 0xc1e00000-0xc1e0ffff flags 0x140204] (d=0, p=0)
[    2.331641] pci 0000:00:16.0: BAR 0: reserving [mem 0xc1e19100-0xc1e1910f flags 0x140204] (d=0, p=0)
[    2.331643] pci 0000:00:1b.0: BAR 0: reserving [mem 0xc1e14000-0xc1e17fff flags 0x140204] (d=0, p=0)
[    2.331681] pci 0000:03:00.0: BAR 0: reserving [mem 0xc1a00000-0xc1a07fff flags 0x140204] (d=0, p=0)
[    2.331682] pci 0000:03:00.0: BAR 2: reserving [mem 0xc1800000-0xc19fffff flags 0x140204] (d=0, p=0)
[    2.331688] pci 0000:04:00.0: BAR 0: reserving [mem 0xc1d00000-0xc1d0ffff flags 0x140204] (d=0, p=0)
[    2.331689] pci 0000:04:00.0: BAR 2: reserving [mem 0xa0000000-0xafffffff flags 0x14220c] (d=0, p=0)
[    2.331690] pci 0000:04:00.0: BAR 4: reserving [mem 0xc1c00000-0xc1cfffff flags 0x140204] (d=0, p=0)
[    2.331697] pci 0000:05:00.0: BAR 5: reserving [mem 0xc1b00000-0xc1b01fff flags 0x40200] (d=0, p=0)
[    2.331701] pci 0000:00:1f.3: BAR 0: reserving [mem 0xc1e19000-0xc1e190ff flags 0x140204] (d=0, p=0)
[    2.331702] pci 0000:00:1f.3: BAR 4: reserving [io  0xefa0-0xefbf flags 0x40101] (d=0, p=0)
[    2.331713] pci 0000:01:00.0: BAR 5: reserving [io  0x1000-0x107f flags 0x40101] (d=1, p=1)
[    2.331715] pci 0000:01:00.1: BAR 0: reserving [mem 0xc1080000-0xc1083fff flags 0x40200] (d=1, p=1)
[    2.331772] e820: reserve RAM buffer [mem 0x00058000-0x0005ffff]
[    2.331773] e820: reserve RAM buffer [mem 0x0008f000-0x0008ffff]
[    2.331773] e820: reserve RAM buffer [mem 0x7928b190-0x7bffffff]
[    2.331775] e820: reserve RAM buffer [mem 0x7ad14000-0x7bffffff]
[    2.331776] e820: reserve RAM buffer [mem 0x7ad60000-0x7bffffff]
[    2.331777] e820: reserve RAM buffer [mem 0x7ae39000-0x7bffffff]
[    2.331778] e820: reserve RAM buffer [mem 0x7aed0000-0x7bffffff]
[    2.331778] e820: reserve RAM buffer [mem 0x7af7b000-0x7bffffff]
[    2.331779] e820: reserve RAM buffer [mem 0x7b000000-0x7bffffff]
[    2.331780] e820: reserve RAM buffer [mem 0x47f600000-0x47fffffff]
[    2.331882] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
[    2.331886] hpet0: 8 comparators, 64-bit 14.318180 MHz counter
[    2.333907] Switched to clocksource hpet
[    2.334829] pnp: PnP ACPI init
[    2.334833] ACPI: bus type PNP registered
[    2.335202] pnp 00:00: [dma 4]
[    2.335239] pnp 00:00: Plug and Play ACPI device, IDs PNP0200 (active)
[    2.335276] pnp 00:01: Plug and Play ACPI device, IDs INT0800 (active)
[    2.335372] system 00:02: [mem 0xfed00000-0xfed003ff] has been reserved
[    2.335374] system 00:02: Plug and Play ACPI device, IDs PNP0103 PNP0c01 (active)
[    2.335420] pnp 00:03: Plug and Play ACPI device, IDs PNP0c04 (active)
[    2.335461] system 00:04: [io  0xffff] has been reserved
[    2.335463] system 00:04: [io  0x0400-0x047f] could not be reserved
[    2.335464] system 00:04: [io  0x0800-0x087f] has been reserved
[    2.335466] system 00:04: Plug and Play ACPI device, IDs PNP0c02 (active)
[    2.335502] pnp 00:05: Plug and Play ACPI device, IDs PNP0b00 (active)
[    2.335547] pnp 00:06: Plug and Play ACPI device, IDs APP0001 (active)
[    2.335605] pnp 00:07: Plug and Play ACPI device, IDs APP000b (active)
[    2.335705] system 00:08: [mem 0xfed1c000-0xfed1ffff] has been reserved
[    2.335707] system 00:08: [mem 0xfed10000-0xfed17fff] has been reserved
[    2.335708] system 00:08: [mem 0xfed18000-0xfed18fff] has been reserved
[    2.335710] system 00:08: [mem 0xfed19000-0xfed19fff] has been reserved
[    2.335711] system 00:08: [mem 0xe0000000-0xefffffff] could not be reserved
[    2.335712] system 00:08: [mem 0xfed20000-0xfed3ffff] has been reserved
[    2.335714] system 00:08: [mem 0xfed90000-0xfed93fff] has been reserved
[    2.335715] system 00:08: [mem 0xfed45000-0xfed8ffff] has been reserved
[    2.335716] system 00:08: [mem 0xff000000-0xffffffff] could not be reserved
[    2.335718] system 00:08: [mem 0xfee00000-0xfeefffff] has been reserved
[    2.335719] system 00:08: Plug and Play ACPI device, IDs PNP0c02 (active)
[    2.335769] system 00:09: [mem 0x20000000-0x201fffff] could not be reserved
[    2.335771] system 00:09: [mem 0x40000000-0x401fffff] could not be reserved
[    2.335772] system 00:09: Plug and Play ACPI device, IDs PNP0c01 (active)
[    2.337804] pnp: PnP ACPI: found 10 devices
[    2.337806] ACPI: bus type PNP unregistered
[    2.346007] pci 0000:05:00.0: no compatible bridge window for [mem 0xffff0000-0xffffffff pref]
[    2.346026] pci 0000:00:1c.0: bridge window [io  0x1000-0x0fff] to [bus 02] add_size 1000
[    2.346028] pci 0000:00:1c.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 02] add_size 200000
[    2.346029] pci 0000:00:1c.0: bridge window [mem 0x00100000-0x000fffff] to [bus 02] add_size 200000
[    2.346052] pci 0000:00:1c.0: res[8]=[mem 0x00100000-0x000fffff] get_res_add_size add_size 200000
[    2.346052] pci 0000:00:1c.0: res[9]=[mem 0x00100000-0x000fffff 64bit pref] get_res_add_size add_size 200000
[    2.346053] pci 0000:00:1c.0: res[7]=[io  0x1000-0x0fff] get_res_add_size add_size 1000
[    2.346056] pci 0000:00:1c.0: BAR 8: assigned [mem 0x7fa00000-0x7fbfffff]
[    2.346059] pci 0000:00:1c.0: BAR 9: assigned [mem 0x7fc00000-0x7fdfffff 64bit pref]
[    2.346061] pci 0000:00:1c.4: BAR 9: assigned [mem 0x7fe00000-0x7fefffff pref]
[    2.346063] pci 0000:00:1c.0: BAR 7: assigned [io  0x2000-0x2fff]
[    2.346065] pci 0000:00:01.0: PCI bridge to [bus 01]
[    2.346066] pci 0000:00:01.0:   bridge window [io  0x1000-0x1fff]
[    2.346069] pci 0000:00:01.0:   bridge window [mem 0xc0000000-0xc10fffff]
[    2.346071] pci 0000:00:01.0:   bridge window [mem 0x80000000-0x91ffffff 64bit pref]
[    2.346073] pci 0000:00:01.1: PCI bridge to [bus 06-9c]
[    2.346075] pci 0000:00:01.1:   bridge window [io  0x3000-0x5fff]
[    2.346077] pci 0000:00:01.1:   bridge window [mem 0xc1f00000-0xcdffffff]
[    2.346079] pci 0000:00:01.1:   bridge window [mem 0xce000000-0xd9ffffff 64bit pref]
[    2.346082] pci 0000:00:1c.0: PCI bridge to [bus 02]
[    2.346089] pci 0000:00:1c.0:   bridge window [io  0x2000-0x2fff]
[    2.346093] pci 0000:00:1c.0:   bridge window [mem 0x7fa00000-0x7fbfffff]
[    2.346097] pci 0000:00:1c.0:   bridge window [mem 0x7fc00000-0x7fdfffff 64bit pref]
[    2.346102] pci 0000:00:1c.2: PCI bridge to [bus 03]
[    2.346107] pci 0000:00:1c.2:   bridge window [mem 0xc1800000-0xc1afffff]
[    2.346113] pci 0000:00:1c.3: PCI bridge to [bus 04]
[    2.346118] pci 0000:00:1c.3:   bridge window [mem 0xc1c00000-0xc1dfffff]
[    2.346121] pci 0000:00:1c.3:   bridge window [mem 0xa0000000-0xafffffff 64bit pref]
[    2.346127] pci 0000:05:00.0: BAR 6: assigned [mem 0x7fe00000-0x7fe0ffff pref]
[    2.346128] pci 0000:00:1c.4: PCI bridge to [bus 05]
[    2.346133] pci 0000:00:1c.4:   bridge window [mem 0xc1b00000-0xc1bfffff]
[    2.346136] pci 0000:00:1c.4:   bridge window [mem 0x7fe00000-0x7fefffff pref]
[    2.346142] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    2.346143] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    2.346143] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    2.346144] pci_bus 0000:00: resource 7 [mem 0x000c0000-0x000c3fff]
[    2.346145] pci_bus 0000:00: resource 8 [mem 0x000c4000-0x000c7fff]
[    2.346146] pci_bus 0000:00: resource 9 [mem 0x000c8000-0x000cbfff]
[    2.346146] pci_bus 0000:00: resource 10 [mem 0x000cc000-0x000cffff]
[    2.346147] pci_bus 0000:00: resource 11 [mem 0x000d0000-0x000d3fff]
[    2.346148] pci_bus 0000:00: resource 12 [mem 0x000d4000-0x000d7fff]
[    2.346149] pci_bus 0000:00: resource 13 [mem 0x000d8000-0x000dbfff]
[    2.346149] pci_bus 0000:00: resource 14 [mem 0x000dc000-0x000dffff]
[    2.346150] pci_bus 0000:00: resource 15 [mem 0x000e0000-0x000e3fff]
[    2.346151] pci_bus 0000:00: resource 16 [mem 0x000e4000-0x000e7fff]
[    2.346152] pci_bus 0000:00: resource 17 [mem 0x000e8000-0x000ebfff]
[    2.346152] pci_bus 0000:00: resource 18 [mem 0x000ec000-0x000effff]
[    2.346153] pci_bus 0000:00: resource 19 [mem 0x000f0000-0x000fffff]
[    2.346154] pci_bus 0000:00: resource 20 [mem 0x7fa00000-0xfeafffff]
[    2.346154] pci_bus 0000:00: resource 21 [mem 0xfed40000-0xfed44fff]
[    2.346155] pci_bus 0000:01: resource 0 [io  0x1000-0x1fff]
[    2.346156] pci_bus 0000:01: resource 1 [mem 0xc0000000-0xc10fffff]
[    2.346157] pci_bus 0000:01: resource 2 [mem 0x80000000-0x91ffffff 64bit pref]
[    2.346158] pci_bus 0000:06: resource 0 [io  0x3000-0x5fff]
[    2.346158] pci_bus 0000:06: resource 1 [mem 0xc1f00000-0xcdffffff]
[    2.346159] pci_bus 0000:06: resource 2 [mem 0xce000000-0xd9ffffff 64bit pref]
[    2.346160] pci_bus 0000:02: resource 0 [io  0x2000-0x2fff]
[    2.346161] pci_bus 0000:02: resource 1 [mem 0x7fa00000-0x7fbfffff]
[    2.346161] pci_bus 0000:02: resource 2 [mem 0x7fc00000-0x7fdfffff 64bit pref]
[    2.346162] pci_bus 0000:03: resource 1 [mem 0xc1800000-0xc1afffff]
[    2.346163] pci_bus 0000:04: resource 1 [mem 0xc1c00000-0xc1dfffff]
[    2.346164] pci_bus 0000:04: resource 2 [mem 0xa0000000-0xafffffff 64bit pref]
[    2.346165] pci_bus 0000:05: resource 1 [mem 0xc1b00000-0xc1bfffff]
[    2.346165] pci_bus 0000:05: resource 2 [mem 0x7fe00000-0x7fefffff pref]
[    2.346181] NET: Registered protocol family 2
[    2.346250] TCP established hash table entries: 131072 (order: 9, 2097152 bytes)
[    2.346469] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    2.346579] TCP: Hash tables configured (established 131072 bind 65536)
[    2.346591] TCP: reno registered
[    2.346593] UDP hash table entries: 8192 (order: 6, 262144 bytes)
[    2.346621] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes)
[    2.346681] pci 0000:00:14.0: calling quirk_usb_early_handoff+0x0/0x690
[    2.346831] pci 0000:01:00.0: calling nv_msi_ht_cap_quirk_leaf+0x0/0x20
[    2.346849] pci 0000:01:00.0: calling pci_fixup_video+0x0/0xd0
[    2.346852] pci 0000:01:00.1: calling nv_msi_ht_cap_quirk_leaf+0x0/0x20
[    2.346919] PCI: CLS 256 bytes, default 64
[    2.346941] dmar: Host address width 39
[    2.346943] dmar: DRHD base: 0x000000fed90000 flags: 0x0
[    2.346950] dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap c0000020660462 ecap f0101a
[    2.346951] dmar: DRHD base: 0x000000fed91000 flags: 0x1
[    2.346955] dmar: IOMMU 1: reg_base_addr fed91000 ver 1:0 cap d2008020660462 ecap f010da
[    2.346956] dmar: RMRR base: 0x0000007b800000 end: 0x0000007f9fffff
[    2.346958] dmar: Device scope device [0000:00:02.00] not found
[    2.346959] dmar: Device scope device [0000:00:02.00] not found
[    2.346962] DMAR: No ATSR found
[    2.346973] IOMMU 1 0xfed91000: using Queued invalidation
[    2.346975] IOMMU: Setting RMRR:
[    2.346976] IOMMU: Prepare 0-16MiB unity mapping for LPC
[    2.346984] IOMMU: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]
[    2.347091] PCI-DMA: Intel(R) Virtualization Technology for Directed I/O
[    2.349785] audit: initializing netlink socket (disabled)
[    2.349796] type=2000 audit(1389127479.255:1): initialized
[    2.353189] msgmni has been set to 32005
[    2.353693] alg: No test for stdrng (krng)
[    2.353790] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    2.353793] io scheduler noop registered
[    2.353794] io scheduler deadline registered (default)
[    2.353946] pcieport 0000:00:01.0: irq 41 for MSI/MSI-X
[    2.354109] pcieport 0000:00:01.1: irq 42 for MSI/MSI-X
[    2.354205] pcieport 0000:00:1c.0: enabling device (0000 -> 0003)
[    2.354269] pcieport 0000:00:1c.0: enabling bus mastering
[    2.354281] pcieport 0000:00:1c.0: irq 43 for MSI/MSI-X
[    2.354459] pcieport 0000:00:1c.2: irq 44 for MSI/MSI-X
[    2.354600] pcieport 0000:00:1c.3: irq 45 for MSI/MSI-X
[    2.354742] pcieport 0000:00:1c.4: irq 46 for MSI/MSI-X
[    2.354854] pcieport 0000:00:01.0: Signaling PME through PCIe PME interrupt
[    2.354857] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt
[    2.354858] pci 0000:01:00.1: Signaling PME through PCIe PME interrupt
[    2.354861] pcie_pme 0000:00:01.0:pcie01: service driver pcie_pme loaded
[    2.354870] pcieport 0000:00:01.1: Signaling PME through PCIe PME interrupt
[    2.354872] pcie_pme 0000:00:01.1:pcie01: service driver pcie_pme loaded
[    2.354889] pcieport 0000:00:1c.0: Signaling PME through PCIe PME interrupt
[    2.354893] pcie_pme 0000:00:1c.0:pcie01: service driver pcie_pme loaded
[    2.354923] pcieport 0000:00:1c.2: Signaling PME through PCIe PME interrupt
[    2.354925] pci 0000:03:00.0: Signaling PME through PCIe PME interrupt
[    2.354933] pcie_pme 0000:00:1c.2:pcie01: service driver pcie_pme loaded
[    2.354945] pcieport 0000:00:1c.3: Signaling PME through PCIe PME interrupt
[    2.354947] pci 0000:04:00.0: Signaling PME through PCIe PME interrupt
[    2.354956] pcie_pme 0000:00:1c.3:pcie01: service driver pcie_pme loaded
[    2.354971] pcieport 0000:00:1c.4: Signaling PME through PCIe PME interrupt
[    2.354972] pci 0000:05:00.0: Signaling PME through PCIe PME interrupt
[    2.354981] pcie_pme 0000:00:1c.4:pcie01: service driver pcie_pme loaded
[    2.358654] fbcon: simple (fb0) is primary device
[    2.650970] Console: switching to colour frame buffer device 360x112
[    2.943458] simple-framebuffer simple-framebuffer.0: fb0: simplefb registered!
[    2.943977] intel_idle: MWAIT substates: 0x42120
[    2.943978] intel_idle: v0.4 model 0x46
[    2.943978] intel_idle: lapic_timer_reliable_states 0xffffffff
[    2.944129] input: Lid Switch as /devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input0
[    2.944718] ACPI: Lid Switch [LID0]
[    2.944944] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input1
[    2.945515] ACPI: Power Button [PWRB]
[    2.945751] input: Sleep Button as /devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input2
[    2.946322] ACPI: Sleep Button [SLPB]
[    2.946552] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
[    2.947072] ACPI: Power Button [PWRF]
[    2.947313] ACPI: ACPI(GFX0) check video device
[    2.947589] ACPI: found root (domain 0000 [bus 00-ff])
[    2.947914] Found 10000 acpi devices
[    2.947915] Found 0 acpi devices
[    2.947915] found the device
[    2.947916] [Firmware Bug]: ACPI(GFX0) defines _DOD but not _DOS
[    2.948308] ACPI: found root (domain 0000 [bus 00-ff])
[    2.948663] Found 10000 acpi devices
[    2.948664] Found 0 acpi devices
[    2.948664] found the device
[    2.948694] ACPI: found root (domain 0000 [bus 00-ff])
[    2.949008] Found 20000 acpi devices
[    2.949009] no pdev
[    2.949009] found the device
[    2.949954] ACPI: found root (domain 0000 [bus 00-ff])
[    2.950276] Found 10000 acpi devices
[    2.950277] Found 0 acpi devices
[    2.950277] found the device
[    2.950427] acpi device:03: registered as cooling_device0
[    2.950781] ACPI: Video Device [GFX0] (multi-head: yes  rom: yes  post: no)
[    2.951323] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/LNXVIDEO:00/input/input4
[    2.952073] ACPI: ACPI(IGPU) check video device
[    2.952339] ACPI: found root (domain 0000 [bus 00-ff])
[    2.952682] Found 20000 acpi devices
[    2.952682] no pdev
[    2.952682] found the device
[    2.952683] ACPI: ACPI(IGPU) failed no device
[    2.953550] ahci 0000:05:00.0: version 3.0
[    2.953672] ahci 0000:05:00.0: irq 47 for MSI/MSI-X
[    2.964588] ahci 0000:05:00.0: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl SATA mode
[    2.965346] ahci 0000:05:00.0: flags: 64bit ncq led clo only pio ccc 
[    2.966171] scsi0 : ahci
[    2.966419] ata1: SATA max UDMA/133 abar m8192@0xc1b00000 port 0xc1b00100 irq 47
[    2.967278] i8042: PNP: No PS/2 controller found. Probing ports directly.
[    3.273431] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    3.274082] ata1.00: unexpected _GTF length (8)
[    3.274416] ata1.00: ATA-8: APPLE SSD SM0512F, UXM2JA1Q, max UDMA/133
[    3.274834] ata1.00: 977105060 sectors, multi 16: LBA48 NCQ (not used)
[    3.275478] ata1.00: unexpected _GTF length (8)
[    3.275780] ata1.00: configured for UDMA/133
[    3.276088] scsi 0:0:0:0: Direct-Access     ATA      APPLE SSD SM0512 UXM2 PQ: 0 ANSI: 5
[    3.276858] sd 0:0:0:0: [sda] 977105060 512-byte logical blocks: (500 GB/465 GiB)
[    3.277031] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    3.277724] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    3.278225] sd 0:0:0:0: [sda] Write Protect is off
[    3.278568] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    3.278633] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    3.281657]  sda: sda1 sda2 sda3
[    3.282349] sd 0:0:0:0: [sda] Attached SCSI disk
[    3.349386] tsc: Refined TSC clocksource calibration: 2294.685 MHz
[    4.104309] i8042: No controller found
[    4.104708] mousedev: PS/2 mouse device common for all mice
[    4.105176] rtc_cmos 00:05: RTC can wake from S4
[    4.105584] rtc_cmos 00:05: rtc core: registered rtc_cmos as rtc0
[    4.106061] rtc_cmos 00:05: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
[    4.106624] Intel P-state driver initializing.
[    4.106904] Intel pstate controlling: cpu 0
[    4.107175] Intel pstate controlling: cpu 1
[    4.107418] Intel pstate controlling: cpu 2
[    4.107653] Intel pstate controlling: cpu 3
[    4.107889] Intel pstate controlling: cpu 4
[    4.108181] Intel pstate controlling: cpu 5
[    4.108424] Intel pstate controlling: cpu 6
[    4.108659] Intel pstate controlling: cpu 7
[    4.109085] hidraw: raw HID events driver (C) Jiri Kosina
[    4.110223] TCP: cubic registered
[    4.110968] registered taskstats version 1
[    4.111750] rtc_cmos 00:05: setting system clock to 2014-01-07 20:44:41 UTC (1389127481)
[    4.115106] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
[    4.115816] VFS: Mounted root (ext4 filesystem) readonly on device 8:2.
[    4.116777] Freeing unused kernel memory: 832K (ffffffff8167a000 - ffffffff8174a000)
[    4.117305] Write protecting the kernel read-only data: 6144k
[    4.118212] Freeing unused kernel memory: 296K (ffff8800013b6000 - ffff880001400000)
[    4.119545] Freeing unused kernel memory: 632K (ffff880001562000 - ffff880001600000)
[    4.349883] Switched to clocksource tsc
[    4.369802] NET: Registered protocol family 1
[    4.378937] systemd-udevd[844]: starting version 208
[    4.408565] ACPI: AC Adapter [ADP1] (on-line)
[    4.411479] ACPI: Requesting acpi_cpufreq
[    4.414065] ACPI Warning: 0x000000000000efa0-0x000000000000efbf SystemIO conflicts with Region \_SB_.PCI0.SBUS.SMBI 1 (20130725/utaddress-251)
[    4.414070] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    4.416169] ACPI: bus type USB registered
[    4.416202] usbcore: registered new interface driver usbfs
[    4.416219] usbcore: registered new interface driver hub
[    4.416244] usbcore: registered new device driver usb
[    4.418715] apple_gmux: Found gmux version 4.0.8 [indexed]
[    4.418811] xhci_hcd 0000:00:14.0: enabling bus mastering
[    4.418817] xhci_hcd 0000:00:14.0: setting latency timer to 64
[    4.418820] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    4.418825] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
[    4.418946] xhci_hcd 0000:00:14.0: cache line size of 256 is not supported
[    4.418964] xhci_hcd 0000:00:14.0: irq 48 for MSI/MSI-X
[    4.420208] hub 1-0:1.0: USB hub found
[    4.420224] hub 1-0:1.0: 14 ports detected
[    4.420717] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    4.420719] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
[    4.421446] hub 2-0:1.0: USB hub found
[    4.421464] hub 2-0:1.0: 6 ports detected
[    4.427647] microcode: CPU0 sig=0x40661, pf=0x20, revision=0xf
[    4.427928] lib80211: common routines for IEEE802.11 drivers
[    4.427929] lib80211_crypt: registered algorithm 'NULL'
[    4.429305] Linux agpgart interface v0.103
[    4.429875] snd_hda_intel 0000:00:1b.0: irq 49 for MSI/MSI-X
[    4.430531] microcode: CPU1 sig=0x40661, pf=0x20, revision=0xf
[    4.430684] microcode: CPU2 sig=0x40661, pf=0x20, revision=0xf
[    4.430867] microcode: CPU3 sig=0x40661, pf=0x20, revision=0xf
[    4.431091] microcode: CPU4 sig=0x40661, pf=0x20, revision=0xf
[    4.431266] microcode: CPU5 sig=0x40661, pf=0x20, revision=0xf
[    4.431423] microcode: CPU6 sig=0x40661, pf=0x20, revision=0xf
[    4.431567] microcode: CPU7 sig=0x40661, pf=0x20, revision=0xf
[    4.431797] microcode: Microcode Update Driver: v2.00 <tigran@xxxxxxxxxxxxxxxxxxxx>, Peter Oruba
[    4.433807] [drm] Initialized drm 1.1.0 20060810
[    4.444666] input: HDA Intel PCH SPDIF as /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
[    4.467520] ACPI: Battery Slot [BAT0] (battery present)
[    4.472365] nvidia: module license 'NVIDIA' taints kernel.
[    4.472366] Disabling lock debugging due to kernel taint
[    4.476609] nvidia 0000:01:00.0: enabling device (0006 -> 0007)
[    4.476667] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=none
[    4.476778] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:01:00.0 on minor 0
[    4.476782] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  331.20  Wed Oct 30 17:43:35 PDT 2013
[    4.497875] applesmc: key=614 fan=2 temp=41 index=40 acc=0 lux=2 kbd=1
[    4.503973] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input6
[    4.504042] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input5
[    4.504250] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[    4.504309] hda_intel: Disabling MSI
[    4.504313] hda-intel 0000:01:00.1: Handle VGA-switcheroo audio client
[    4.504361] snd_hda_intel 0000:01:00.1: enabling bus mastering
[    4.505161] nvidia 0000:01:00.0: irq 50 for MSI/MSI-X
[    4.507757] cfg80211: Calling CRDA to update world regulatory domain
[    4.550997] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[    4.551016] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[    4.551023] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[    4.551028] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[    4.551033] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[    4.551039] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[    4.551046] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[    4.551054] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[    4.569384] cfg80211: World regulatory domain updated:
[    4.569386] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[    4.569387] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[    4.569387] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[    4.569388] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[    4.569388] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[    4.569389] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[    4.596891] INFO @wl_cfg80211_attach : Registered CFG80211 phy
[    4.597797] lib80211_crypt: registered algorithm 'TKIP'
[    4.598033] wlan0: Broadcom BCM43a0 802.11 Hybrid Wireless Controller 6.30.223.141 (r415941)
[    4.694668] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input10
[    4.694702] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input9
[    4.694726] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input8
[    4.723036] usb 2-4: new SuperSpeed USB device number 2 using xhci_hcd
[    4.741108] usb-storage 2-4:1.0: USB Mass Storage device detected
[    4.741260] scsi1 : usb-storage 2-4:1.0
[    4.742143] usbcore: registered new interface driver usb-storage
[    4.894958] usb 1-5: new full-speed USB device number 2 using xhci_hcd
[    5.071845] usb 1-8: new full-speed USB device number 3 using xhci_hcd
[    5.081459] systemd-udevd[859]: renamed network interface wlan0 to wlp3s0
[    5.084629] usb 1-8: ep 0x81 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[    5.084907] hub 1-8:1.0: USB hub found
[    5.085015] hub 1-8:1.0: 3 ports detected
[    5.244739] usb 1-12: new full-speed USB device number 4 using xhci_hcd
[    5.354840] input: bcm5974 as /devices/pci0000:00/0000:00:14.0/usb1/1-12/1-12:1.2/input/input11
[    5.355116] usbcore: registered new interface driver bcm5974
[    5.365872] input: Apple Inc. Apple Internal Keyboard / Trackpad as /devices/pci0000:00/0000:00:14.0/usb1/1-12/1-12:1.0/input/input12
[    5.366007] apple 0003:05AC:0262.0004: input,hidraw0: USB HID v1.11 Keyboard [Apple Inc. Apple Internal Keyboard / Trackpad] on usb-0000:00:14.0-12/input0
[    5.397223] apple 0003:05AC:0262.0005: hidraw1: USB HID v1.11 Device [Apple Inc. Apple Internal Keyboard / Trackpad] on usb-0000:00:14.0-12/input1
[    5.397251] usbcore: registered new interface driver usbhid
[    5.397253] usbhid: USB HID core driver
[    5.401197] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw2: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-5/input2
[    5.403623] input: Logitech Unifying Device. Wireless PID:101b as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/0003:046D:C52B.0003/input/input13
[    5.403751] logitech-djdevice 0003:046D:C52B.0006: input,hidraw3: USB HID v1.11 Mouse [Logitech Unifying Device. Wireless PID:101b] on usb-0000:00:14.0-5:1
[    5.405701] input: Logitech Unifying Device. Wireless PID:4024 as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/0003:046D:C52B.0003/input/input14
[    5.405826] logitech-djdevice 0003:046D:C52B.0007: input,hidraw4: USB HID v1.11 Keyboard [Logitech Unifying Device. Wireless PID:4024] on usb-0000:00:14.0-5:2
[    5.406267] usb 1-8.1: new full-speed USB device number 5 using xhci_hcd
[    5.407595] input: Logitech Unifying Device. Wireless PID:101a as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/0003:046D:C52B.0003/input/input15
[    5.407650] logitech-djdevice 0003:046D:C52B.0008: input,hidraw5: USB HID v1.11 Mouse [Logitech Unifying Device. Wireless PID:101a] on usb-0000:00:14.0-5:3
[    5.420090] usb 1-8.1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
[    5.421894] input: HID 05ac:820a as /devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8.1/1-8.1:1.0/input/input16
[    5.422054] hid-generic 0003:05AC:820A.0009: input,hidraw6: USB HID v1.11 Keyboard [HID 05ac:820a] on usb-0000:00:14.0-8.1/input0
[    5.484338] usb 1-8.2: new full-speed USB device number 6 using xhci_hcd
[    5.498166] usb 1-8.2: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
[    5.500003] input: HID 05ac:820b as /devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8.2/1-8.2:1.0/input/input17
[    5.500228] hid-generic 0003:05AC:820B.000A: input,hidraw7: USB HID v1.11 Mouse [HID 05ac:820b] on usb-0000:00:14.0-8.2/input0
[    5.562310] usb 1-8.3: new full-speed USB device number 7 using xhci_hcd
[    5.583386] Bluetooth: Core ver 2.16
[    5.583393] NET: Registered protocol family 31
[    5.583394] Bluetooth: HCI device and connection manager initialized
[    5.583398] Bluetooth: HCI socket layer initialized
[    5.583399] Bluetooth: L2CAP socket layer initialized
[    5.583401] Bluetooth: SCO socket layer initialized
[    5.584170] usbcore: registered new interface driver btusb
[    5.669652] usb 1-8.1: USB disconnect, device number 5
[    5.745749] scsi 1:0:0:0: Direct-Access     APPLE    SD Card Reader   3.00 PQ: 0 ANSI: 6
[    5.745870] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    5.747363] sd 1:0:0:0: [sdb] Attached SCSI removable disk
[    5.797523] usb 1-8.2: USB disconnect, device number 6
[    6.901532] EXT4-fs (sda2): re-mounted. Opts: user_xattr
[    7.113607] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: user_xattr
[    8.249321] NET: Registered protocol family 17
[   11.626798] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   11.626803] Bluetooth: BNEP socket layer initialized
[   11.629115] Bluetooth: RFCOMM TTY layer initialized
[   11.629119] Bluetooth: RFCOMM socket layer initialized
[   11.629119] Bluetooth: RFCOMM ver 1.11
[   19.861711] nvidia 0000:01:00.0: irq 50 for MSI/MSI-X
[   19.907653] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[   19.907672] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[   19.907679] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[   19.907684] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[   19.907689] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[   19.907695] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[   19.907700] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)
[   19.907705] ACPI Warning: \_SB_.PCI0.P0P2.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20130725/nsarguments-95)

Attachment: setpci_grub.jpg
Description: JPEG image

/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20130117-64 [Jan  4 2014]
 * Copyright (c) 2000 - 2013 Intel Corporation
 * 
 * Disassembly of dsdt.bin, Sat Jan  4 22:34:39 2014
 *
 * Original Table Header:
 *     Signature        "DSDT"
 *     Length           0x00006BF9 (27641)
 *     Revision         0x03
 *     Checksum         0x9B
 *     OEM ID           "APPLE "
 *     OEM Table ID     "MacBookP"
 *     OEM Revision     0x00110002 (1114114)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20100915 (537921813)
 */

DefinitionBlock ("dsdt.aml", "DSDT", 3, "APPLE ", "MacBookP", 0x00110002)
{
    External (_SB_.PCI0.DTBP)
    External (_SB_.PCI0.DTLK, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.HDAU.AINI, MethodObj)    // 1 Arguments
    External (_SB_.PCI0.HDAU.ASTR, MethodObj)    // 2 Arguments
    External (_SB_.PCI0.HDAU.CXDC, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.P0P2.GFX0)
    External (_SB_.PCI0.RMCR, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.RMCW, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.TGPE, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.XHC1)
    External (_SB_.PCI0.XHC1.LEGM, MethodObj)    // 0 Arguments
    External (HDOS, MethodObj)    // 0 Arguments
    External (HNOT, MethodObj)    // 1 Arguments
    External (IDAB)
    External (PDC0)
    External (PDC1)
    External (PDC2)
    External (PDC3)
    External (PDC4)
    External (PDC5)
    External (PDC6)
    External (PDC7)
    External (SNXD)

    Name (SP2O, 0x4E)
    Name (SP1O, 0x164E)
    Name (IO1B, 0x0600)
    Name (IO1L, 0x70)
    Name (IO2B, 0x0680)
    Name (IO2L, 0x20)
    Name (IO3B, 0x0290)
    Name (IO3L, 0x10)
    Name (SP3O, 0x2E)
    Name (IO4B, 0x0A20)
    Name (IO4L, 0x20)
    Name (MCHB, 0xFED10000)
    Name (MCHL, 0x4000)
    Name (EGPB, 0xFED19000)
    Name (EGPL, 0x1000)
    Name (DMIB, 0xFED18000)
    Name (DMIL, 0x1000)
    Name (IFPB, 0xFED14000)
    Name (IFPL, 0x1000)
    Name (PEBS, 0xE0000000)
    Name (PELN, 0x04000000)
    Name (TTTB, 0xFED20000)
    Name (TTTL, 0x00020000)
    Name (SMBS, 0xEFA0)
    Name (SMBL, 0x10)
    Name (PBLK, 0x0410)
    Name (PMLN, 0x80)
    Name (LVL2, 0x0414)
    Name (LVL3, 0x0415)
    Name (LVL4, 0x0416)
    Name (SMIP, 0xB2)
    Name (GPBS, 0x0800)
    Name (GPLN, 0x80)
    Name (APCB, 0xFEC00000)
    Name (APCL, 0x1000)
    Name (PM30, 0x0430)
    Name (SRCB, 0xFED1C000)
    Name (SRCL, 0x4000)
    Name (SUSW, 0xFF)
    Name (HPTB, 0xFED00000)
    Name (HPTC, 0xFED1F404)
    Name (ACPH, 0xDE)
    Name (ASSB, 0x00)
    Name (AOTB, 0x00)
    Name (AAXB, 0x00)
    Name (PEHP, 0x01)
    Name (SHPC, 0x01)
    Name (PEPM, 0x01)
    Name (PEER, 0x01)
    Name (PECS, 0x01)
    Name (ITKE, 0x00)
    Name (DSSP, 0x00)
    Name (FHPP, 0x01)
    Name (FMBL, 0x01)
    Name (FDTP, 0x02)
    Name (BSH, 0x00)
    Name (BEL, 0x01)
    Name (BEH, 0x02)
    Name (BRH, 0x03)
    Name (BTF, 0x04)
    Name (BHC, 0x05)
    Name (BYB, 0x06)
    Name (BPH, 0x07)
    Name (BSHS, 0x08)
    Name (BELS, 0x09)
    Name (BRHS, 0x0A)
    Name (BTFS, 0x0B)
    Name (BEHS, 0x0C)
    Name (BPHS, 0x0D)
    Name (BTL, 0x10)
    Name (BOF, 0x20)
    Name (BEF, 0x21)
    Name (BLLE, 0x22)
    Name (BLLC, 0x23)
    Name (BLCA, 0x24)
    Name (TCGM, 0x01)
    Name (TRTP, 0x01)
    Name (TRTD, 0x02)
    Name (TRTI, 0x03)
    Name (GCDD, 0x01)
    Name (DSTA, 0x0A)
    Name (DSLO, 0x0C)
    Name (DSLC, 0x0E)
    Name (PITS, 0x10)
    Name (SBCS, 0x12)
    Name (SALS, 0x13)
    Name (LSSS, 0x2A)
    Name (SOOT, 0x35)
    Name (PDBR, 0x4D)
    Name (WOWE, 0x00)
    Name (TAPD, 0x00)
    OperationRegion (GNVS, SystemMemory, 0x7AD3EA90, 0x026E)
    Field (GNVS, AnyAcc, Lock, Preserve)
    {
        OSYS,   16, 
        SMIF,   8, 
        PRM0,   8, 
        PRM1,   8, 
        SCIF,   8, 
        PRM2,   8, 
        PRM3,   8, 
        LCKF,   8, 
        PRM4,   8, 
        PRM5,   8, 
        P80D,   32, 
        LIDS,   8, 
        PWRS,   8, 
        DBGS,   8, 
        THOF,   8, 
        ACT1,   8, 
        ACTT,   8, 
        PSVT,   8, 
        TC1V,   8, 
        TC2V,   8, 
        TSPV,   8, 
        CRTT,   8, 
        DTSE,   8, 
        DTS1,   8, 
        DTS2,   8, 
        DTSF,   8, 
        Offset (0x25), 
        REVN,   8, 
        Offset (0x28), 
        APIC,   8, 
        TCNT,   8, 
        PCP0,   8, 
        PCP1,   8, 
        PPCM,   8, 
        PPMF,   32, 
        C67L,   8, 
        NATP,   8, 
        CMAP,   8, 
        CMBP,   8, 
        LPTP,   8, 
        FDCP,   8, 
        CMCP,   8, 
        CIRP,   8, 
        SMSC,   8, 
        W381,   8, 
        SMC1,   8, 
        EMAE,   8, 
        EMAP,   16, 
        EMAL,   16, 
        Offset (0x42), 
        MEFE,   8, 
        DSTS,   8, 
        Offset (0x46), 
        TPMP,   8, 
        TPME,   8, 
        MORD,   8, 
        TCGP,   8, 
        PPRP,   32, 
        PPRQ,   8, 
        LPPR,   8, 
        GTF0,   56, 
        GTF2,   56, 
        IDEM,   8, 
        GTF1,   56, 
        BDID,   8, 
        Offset (0x78), 
        OSCC,   8, 
        NEXP,   8, 
        SDGV,   8, 
        SDDV,   8, 
        Offset (0x81), 
        DSEN,   8, 
        ECON,   8, 
        GPIC,   8, 
        CTYP,   8, 
        L01C,   8, 
        VFN0,   8, 
        VFN1,   8, 
        ATMC,   8, 
        PTMC,   8, 
        ATRA,   8, 
        PTRA,   8, 
        PNHM,   32, 
        TBAB,   32, 
        TBAH,   32, 
        RTIP,   8, 
        TSOD,   8, 
        ATPC,   8, 
        PTPC,   8, 
        PFLV,   8, 
        BREV,   8, 
        DPBM,   8, 
        DPCM,   8, 
        DPDM,   8, 
        SDID,   8, 
        BLCP,   8, 
        BLCC,   8, 
        Offset (0xA5), 
        BLCT,   32, 
        BLCB,   32, 
        Offset (0xB2), 
        NHIB,   32, 
        GVNV,   32, 
        MM64,   8, 
        Offset (0x12C), 
        SARV,   32, 
        ASLB,   32, 
        IMON,   8, 
        IGDS,   8, 
        CADL,   8, 
        PADL,   8, 
        CSTE,   16, 
        NSTE,   16, 
        DID9,   32, 
        DIDA,   32, 
        DIDB,   32, 
        IBTT,   8, 
        IPAT,   8, 
        IPSC,   8, 
        IBLC,   8, 
        IBIA,   8, 
        ISSC,   8, 
        IPCF,   8, 
        IDMS,   8, 
        IF1E,   8, 
        HVCO,   8, 
        NXD1,   32, 
        NXD2,   32, 
        NXD3,   32, 
        NXD4,   32, 
        NXD5,   32, 
        NXD6,   32, 
        NXD7,   32, 
        NXD8,   32, 
        GSMI,   8, 
        PAVP,   8, 
        GLID,   8, 
        KSV0,   32, 
        KSV1,   8, 
        BBAR,   32, 
        BLCS,   8, 
        BRTL,   8, 
        ALSE,   8, 
        ALAF,   8, 
        LLOW,   8, 
        LHIH,   8, 
        ALFP,   8, 
        AUDA,   32, 
        AUDB,   32, 
        AUDC,   32, 
        DIDC,   32, 
        DIDD,   32, 
        DIDE,   32, 
        DIDF,   32, 
        CADR,   32, 
        CCNT,   8, 
        Offset (0x1F4), 
        SGMD,   8, 
        SGFL,   8, 
        PWOK,   8, 
        HLRS,   8, 
        PWEN,   8, 
        PRST,   8, 
        CPSP,   32, 
        EECP,   8, 
        EVCP,   16, 
        XBAS,   32, 
        GBAS,   16, 
        SGGP,   8, 
        NVGA,   32, 
        NVHA,   32, 
        AMDA,   32, 
        NDID,   8, 
        DID1,   32, 
        DID2,   32, 
        DID3,   32, 
        DID4,   32, 
        DID5,   32, 
        DID6,   32, 
        DID7,   32, 
        DID8,   32, 
        OBS1,   32, 
        OBS2,   32, 
        OBS3,   32, 
        OBS4,   32, 
        OBS5,   32, 
        OBS6,   32, 
        OBS7,   32, 
        OBS8,   32, 
        LTRA,   8, 
        OBFA,   8, 
        LTRB,   8, 
        OBFB,   8, 
        LTRC,   8, 
        OBFC,   8, 
        SMSL,   16, 
        SNSL,   16, 
        P0UB,   8, 
        P1UB,   8, 
        P2UB,   8, 
        EDPV,   8, 
        NXDX,   32, 
        DIDX,   32, 
        PCSL,   8, 
        SC7A,   8, 
        USBO,   8
    }

    Scope (\_SB)
    {
        Name (PR00, Package (0x1E)
        {
            Package (0x04)
            {
                0x001FFFFF, 
                0x00, 
                LNKF, 
                0x00
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x01, 
                LNKD, 
                0x00
            }, 

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

            Package (0x04)
            {
                0x001FFFFF, 
                0x03, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x00, 
                LNKG, 
                0x00
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x01, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x02, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x03, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                0x00, 
                LNKH, 
                0x00
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                0x01, 
                LNKF, 
                0x00
            }, 

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

            Package (0x04)
            {
                0x001AFFFF, 
                0x03, 
                LNKD, 
                0x00
            }, 

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

            Package (0x04)
            {
                0x0018FFFF, 
                0x00, 
                LNKE, 
                0x00
            }, 

            Package (0x04)
            {
                0x0019FFFF, 
                0x00, 
                LNKE, 
                0x00
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x01, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x02, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x03, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

            Package (0x04)
            {
                0x001CFFFF, 
                0x03, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

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

            Package (0x04)
            {
                0x0002FFFF, 
                0x00, 
                LNKA, 
                0x00
            }
        })
        Name (AR00, Package (0x1E)
        {
            Package (0x04)
            {
                0x001FFFFF, 
                0x00, 
                0x00, 
                0x15
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x01, 
                0x00, 
                0x13
            }, 

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

            Package (0x04)
            {
                0x001FFFFF, 
                0x03, 
                0x00, 
                0x10
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x00, 
                0x00, 
                0x10
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x00, 
                0x00, 
                0x10
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x00, 
                0x00, 
                0x16
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x01, 
                0x00, 
                0x13
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x02, 
                0x00, 
                0x10
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x03, 
                0x00, 
                0x12
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                0x00, 
                0x00, 
                0x17
            }, 

            Package (0x04)
            {
                0x001AFFFF, 
                0x01, 
                0x00, 
                0x15
            }, 

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

            Package (0x04)
            {
                0x001AFFFF, 
                0x03, 
                0x00, 
                0x13
            }, 

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

            Package (0x04)
            {
                0x0018FFFF, 
                0x00, 
                0x00, 
                0x14
            }, 

            Package (0x04)
            {
                0x0019FFFF, 
                0x00, 
                0x00, 
                0x14
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x00, 
                0x00, 
                0x10
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x01, 
                0x00, 
                0x13
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x02, 
                0x00, 
                0x12
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x03, 
                0x00, 
                0x11
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x00, 
                0x00, 
                0x10
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x01, 
                0x00, 
                0x11
            }, 

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

            Package (0x04)
            {
                0x001CFFFF, 
                0x03, 
                0x00, 
                0x13
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x00, 
                0x00, 
                0x10
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x01, 
                0x00, 
                0x11
            }, 

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

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

            Package (0x04)
            {
                0x0002FFFF, 
                0x00, 
                0x00, 
                0x10
            }
        })
        Name (PR04, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

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

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                0x00, 
                0x11
            }, 

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

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

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKC, 
                0x00
            }, 

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

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

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                0x00, 
                0x12
            }, 

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

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

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKD, 
                0x00
            }, 

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

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

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                0x00, 
                0x13
            }, 

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

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

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKA, 
                0x00
            }, 

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

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

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                0x00, 
                0x10
            }, 

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

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

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

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

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                0x00, 
                0x11
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                0x00, 
                0x13
            }
        })
        Name (PR09, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                0x00
            }
        })
        Name (AR09, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                0x00, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                0x00, 
                0x11
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                0x00, 
                0x13
            }
        })
        Name (PR0E, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKD, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                0x00
            }
        })
        Name (AR0E, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                0x00, 
                0x13
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                0x00, 
                0x11
            }
        })
        Name (PR0F, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKA, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                0x00
            }
        })
        Name (AR0F, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                0x00, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                0x00, 
                0x10
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                0x00, 
                0x12
            }
        })
        Name (PR02, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

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

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                0x00, 
                0x11
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                0x00, 
                0x13
            }
        })
        Name (PR0A, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKC, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                0x00
            }
        })
        Name (AR0A, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                0x00, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                0x00, 
                0x12
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                0x00, 
                0x10
            }
        })
        Name (PR0B, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKD, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                0x00
            }
        })
        Name (AR0B, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                0x00, 
                0x13
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                0x00, 
                0x11
            }
        })
        Name (PR0C, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKA, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                0x00
            }
        })
        Name (AR0C, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                0x00, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                0x00, 
                0x10
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                0x00, 
                0x12
            }
        })
        Name (PR01, Package (0x0C)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKF, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKG, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKE, 
                0x00
            }, 

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

            Package (0x04)
            {
                0x0001FFFF, 
                0x01, 
                LNKF, 
                0x00
            }, 

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

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                LNKH, 
                0x00
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x00, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x01, 
                LNKE, 
                0x00
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x02, 
                LNKG, 
                0x00
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x03, 
                LNKF, 
                0x00
            }
        })
        Name (AR01, Package (0x0C)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                0x00, 
                0x15
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                0x00, 
                0x16
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                0x00, 
                0x14
            }, 

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

            Package (0x04)
            {
                0x0001FFFF, 
                0x01, 
                0x00, 
                0x15
            }, 

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

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                0x00, 
                0x17
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x01, 
                0x00, 
                0x14
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x02, 
                0x00, 
                0x16
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x03, 
                0x00, 
                0x15
            }
        })
        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"))  // _HID: Hardware ID
            Name (_CID, EisaId ("PNP0A03"))  // _CID: Compatible ID
            Name (_ADR, 0x00)  // _ADR: Address
            Method (^BN00, 0, NotSerialized)
            {
                Return (0x00)
            }

            Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
            {
                Return (BN00 ())
            }

            Name (_UID, 0x00)  // _UID: Unique ID
            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (PICM)
                {
                    Return (AR00 ())
                }

                Return (PR00 ())
            }

            OperationRegion (HBUS, PCI_Config, 0x00, 0x0100)
            Field (HBUS, DWordAcc, NoLock, Preserve)
            {
                Offset (0x40), 
                EPEN,   1, 
                    ,   11, 
                EPBR,   20, 
                Offset (0x48), 
                MHEN,   1, 
                    ,   14, 
                MHBR,   17, 
                Offset (0x50), 
                GCLK,   1, 
                Offset (0x54), 
                D0EN,   1, 
                Offset (0x60), 
                PXEN,   1, 
                PXSZ,   2, 
                    ,   23, 
                PXBR,   6, 
                Offset (0x68), 
                DIEN,   1, 
                    ,   11, 
                DIBR,   20, 
                Offset (0x70), 
                    ,   20, 
                MEBR,   12, 
                Offset (0x80), 
                    ,   4, 
                PM0H,   2, 
                Offset (0x81), 
                PM1L,   2, 
                    ,   2, 
                PM1H,   2, 
                Offset (0x82), 
                PM2L,   2, 
                    ,   2, 
                PM2H,   2, 
                Offset (0x83), 
                PM3L,   2, 
                    ,   2, 
                PM3H,   2, 
                Offset (0x84), 
                PM4L,   2, 
                    ,   2, 
                PM4H,   2, 
                Offset (0x85), 
                PM5L,   2, 
                    ,   2, 
                PM5H,   2, 
                Offset (0x86), 
                PM6L,   2, 
                    ,   2, 
                PM6H,   2, 
                Offset (0x87), 
                Offset (0xA8), 
                    ,   20, 
                TUUD,   19, 
                Offset (0xBC), 
                    ,   20, 
                TLUD,   12, 
                Offset (0xC8), 
                    ,   7, 
                HTSE,   1
            }

            OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x6000)
            Field (MCHT, ByteAcc, NoLock, Preserve)
            {
                Offset (0x5994), 
                RPSL,   8, 
                Offset (0x5998), 
                RP0C,   8, 
                RP1C,   8, 
                RPNC,   8
            }

            Name (BUF0, ResourceTemplate ()
            {
                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                    0x0000,             // Granularity
                    0x0000,             // Range Minimum
                    0x00FF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0100,             // Length
                    ,, )
                DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0x00000CF7,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000CF8,         // Length
                    ,, , TypeStatic)
                IO (Decode16,
                    0x0CF8,             // Range Minimum
                    0x0CF8,             // Range Maximum
                    0x01,               // Alignment
                    0x08,               // Length
                    )
                DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x00000000,         // Granularity
                    0x00000D00,         // Range Minimum
                    0x0000FFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x0000F300,         // 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
                    0x000C3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y00, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C4000,         // Range Minimum
                    0x000C7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y01, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C8000,         // Range Minimum
                    0x000CBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y02, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000CC000,         // Range Minimum
                    0x000CFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y03, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D0000,         // Range Minimum
                    0x000D3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y04, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D4000,         // Range Minimum
                    0x000D7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y05, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000D8000,         // Range Minimum
                    0x000DBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y06, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000DC000,         // Range Minimum
                    0x000DFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y07, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E0000,         // Range Minimum
                    0x000E3FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y08, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E4000,         // Range Minimum
                    0x000E7FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y09, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000E8000,         // Range Minimum
                    0x000EBFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y0A, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000EC000,         // Range Minimum
                    0x000EFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00004000,         // Length
                    ,, _Y0B, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000F0000,         // Range Minimum
                    0x000FFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00010000,         // Length
                    ,, _Y0C, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0xFEAFFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0xFEB00000,         // Length
                    ,, _Y0D, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0xFED40000,         // Range Minimum
                    0xFED44FFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00005000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
            })
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                If (PM1L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)  // _LEN: Length
                    Store (Zero, C0LN)
                }

                If (LEqual (PM1L, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)  // _RW_: Read-Write Status
                    Store (Zero, C0RW)
                }

                If (PM1H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)  // _LEN: Length
                    Store (Zero, C4LN)
                }

                If (LEqual (PM1H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)  // _RW_: Read-Write Status
                    Store (Zero, C4RW)
                }

                If (PM2L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)  // _LEN: Length
                    Store (Zero, C8LN)
                }

                If (LEqual (PM2L, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)  // _RW_: Read-Write Status
                    Store (Zero, C8RW)
                }

                If (PM2H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)  // _LEN: Length
                    Store (Zero, CCLN)
                }

                If (LEqual (PM2H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)  // _RW_: Read-Write Status
                    Store (Zero, CCRW)
                }

                If (PM3L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)  // _LEN: Length
                    Store (Zero, D0LN)
                }

                If (LEqual (PM3L, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)  // _RW_: Read-Write Status
                    Store (Zero, D0RW)
                }

                If (PM3H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)  // _LEN: Length
                    Store (Zero, D4LN)
                }

                If (LEqual (PM3H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)  // _RW_: Read-Write Status
                    Store (Zero, D4RW)
                }

                If (PM4L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)  // _LEN: Length
                    Store (Zero, D8LN)
                }

                If (LEqual (PM4L, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)  // _RW_: Read-Write Status
                    Store (Zero, D8RW)
                }

                If (PM4H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)  // _LEN: Length
                    Store (Zero, DCLN)
                }

                If (LEqual (PM4H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)  // _RW_: Read-Write Status
                    Store (Zero, DCRW)
                }

                If (PM5L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)  // _LEN: Length
                    Store (Zero, E0LN)
                }

                If (LEqual (PM5L, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)  // _RW_: Read-Write Status
                    Store (Zero, E0RW)
                }

                If (PM5H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)  // _LEN: Length
                    Store (Zero, E4LN)
                }

                If (LEqual (PM5H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)  // _RW_: Read-Write Status
                    Store (Zero, E4RW)
                }

                If (PM6L)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)  // _LEN: Length
                    Store (Zero, E8LN)
                }

                If (LEqual (PM6L, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)  // _RW_: Read-Write Status
                    Store (Zero, E8RW)
                }

                If (PM6H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)  // _LEN: Length
                    Store (Zero, ECLN)
                }

                If (LEqual (PM6H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)  // _RW_: Read-Write Status
                    Store (Zero, ECRW)
                }

                If (PM0H)
                {
                    CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)  // _LEN: Length
                    Store (Zero, F0LN)
                }

                If (LEqual (PM0H, 0x01))
                {
                    CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)  // _RW_: Read-Write Status
                    Store (Zero, F0RW)
                }

                CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN)  // _MIN: Minimum Base Address
                CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX)  // _MAX: Maximum Base Address
                CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN)  // _LEN: Length
                ShiftLeft (TLUD, 0x14, M1MN)
                Add (Subtract (M1MX, M1MN), 0x01, M1LN)
                Return (BUF0)
            }

            Name (GUID, Buffer (0x10)
            {
                /* 0000 */   0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
                /* 0008 */   0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
            })
            Name (SUPP, 0x00)
            Name (CTRL, 0x00)
            Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
            {
                Store (Arg3, Local0)
                CreateDWordField (Local0, 0x00, CDW1)
                CreateDWordField (Local0, 0x04, CDW2)
                CreateDWordField (Local0, 0x08, CDW3)
                Store (CDW2, SUPP)
                Store (CDW3, CTRL)
                If (LEqual (0x01, OSDW ()))
                {
                    If (LAnd (LEqual (Arg0, GUID), NEXP))
                    {
                        If (Not (And (CDW1, 0x01)))
                        {
                            If (And (CTRL, 0x02))
                            {
                                NHPG ()
                            }

                            If (And (CTRL, 0x04))
                            {
                                NPME ()
                            }
                        }

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

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

                        Store (CTRL, CDW3)
                        Store (CTRL, OSCC)
                        Return (Local0)
                    }
                    Else
                    {
                        Or (CDW1, 0x04, CDW1)
                        Return (Local0)
                    }
                }
                Else
                {
                    If (LEqual (Arg0, GUID))
                    {
                        If (LEqual (\_SB.PCI0.DTBP, 0x01))
                        {
                            And (CDW3, 0xFFFFFFFB, CDW3)
                        }
                    }

                    Return (Local0)
                }
            }

            Scope (\_SB.PCI0)
            {
                Method (AR00, 0, NotSerialized)
                {
                    Return (\_SB.AR00)
                }

                Method (PR00, 0, NotSerialized)
                {
                    Return (\_SB.PR00)
                }

                Method (AR01, 0, NotSerialized)
                {
                    Return (\_SB.AR01)
                }

                Method (PR01, 0, NotSerialized)
                {
                    Return (\_SB.PR01)
                }

                Method (AR02, 0, NotSerialized)
                {
                    Return (\_SB.AR02)
                }

                Method (PR02, 0, NotSerialized)
                {
                    Return (\_SB.PR02)
                }

                Method (AR04, 0, NotSerialized)
                {
                    Return (\_SB.AR04)
                }

                Method (PR04, 0, NotSerialized)
                {
                    Return (\_SB.PR04)
                }

                Method (AR05, 0, NotSerialized)
                {
                    Return (\_SB.AR05)
                }

                Method (PR05, 0, NotSerialized)
                {
                    Return (\_SB.PR05)
                }

                Method (AR06, 0, NotSerialized)
                {
                    Return (\_SB.AR06)
                }

                Method (PR06, 0, NotSerialized)
                {
                    Return (\_SB.PR06)
                }

                Method (AR07, 0, NotSerialized)
                {
                    Return (\_SB.AR07)
                }

                Method (PR07, 0, NotSerialized)
                {
                    Return (\_SB.PR07)
                }

                Method (AR08, 0, NotSerialized)
                {
                    Return (\_SB.AR08)
                }

                Method (PR08, 0, NotSerialized)
                {
                    Return (\_SB.PR08)
                }

                Method (AR09, 0, NotSerialized)
                {
                    Return (\_SB.AR09)
                }

                Method (PR09, 0, NotSerialized)
                {
                    Return (\_SB.PR09)
                }

                Method (AR0A, 0, NotSerialized)
                {
                    Return (\_SB.AR0A)
                }

                Method (PR0A, 0, NotSerialized)
                {
                    Return (\_SB.PR0A)
                }

                Method (AR0B, 0, NotSerialized)
                {
                    Return (\_SB.AR0B)
                }

                Method (PR0B, 0, NotSerialized)
                {
                    Return (\_SB.PR0B)
                }
            }

            Device (MCHC)
            {
                Name (_ADR, 0x00)  // _ADR: Address
            }

            Device (P0P2)
            {
                Name (_ADR, 0x00010000)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (OSDW ())
                    {
                        Return (Package (0x02)
                        {
                            0x09, 
                            0x03
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            0x09, 
                            0x03
                        })
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR02 ())
                    }

                    Return (PR02 ())
                }
            }

            Device (PEG1)
            {
                Name (_ADR, 0x00010001)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (OSDW ())
                    {
                        Return (Package (0x02)
                        {
                            0x09, 
                            0x03
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            0x09, 
                            0x03
                        })
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR0A ())
                    }

                    Return (PR0A ())
                }
            }

            Device (IGPU)
            {
                Name (_ADR, 0x00020000)  // _ADR: Address
                OperationRegion (GFXH, PCI_Config, 0x00, 0x40)
                Field (GFXH, ByteAcc, NoLock, Preserve)
                {
                    VID0,   16, 
                    DID0,   16
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If (LEqual (Arg0, Buffer (0x10)
                            {
                                /* 0000 */   0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
                                /* 0008 */   0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                            }))
                    {
                        If (LNotEqual (And (VID0, 0xFFFF), 0xFFFF))
                        {
                            Store (Package (0x02)
                                {
                                    "hda-gfx", 
                                    Buffer (0x0A)
                                    {
                                        "onboard-1"
                                    }
                                }, Local0)
                            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                            Return (Local0)
                        }
                    }

                    Return (0x00)
                }

                Method (PCPC, 0, NotSerialized)
                {
                }

                Method (PAPR, 0, NotSerialized)
                {
                    Return (0x00)
                }

                Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
                {
                    Store (And (Arg0, 0x07), DSEN)
                    If (LEqual (And (Arg0, 0x03), 0x00))
                    {
                        If (CondRefOf (HDOS))
                        {
                            HDOS ()
                        }
                    }
                }

                Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
                {
                    If (CondRefOf (IDAB)) {}
                    Else
                    {
                        Store (0x00, NDID)
                        If (LNotEqual (DIDL, Zero))
                        {
                            Store (SDDL (DIDL), DID1)
                        }

                        If (LNotEqual (DDL2, Zero))
                        {
                            Store (SDDL (DDL2), DID2)
                        }

                        If (LNotEqual (DDL3, Zero))
                        {
                            Store (SDDL (DDL3), DID3)
                        }

                        If (LNotEqual (DDL4, Zero))
                        {
                            Store (SDDL (DDL4), DID4)
                        }

                        If (LNotEqual (DDL5, Zero))
                        {
                            Store (SDDL (DDL5), DID5)
                        }

                        If (LNotEqual (DDL6, Zero))
                        {
                            Store (SDDL (DDL6), DID6)
                        }

                        If (LNotEqual (DDL7, Zero))
                        {
                            Store (SDDL (DDL7), DID7)
                        }

                        If (LNotEqual (DDL8, Zero))
                        {
                            Store (SDDL (DDL8), DID8)
                        }
                    }

                    If (LEqual (NDID, 0x01))
                    {
                        Name (TMP1, Package (0x01)
                        {
                            0xFFFFFFFF
                        })
                        Store (Or (0x00010000, DID1), Index (TMP1, 0x00))
                        Return (TMP1)
                    }

                    If (LEqual (NDID, 0x02))
                    {
                        Name (TMP2, Package (0x02)
                        {
                            0xFFFFFFFF, 
                            0xFFFFFFFF
                        })
                        Store (Or (0x00010000, DID1), Index (TMP2, 0x00))
                        Store (Or (0x00010000, DID2), Index (TMP2, 0x01))
                        Return (TMP2)
                    }

                    If (LEqual (NDID, 0x03))
                    {
                        Name (TMP3, Package (0x03)
                        {
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF
                        })
                        Store (Or (0x00010000, DID1), Index (TMP3, 0x00))
                        Store (Or (0x00010000, DID2), Index (TMP3, 0x01))
                        Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
                        Return (TMP3)
                    }

                    If (LEqual (NDID, 0x04))
                    {
                        Name (TMP4, Package (0x04)
                        {
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF
                        })
                        Store (Or (0x00010000, DID1), Index (TMP4, 0x00))
                        Store (Or (0x00010000, DID2), Index (TMP4, 0x01))
                        Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
                        Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
                        Return (TMP4)
                    }

                    If (LEqual (NDID, 0x05))
                    {
                        Name (TMP5, Package (0x05)
                        {
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF
                        })
                        Store (Or (0x00010000, DID1), Index (TMP5, 0x00))
                        Store (Or (0x00010000, DID2), Index (TMP5, 0x01))
                        Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
                        Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
                        Store (Or (0x00010000, DID5), Index (TMP5, 0x04))
                        Return (TMP5)
                    }

                    If (LEqual (NDID, 0x06))
                    {
                        Name (TMP6, Package (0x06)
                        {
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF
                        })
                        Store (Or (0x00010000, DID1), Index (TMP6, 0x00))
                        Store (Or (0x00010000, DID2), Index (TMP6, 0x01))
                        Store (Or (0x00010000, DID3), Index (TMP6, 0x02))
                        Store (Or (0x00010000, DID4), Index (TMP6, 0x03))
                        Store (Or (0x00010000, DID5), Index (TMP6, 0x04))
                        Store (Or (0x00010000, DID6), Index (TMP6, 0x05))
                        Return (TMP6)
                    }

                    If (LEqual (NDID, 0x07))
                    {
                        Name (TMP7, Package (0x07)
                        {
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF
                        })
                        Store (Or (0x00010000, DID1), Index (TMP7, 0x00))
                        Store (Or (0x00010000, DID2), Index (TMP7, 0x01))
                        Store (Or (0x00010000, DID3), Index (TMP7, 0x02))
                        Store (Or (0x00010000, DID4), Index (TMP7, 0x03))
                        Store (Or (0x00010000, DID5), Index (TMP7, 0x04))
                        Store (Or (0x00010000, DID6), Index (TMP7, 0x05))
                        Store (Or (0x00010000, DID7), Index (TMP7, 0x06))
                        Return (TMP7)
                    }

                    If (LEqual (NDID, 0x08))
                    {
                        Name (TMP8, Package (0x08)
                        {
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF
                        })
                        Store (Or (0x00010000, DID1), Index (TMP8, 0x00))
                        Store (Or (0x00010000, DID2), Index (TMP8, 0x01))
                        Store (Or (0x00010000, DID3), Index (TMP8, 0x02))
                        Store (Or (0x00010000, DID4), Index (TMP8, 0x03))
                        Store (Or (0x00010000, DID5), Index (TMP8, 0x04))
                        Store (Or (0x00010000, DID6), Index (TMP8, 0x05))
                        Store (Or (0x00010000, DID7), Index (TMP8, 0x06))
                        Store (Or (0x00010000, DID8), Index (TMP8, 0x07))
                        Return (TMP8)
                    }

                    Return (Package (0x01)
                    {
                        0x0400
                    })
                }

                Name (EDPV, 0x00)
                Name (DIDX, 0x00)
                Name (NXDX, 0x00)
                Name (BRTN, Package (0x12)
                {
                    0x50, 
                    0x2F, 
                    0x00, 
                    0x07, 
                    0x0D, 
                    0x14, 
                    0x1B, 
                    0x21, 
                    0x28, 
                    0x2F, 
                    0x35, 
                    0x3C, 
                    0x43, 
                    0x49, 
                    0x50, 
                    0x57, 
                    0x5D, 
                    0x64
                })
                Method (ABCL, 0, NotSerialized)
                {
                    If (LLess (OSYS, 0x07DC))
                    {
                        Store (DerefOf (Index (BRTN, 0x0F)), Index (BRTN, 0x00))
                        Store (DerefOf (Index (BRTN, 0x0A)), Index (BRTN, 0x01))
                        Return (BRTN)
                    }
                    Else
                    {
                        Return (Package (0x67)
                        {
                            0x50, 
                            0x32, 
                            0x00, 
                            0x01, 
                            0x02, 
                            0x03, 
                            0x04, 
                            0x05, 
                            0x06, 
                            0x07, 
                            0x08, 
                            0x09, 
                            0x0A, 
                            0x0B, 
                            0x0C, 
                            0x0D, 
                            0x0E, 
                            0x0F, 
                            0x10, 
                            0x11, 
                            0x12, 
                            0x13, 
                            0x14, 
                            0x15, 
                            0x16, 
                            0x17, 
                            0x18, 
                            0x19, 
                            0x1A, 
                            0x1B, 
                            0x1C, 
                            0x1D, 
                            0x1E, 
                            0x1F, 
                            0x20, 
                            0x21, 
                            0x22, 
                            0x23, 
                            0x24, 
                            0x25, 
                            0x26, 
                            0x27, 
                            0x28, 
                            0x29, 
                            0x2A, 
                            0x2B, 
                            0x2C, 
                            0x2D, 
                            0x2E, 
                            0x2F, 
                            0x30, 
                            0x31, 
                            0x32, 
                            0x33, 
                            0x34, 
                            0x35, 
                            0x36, 
                            0x37, 
                            0x38, 
                            0x39, 
                            0x3A, 
                            0x3B, 
                            0x3C, 
                            0x3D, 
                            0x3E, 
                            0x3F, 
                            0x40, 
                            0x41, 
                            0x42, 
                            0x43, 
                            0x44, 
                            0x45, 
                            0x46, 
                            0x47, 
                            0x48, 
                            0x49, 
                            0x4A, 
                            0x4B, 
                            0x4C, 
                            0x4D, 
                            0x4E, 
                            0x4F, 
                            0x50, 
                            0x51, 
                            0x52, 
                            0x53, 
                            0x54, 
                            0x55, 
                            0x56, 
                            0x57, 
                            0x58, 
                            0x59, 
                            0x5A, 
                            0x5B, 
                            0x5C, 
                            0x5D, 
                            0x5E, 
                            0x5F, 
                            0x60, 
                            0x61, 
                            0x62, 
                            0x63, 
                            0x64
                        })
                    }
                }

                Method (ABCM, 1, NotSerialized)
                {
                    If (LAnd (LGreaterEqual (Arg0, 0x00), LLessEqual (Arg0, 0x64)))
                    {
                        Store (Arg0, BRTL)
                        \_SB.PCI0.IGPU.AINT (0x01, Arg0)
                    }

                    Return (Zero)
                }

                Method (ABQC, 0, NotSerialized)
                {
                    Return (BRTL)
                }

                Device (DD01)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If (LEqual (And (0x0F00, DID1), 0x0302))
                        {
                            Store (0x01, EDPV)
                            Store (NXD1, NXDX)
                            Store (DID1, DIDX)
                            Return (0x01)
                        }

                        If (LEqual (DID1, 0x00))
                        {
                            Return (0x01)
                        }
                        Else
                        {
                            Return (And (0xFFFF, DID1))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        Return (CDDS (DID1))
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD1)
                        }

                        Return (NDDS (DID1))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                        {
                            Store (NSTE, CSTE)
                        }
                    }

                    Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
                    {
                        Return (\_SB.PCI0.IGPU.ABCL ())
                    }

                    Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
                    {
                        \_SB.PCI0.IGPU.ABCM (Arg0)
                        Return (Zero)
                    }

                    Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
                    {
                        Return (\_SB.PCI0.IGPU.ABQC ())
                    }
                }

                Device (DD02)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If (LEqual (And (0x0F00, DID2), 0x0302))
                        {
                            Store (0x02, EDPV)
                            Store (NXD2, NXDX)
                            Store (DID2, DIDX)
                            Return (0x02)
                        }

                        If (LEqual (DID2, 0x00))
                        {
                            Return (0x02)
                        }
                        Else
                        {
                            Return (And (0xFFFF, DID2))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If (LEqual (LIDS, 0x00))
                        {
                            Return (0x00)
                        }

                        Return (CDDS (DID2))
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD2)
                        }

                        Return (NDDS (DID2))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                        {
                            Store (NSTE, CSTE)
                        }
                    }
                }

                Device (DD03)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If (LEqual (And (0x0F00, DID3), 0x0302))
                        {
                            Store (0x03, EDPV)
                            Store (NXD3, NXDX)
                            Store (DID3, DIDX)
                            Return (0x03)
                        }

                        If (LEqual (DID3, 0x00))
                        {
                            Return (0x03)
                        }
                        Else
                        {
                            Return (And (0xFFFF, DID3))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If (LEqual (DID3, 0x00))
                        {
                            Return (0x0B)
                        }
                        Else
                        {
                            Return (CDDS (DID3))
                        }
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD3)
                        }

                        Return (NDDS (DID3))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                        {
                            Store (NSTE, CSTE)
                        }
                    }
                }

                Device (DD04)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If (LEqual (And (0x0F00, DID4), 0x0302))
                        {
                            Store (0x04, EDPV)
                            Store (NXD4, NXDX)
                            Store (DID4, DIDX)
                            Return (0x04)
                        }

                        If (LEqual (DID4, 0x00))
                        {
                            Return (0x04)
                        }
                        Else
                        {
                            Return (And (0xFFFF, DID4))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If (LEqual (DID4, 0x00))
                        {
                            Return (0x0B)
                        }
                        Else
                        {
                            Return (CDDS (DID4))
                        }
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD4)
                        }

                        Return (NDDS (DID4))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                        {
                            Store (NSTE, CSTE)
                        }
                    }
                }

                Device (DD05)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If (LEqual (And (0x0F00, DID5), 0x0302))
                        {
                            Store (0x05, EDPV)
                            Store (NXD5, NXDX)
                            Store (DID5, DIDX)
                            Return (0x05)
                        }

                        If (LEqual (DID5, 0x00))
                        {
                            Return (0x05)
                        }
                        Else
                        {
                            Return (And (0xFFFF, DID5))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If (LEqual (DID5, 0x00))
                        {
                            Return (0x0B)
                        }
                        Else
                        {
                            Return (CDDS (DID5))
                        }
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD5)
                        }

                        Return (NDDS (DID5))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                        {
                            Store (NSTE, CSTE)
                        }
                    }
                }

                Device (DD06)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If (LEqual (And (0x0F00, DID6), 0x0302))
                        {
                            Store (0x06, EDPV)
                            Store (NXD6, NXDX)
                            Store (DID6, DIDX)
                            Return (0x06)
                        }

                        If (LEqual (DID6, 0x00))
                        {
                            Return (0x06)
                        }
                        Else
                        {
                            Return (And (0xFFFF, DID6))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If (LEqual (DID6, 0x00))
                        {
                            Return (0x0B)
                        }
                        Else
                        {
                            Return (CDDS (DID6))
                        }
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD6)
                        }

                        Return (NDDS (DID6))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                        {
                            Store (NSTE, CSTE)
                        }
                    }
                }

                Device (DD07)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If (LEqual (And (0x0F00, DID7), 0x0302))
                        {
                            Store (0x07, EDPV)
                            Store (NXD7, NXDX)
                            Store (DID7, DIDX)
                            Return (0x07)
                        }

                        If (LEqual (DID7, 0x00))
                        {
                            Return (0x07)
                        }
                        Else
                        {
                            Return (And (0xFFFF, DID7))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If (LEqual (DID7, 0x00))
                        {
                            Return (0x0B)
                        }
                        Else
                        {
                            Return (CDDS (DID7))
                        }
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD7)
                        }

                        Return (NDDS (DID7))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                        {
                            Store (NSTE, CSTE)
                        }
                    }
                }

                Device (DD08)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If (LEqual (And (0x0F00, DID8), 0x0302))
                        {
                            Store (0x08, EDPV)
                            Store (NXD8, NXDX)
                            Store (DID8, DIDX)
                            Return (0x08)
                        }

                        If (LEqual (DID8, 0x00))
                        {
                            Return (0x08)
                        }
                        Else
                        {
                            Return (And (0xFFFF, DID8))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If (LEqual (DID8, 0x00))
                        {
                            Return (0x0B)
                        }
                        Else
                        {
                            Return (CDDS (DID8))
                        }
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXD8)
                        }

                        Return (NDDS (DID8))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                        {
                            Store (NSTE, CSTE)
                        }
                    }
                }

                Device (DD1F)
                {
                    Method (_ADR, 0, Serialized)  // _ADR: Address
                    {
                        If (LEqual (EDPV, 0x00))
                        {
                            Return (0x1F)
                        }
                        Else
                        {
                            Return (And (0xFFFF, DIDX))
                        }
                    }

                    Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
                    {
                        If (LEqual (EDPV, 0x00))
                        {
                            Return (0x00)
                        }
                        Else
                        {
                            Return (CDDS (DIDX))
                        }
                    }

                    Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
                    {
                        If (CondRefOf (SNXD))
                        {
                            Return (NXDX)
                        }

                        Return (NDDS (DIDX))
                    }

                    Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
                    {
                        If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                        {
                            Store (NSTE, CSTE)
                        }
                    }
                }

                Method (SDDL, 1, NotSerialized)
                {
                    Increment (NDID)
                    Store (And (Arg0, 0x0F0F), Local0)
                    Or (0x80000000, Local0, Local1)
                    If (LEqual (DIDL, Local0))
                    {
                        Return (Local1)
                    }

                    If (LEqual (DDL2, Local0))
                    {
                        Return (Local1)
                    }

                    If (LEqual (DDL3, Local0))
                    {
                        Return (Local1)
                    }

                    If (LEqual (DDL4, Local0))
                    {
                        Return (Local1)
                    }

                    If (LEqual (DDL5, Local0))
                    {
                        Return (Local1)
                    }

                    If (LEqual (DDL6, Local0))
                    {
                        Return (Local1)
                    }

                    If (LEqual (DDL7, Local0))
                    {
                        Return (Local1)
                    }

                    If (LEqual (DDL8, Local0))
                    {
                        Return (Local1)
                    }

                    Return (0x00)
                }

                Method (CDDS, 1, NotSerialized)
                {
                    Store (And (Arg0, 0x0F0F), Local0)
                    If (LEqual (0x00, Local0))
                    {
                        Return (0x1D)
                    }

                    If (LEqual (CADL, Local0))
                    {
                        Return (0x1F)
                    }

                    If (LEqual (CAL2, Local0))
                    {
                        Return (0x1F)
                    }

                    If (LEqual (CAL3, Local0))
                    {
                        Return (0x1F)
                    }

                    If (LEqual (CAL4, Local0))
                    {
                        Return (0x1F)
                    }

                    If (LEqual (CAL5, Local0))
                    {
                        Return (0x1F)
                    }

                    If (LEqual (CAL6, Local0))
                    {
                        Return (0x1F)
                    }

                    If (LEqual (CAL7, Local0))
                    {
                        Return (0x1F)
                    }

                    If (LEqual (CAL8, Local0))
                    {
                        Return (0x1F)
                    }

                    Return (0x1D)
                }

                Method (NDDS, 1, NotSerialized)
                {
                    Store (And (Arg0, 0x0F0F), Local0)
                    If (LEqual (0x00, Local0))
                    {
                        Return (0x00)
                    }

                    If (LEqual (NADL, Local0))
                    {
                        Return (0x01)
                    }

                    If (LEqual (NDL2, Local0))
                    {
                        Return (0x01)
                    }

                    If (LEqual (NDL3, Local0))
                    {
                        Return (0x01)
                    }

                    If (LEqual (NDL4, Local0))
                    {
                        Return (0x01)
                    }

                    If (LEqual (NDL5, Local0))
                    {
                        Return (0x01)
                    }

                    If (LEqual (NDL6, Local0))
                    {
                        Return (0x01)
                    }

                    If (LEqual (NDL7, Local0))
                    {
                        Return (0x01)
                    }

                    If (LEqual (NDL8, Local0))
                    {
                        Return (0x01)
                    }

                    Return (0x00)
                }

                Scope (\_SB.PCI0)
                {
                    OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
                    Field (MCHP, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x14), 
                        AUDE,   8, 
                        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 (0xA4), 
                    ASLE,   8, 
                    Offset (0xA8), 
                    GSSE,   1, 
                    GSSB,   14, 
                    GSES,   1, 
                    Offset (0xB0), 
                        ,   12, 
                    CDVL,   1, 
                    Offset (0xB2), 
                    Offset (0xB5), 
                    LBPC,   8, 
                    Offset (0xBC), 
                    ASLS,   32
                }

                OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
                Field (IGDM, AnyAcc, NoLock, Preserve)
                {
                    SIGN,   128, 
                    SIZE,   32, 
                    OVER,   32, 
                    SVER,   256, 
                    VVER,   128, 
                    GVER,   128, 
                    MBOX,   32, 
                    DMOD,   32, 
                    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, 
                    PLUT,   592, 
                    PFMB,   32, 
                    CCDV,   32, 
                    PCFT,   32, 
                    Offset (0x400), 
                    GVD1,   49152, 
                    PHED,   32, 
                    BDDC,   2048
                }

                Name (DBTB, Package (0x15)
                {
                    0x00, 
                    0x07, 
                    0x38, 
                    0x01C0, 
                    0x0E00, 
                    0x3F, 
                    0x01C7, 
                    0x0E07, 
                    0x01F8, 
                    0x0E38, 
                    0x0FC0, 
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00, 
                    0x00, 
                    0x7000, 
                    0x7007, 
                    0x7038, 
                    0x71C0, 
                    0x7E00
                })
                Name (CDCT, Package (0x05)
                {
                    Package (0x02)
                    {
                        0xE4, 
                        0x0140
                    }, 

                    Package (0x02)
                    {
                        0xDE, 
                        0x014D
                    }, 

                    Package (0x02)
                    {
                        0xDE, 
                        0x014D
                    }, 

                    Package (0x02)
                    {
                        0x00, 
                        0x00
                    }, 

                    Package (0x02)
                    {
                        0xDE, 
                        0x014D
                    }
                })
                Name (SUCC, 0x01)
                Name (NVLD, 0x02)
                Name (CRIT, 0x04)
                Name (NCRT, 0x06)
                Method (GSCI, 0, Serialized)
                {
                    Method (GBDA, 0, Serialized)
                    {
                        If (LEqual (GESF, 0x00))
                        {
                            Store (0x00020000, PARM)
                            Store (Zero, GESF)
                            Return (SUCC)
                        }

                        If (LEqual (GESF, 0x01))
                        {
                            Store (0x00200000, 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)
                            Add (PARM, 0x00010000, PARM)
                            Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
                            Store (Zero, GESF)
                            Return (SUCC)
                        }

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

                        If (LEqual (GESF, 0x07))
                        {
                            Store (GIVD, PARM)
                            XOr (PARM, 0x01, PARM)
                            Or (PARM, ShiftLeft (GMFN, 0x01), PARM)
                            Or (PARM, ShiftLeft (0x03, 0x0B), PARM)
                            Or (PARM, ShiftLeft (IDMS, 0x11), PARM)
                            Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL
                                )), 0x15), PARM, PARM)
                            Store (0x01, GESF)
                            Return (SUCC)
                        }

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

                            Store (0x00, GESF)
                            Return (SUCC)
                        }

                        If (LEqual (GESF, 0x0B))
                        {
                            Store (KSV0, PARM)
                            Store (KSV1, GESF)
                            Return (SUCC)
                        }

                        Store (Zero, GESF)
                        Return (CRIT)
                    }

                    Method (SBCB, 0, Serialized)
                    {
                        If (LEqual (GESF, 0x00))
                        {
                            Store (0x00, PARM)
                            Store (0x00020000, PARM)
                            Store (Zero, GESF)
                            Return (SUCC)
                        }

                        If (LEqual (GESF, 0x01))
                        {
                            Store (0x00, PARM)
                            Store (Zero, GESF)
                            Store (0x00200000, 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))
                        {
                            Store (Zero, GESF)
                            Store (Zero, PARM)
                            Return (SUCC)
                        }

                        If (LEqual (GESF, 0x07))
                        {
                            If (LEqual (PARM, 0x00))
                            {
                                Store (CLID, Local0)
                                If (And (0x80000000, Local0))
                                {
                                    And (CLID, 0x0F, CLID)
                                    GLID (CLID)
                                }
                            }

                            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))
                        {
                            And (PARM, 0xFF, IPSC)
                            If (And (ShiftRight (PARM, 0x08), 0xFF))
                            {
                                And (ShiftRight (PARM, 0x08), 0xFF, IPAT)
                                Decrement (IPAT)
                            }

                            And (ShiftRight (PARM, 0x14), 0x07, IBIA)
                            Store (Zero, GESF)
                            Store (Zero, PARM)
                            Return (SUCC)
                        }

                        If (LEqual (GESF, 0x0B))
                        {
                            And (ShiftRight (PARM, 0x01), 0x01, IF1E)
                            If (And (PARM, ShiftLeft (0x0F, 0x0D)))
                            {
                                And (ShiftRight (PARM, 0x0D), 0x0F, IDMS)
                            }
                            Else
                            {
                                And (ShiftRight (PARM, 0x11), 0x0F, IDMS)
                            }

                            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, 0x01))
                            {
                                If (LEqual (ShiftRight (PARM, 0x01), 0x01))
                                {
                                    Store (0x01, ISSC)
                                }
                                Else
                                {
                                    Store (Zero, GESF)
                                    Return (CRIT)
                                }
                            }
                            Else
                            {
                                Store (0x00, ISSC)
                            }

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

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

                        If (LEqual (GESF, 0x14))
                        {
                            And (PARM, 0x0F, PAVP)
                            Store (Zero, GESF)
                            Store (Zero, PARM)
                            Return (SUCC)
                        }

                        If (LEqual (GESF, 0x15))
                        {
                            If (LEqual (PARM, 0x01))
                            {
                                Or (\_SB.PCI0.AUDE, 0x20, \_SB.PCI0.AUDE)
                                \_SB.PCI0.HDAU.ASTR (\_SB.PCI0.HDAU.AINI (\_SB.PCI0.HDAU.CXDC ()), Notify (\_SB.PCI0, 0x00))
                            }

                            If (LEqual (PARM, 0x00))
                            {
                                And (\_SB.PCI0.AUDE, 0xDF, \_SB.PCI0.AUDE)
                                Notify (\_SB.PCI0, 0x00)
                            }

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

                        Store (Zero, GESF)
                        Return (SUCC)
                    }

                    If (LEqual (GEFC, 0x04))
                    {
                        Store (GBDA (), GXFC)
                    }

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

                    Store (0x00, GEFC)
                    Store (0x01, SCIS)
                    Store (0x00, GSSE)
                    Store (0x00, SCIE)
                    Return (Zero)
                }

                Method (PDRD, 0, NotSerialized)
                {
                    If (LNot (DRDY))
                    {
                        Sleep (ASLP)
                    }

                    Return (LNot (DRDY))
                }

                Method (PSTS, 0, NotSerialized)
                {
                    If (LGreater (CSTS, 0x02))
                    {
                        Sleep (ASLP)
                    }

                    Return (LEqual (CSTS, 0x03))
                }

                Method (GNOT, 2, NotSerialized)
                {
                    If (PDRD ())
                    {
                        Return (0x01)
                    }

                    Store (Arg0, CEVT)
                    Store (0x03, CSTS)
                    If (LAnd (LEqual (CHPD, 0x00), LEqual (Arg1, 0x00)))
                    {
                        If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
                        {
                            Notify (\_SB.PCI0, Arg1)
                        }
                        Else
                        {
                            Notify (\_SB.PCI0.IGPU, Arg1)
                        }
                    }

                    If (CondRefOf (HNOT))
                    {
                        HNOT (Arg0)
                    }
                    Else
                    {
                        Notify (\_SB.PCI0.IGPU, 0x80)
                    }

                    Return (0x00)
                }

                Method (GHDS, 1, NotSerialized)
                {
                    Store (Arg0, TIDX)
                    Return (GNOT (0x01, 0x00))
                }

                Method (GLID, 1, NotSerialized)
                {
                    If (LEqual (Arg0, 0x01))
                    {
                        Store (0x03, CLID)
                    }
                    Else
                    {
                        Store (Arg0, CLID)
                    }

                    Return (GNOT (0x02, 0x00))
                }

                Method (GDCK, 1, NotSerialized)
                {
                    Store (Arg0, CDCK)
                    Return (GNOT (0x04, 0x00))
                }

                Method (PARD, 0, NotSerialized)
                {
                    If (LNot (ARDY))
                    {
                        Sleep (ASLP)
                    }

                    Return (LNot (ARDY))
                }

                Method (AINT, 2, NotSerialized)
                {
                    If (LNot (And (TCHE, ShiftLeft (0x01, Arg0))))
                    {
                        Return (0x01)
                    }

                    If (PARD ())
                    {
                        Return (0x01)
                    }

                    If (LEqual (Arg0, 0x02))
                    {
                        If (CPFM)
                        {
                            And (CPFM, 0x0F, Local0)
                            And (EPFM, 0x0F, Local1)
                            If (LEqual (Local0, 0x01))
                            {
                                If (And (Local1, 0x06))
                                {
                                    Store (0x06, PFIT)
                                }
                                Else
                                {
                                    If (And (Local1, 0x08))
                                    {
                                        Store (0x08, PFIT)
                                    }
                                    Else
                                    {
                                        Store (0x01, PFIT)
                                    }
                                }
                            }

                            If (LEqual (Local0, 0x06))
                            {
                                If (And (Local1, 0x08))
                                {
                                    Store (0x08, PFIT)
                                }
                                Else
                                {
                                    If (And (Local1, 0x01))
                                    {
                                        Store (0x01, PFIT)
                                    }
                                    Else
                                    {
                                        Store (0x06, PFIT)
                                    }
                                }
                            }

                            If (LEqual (Local0, 0x08))
                            {
                                If (And (Local1, 0x01))
                                {
                                    Store (0x01, PFIT)
                                }
                                Else
                                {
                                    If (And (Local1, 0x06))
                                    {
                                        Store (0x06, PFIT)
                                    }
                                    Else
                                    {
                                        Store (0x08, PFIT)
                                    }
                                }
                            }
                        }
                        Else
                        {
                            XOr (PFIT, 0x07, PFIT)
                        }

                        Or (PFIT, 0x80000000, PFIT)
                        Store (0x04, ASLC)
                    }
                    Else
                    {
                        If (LEqual (Arg0, 0x01))
                        {
                            Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP)
                            Or (BCLP, 0x80000000, BCLP)
                            Store (0x02, ASLC)
                        }
                        Else
                        {
                            If (LEqual (Arg0, 0x00))
                            {
                                Store (Arg1, ALSI)
                                Store (0x01, ASLC)
                            }
                            Else
                            {
                                Return (0x01)
                            }
                        }
                    }

                    Store (0x01, ASLE)
                    Return (0x00)
                }

                Method (SCIP, 0, NotSerialized)
                {
                    If (LNotEqual (OVER, 0x00))
                    {
                        Return (LNot (GSMI))
                    }

                    Return (0x00)
                }

                Device (\_SB.MEM2)
                {
                    Name (_HID, EisaId ("PNP0C01"))  // _HID: Hardware ID
                    Name (_UID, 0x02)  // _UID: Unique ID
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0x20000000,         // Address Base
                            0x00200000,         // Address Length
                            )
                        Memory32Fixed (ReadWrite,
                            0x40000000,         // Address Base
                            0x00200000,         // Address Length
                            )
                    })
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (CRS)
                    }
                }
            }

            Device (SBUS)
            {
                Name (_ADR, 0x001F0003)  // _ADR: Address
                OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
                Field (SMBP, DWordAcc, NoLock, Preserve)
                {
                        ,   2, 
                    I2CE,   1
                }

                OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
                Field (SMPB, DWordAcc, NoLock, Preserve)
                {
                        ,   5, 
                    SBAR,   11
                }

                OperationRegion (SMBI, SystemIO, ShiftLeft (SBAR, 0x05), 0x10)
                Field (SMBI, ByteAcc, NoLock, Preserve)
                {
                    HSTS,   8, 
                    Offset (0x02), 
                    HCON,   8, 
                    HCOM,   8, 
                    TXSA,   8, 
                    DAT0,   8, 
                    DAT1,   8, 
                    HBDR,   8, 
                    PECR,   8, 
                    RXSA,   8, 
                    SDAT,   16
                }

                Method (SSXB, 2, Serialized)
                {
                    If (STRT ())
                    {
                        Return (0x00)
                    }

                    Store (0x00, I2CE)
                    Store (0xBF, HSTS)
                    Store (Arg0, TXSA)
                    Store (Arg1, HCOM)
                    Store (0x48, HCON)
                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (0x01)
                    }

                    Return (0x00)
                }

                Method (SRXB, 1, Serialized)
                {
                    If (STRT ())
                    {
                        Return (0xFFFF)
                    }

                    Store (0x00, I2CE)
                    Store (0xBF, HSTS)
                    Store (Or (Arg0, 0x01), TXSA)
                    Store (0x44, HCON)
                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (DAT0)
                    }

                    Return (0xFFFF)
                }

                Method (SWRB, 3, Serialized)
                {
                    If (STRT ())
                    {
                        Return (0x00)
                    }

                    Store (0x00, I2CE)
                    Store (0xBF, HSTS)
                    Store (Arg0, TXSA)
                    Store (Arg1, HCOM)
                    Store (Arg2, DAT0)
                    Store (0x48, HCON)
                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (0x01)
                    }

                    Return (0x00)
                }

                Method (SRDB, 2, Serialized)
                {
                    If (STRT ())
                    {
                        Return (0xFFFF)
                    }

                    Store (0x00, I2CE)
                    Store (0xBF, HSTS)
                    Store (Or (Arg0, 0x01), TXSA)
                    Store (Arg1, HCOM)
                    Store (0x48, HCON)
                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (DAT0)
                    }

                    Return (0xFFFF)
                }

                Method (SWRW, 3, Serialized)
                {
                    If (STRT ())
                    {
                        Return (0x00)
                    }

                    Store (0x00, I2CE)
                    Store (0xBF, HSTS)
                    Store (Arg0, TXSA)
                    Store (Arg1, HCOM)
                    And (Arg2, 0xFF, DAT1)
                    And (ShiftRight (Arg2, 0x08), 0xFF, DAT0)
                    Store (0x4C, HCON)
                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (0x01)
                    }

                    Return (0x00)
                }

                Method (SRDW, 2, Serialized)
                {
                    If (STRT ())
                    {
                        Return (0xFFFF)
                    }

                    Store (0x00, I2CE)
                    Store (0xBF, HSTS)
                    Store (Or (Arg0, 0x01), TXSA)
                    Store (Arg1, HCOM)
                    Store (0x4C, HCON)
                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (Or (ShiftLeft (DAT0, 0x08), DAT1))
                    }

                    Return (0xFFFFFFFF)
                }

                Method (SBLW, 4, Serialized)
                {
                    If (STRT ())
                    {
                        Return (0x00)
                    }

                    Store (Arg3, I2CE)
                    Store (0xBF, HSTS)
                    Store (Arg0, TXSA)
                    Store (Arg1, HCOM)
                    Store (SizeOf (Arg2), DAT0)
                    Store (0x00, Local1)
                    Store (DerefOf (Index (Arg2, 0x00)), HBDR)
                    Store (0x54, HCON)
                    While (LGreater (SizeOf (Arg2), Local1))
                    {
                        Store (0x4E20, Local0)
                        While (LAnd (LNot (And (HSTS, 0x80)), Local0))
                        {
                            Decrement (Local0)
                        }

                        If (LNot (Local0))
                        {
                            KILL ()
                            Return (0x00)
                        }

                        Increment (Local1)
                        If (LGreater (SizeOf (Arg2), Local1))
                        {
                            Store (DerefOf (Index (Arg2, Local1)), HBDR)
                            Store (0x80, HSTS)
                        }
                    }

                    Store (0x80, HSTS)
                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (0x01)
                    }

                    Return (0x00)
                }

                Method (SBLR, 3, Serialized)
                {
                    Name (TBUF, Buffer (0x0100) {})
                    If (STRT ())
                    {
                        Return (0x00)
                    }

                    Store (Arg2, I2CE)
                    Store (0xBF, HSTS)
                    Store (Or (Arg0, 0x01), TXSA)
                    Store (Arg1, HCOM)
                    Store (0x54, HCON)
                    Store (0x0FA0, Local0)
                    While (LAnd (LNot (And (HSTS, 0x80)), Local0))
                    {
                        Decrement (Local0)
                        Stall (0x32)
                    }

                    If (LNot (Local0))
                    {
                        KILL ()
                        Return (0x00)
                    }

                    Store (DAT0, Index (TBUF, 0x00))
                    Store (0x80, HSTS)
                    Store (0x01, Local1)
                    While (LLess (Local1, DerefOf (Index (TBUF, 0x00))))
                    {
                        Store (0x0FA0, Local0)
                        While (LAnd (LNot (And (HSTS, 0x80)), Local0))
                        {
                            Decrement (Local0)
                            Stall (0x32)
                        }

                        If (LNot (Local0))
                        {
                            KILL ()
                            Return (0x00)
                        }

                        Store (HBDR, Index (TBUF, Local1))
                        Store (0x80, HSTS)
                        Increment (Local1)
                    }

                    If (COMP ())
                    {
                        Or (HSTS, 0xFF, HSTS)
                        Return (TBUF)
                    }

                    Return (0x00)
                }

                Method (STRT, 0, Serialized)
                {
                    Store (0xC8, Local0)
                    While (Local0)
                    {
                        If (And (HSTS, 0x40))
                        {
                            Decrement (Local0)
                            Sleep (0x01)
                            If (LEqual (Local0, 0x00))
                            {
                                Return (0x01)
                            }
                        }
                        Else
                        {
                            Store (0x00, Local0)
                        }
                    }

                    Store (0x0FA0, Local0)
                    While (Local0)
                    {
                        If (And (HSTS, 0x01))
                        {
                            Decrement (Local0)
                            Stall (0x32)
                            If (LEqual (Local0, 0x00))
                            {
                                KILL ()
                            }
                        }
                        Else
                        {
                            Return (0x00)
                        }
                    }

                    Return (0x01)
                }

                Method (COMP, 0, Serialized)
                {
                    Store (0x0FA0, Local0)
                    While (Local0)
                    {
                        If (And (HSTS, 0x02))
                        {
                            Return (0x01)
                        }
                        Else
                        {
                            Decrement (Local0)
                            Stall (0x32)
                            If (LEqual (Local0, 0x00))
                            {
                                KILL ()
                            }
                        }
                    }

                    Return (0x00)
                }

                Method (KILL, 0, Serialized)
                {
                    Or (HCON, 0x02, HCON)
                    Or (HSTS, 0xFF, HSTS)
                }

                Device (BUS0)
                {
                    Name (_CID, "smbus")  // _CID: Compatible ID
                    Name (_ADR, 0x00)  // _ADR: Address
                }

                Device (BUS1)
                {
                    Name (_CID, "smbus")  // _CID: Compatible ID
                    Name (_ADR, 0x01)  // _ADR: Address
                }
            }

            Device (LPCB)
            {
                Name (_ADR, 0x001F0000)  // _ADR: Address
                Scope (\_SB)
                {
                    OperationRegion (\_SB.PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0)
                    Field (\_SB.PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x20), 
                        PARC,   8, 
                        PBRC,   8, 
                        PCRC,   8, 
                        PDRC,   8, 
                        Offset (0x28), 
                        PERC,   8, 
                        PFRC,   8, 
                        PGRC,   8, 
                        PHRC,   8
                    }

                    Device (LNKA)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x01)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PARC, 0x80, PARC)
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {1,3,4,5,6,7,10,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLA, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y0E)
                                    {}
                            })
                            CreateWordField (RTLA, \_SB.LNKA._CRS._Y0E._INT, IRQ0)  // _INT: Interrupts
                            Store (Zero, IRQ0)
                            ShiftLeft (0x01, And (PARC, 0x0F), IRQ0)
                            Return (RTLA)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PARC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PARC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKB)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x02)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PBRC, 0x80, PBRC)
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {1,3,4,5,6,7,11,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLB, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y0F)
                                    {}
                            })
                            CreateWordField (RTLB, \_SB.LNKB._CRS._Y0F._INT, IRQ0)  // _INT: Interrupts
                            Store (Zero, IRQ0)
                            ShiftLeft (0x01, And (PBRC, 0x0F), IRQ0)
                            Return (RTLB)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PBRC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PBRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKC)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x03)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PCRC, 0x80, PCRC)
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {1,3,4,5,6,7,10,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLC, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y10)
                                    {}
                            })
                            CreateWordField (RTLC, \_SB.LNKC._CRS._Y10._INT, IRQ0)  // _INT: Interrupts
                            Store (Zero, IRQ0)
                            ShiftLeft (0x01, And (PCRC, 0x0F), IRQ0)
                            Return (RTLC)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PCRC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PCRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKD)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x04)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PDRC, 0x80, PDRC)
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {1,3,4,5,6,7,11,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLD, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y11)
                                    {}
                            })
                            CreateWordField (RTLD, \_SB.LNKD._CRS._Y11._INT, IRQ0)  // _INT: Interrupts
                            Store (Zero, IRQ0)
                            ShiftLeft (0x01, And (PDRC, 0x0F), IRQ0)
                            Return (RTLD)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PDRC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PDRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKE)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x05)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PERC, 0x80, PERC)
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {1,3,4,5,6,7,10,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLE, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y12)
                                    {}
                            })
                            CreateWordField (RTLE, \_SB.LNKE._CRS._Y12._INT, IRQ0)  // _INT: Interrupts
                            Store (Zero, IRQ0)
                            ShiftLeft (0x01, And (PERC, 0x0F), IRQ0)
                            Return (RTLE)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PERC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PERC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKF)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x06)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PFRC, 0x80, PFRC)
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {1,3,4,5,6,7,11,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLF, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y13)
                                    {}
                            })
                            CreateWordField (RTLF, \_SB.LNKF._CRS._Y13._INT, IRQ0)  // _INT: Interrupts
                            Store (Zero, IRQ0)
                            ShiftLeft (0x01, And (PFRC, 0x0F), IRQ0)
                            Return (RTLF)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PFRC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PFRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKG)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x07)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PGRC, 0x80, PGRC)
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {1,3,4,5,6,7,10,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLG, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y14)
                                    {}
                            })
                            CreateWordField (RTLG, \_SB.LNKG._CRS._Y14._INT, IRQ0)  // _INT: Interrupts
                            Store (Zero, IRQ0)
                            ShiftLeft (0x01, And (PGRC, 0x0F), IRQ0)
                            Return (RTLG)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PGRC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PGRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }

                    Device (LNKH)
                    {
                        Name (_HID, EisaId ("PNP0C0F"))  // _HID: Hardware ID
                        Name (_UID, 0x08)  // _UID: Unique ID
                        Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                        {
                            Or (PHRC, 0x80, PHRC)
                        }

                        Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                        {
                            IRQ (Level, ActiveLow, Shared, )
                                {1,3,4,5,6,7,11,12,14,15}
                        })
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (RTLH, ResourceTemplate ()
                            {
                                IRQ (Level, ActiveLow, Shared, _Y15)
                                    {}
                            })
                            CreateWordField (RTLH, \_SB.LNKH._CRS._Y15._INT, IRQ0)  // _INT: Interrupts
                            Store (Zero, IRQ0)
                            ShiftLeft (0x01, And (PHRC, 0x0F), IRQ0)
                            Return (RTLH)
                        }

                        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                        {
                            CreateWordField (Arg0, 0x01, IRQ0)
                            FindSetRightBit (IRQ0, Local0)
                            Decrement (Local0)
                            Store (Local0, PHRC)
                        }

                        Method (_STA, 0, Serialized)  // _STA: Status
                        {
                            If (And (PHRC, 0x80))
                            {
                                Return (0x09)
                            }
                            Else
                            {
                                Return (0x0B)
                            }
                        }
                    }
                }

                OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
                Field (LPC0, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x40), 
                    IOD0,   8, 
                    IOD1,   8, 
                    Offset (0xB0), 
                    RAEN,   1, 
                        ,   13, 
                    RCBA,   18
                }

                Device (DMAC)
                {
                    Name (_HID, EisaId ("PNP0200"))  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x01,               // Alignment
                            0x20,               // Length
                            )
                        IO (Decode16,
                            0x0081,             // Range Minimum
                            0x0081,             // Range Maximum
                            0x01,               // Alignment
                            0x11,               // Length
                            )
                        IO (Decode16,
                            0x0093,             // Range Minimum
                            0x0093,             // Range Maximum
                            0x01,               // Alignment
                            0x0D,               // Length
                            )
                        IO (Decode16,
                            0x00C0,             // Range Minimum
                            0x00C0,             // Range Maximum
                            0x01,               // Alignment
                            0x20,               // Length
                            )
                        DMA (Compatibility, NotBusMaster, Transfer8_16, )
                            {4}
                    })
                }

                Device (FWHD)
                {
                    Name (_HID, EisaId ("INT0800"))  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        Memory32Fixed (ReadOnly,
                            0xFF000000,         // Address Base
                            0x01000000,         // Address Length
                            )
                    })
                }

                Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))  // _HID: Hardware ID
                    Name (_CID, EisaId ("PNP0C01"))  // _CID: Compatible ID
                    Name (BUF0, ResourceTemplate ()
                    {
                        IRQNoFlags ()
                            {0}
                        IRQNoFlags ()
                            {8}
                        Memory32Fixed (ReadWrite,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            _Y16)
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (LGreaterEqual (OSYS, 0x07D1))
                        {
                            If (HPAE)
                            {
                                Return (0x0F)
                            }
                        }
                        Else
                        {
                            If (HPAE)
                            {
                                Return (0x0B)
                            }
                        }

                        Return (0x00)
                    }

                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If (HPAE)
                        {
                            CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y16._BAS, HPT0)  // _BAS: Base Address
                            If (LEqual (HPAS, 0x01))
                            {
                                Store (0xFED01000, HPT0)
                            }

                            If (LEqual (HPAS, 0x02))
                            {
                                Store (0xFED02000, HPT0)
                            }

                            If (LEqual (HPAS, 0x03))
                            {
                                Store (0xFED03000, HPT0)
                            }
                        }

                        Return (BUF0)
                    }
                }

                Device (IPIC)
                {
                    Name (_HID, EisaId ("PNP0000"))  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0020,             // Range Minimum
                            0x0020,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0024,             // Range Minimum
                            0x0024,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0028,             // Range Minimum
                            0x0028,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x002C,             // Range Minimum
                            0x002C,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0030,             // Range Minimum
                            0x0030,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0034,             // Range Minimum
                            0x0034,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0038,             // Range Minimum
                            0x0038,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x003C,             // Range Minimum
                            0x003C,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A0,             // Range Minimum
                            0x00A0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A4,             // Range Minimum
                            0x00A4,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A8,             // Range Minimum
                            0x00A8,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00AC,             // Range Minimum
                            0x00AC,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B0,             // Range Minimum
                            0x00B0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B4,             // Range Minimum
                            0x00B4,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00B8,             // Range Minimum
                            0x00B8,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00BC,             // Range Minimum
                            0x00BC,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x04D0,             // Range Minimum
                            0x04D0,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IRQNoFlags ()
                            {2}
                    })
                }

                Device (MATH)
                {
                    Name (_HID, EisaId ("PNP0C04"))  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x00F0,             // Range Minimum
                            0x00F0,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IRQNoFlags ()
                            {13}
                    })
                }

                Device (LDRC)
                {
                    Name (_HID, EisaId ("PNP0C02"))  // _HID: Hardware ID
                    Name (_UID, 0x02)  // _UID: Unique ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x002E,             // Range Minimum
                            0x002E,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x004E,             // Range Minimum
                            0x004E,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0061,             // Range Minimum
                            0x0061,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0063,             // Range Minimum
                            0x0063,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0065,             // Range Minimum
                            0x0065,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0067,             // Range Minimum
                            0x0067,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0080,             // Range Minimum
                            0x0080,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0092,             // Range Minimum
                            0x0092,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x00B2,             // Range Minimum
                            0x00B2,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0xFFFF,             // Range Minimum
                            0xFFFF,             // Range Maximum
                            0x01,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0400,             // Range Minimum
                            0x0400,             // Range Maximum
                            0x01,               // Alignment
                            0x80,               // Length
                            )
                        IO (Decode16,
                            0x0800,             // Range Minimum
                            0x0800,             // Range Maximum
                            0x01,               // Alignment
                            0x80,               // Length
                            )
                    })
                }

                Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00"))  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x08,               // Length
                            )
                    })
                    OperationRegion (CMS0, SystemCMOS, 0x00, 0x40)
                    Field (CMS0, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x38), 
                        ISTB,   1, 
                            ,   6, 
                        ISLG,   1
                    }
                }

                Device (TIMR)
                {
                    Name (_HID, EisaId ("PNP0100"))  // _HID: Hardware ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0040,             // Range Minimum
                            0x0040,             // Range Maximum
                            0x01,               // Alignment
                            0x04,               // Length
                            )
                        IO (Decode16,
                            0x0050,             // Range Minimum
                            0x0050,             // Range Maximum
                            0x10,               // Alignment
                            0x04,               // Length
                            )
                    })
                }

                Device (SMC)
                {
                    Name (_HID, EisaId ("APP0001"))  // _HID: Hardware ID
                    Name (_CID, "smc-huronriver")  // _CID: Compatible ID
                    Name (_STA, 0x0B)  // _STA: Status
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0300,             // Range Minimum
                            0x0300,             // Range Maximum
                            0x01,               // Alignment
                            0x20,               // Length
                            )
                        Memory32Fixed (ReadWrite,
                            0xFEF00000,         // Address Base
                            0x00010000,         // Address Length
                            )
                        IRQNoFlags ()
                            {6}
                    })
                }

                Device (ALS0)
                {
                    Name (_HID, "ACPI0008")  // _HID: Hardware ID
                    Name (_CID, "smc-als")  // _CID: Compatible ID
                    Name (BUFF, Buffer (0x02) {})
                    CreateByteField (BUFF, 0x00, OB0)
                    CreateByteField (BUFF, 0x01, OB1)
                    CreateWordField (BUFF, 0x00, ALSI)
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (LGreaterEqual (OSYS, 0x07D9))
                        {
                            Return (0x0F)
                        }
                        Else
                        {
                            Return (0x00)
                        }
                    }

                    Method (_ALI, 0, NotSerialized)  // _ALI: Ambient Light Illuminance
                    {
                        Store (\_SB.PCI0.LPCB.EC.ALB0, OB0)
                        Store (\_SB.PCI0.LPCB.EC.ALB1, OB1)
                        Store (ALSI, Local0)
                        Return (Local0)
                    }

                    Name (_ALR, Package (0x05)  // _ALR: Ambient Light Response
                    {
                        Package (0x02)
                        {
                            0x0A, 
                            0x00
                        }, 

                        Package (0x02)
                        {
                            0x14, 
                            0x0A
                        }, 

                        Package (0x02)
                        {
                            0x32, 
                            0x50
                        }, 

                        Package (0x02)
                        {
                            0x5A, 
                            0x012C
                        }, 

                        Package (0x02)
                        {
                            0x64, 
                            0x03E8
                        }
                    })
                }

                Device (EC)
                {
                    Name (_HID, EisaId ("PNP0C09"))  // _HID: Hardware ID
                    Name (_UID, 0x00)  // _UID: Unique ID
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0062,             // Range Minimum
                            0x0062,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0066,             // Range Minimum
                            0x0066,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                    })
                    Name (_GPE, 0x17)  // _GPE: General Purpose Events
                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        If (OSDW ())
                        {
                            Return (Package (0x02)
                            {
                                0x23, 
                                0x04
                            })
                        }
                        Else
                        {
                            Return (Package (0x02)
                            {
                                0x23, 
                                0x03
                            })
                        }
                    }

                    Name (ECOK, 0x00)
                    OperationRegion (ECOR, EmbeddedControl, 0x00, 0xFF)
                    Field (ECOR, ByteAcc, Lock, Preserve)
                    {
                        ECVS,   8, 
                        Offset (0x02), 
                        Offset (0x03), 
                        G3HT,   1, 
                        Offset (0x04), 
                        WBCB,   1, 
                        DSLP,   1, 
                        Offset (0x05), 
                        Offset (0x06), 
                        WKRS,   8, 
                        Offset (0x10), 
                        ECSS,   8, 
                        PLIM,   8, 
                        ALB0,   8, 
                        ALB1,   8, 
                        WTLB,   8, 
                        WTMB,   8, 
                        Offset (0x20), 
                        SPTR,   8, 
                        SSTS,   8, 
                        SADR,   8, 
                        SCMD,   8, 
                        SBFR,   256, 
                        SCNT,   8, 
                        SAAD,   8, 
                        SAD0,   8, 
                        SAD1,   8, 
                        SMUX,   8, 
                        Offset (0x60), 
                        ELSW,   1, 
                        EACP,   1, 
                        ECDI,   1, 
                        ENMI,   1, 
                        Offset (0x61), 
                        EMHP,   1, 
                        Offset (0x62), 
                        Offset (0x63), 
                        Offset (0x64), 
                        SWLO,   1, 
                        SWLC,   1, 
                        SWAI,   1, 
                        SWAR,   1, 
                        SWCI,   1, 
                        SWCE,   1, 
                        SWMI,   1, 
                        SWMR,   1, 
                        SWPB,   1, 
                        SWGP,   1, 
                        SWPM,   1, 
                        SWWT,   1, 
                        SWLB,   1, 
                        Offset (0x66), 
                        Offset (0x67), 
                        Offset (0x68), 
                        EWLO,   1, 
                        EWLC,   1, 
                        EWAI,   1, 
                        EWAR,   1, 
                        EWCI,   1, 
                        EWCE,   1, 
                        EWMI,   1, 
                        EWMR,   1, 
                        EWPB,   1, 
                        EWGP,   1, 
                        EWPM,   1, 
                        ENWT,   1, 
                        EWLB,   1, 
                        Offset (0x6A), 
                        Offset (0x6B), 
                        Offset (0x6C), 
                        LWLO,   1, 
                        LWLC,   1, 
                        LWAI,   1, 
                        LWAR,   1, 
                        LWCI,   1, 
                        LWCE,   1, 
                        LWMI,   1, 
                        LWMR,   1, 
                        LWPB,   1, 
                        LWGP,   1, 
                        LWPM,   1, 
                        LWWT,   1, 
                        LWLB,   1, 
                        Offset (0x6E), 
                        Offset (0x6F), 
                        Offset (0x70)
                    }

                    Field (ECOR, ByteAcc, Lock, Preserve)
                    {
                        Offset (0x03), 
                        G3AD,   1, 
                        BLOD,   1, 
                        S4WE,   1, 
                        APWC,   1, 
                        Offset (0x04), 
                        Offset (0x6C), 
                        LWE0,   8, 
                        LWE1,   8, 
                        LWE2,   8, 
                        LWE3,   8
                    }

                    Field (ECOR, ByteAcc, Lock, Preserve)
                    {
                        Offset (0x24), 
                        SBDW,   16, 
                        Offset (0x46), 
                        SADW,   16
                    }

                    Method (WAKE, 0, NotSerialized)
                    {
                        If (ECOK)
                        {
                            Return (WKRS)
                        }
                        Else
                        {
                            Return (0x00)
                        }
                    }

                    Device (SMB0)
                    {
                        Name (_HID, "ACPI0001")  // _HID: Hardware ID
                        Name (_EC, 0x2010)  // _EC_: Embedded Controller
                        Mutex (SMTX, 0x00)
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            If (OSDW ())
                            {
                                Return (0x0F)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }

                        Device (SBS0)
                        {
                            Name (_HID, "ACPI0002")  // _HID: Hardware ID
                            Name (_SBS, 0x01)  // _SBS: Smart Battery Subsystem
                        }

                        Method (SBPC, 1, NotSerialized)
                        {
                            Store (Arg0, Local0)
                            While (Local0)
                            {
                                If (LEqual (SPTR, 0x00))
                                {
                                    Return (And (SSTS, 0x1F))
                                }

                                Sleep (0x01)
                                Decrement (Local0)
                            }

                            Return (0x18)
                        }

                        Method (SBRW, 3, NotSerialized)
                        {
                            Store (One, Local0)
                            If (LNot (Acquire (\_SB.PCI0.LPCB.EC.SMB0.SMTX, 0xFFFF)))
                            {
                                If (LEqual (SPTR, 0x00))
                                {
                                    Store (ShiftLeft (Arg0, 0x01), SADR)
                                    Store (Arg1, SCMD)
                                    Store (0x09, SPTR)
                                    Store (SBPC (0x03E8), Local0)
                                    If (LNot (Local0))
                                    {
                                        Store (SBDW, Arg2)
                                    }
                                }

                                Release (\_SB.PCI0.LPCB.EC.SMB0.SMTX)
                            }

                            Return (Local0)
                        }

                        Method (SBRB, 3, NotSerialized)
                        {
                            Store (One, Local0)
                            Store (Buffer (0x01)
                                {
                                     0x00
                                }, Local1)
                            If (LNot (Acquire (\_SB.PCI0.LPCB.EC.SMB0.SMTX, 0xFFFF)))
                            {
                                If (LEqual (SPTR, 0x00))
                                {
                                    Store (ShiftLeft (Arg0, 0x01), SADR)
                                    Store (Arg1, SCMD)
                                    Store (0x0B, SPTR)
                                    Store (SBPC (0x03E8), Local0)
                                    If (LNot (Local0))
                                    {
                                        Store (SBFR, Arg2)
                                    }
                                }

                                Release (\_SB.PCI0.LPCB.EC.SMB0.SMTX)
                            }

                            Return (Local0)
                        }
                    }

                    Method (_Q10, 0, NotSerialized)  // _Qxx: EC Query
                    {
                        If (OSDW ())
                        {
                            Notify (\_SB.PCI0.LPCB.EC.SMB0, 0x80)
                        }
                        Else
                        {
                            If (And (SSTS, 0x40))
                            {
                                If (LNot (Acquire (\_SB.PCI0.LPCB.EC.SMB0.SMTX, 0xFFFF)))
                                {
                                    Store (ShiftRight (SAAD, 0x01), Local0)
                                    If (LEqual (Local0, 0x0A))
                                    {
                                        \_SB.BAT0.BNOT (SADW)
                                    }

                                    Store (0x00, SSTS)
                                    Release (\_SB.PCI0.LPCB.EC.SMB0.SMTX)
                                }
                            }
                        }
                    }

                    Method (_Q20, 0, NotSerialized)  // _Qxx: EC Query
                    {
                        Store (ELSW, LIDS)
                        Store (ELSW, \_SB.PCI0.IGPU.CLID)
                        Notify (\_SB.LID0, 0x80)
                    }

                    Method (_Q21, 0, NotSerialized)  // _Qxx: EC Query
                    {
                        If (EACP)
                        {
                            Store (0x01, PWRS)
                        }
                        Else
                        {
                            Store (0x00, PWRS)
                        }

                        Notify (\_SB.ADP1, 0x80)
                        PNOT ()
                    }

                    Method (_Q40, 0, NotSerialized)  // _Qxx: EC Query
                    {
                        Notify (\_SB.PCI0.LPCB.ALS0, 0x80)
                    }

                    Method (_Q5A, 0, NotSerialized)  // _Qxx: EC Query
                    {
                        Notify (\_SB.SLPB, 0x80)
                    }

                    Method (_Q80, 0, NotSerialized)  // _Qxx: EC Query
                    {
                        Notify (\_PR.CPU0, 0x80)
                        Notify (\_PR.CPU1, 0x80)
                        Notify (\_PR.CPU2, 0x80)
                        Notify (\_PR.CPU3, 0x80)
                        Notify (\_PR.CPU4, 0x80)
                        Notify (\_PR.CPU5, 0x80)
                        Notify (\_PR.CPU6, 0x80)
                        Notify (\_PR.CPU7, 0x80)
                        If (LEqual (\_SB.PCI0.IGPU.VID0, 0x8086))
                        {
                            Store (IGPS, Local0)
                            Subtract (RP0C, Local0, Local0)
                            Store (Local0, RPSL)
                        }
                        Else
                        {
                            Store (EGPS, Local0)
                            If (LAnd (LGreaterEqual (Local0, 0x00), LLessEqual (Local0, 0x04)))
                            {
                                Add (Local0, 0xD1, Local0)
                                Notify (\_SB.PCI0.P0P2.GFX0, Local0)
                            }
                        }
                    }

                    Method (_REG, 2, NotSerialized)  // _REG: Region Availability
                    {
                        If (LOr (LEqual (Arg0, 0x03), LGreaterEqual (OSYS, 0x07D6)))
                        {
                            Store (Arg1, ECOK)
                            If (LEqual (Arg1, 0x01))
                            {
                                Store (0x00, ECSS)
                                Store (ELSW, LIDS)
                                Store (ELSW, \_SB.PCI0.IGPU.CLID)
                                Notify (\_SB.LID0, 0x80)
                                Store (EACP, PWRS)
                                Notify (\_SB.ADP1, 0x80)
                            }
                        }
                    }
                }

                Scope (\_SB)
                {
                    Device (BAT0)
                    {
                        Name (_HID, EisaId ("PNP0C0A"))  // _HID: Hardware ID
                        Name (_UID, 0x00)  // _UID: Unique ID
                        Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
                        {
                            \_SB
                        })
                        Name (BSSW, 0xFFFF)
                        Name (PBIF, Package (0x0D)
                        {
                            0x00, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0x01, 
                            0xFFFFFFFF, 
                            0xFA, 
                            0x64, 
                            0x0A, 
                            0x0A, 
                            " ", 
                            " ", 
                            " ", 
                            " "
                        })
                        Name (PBST, Package (0x04)
                        {
                            0x00, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF, 
                            0xFFFFFFFF
                        })
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            If (OSDW ())
                            {
                                Return (0x00)
                            }

                            If (\_SB.PCI0.LPCB.EC.ECOK)
                            {
                                UBSS ()
                                If (And (BSSW, 0x01))
                                {
                                    Return (0x1F)
                                }
                                Else
                                {
                                    Return (0x0F)
                                }
                            }
                            Else
                            {
                                Return (0x0F)
                            }
                        }

                        Method (_BST, 0, NotSerialized)  // _BST: Battery Status
                        {
                            If (And (BSSW, 0x01))
                            {
                                UBST ()
                            }
                            Else
                            {
                                Store (0x00, Index (PBST, 0x00))
                                Store (0xFFFFFFFF, Index (PBST, 0x01))
                                Store (0xFFFFFFFF, Index (PBST, 0x02))
                            }

                            Return (PBST)
                        }

                        Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
                        {
                            If (And (BSSW, 0x01))
                            {
                                UBIF ()
                            }

                            Return (PBIF)
                        }

                        Method (BNOT, 1, NotSerialized)
                        {
                            Store (BSSW, Local0)
                            Store (Arg0, BSSW)
                            Notify (\_SB.BAT0, 0x80)
                            If (And (XOr (Local0, Arg0), 0x01))
                            {
                                Notify (\_SB.BAT0, 0x81)
                            }
                        }

                        Method (UBSS, 0, NotSerialized)
                        {
                            \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0A, 0x01, RefOf (BSSW))
                        }

                        Method (UBIF, 0, NotSerialized)
                        {
                            \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x18, RefOf (Local0))
                            Multiply (Local0, 0x0A, Index (PBIF, 0x01))
                            \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x10, RefOf (Local0))
                            Multiply (Local0, 0x0A, Index (PBIF, 0x02))
                            \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x19, RefOf (Local0))
                            Store (Local0, Index (PBIF, 0x04))
                            \_SB.PCI0.LPCB.EC.SMB0.SBRB (0x0B, 0x21, RefOf (Local0))
                            Store (Local0, Index (PBIF, 0x09))
                            Store (Buffer (0x01)
                                {
                                     0x00
                                }, Index (PBIF, 0x0A))
                            \_SB.PCI0.LPCB.EC.SMB0.SBRB (0x0B, 0x22, RefOf (Local0))
                            Store (Local0, Index (PBIF, 0x0B))
                            \_SB.PCI0.LPCB.EC.SMB0.SBRB (0x0B, 0x20, RefOf (Local0))
                            Store (Local0, Index (PBIF, 0x0C))
                        }

                        Method (UBST, 0, NotSerialized)
                        {
                            \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x09, RefOf (Local2))
                            Store (Local2, Index (PBST, 0x03))
                            \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x0A, RefOf (Local0))
                            If (And (Local0, 0x8000))
                            {
                                Not (Local0, Local0)
                                And (Increment (Local0), 0xFFFF, Local0)
                            }

                            Multiply (Local0, Local2, Local0)
                            Divide (Local0, 0x03E8, , Index (PBST, 0x01))
                            \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x0F, RefOf (Local0))
                            Multiply (Local0, 0x0A, Index (PBST, 0x02))
                            Store (0x00, Local1)
                            If (PWRS)
                            {
                                \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x16, RefOf (Local0))
                                If (LNot (And (Local0, 0x40)))
                                {
                                    Store (0x02, Local1)
                                }
                            }
                            Else
                            {
                                Store (0x01, Local1)
                            }

                            Store (Local1, Index (PBST, 0x00))
                        }
                    }
                }

                Device (GMUX)
                {
                    Name (_HID, EisaId ("APP000B"))  // _HID: Hardware ID
                    Name (_CID, "gmux")  // _CID: Compatible ID
                    Name (_STA, 0x0B)  // _STA: Status
                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0700,             // Range Minimum
                            0x07FF,             // Range Maximum
                            0x01,               // Alignment
                            0xFF,               // Length
                            )
                    })
                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        If (OSDW ())
                        {
                            Return (Package (0x02)
                            {
                                0x16, 
                                0x03
                            })
                        }

                        Return (Package (0x02)
                        {
                            0x16, 
                            0x03
                        })
                    }

                    Scope (\_GPE)
                    {
                        Method (_L16, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
                        {
                            Notify (\_SB.PCI0.LPCB.GMUX, 0x80)
                        }
                    }

                    Name (GMGP, 0x16)
                    Method (GMSP, 1, NotSerialized)
                    {
                        If (LLessEqual (Arg0, 0x01))
                        {
                            Or (GP06, Arg0, GP06)
                        }
                    }

                    Method (GMLV, 0, NotSerialized)
                    {
                        Return (GP06)
                    }
                }
            }

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (OSDW ())
                    {
                        Return (Package (0x02)
                        {
                            0x09, 
                            0x03
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            0x09, 
                            0x03
                        })
                    }
                }
            }

            Device (RP03)
            {
                Name (_ADR, 0x001C0002)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (OSDW ())
                    {
                        Return (Package (0x02)
                        {
                            0x09, 
                            0x03
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            0x09, 
                            0x04
                        })
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR06 ())
                    }

                    Return (PR06 ())
                }
            }

            Device (RP04)
            {
                Name (_ADR, 0x001C0003)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (OSDW ())
                    {
                        Return (Package (0x02)
                        {
                            0x09, 
                            0x03
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            0x09, 
                            0x04
                        })
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR07 ())
                    }

                    Return (PR07 ())
                }
            }

            Device (RP05)
            {
                Name (_ADR, 0x001C0004)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (OSDW ())
                    {
                        Return (Package (0x02)
                        {
                            0x09, 
                            0x03
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            0x09, 
                            0x03
                        })
                    }
                }

                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR08 ())
                    }

                    Return (PR08 ())
                }
            }

            Scope (\_SB.PCI0.RP03)
            {
                OperationRegion (A1E0, PCI_Config, 0x00, 0x0380)
                Field (A1E0, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x04), 
                    BMIE,   3, 
                    Offset (0x19), 
                    SECB,   8, 
                    SBBN,   8, 
                    Offset (0x1E), 
                        ,   13, 
                    MABT,   1, 
                    Offset (0x4A), 
                        ,   5, 
                    TPEN,   1, 
                    Offset (0x50), 
                        ,   4, 
                    LDIS,   1, 
                        ,   24, 
                    LACT,   1, 
                    Offset (0xA4), 
                    PSTA,   2, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23D,   1, 
                    Offset (0x324), 
                        ,   3, 
                    LEDM,   1
                }

                OperationRegion (A1E1, PCI_Config, 0x18, 0x04)
                Field (A1E1, DWordAcc, NoLock, Preserve)
                {
                    BNIR,   32
                }

                Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
                {
                    If (LAnd (LEqual (BMIE, 0x00), LEqual (SECB, 0xFF)))
                    {
                        Return (SNBS)
                    }
                    Else
                    {
                        Return (SECB)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }

                Name (BMIS, 0x00)
                Name (SNBS, 0x00)
                Name (BNIS, 0x00)
                Method (APPD, 0, Serialized)
                {
                    If (LOr (LNot (OSDW ()), LOr (LEqual (WOWE, 0x01), LNotEqual (
                        TAPD, 0x01))))
                    {
                        Return (Zero)
                    }

                    Store (0x03, \_SB.PCI0.RP03.ARPT.PSTA)
                    If (LAnd (LAnd (LNotEqual (BMIE, 0x00), LNotEqual (BMIE, 
                        BMIS)), LAnd (LAnd (LNotEqual (SECB, 0x00), LNotEqual (SECB, SNBS)), 
                        LAnd (LNotEqual (BNIR, 0x00), LNotEqual (BNIR, BNIS)))))
                    {
                        Store (BMIE, BMIS)
                        Store (SECB, SNBS)
                        Store (BNIR, BNIS)
                    }

                    Store (0x00, BMIE)
                    Store (0x00FEFF00, BNIR)
                    Store (TPEN, Local0)
                    Store (0x03, PSTA)
                    Store (TPEN, Local0)
                    Store (0x01, LDIS)
                    Add (Timer, 0x00989680, Local0)
                    While (LLessEqual (Timer, Local0))
                    {
                        If (LEqual (LACT, 0x00))
                        {
                            Break
                        }

                        Sleep (0x0A)
                    }

                    If (LEqual (TAPD, 0x01))
                    {
                        Store (0x00, \_SB.PCI0.LPCB.EC.APWC)
                        Sleep (0x0107)
                    }

                    Return (Zero)
                }

                Method (APPU, 0, Serialized)
                {
                    If (LAnd (OSDW (), LAnd (LEqual (WOWE, 0x01), LEqual (TAPD, 0x01))))
                    {
                        WAPS ()
                    }

                    If (LOr (LNot (OSDW ()), LOr (LEqual (WOWE, 0x01), LNotEqual (
                        TAPD, 0x01))))
                    {
                        Store (0x00, WOWE)
                        Return (Zero)
                    }

                    Store (0x00, PSTA)
                    If (LNotEqual (SECB, 0xFF))
                    {
                        WAPS ()
                        Return (Zero)
                    }

                    Store (BNIS, BNIR)
                    Store (0x00, LDIS)
                    Store (0x00, WOWE)
                    If (LEqual (\_SB.PCI0.LPCB.EC.APWC, 0x01))
                    {
                        WAPS ()
                        Return (Zero)
                    }

                    Store (0x00, Local0)
                    While (0x01)
                    {
                        Store (0x01, \_SB.PCI0.LPCB.EC.APWC)
                        Sleep (0xFA)
                        Store (0x00, Local1)
                        Add (Timer, 0x00989680, Local2)
                        While (LLessEqual (Timer, Local2))
                        {
                            If (LAnd (LEqual (LACT, 0x01), LNotEqual (\_SB.PCI0.RP03.ARPT.AVND, 0xFFFF)))
                            {
                                Store (0x01, Local1)
                                Break
                            }

                            Sleep (0x0A)
                        }

                        If (LEqual (Local1, 0x01))
                        {
                            WAPS ()
                            Store (0x01, MABT)
                            Break
                        }

                        If (LEqual (Local0, 0x04))
                        {
                            Break
                        }

                        Increment (Local0)
                        Store (0x00, \_SB.PCI0.LPCB.EC.APWC)
                        Sleep (0x0107)
                    }

                    Return (Zero)
                }

                Method (ALPR, 1, NotSerialized)
                {
                    If (LEqual (Arg0, 0x01))
                    {
                        APPD ()
                    }
                    Else
                    {
                        APPU ()
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    If (OSDW ())
                    {
                        ALPR (0x00)
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    If (OSDW ())
                    {
                        ALPR (0x01)
                    }
                }

                Method (WAPS, 0, Serialized)
                {
                    Store (0x00, PSTA)
                    If (LNotEqual (BNIS, BNIR))
                    {
                        Store (BNIS, BNIR)
                    }

                    Store (0x00, \_SB.PCI0.RP03.ARPT.PSTA)
                    Store (0x40, \_SB.PCI0.RP03.ARPT.BDEN)
                    Store (0x18003000, \_SB.PCI0.RP03.ARPT.BDMR)
                    Store (0x0120, \_SB.PCI0.RP03.ARPT.BDIR)
                    Store (0x0438, \_SB.PCI0.RP03.ARPT.BDDR)
                    Store (0x0124, \_SB.PCI0.RP03.ARPT.BDIR)
                    Store (0x0134106B, \_SB.PCI0.RP03.ARPT.BDDR)
                    Store (0x00, \_SB.PCI0.RP03.ARPT.BDEN)
                }

                Device (ARPT)
                {
                    Name (_ADR, 0x00)  // _ADR: Address
                    OperationRegion (ARE2, PCI_Config, 0x00, 0x80)
                    Field (ARE2, ByteAcc, NoLock, Preserve)
                    {
                        AVND,   16, 
                        ADID,   16, 
                        Offset (0x44), 
                        PSTA,   2
                    }

                    OperationRegion (ARE3, PCI_Config, 0x80, 0x80)
                    Field (ARE3, DWordAcc, NoLock, Preserve)
                    {
                        BDMR,   32, 
                        Offset (0x08), 
                        BDEN,   32, 
                        Offset (0x20), 
                        BDIR,   32, 
                        BDDR,   32
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        Return (0x0F)
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        If (OSDW ())
                        {
                            Return (Package (0x02)
                            {
                                0x09, 
                                0x04
                            })
                        }
                        Else
                        {
                            Return (Package (0x02)
                            {
                                0x09, 
                                0x04
                            })
                        }
                    }

                    Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
                    {
                        Return (0x00)
                    }

                    Method (WWEN, 1, NotSerialized)
                    {
                        If (LNotEqual (Arg0, 0x00))
                        {
                            Store (Arg0, WOWE)
                        }
                    }

                    Method (PDEN, 1, NotSerialized)
                    {
                        Store (Arg0, TAPD)
                    }
                }
            }

            Scope (\_SB.PCI0.RP04)
            {
                OperationRegion (A1E0, PCI_Config, 0x00, 0x0380)
                Field (A1E0, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x04), 
                    BMIE,   3, 
                    Offset (0x19), 
                    SECB,   8, 
                    SBBN,   8, 
                    Offset (0x1E), 
                        ,   13, 
                    MABT,   1, 
                    Offset (0x4A), 
                        ,   5, 
                    TPEN,   1, 
                    Offset (0x50), 
                    ASPM,   2, 
                        ,   2, 
                    LDIS,   1, 
                    Offset (0x52), 
                        ,   13, 
                    LACT,   1, 
                    Offset (0xA4), 
                    PSTA,   2, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23D,   1, 
                    Offset (0x324), 
                        ,   3, 
                    LEDM,   1
                }

                Device (CMRA)
                {
                    Name (_ADR, 0x00)  // _ADR: Address
                    OperationRegion (ARE3, PCI_Config, 0x00, 0xFF)
                    Field (ARE3, ByteAcc, NoLock, Preserve)
                    {
                        AVND,   16, 
                        ADID,   16, 
                        Offset (0x4C), 
                        DPST,   2
                    }

                    Name (S2PM, 0x02)
                    Method (CMPE, 1, Serialized)
                    {
                        If (LLessEqual (Arg0, 0x01))
                        {
                            If (LEqual (Arg0, 0x01))
                            {
                                Store (0x01, GD42)
                                Store (S2PM, \_SB.PCI0.RP04.ASPM)
                                Store (0x00, \_SB.PCI0.RP04.PSTA)
                                While (LNotEqual (\_SB.PCI0.RP04.PSTA, 0x00))
                                {
                                    Sleep (0x01)
                                }

                                Store (0x00, \_SB.PCI0.RP04.LDIS)
                                Add (Timer, 0x00989680, Local0)
                                While (LLessEqual (Timer, Local0))
                                {
                                    If (LEqual (LACT, 0x01))
                                    {
                                        Break
                                    }

                                    Sleep (0x0A)
                                }
                            }
                            Else
                            {
                                Store (0x03, \_SB.PCI0.RP04.CMRA.DPST)
                                While (LNotEqual (\_SB.PCI0.RP04.CMRA.DPST, 0x03))
                                {
                                    Sleep (0x01)
                                }

                                Store (0x03, \_SB.PCI0.RP04.PSTA)
                                While (LNotEqual (\_SB.PCI0.RP04.PSTA, 0x03))
                                {
                                    Sleep (0x01)
                                }

                                Store (\_SB.PCI0.RP04.ASPM, S2PM)
                                Store (0x00, \_SB.PCI0.RP04.ASPM)
                                Store (0x01, \_SB.PCI0.RP04.LDIS)
                                Store (0x00, GP42)
                                Store (0x00, GD42)
                            }
                        }

                        Return (Zero)
                    }
                }

                Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
                {
                    Return (SECB)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }
            }

            Scope (\_SB.PCI0.RP05)
            {
                OperationRegion (A1E0, PCI_Config, 0x00, 0x0380)
                Field (A1E0, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x04), 
                    BMIE,   3, 
                    Offset (0x19), 
                    SECB,   8, 
                    SBBN,   8, 
                    Offset (0x1E), 
                        ,   13, 
                    MABT,   1, 
                    Offset (0x4A), 
                        ,   5, 
                    TPEN,   1, 
                    Offset (0x50), 
                    ASPM,   2, 
                        ,   2, 
                    LDIS,   1, 
                    LRTN,   1, 
                    Offset (0x52), 
                    LSPD,   4, 
                        ,   7, 
                    LTRN,   1, 
                        ,   1, 
                    LACT,   1, 
                    Offset (0xA4), 
                    PSTA,   2, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23D,   1, 
                    Offset (0x324), 
                        ,   3, 
                    LEDM,   1
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    If (OSDW ())
                    {
                        Store (0x01, GD41)
                        Store (0x00, PSTA)
                        While (LNotEqual (PSTA, 0x00))
                        {
                            Sleep (0x01)
                        }

                        Sleep (0x46)
                        Store (0x00, LDIS)
                        Add (Timer, 0x00989680, Local0)
                        While (LLessEqual (Timer, Local0))
                        {
                            If (LAnd (LEqual (LACT, 0x01), LNotEqual (\_SB.PCI0.RP05.SSD0.SVID, 0xFFFF)))
                            {
                                Store (0x00, Local1)
                                While (LNotEqual (LSPD, 0x02))
                                {
                                    Store (0x01, LRTN)
                                    Store (0x00, Local2)
                                    While (LOr (LNotEqual (LACT, 0x01), LEqual (LTRN, 0x01)))
                                    {
                                        If (LGreater (Local2, 0x01F4))
                                        {
                                            Break
                                        }

                                        Increment (Local2)
                                        Sleep (0x01)
                                    }

                                    If (LEqual (Local1, 0x05))
                                    {
                                        Break
                                    }

                                    Increment (Local1)
                                }

                                Break
                            }

                            Sleep (0x0A)
                        }
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    If (OSDW ())
                    {
                        Store (0x03, PSTA)
                        While (LNotEqual (PSTA, 0x03))
                        {
                            Sleep (0x01)
                        }

                        Store (0x01, LDIS)
                        Store (0x00, GP41)
                        Store (0x00, GD41)
                        Sleep (0x0384)
                    }
                }

                Device (SSD0)
                {
                    Name (_ADR, 0x00)  // _ADR: Address
                    Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
                    {
                        Return (0x00)
                    }

                    OperationRegion (SSE1, PCI_Config, 0x00, 0x10)
                    Field (SSE1, ByteAcc, NoLock, Preserve)
                    {
                        SVID,   16
                    }

                    Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                    {
                        Store (Package (0x04)
                            {
                                "use-msi", 
                                0x01, 
                                "sata-express-power-off", 
                                0x01
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }
            }
        }

        Device (ADP1)
        {
            Name (_HID, "ACPI0003")  // _HID: Hardware ID
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                If (OSDW ())
                {
                    Return (Package (0x02)
                    {
                        0x23, 
                        0x04
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        0x23, 
                        0x03
                    })
                }
            }

            Name (WK00, 0x01)
            Method (SWAK, 1, NotSerialized)
            {
                And (Arg0, 0x03, WK00)
                If (LNot (WK00))
                {
                    Store (0x01, WK00)
                }
            }

            Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
            {
                Return (PWRS)
            }

            Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
            {
                Return (\_SB)
            }

            Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
            {
                If (OSDW ())
                {
                    If (\_SB.PCI0.LPCB.EC.ECOK)
                    {
                        If (Arg0)
                        {
                            If (And (WK00, 0x01))
                            {
                                Store (0x01, \_SB.PCI0.LPCB.EC.EWAI)
                            }

                            If (And (WK00, 0x02))
                            {
                                Store (0x01, \_SB.PCI0.LPCB.EC.EWAR)
                            }
                        }
                        Else
                        {
                            Store (0x00, \_SB.PCI0.LPCB.EC.EWAI)
                            Store (0x00, \_SB.PCI0.LPCB.EC.EWAR)
                        }
                    }
                }
            }
        }

        Device (LID0)
        {
            Name (_HID, EisaId ("PNP0C0D"))  // _HID: Hardware ID
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                If (OSDW ())
                {
                    Return (Package (0x02)
                    {
                        0x23, 
                        0x04
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        0x23, 
                        0x03
                    })
                }
            }

            Method (_LID, 0, NotSerialized)  // _LID: Lid Status
            {
                Return (LIDS)
            }

            Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
            {
                If (\_SB.PCI0.LPCB.EC.ECOK)
                {
                    If (Arg0)
                    {
                        Store (0x01, \_SB.PCI0.LPCB.EC.EWLO)
                    }
                    Else
                    {
                        Store (0x00, \_SB.PCI0.LPCB.EC.EWLO)
                    }
                }
            }
        }

        Device (PWRB)
        {
            Name (_HID, EisaId ("PNP0C0C"))  // _HID: Hardware ID
        }
    }

    Scope (\_PR)
    {
        Processor (CPU0, 0x01, 0x00000410, 0x06) {}
        Processor (CPU1, 0x02, 0x00000410, 0x06) {}
        Processor (CPU2, 0x03, 0x00000410, 0x06) {}
        Processor (CPU3, 0x04, 0x00000410, 0x06) {}
        Processor (CPU4, 0x05, 0x00000410, 0x06) {}
        Processor (CPU5, 0x06, 0x00000410, 0x06) {}
        Processor (CPU6, 0x07, 0x00000410, 0x06) {}
        Processor (CPU7, 0x08, 0x00000410, 0x06) {}
    }

    Mutex (MUTX, 0x00)
    Name (SLTP, 0x00)
    OperationRegion (PRT0, SystemIO, 0x80, 0x04)
    Field (PRT0, DWordAcc, Lock, Preserve)
    {
        P80H,   32
    }

    OperationRegion (PLMT, SystemIO, 0x0310, 0x0A)
    Field (PLMT, WordAcc, Lock, Preserve)
    {
        CPLT,   8, 
        IGPS,   8, 
        MPLT,   8, 
        CFIL,   8, 
        EGPS,   8
    }

    OperationRegion (D29C, SystemMemory, 0xE00E8000, 0x04)
    Field (D29C, DWordAcc, Lock, Preserve)
    {
        VEID,   16
    }

    OperationRegion (S0BA, SystemMemory, 0xE00A8084, 0x04)
    Field (S0BA, DWordAcc, Lock, Preserve)
    {
        S0D3,   2
    }

    OperationRegion (S4BA, SystemMemory, 0xE00AC084, 0x04)
    Field (S4BA, DWordAcc, Lock, Preserve)
    {
        S4D3,   2
    }

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

    Method (P8XH, 2, Serialized)
    {
        If (LEqual (Arg0, 0x00))
        {
            Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D)
        }

        If (LEqual (Arg0, 0x01))
        {
            Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)
                ), P80D)
        }

        If (LEqual (Arg0, 0x02))
        {
            Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)
                ), P80D)
        }

        If (LEqual (Arg0, 0x03))
        {
            Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)
                ), P80D)
        }

        Store (P80D, P80H)
    }

    OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
    Field (SPRT, ByteAcc, Lock, Preserve)
    {
        SSMP,   8, 
        SSMY,   8
    }

    Method (\_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
    {
        Store (Arg0, GPIC)
        Store (Arg0, PICM)
    }

    Method (GETB, 3, Serialized)
    {
        Multiply (Arg0, 0x08, Local0)
        Multiply (Arg1, 0x08, Local1)
        CreateField (Arg2, Local0, Local1, TBF3)
        Return (TBF3)
    }

    Method (PNOT, 0, Serialized)
    {
        If (LGreater (TCNT, 0x01))
        {
            If (And (PDC0, 0x08))
            {
                Notify (\_PR.CPU0, 0x80)
                If (And (PDC0, 0x10))
                {
                    Notify (\_PR.CPU0, 0x81)
                }
            }

            If (And (PDC1, 0x08))
            {
                Notify (\_PR.CPU1, 0x80)
                If (And (PDC1, 0x10))
                {
                    Notify (\_PR.CPU1, 0x81)
                }
            }

            If (And (PDC2, 0x08))
            {
                Notify (\_PR.CPU2, 0x80)
                If (And (PDC2, 0x10))
                {
                    Notify (\_PR.CPU2, 0x81)
                }
            }

            If (And (PDC3, 0x08))
            {
                Notify (\_PR.CPU3, 0x80)
                If (And (PDC3, 0x10))
                {
                    Notify (\_PR.CPU3, 0x81)
                }
            }

            If (And (PDC4, 0x08))
            {
                Notify (\_PR.CPU4, 0x80)
                If (And (PDC4, 0x10))
                {
                    Notify (\_PR.CPU4, 0x81)
                }
            }

            If (And (PDC5, 0x08))
            {
                Notify (\_PR.CPU5, 0x80)
                If (And (PDC5, 0x10))
                {
                    Notify (\_PR.CPU5, 0x81)
                }
            }

            If (And (PDC6, 0x08))
            {
                Notify (\_PR.CPU6, 0x80)
                If (And (PDC6, 0x10))
                {
                    Notify (\_PR.CPU6, 0x81)
                }
            }

            If (And (PDC7, 0x08))
            {
                Notify (\_PR.CPU7, 0x80)
                If (And (PDC7, 0x10))
                {
                    Notify (\_PR.CPU7, 0x81)
                }
            }
        }
        Else
        {
            Notify (\_PR.CPU0, 0x80)
            Notify (\_PR.CPU0, 0x81)
        }
    }

    Method (DSPI, 0, Serialized)
    {
        If (LNot (OSDW ()))
        {
            Store (0x03, S0D3)
            Store (IOSR, Local0)
            And (Local0, 0x01, Local1)
            While (LNotEqual (Local1, 0x00))
            {
                Store (IOSR, Local0)
                And (Local0, 0x01, Local1)
            }

            Store (0xCE00AA07, IOIR)
            Store (0x0600, IOSR)
            Store (0xF000, IONR)
            Store (IOSR, Local0)
            Or (Local0, 0x01, Local0)
            Store (Local0, IOSR)
            Store (IOSR, Local0)
            And (Local0, 0x01, Local1)
            While (LNotEqual (Local1, 0x00))
            {
                Store (IOSR, Local0)
                And (Local0, 0x01, Local1)
            }

            And (Local0, 0x06, Local1)
            If (LEqual (Local1, 0x00))
            {
                Store (IODR, Local3)
            }

            Or (Local3, 0x0100, Local3)
            Store (0x0700, IOSR)
            Store (Local3, IODR)
            Store (0xF000, IONR)
            Store (IOSR, Local0)
            Or (Local0, 0x01, Local0)
            Store (Local0, IOSR)
            Store (IOSR, Local0)
            And (Local0, 0x01, Local1)
            While (LNotEqual (Local1, 0x00))
            {
                Store (IOSR, Local0)
                And (Local0, 0x01, Local1)
            }

            And (Local0, 0x06, Local1)
            If (LEqual (Local1, 0x00)) {}
            Store (0x03, S4D3)
            Store (IOSR, Local0)
            And (Local0, 0x01, Local1)
            While (LNotEqual (Local1, 0x00))
            {
                Store (IOSR, Local0)
                And (Local0, 0x01, Local1)
            }

            Store (0xCE00AB07, IOIR)
            Store (0x0600, IOSR)
            Store (0xF000, IONR)
            Store (IOSR, Local0)
            Or (Local0, 0x01, Local0)
            Store (Local0, IOSR)
            Store (IOSR, Local0)
            And (Local0, 0x01, Local1)
            While (LNotEqual (Local1, 0x00))
            {
                Store (IOSR, Local0)
                And (Local0, 0x01, Local1)
            }

            And (Local0, 0x06, Local1)
            If (LEqual (Local1, 0x00))
            {
                Store (IODR, Local3)
            }

            Or (Local3, 0x0100, Local3)
            Store (0x0700, IOSR)
            Store (Local3, IODR)
            Store (0xF000, IONR)
            Store (IOSR, Local0)
            Or (Local0, 0x01, Local0)
            Store (Local0, IOSR)
            Store (IOSR, Local0)
            And (Local0, 0x01, Local1)
            While (LNotEqual (Local1, 0x00))
            {
                Store (IOSR, Local0)
                And (Local0, 0x01, Local1)
            }

            And (Local0, 0x06, Local1)
            If (LEqual (Local1, 0x00)) {}
        }
    }

    Method (TRAP, 2, Serialized)
    {
        Store (Arg1, SMIF)
        If (LEqual (Arg0, \TRTP))
        {
            Store (0x00, TRP0)
        }

        If (LEqual (Arg0, \TRTD))
        {
            Store (Arg1, DTSF)
            Store (0x00, TRPD)
            Return (DTSF)
        }

        If (LEqual (Arg0, \TRTI))
        {
            Store (0x00, TRPH)
        }

        Return (SMIF)
    }

    Scope (\_SB)
    {
        Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            PINI ()
            If (OSDW ())
            {
                If (USBO)
                {
                    Store (0x01, EH1D)
                    Store (0x01, EH2D)
                }
            }
            Else
            {
                RUSB ()
            }
        }

        Device (PNLF)
        {
            Name (_ADR, 0x00)  // _ADR: Address
            Name (_HID, EisaId ("APP0002"))  // _HID: Hardware ID
            Name (_CID, "backlight")  // _CID: Compatible ID
            Name (_UID, 0x0E)  // _UID: Unique ID
            Name (_STA, 0x0B)  // _STA: Status
        }

        Device (SLPB)
        {
            Name (_HID, EisaId ("PNP0C0E"))  // _HID: Hardware ID
            Name (_STA, 0x0B)  // _STA: Status
        }
    }

    Scope (\_SB.PCI0)
    {
        Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            \_SB.PCI0.RMCR ()
            Store (0x07DC, OSYS)
            If (CondRefOf (\_OSI, Local0))
            {
                If (_OSI ("Darwin"))
                {
                    Store (0x2710, OSYS)
                }

                If (\_OSI ("Linux"))
                {
                    Store (0x03E8, OSYS)
                }

                If (\_OSI ("Windows 2009"))
                {
                    Store (0x07D9, OSYS)
                }

                If (\_OSI ("Windows 2012"))
                {
                    Store (0x07DC, OSYS)
                }
            }
        }

        Method (NHPG, 0, Serialized)
        {
        }

        Method (NPME, 0, Serialized)
        {
        }
    }

    Scope (\)
    {
        Name (PICM, 0x00)
        Method (OSDW, 0, NotSerialized)
        {
            If (LEqual (OSYS, 0x2710))
            {
                Return (0x01)
            }
            Else
            {
                Return (0x00)
            }
        }

        Method (PINI, 0, NotSerialized)
        {
            Store (0x07DC, OSYS)
            If (CondRefOf (_OSI, Local0))
            {
                If (_OSI ("Darwin"))
                {
                    Store (0x2710, OSYS)
                }
                Else
                {
                    If (_OSI ("Linux"))
                    {
                        Store (0x03E8, OSYS)
                    }
                    Else
                    {
                        If (_OSI ("Windows 2009"))
                        {
                            Store (0x07D9, OSYS)
                        }
                        Else
                        {
                            If (_OSI ("Windows 2012"))
                            {
                                Store (0x07DC, OSYS)
                            }
                        }
                    }
                }
            }
            Else
            {
                Store (0x07DC, OSYS)
            }
        }

        Method (RUSB, 0, NotSerialized)
        {
            If (LEqual (VEID, 0x8086))
            {
                If (\_SB.PCI0.LPCB.RTC.ISLG)
                {
                    \_SB.PCI0.XHC1.LEGM ()
                }
            }
        }

        Method (HUSB, 0, NotSerialized)
        {
            If (LEqual (VEID, 0x8086))
            {
                \_SB.PCI0.XHC1.LEGM ()
            }
        }
    }

    Scope (\_SB.PCI0)
    {
        Device (PDRC)
        {
            Name (_HID, EisaId ("PNP0C02"))  // _HID: Hardware ID
            Name (_UID, 0x01)  // _UID: Unique ID
            Name (BUF0, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00004000,         // Address Length
                    _Y17)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00008000,         // Address Length
                    _Y19)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y1A)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y1B)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y1C)
                Memory32Fixed (ReadWrite,
                    0xFED20000,         // Address Base
                    0x00020000,         // Address Length
                    )
                Memory32Fixed (ReadOnly,
                    0xFED90000,         // Address Base
                    0x00004000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0xFED45000,         // Address Base
                    0x0004B000,         // Address Length
                    )
                Memory32Fixed (ReadOnly,
                    0xFF000000,         // Address Base
                    0x01000000,         // Address Length
                    )
                Memory32Fixed (ReadOnly,
                    0xFEE00000,         // Address Base
                    0x00100000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y18)
            })
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y17._BAS, RBR0)  // _BAS: Base Address
                ShiftLeft (\_SB.PCI0.LPCB.RCBA, 0x0E, RBR0)
                CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y18._BAS, TBR0)  // _BAS: Base Address
                Store (TBAB, TBR0)
                CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y18._LEN, TBLN)  // _LEN: Length
                If (LEqual (TBAB, 0x00))
                {
                    Store (0x00, TBLN)
                }

                CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y19._BAS, MBR0)  // _BAS: Base Address
                ShiftLeft (\_SB.PCI0.MHBR, 0x0F, MBR0)
                CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1A._BAS, DBR0)  // _BAS: Base Address
                ShiftLeft (\_SB.PCI0.DIBR, 0x0C, DBR0)
                CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1B._BAS, EBR0)  // _BAS: Base Address
                ShiftLeft (\_SB.PCI0.EPBR, 0x0C, EBR0)
                CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1C._BAS, XBR0)  // _BAS: Base Address
                ShiftLeft (\_SB.PCI0.PXBR, 0x1A, XBR0)
                CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1C._LEN, XSZ0)  // _LEN: Length
                ShiftRight (0x10000000, \_SB.PCI0.PXSZ, XSZ0)
                Return (BUF0)
            }
        }
    }

    Scope (\)
    {
        Name (PCHS, 0x00000001)
        OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
        Field (IO_T, ByteAcc, NoLock, Preserve)
        {
            TRPI,   16, 
            Offset (0x04), 
            Offset (0x06), 
            Offset (0x08), 
            TRP0,   8, 
            Offset (0x0A), 
            Offset (0x0B), 
            Offset (0x0C), 
            Offset (0x0D), 
            Offset (0x0E), 
            Offset (0x0F), 
            Offset (0x10)
        }

        OperationRegion (IO_D, SystemIO, 0x0810, 0x04)
        Field (IO_D, ByteAcc, NoLock, Preserve)
        {
            TRPD,   8
        }

        OperationRegion (IO_H, SystemIO, 0x1000, 0x04)
        Field (IO_H, ByteAcc, NoLock, Preserve)
        {
            TRPH,   8
        }

        OperationRegion (RCRB, SystemMemory, \SRCB, 0x4000)
        Field (RCRB, DWordAcc, Lock, Preserve)
        {
            Offset (0x1000), 
            Offset (0x2330), 
            IOIR,   32, 
            IODR,   32, 
            IOSR,   16, 
            IONR,   16, 
            Offset (0x3000), 
            Offset (0x3404), 
            HPAS,   2, 
                ,   5, 
            HPAE,   1, 
            Offset (0x3418), 
                ,   1, 
                ,   1, 
            SATD,   1, 
            SMBD,   1, 
            HDAD,   1, 
                ,   2, 
            UH6D,   1, 
            UH1D,   1, 
            UH2D,   1, 
            UH3D,   1, 
            UH4D,   1, 
            UH5D,   1, 
            EH2D,   1, 
                ,   1, 
            EH1D,   1, 
            RP1D,   1, 
            RP2D,   1, 
            RP3D,   1, 
            RP4D,   1, 
            RP5D,   1, 
            RP6D,   1, 
            RP7D,   1, 
            RP8D,   1, 
                ,   4, 
            UH7D,   1
        }
    }

    Scope (\_GPE)
    {
        Method (_L07, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
        {
            Store (0x20, \_SB.PCI0.SBUS.HSTS)
        }

        Method (_L06, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
        {
            If (LAnd (\_SB.PCI0.IGPU.GSSE, LNot (GSMI)))
            {
                \_SB.PCI0.IGPU.GSCI ()
            }
            Else
            {
                Store (0x00, \_SB.PCI0.IGPU.GEFC)
                Store (0x01, SCIS)
                Store (0x00, \_SB.PCI0.IGPU.GSSE)
                Store (0x00, \_SB.PCI0.IGPU.SCIE)
            }
        }

        Method (_L09, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
        {
            Notify (\_SB.PCI0.P0P2, 0x02)
            Notify (\_SB.PCI0.RP03, 0x02)
            Notify (\_SB.PCI0.RP04, 0x02)
            Notify (\_SB.PCI0.RP05, 0x02)
            \_SB.PCI0.TGPE ()
            Notify (\_SB.PCI0.RP03.ARPT, 0x02)
        }

        Method (_L0D, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
        {
            Notify (\_SB.PWRB, 0x02)
            Notify (\_SB.PCI0.XHC1, 0x02)
            If (OSDW ())
            {
                Notify (\_SB.PCI0.HDEF, 0x02)
            }
        }
    }

    Method (DTGP, 5, NotSerialized)
    {
        If (LEqual (Arg0, Buffer (0x10)
                {
                    /* 0000 */   0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
                    /* 0008 */   0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                }))
        {
            If (LEqual (Arg1, One))
            {
                If (LEqual (Arg2, Zero))
                {
                    Store (Buffer (0x01)
                        {
                             0x03
                        }, Arg4)
                    Return (One)
                }

                If (LEqual (Arg2, One))
                {
                    Return (One)
                }
            }
        }

        Store (Buffer (0x01)
            {
                 0x00
            }, Arg4)
        Return (Zero)
    }

    Name (_S0, Package (0x03)  // _S0_: S0 System State
    {
        0x00, 
        0x00, 
        0x00
    })
    Name (_S4, Package (0x03)  // _S4_: S4 System State
    {
        0x06, 
        0x06, 
        0x00
    })
    Name (_S5, Package (0x03)  // _S5_: S5 System State
    {
        0x07, 
        0x07, 
        0x00
    })
    Method (_TTS, 1, NotSerialized)  // _TTS: Transition To State
    {
        Store (Arg0, SLTP)
    }

    Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
    {
        Store (0x00, P80D)
        P8XH (0x00, Arg0)
        Store (Arg0, \_SB.PCI0.LPCB.EC.ECSS)
        If (LNot (OSDW ()))
        {
            If (LEqual (Arg0, 0x03))
            {
                Store (0x00, Local0)
                While (LAnd (LNotEqual (\_SB.PCI0.RP04.CMRA.DPST, 0x03), LLess (Local0, 0x1388)))
                {
                    Sleep (0x01)
                    Increment (Local0)
                }

                \_SB.PCI0.RP04.CMRA.CMPE (0x00)
            }
        }

        If (LAnd (LNot (OSDW ()), LGreaterEqual (Arg0, 0x04)))
        {
            Store (0x00, \_SB.PCI0.LPCB.EC.EWLO)
        }
    }

    Method (_WAK, 1, NotSerialized)  // _WAK: Wake
    {
        P8XH (0x00, 0x00)
        Store (0x00, \_SB.PCI0.LPCB.EC.ECSS)
        If (OSDW ()) {}
        Else
        {
            If (LEqual (Arg0, 0x03))
            {
                \_SB.PCI0.RP04.CMRA.CMPE (0x01)
            }
        }

        Store (\_SB.PCI0.LPCB.EC.ELSW, LIDS)
        Store (\_SB.PCI0.LPCB.EC.ELSW, \_SB.PCI0.IGPU.CLID)
        Store (\_SB.PCI0.LPCB.EC.EACP, PWRS)
        If (LNot (OSDW ()))
        {
            Store (0x00, \_SB.PCI0.LPCB.EC.LWE0)
            Store (0x00, \_SB.PCI0.LPCB.EC.LWE1)
            Store (0x00, \_SB.PCI0.LPCB.EC.LWE2)
            Store (0x00, \_SB.PCI0.LPCB.EC.LWE3)
            If (LEqual (Arg0, 0x03))
            {
                \_SB.PCI0.DTLK ()
            }

            If (LEqual (Arg0, 0x04))
            {
                \_SB.PCI0.RMCW ()
            }
        }

        PNOT ()
        If (LEqual (Arg0, 0x04))
        {
            HUSB ()
        }

        If (OSDW ())
        {
            If (USBO)
            {
                Store (0x01, EH1D)
                Store (0x01, EH2D)
            }
        }

        Return (Package (0x02)
        {
            0x00, 
            0x00
        })
    }

    Scope (\)
    {
        OperationRegion (GPIO, SystemIO, \GPBS, 0x64)
        Field (GPIO, ByteAcc, NoLock, Preserve)
        {
                ,   5, 
            GU05,   1, 
            Offset (0x01), 
            Offset (0x02), 
            Offset (0x03), 
            Offset (0x04), 
            GD00,   4, 
            GD04,   1, 
                ,   5, 
            GD10,   1, 
                ,   1, 
            GD12,   1, 
                ,   1, 
            GD14,   1, 
            Offset (0x07), 
            GD24,   1, 
            Offset (0x08), 
            Offset (0x0C), 
                ,   3, 
            GP03,   1, 
            GP04,   1, 
            GP05,   1, 
            GP06,   1, 
            GP07,   1, 
            GP08,   1, 
            GP09,   1, 
            GP10,   1, 
            GP11,   1, 
            GP12,   1, 
            GP13,   1, 
            GP14,   1, 
            GP15,   1, 
            GP16,   1, 
            GP17,   1, 
            GP18,   1, 
            GP19,   1, 
            GP20,   1, 
            GP21,   1, 
            GP22,   1, 
            GP23,   1, 
            GP24,   1, 
                ,   2, 
            GP27,   1, 
            GP28,   1, 
            Offset (0x10), 
            Offset (0x18), 
            GB00,   8, 
            GB01,   8, 
            GB02,   8, 
            GB03,   8, 
            Offset (0x2C), 
                ,   3, 
            GI03,   1, 
            GI04,   1, 
            GI05,   1, 
            GI06,   1, 
            Offset (0x2D), 
            GI08,   1, 
            GI09,   1, 
            GI10,   1, 
            GI11,   1, 
            Offset (0x2E), 
            Offset (0x2F), 
            Offset (0x30), 
            Offset (0x31), 
            Offset (0x32), 
            Offset (0x33), 
            Offset (0x34), 
            Offset (0x35), 
            GD40,   1, 
            GD41,   1, 
            GD42,   1, 
                ,   1, 
            GD44,   1, 
                ,   1, 
            GD46,   1, 
            Offset (0x36), 
                ,   6, 
            GD54,   1, 
                ,   4, 
            GD59,   1, 
            GD60,   1, 
            Offset (0x38), 
                ,   1, 
            GP33,   1, 
                ,   2, 
            GP36,   1, 
            Offset (0x39), 
            GP40,   1, 
            GP41,   1, 
            GP42,   1, 
                ,   1, 
            GP44,   1, 
            GP45,   1, 
            GP46,   1, 
            Offset (0x3A), 
            GP48,   1, 
            GP49,   1, 
            GP50,   1, 
            GP51,   1, 
            GP52,   1, 
            GP53,   1, 
            GP54,   1, 
                ,   4, 
            GP59,   1, 
            GP60,   1, 
            Offset (0x3C), 
            Offset (0x40), 
            Offset (0x41), 
            Offset (0x42), 
            Offset (0x43), 
            Offset (0x44), 
                ,   4, 
            GD68,   1, 
            GD69,   1, 
            GD70,   1, 
            GD71,   1, 
            GD72,   1, 
            GD73,   1, 
            GD74,   1, 
                ,   4, 
                ,   8, 
                ,   8, 
            Offset (0x48), 
            GP64,   1, 
                ,   3, 
            GP68,   1, 
            GP69,   1, 
            Offset (0x49), 
            GP72,   1, 
            GP73,   1, 
            GP74,   1, 
            Offset (0x4A), 
            Offset (0x4B), 
            Offset (0x4C)
        }
    }
}

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux