* Problems in PV dom0 on recent x86 hardware
@ 2024-07-08 8:15 Jürgen Groß
2024-07-08 8:32 ` Andrew Cooper
2024-07-08 8:37 ` Jan Beulich
0 siblings, 2 replies; 22+ messages in thread
From: Jürgen Groß @ 2024-07-08 8:15 UTC (permalink / raw)
To: xen-devel@lists.xenproject.org
I've got an internal report about failures in dom0 when booting with
Xen on a Thinkpad P14s Gen 3 AMD (kernel 6.9).
With some debugging I've found that the UCSI driver seems to fail to
map MFN feec2 as iomem, as the hypervisor is denying this mapping due
to being part of the MSI space. The mapping attempt seems to be the
result of an ACPI call of the UCSI driver:
[ 44.575345] RIP: e030:xen_mc_flush+0x1e8/0x2b0
[ 44.575418] xen_leave_lazy_mmu+0x15/0x60
[ 44.575425] vmap_range_noflush+0x408/0x6f0
[ 44.575438] __ioremap_caller+0x20d/0x350
[ 44.575450] acpi_os_map_iomem+0x1a3/0x1c0
[ 44.575454] acpi_ex_system_memory_space_handler+0x229/0x3f0
[ 44.575464] acpi_ev_address_space_dispatch+0x17e/0x4c0
[ 44.575474] acpi_ex_access_region+0x28a/0x510
[ 44.575479] acpi_ex_field_datum_io+0x95/0x5c0
[ 44.575482] acpi_ex_extract_from_field+0x36b/0x4e0
[ 44.575490] acpi_ex_read_data_from_field+0xcb/0x430
[ 44.575493] acpi_ex_resolve_node_to_value+0x2e0/0x530
[ 44.575496] acpi_ex_resolve_to_value+0x1e7/0x550
[ 44.575499] acpi_ds_evaluate_name_path+0x107/0x170
[ 44.575505] acpi_ds_exec_end_op+0x392/0x860
[ 44.575508] acpi_ps_parse_loop+0x268/0xa30
[ 44.575515] acpi_ps_parse_aml+0x221/0x5e0
[ 44.575518] acpi_ps_execute_method+0x171/0x3e0
[ 44.575522] acpi_ns_evaluate+0x174/0x5d0
[ 44.575525] acpi_evaluate_object+0x167/0x440
[ 44.575529] acpi_evaluate_dsm+0xb6/0x130
[ 44.575541] ucsi_acpi_dsm+0x53/0x80
[ 44.575546] ucsi_acpi_read+0x2e/0x60
[ 44.575550] ucsi_register+0x24/0xa0
[ 44.575555] ucsi_acpi_probe+0x162/0x1e3
[ 44.575559] platform_probe+0x48/0x90
[ 44.575567] really_probe+0xde/0x340
[ 44.575579] __driver_probe_device+0x78/0x110
[ 44.575581] driver_probe_device+0x1f/0x90
[ 44.575584] __driver_attach+0xd2/0x1c0
[ 44.575587] bus_for_each_dev+0x77/0xc0
[ 44.575590] bus_add_driver+0x112/0x1f0
[ 44.575593] driver_register+0x72/0xd0
[ 44.575600] do_one_initcall+0x48/0x300
[ 44.575607] do_init_module+0x60/0x220
[ 44.575615] __do_sys_init_module+0x17f/0x1b0
[ 44.575623] do_syscall_64+0x82/0x170
[ 44.575685] 1 of 1 multicall(s) failed: cpu 4
[ 44.575695] call 1: op=1 result=-1 caller=xen_extend_mmu_update+0x4e/0xd0
pars=ffff888267e25ad0 1 0 7ff0 args=9ba37a678 80000000feec2073
The pte value of the mmu_update call is 80000000feec2073, which is rejected by
the hypervisor with -EPERM.
Before diving deep into the UCSI internals, is it possible that the hypervisor
needs some update (IOW: could it be the mapping attempt should rather be
honored, as there might be an I/O resources at this position which dom0 needs
to access for using the related hardware?)
Juergen
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-08 8:15 Problems in PV dom0 on recent x86 hardware Jürgen Groß
@ 2024-07-08 8:32 ` Andrew Cooper
2024-07-08 8:48 ` Jürgen Groß
2024-07-08 8:37 ` Jan Beulich
1 sibling, 1 reply; 22+ messages in thread
From: Andrew Cooper @ 2024-07-08 8:32 UTC (permalink / raw)
To: Jürgen Groß, xen-devel@lists.xenproject.org
On 08/07/2024 9:15 am, Jürgen Groß wrote:
> I've got an internal report about failures in dom0 when booting with
> Xen on a Thinkpad P14s Gen 3 AMD (kernel 6.9).
>
> With some debugging I've found that the UCSI driver seems to fail to
> map MFN feec2 as iomem, as the hypervisor is denying this mapping due
> to being part of the MSI space. The mapping attempt seems to be the
> result of an ACPI call of the UCSI driver:
>
> [ 44.575345] RIP: e030:xen_mc_flush+0x1e8/0x2b0
> [ 44.575418] xen_leave_lazy_mmu+0x15/0x60
> [ 44.575425] vmap_range_noflush+0x408/0x6f0
> [ 44.575438] __ioremap_caller+0x20d/0x350
> [ 44.575450] acpi_os_map_iomem+0x1a3/0x1c0
> [ 44.575454] acpi_ex_system_memory_space_handler+0x229/0x3f0
> [ 44.575464] acpi_ev_address_space_dispatch+0x17e/0x4c0
> [ 44.575474] acpi_ex_access_region+0x28a/0x510
> [ 44.575479] acpi_ex_field_datum_io+0x95/0x5c0
> [ 44.575482] acpi_ex_extract_from_field+0x36b/0x4e0
> [ 44.575490] acpi_ex_read_data_from_field+0xcb/0x430
> [ 44.575493] acpi_ex_resolve_node_to_value+0x2e0/0x530
> [ 44.575496] acpi_ex_resolve_to_value+0x1e7/0x550
> [ 44.575499] acpi_ds_evaluate_name_path+0x107/0x170
> [ 44.575505] acpi_ds_exec_end_op+0x392/0x860
> [ 44.575508] acpi_ps_parse_loop+0x268/0xa30
> [ 44.575515] acpi_ps_parse_aml+0x221/0x5e0
> [ 44.575518] acpi_ps_execute_method+0x171/0x3e0
> [ 44.575522] acpi_ns_evaluate+0x174/0x5d0
> [ 44.575525] acpi_evaluate_object+0x167/0x440
> [ 44.575529] acpi_evaluate_dsm+0xb6/0x130
> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
> [ 44.575546] ucsi_acpi_read+0x2e/0x60
> [ 44.575550] ucsi_register+0x24/0xa0
> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
> [ 44.575559] platform_probe+0x48/0x90
> [ 44.575567] really_probe+0xde/0x340
> [ 44.575579] __driver_probe_device+0x78/0x110
> [ 44.575581] driver_probe_device+0x1f/0x90
> [ 44.575584] __driver_attach+0xd2/0x1c0
> [ 44.575587] bus_for_each_dev+0x77/0xc0
> [ 44.575590] bus_add_driver+0x112/0x1f0
> [ 44.575593] driver_register+0x72/0xd0
> [ 44.575600] do_one_initcall+0x48/0x300
> [ 44.575607] do_init_module+0x60/0x220
> [ 44.575615] __do_sys_init_module+0x17f/0x1b0
> [ 44.575623] do_syscall_64+0x82/0x170
> [ 44.575685] 1 of 1 multicall(s) failed: cpu 4
> [ 44.575695] call 1: op=1 result=-1
> caller=xen_extend_mmu_update+0x4e/0xd0 pars=ffff888267e25ad0 1 0 7ff0
> args=9ba37a678 80000000feec2073
>
> The pte value of the mmu_update call is 80000000feec2073, which is
> rejected by
> the hypervisor with -EPERM.
>
> Before diving deep into the UCSI internals, is it possible that the
> hypervisor
> needs some update (IOW: could it be the mapping attempt should rather be
> honored, as there might be an I/O resources at this position which
> dom0 needs
> to access for using the related hardware?)
>
It's only MSI space for external accesses. For CPU accesses its other
things, notably the LAPIC MMIO window.
Do we know what this range is supposed to be for? I do find it
surprising for a USB BAR to be here.
~Andrew
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-08 8:15 Problems in PV dom0 on recent x86 hardware Jürgen Groß
2024-07-08 8:32 ` Andrew Cooper
@ 2024-07-08 8:37 ` Jan Beulich
2024-07-08 9:08 ` Roger Pau Monné
1 sibling, 1 reply; 22+ messages in thread
From: Jan Beulich @ 2024-07-08 8:37 UTC (permalink / raw)
To: Jürgen Groß; +Cc: xen-devel@lists.xenproject.org
On 08.07.2024 10:15, Jürgen Groß wrote:
> I've got an internal report about failures in dom0 when booting with
> Xen on a Thinkpad P14s Gen 3 AMD (kernel 6.9).
>
> With some debugging I've found that the UCSI driver seems to fail to
> map MFN feec2 as iomem, as the hypervisor is denying this mapping due
> to being part of the MSI space. The mapping attempt seems to be the
> result of an ACPI call of the UCSI driver:
>
> [ 44.575345] RIP: e030:xen_mc_flush+0x1e8/0x2b0
> [ 44.575418] xen_leave_lazy_mmu+0x15/0x60
> [ 44.575425] vmap_range_noflush+0x408/0x6f0
> [ 44.575438] __ioremap_caller+0x20d/0x350
> [ 44.575450] acpi_os_map_iomem+0x1a3/0x1c0
> [ 44.575454] acpi_ex_system_memory_space_handler+0x229/0x3f0
> [ 44.575464] acpi_ev_address_space_dispatch+0x17e/0x4c0
> [ 44.575474] acpi_ex_access_region+0x28a/0x510
> [ 44.575479] acpi_ex_field_datum_io+0x95/0x5c0
> [ 44.575482] acpi_ex_extract_from_field+0x36b/0x4e0
> [ 44.575490] acpi_ex_read_data_from_field+0xcb/0x430
> [ 44.575493] acpi_ex_resolve_node_to_value+0x2e0/0x530
> [ 44.575496] acpi_ex_resolve_to_value+0x1e7/0x550
> [ 44.575499] acpi_ds_evaluate_name_path+0x107/0x170
> [ 44.575505] acpi_ds_exec_end_op+0x392/0x860
> [ 44.575508] acpi_ps_parse_loop+0x268/0xa30
> [ 44.575515] acpi_ps_parse_aml+0x221/0x5e0
> [ 44.575518] acpi_ps_execute_method+0x171/0x3e0
> [ 44.575522] acpi_ns_evaluate+0x174/0x5d0
> [ 44.575525] acpi_evaluate_object+0x167/0x440
> [ 44.575529] acpi_evaluate_dsm+0xb6/0x130
> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
> [ 44.575546] ucsi_acpi_read+0x2e/0x60
> [ 44.575550] ucsi_register+0x24/0xa0
> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
> [ 44.575559] platform_probe+0x48/0x90
> [ 44.575567] really_probe+0xde/0x340
> [ 44.575579] __driver_probe_device+0x78/0x110
> [ 44.575581] driver_probe_device+0x1f/0x90
> [ 44.575584] __driver_attach+0xd2/0x1c0
> [ 44.575587] bus_for_each_dev+0x77/0xc0
> [ 44.575590] bus_add_driver+0x112/0x1f0
> [ 44.575593] driver_register+0x72/0xd0
> [ 44.575600] do_one_initcall+0x48/0x300
> [ 44.575607] do_init_module+0x60/0x220
> [ 44.575615] __do_sys_init_module+0x17f/0x1b0
> [ 44.575623] do_syscall_64+0x82/0x170
> [ 44.575685] 1 of 1 multicall(s) failed: cpu 4
> [ 44.575695] call 1: op=1 result=-1 caller=xen_extend_mmu_update+0x4e/0xd0
> pars=ffff888267e25ad0 1 0 7ff0 args=9ba37a678 80000000feec2073
>
> The pte value of the mmu_update call is 80000000feec2073, which is rejected by
> the hypervisor with -EPERM.
>
> Before diving deep into the UCSI internals, is it possible that the hypervisor
> needs some update (IOW: could it be the mapping attempt should rather be
> honored, as there might be an I/O resources at this position which dom0 needs
> to access for using the related hardware?)
Adding to Andrew's reply: Is there any BAR in the system covering that address?
Or is it rather ACPI "making up" that address (which would remind me of IO-APIC
space being accessed by certain incarnations of ACPI, resulting in similar
issues)?
Jan
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-08 8:32 ` Andrew Cooper
@ 2024-07-08 8:48 ` Jürgen Groß
0 siblings, 0 replies; 22+ messages in thread
From: Jürgen Groß @ 2024-07-08 8:48 UTC (permalink / raw)
To: Andrew Cooper, xen-devel@lists.xenproject.org
On 08.07.24 10:32, Andrew Cooper wrote:
> On 08/07/2024 9:15 am, Jürgen Groß wrote:
>> I've got an internal report about failures in dom0 when booting with
>> Xen on a Thinkpad P14s Gen 3 AMD (kernel 6.9).
>>
>> With some debugging I've found that the UCSI driver seems to fail to
>> map MFN feec2 as iomem, as the hypervisor is denying this mapping due
>> to being part of the MSI space. The mapping attempt seems to be the
>> result of an ACPI call of the UCSI driver:
>>
>> [ 44.575345] RIP: e030:xen_mc_flush+0x1e8/0x2b0
>> [ 44.575418] xen_leave_lazy_mmu+0x15/0x60
>> [ 44.575425] vmap_range_noflush+0x408/0x6f0
>> [ 44.575438] __ioremap_caller+0x20d/0x350
>> [ 44.575450] acpi_os_map_iomem+0x1a3/0x1c0
>> [ 44.575454] acpi_ex_system_memory_space_handler+0x229/0x3f0
>> [ 44.575464] acpi_ev_address_space_dispatch+0x17e/0x4c0
>> [ 44.575474] acpi_ex_access_region+0x28a/0x510
>> [ 44.575479] acpi_ex_field_datum_io+0x95/0x5c0
>> [ 44.575482] acpi_ex_extract_from_field+0x36b/0x4e0
>> [ 44.575490] acpi_ex_read_data_from_field+0xcb/0x430
>> [ 44.575493] acpi_ex_resolve_node_to_value+0x2e0/0x530
>> [ 44.575496] acpi_ex_resolve_to_value+0x1e7/0x550
>> [ 44.575499] acpi_ds_evaluate_name_path+0x107/0x170
>> [ 44.575505] acpi_ds_exec_end_op+0x392/0x860
>> [ 44.575508] acpi_ps_parse_loop+0x268/0xa30
>> [ 44.575515] acpi_ps_parse_aml+0x221/0x5e0
>> [ 44.575518] acpi_ps_execute_method+0x171/0x3e0
>> [ 44.575522] acpi_ns_evaluate+0x174/0x5d0
>> [ 44.575525] acpi_evaluate_object+0x167/0x440
>> [ 44.575529] acpi_evaluate_dsm+0xb6/0x130
>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>> [ 44.575550] ucsi_register+0x24/0xa0
>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>> [ 44.575559] platform_probe+0x48/0x90
>> [ 44.575567] really_probe+0xde/0x340
>> [ 44.575579] __driver_probe_device+0x78/0x110
>> [ 44.575581] driver_probe_device+0x1f/0x90
>> [ 44.575584] __driver_attach+0xd2/0x1c0
>> [ 44.575587] bus_for_each_dev+0x77/0xc0
>> [ 44.575590] bus_add_driver+0x112/0x1f0
>> [ 44.575593] driver_register+0x72/0xd0
>> [ 44.575600] do_one_initcall+0x48/0x300
>> [ 44.575607] do_init_module+0x60/0x220
>> [ 44.575615] __do_sys_init_module+0x17f/0x1b0
>> [ 44.575623] do_syscall_64+0x82/0x170
>> [ 44.575685] 1 of 1 multicall(s) failed: cpu 4
>> [ 44.575695] call 1: op=1 result=-1
>> caller=xen_extend_mmu_update+0x4e/0xd0 pars=ffff888267e25ad0 1 0 7ff0
>> args=9ba37a678 80000000feec2073
>>
>> The pte value of the mmu_update call is 80000000feec2073, which is
>> rejected by
>> the hypervisor with -EPERM.
>>
>> Before diving deep into the UCSI internals, is it possible that the
>> hypervisor
>> needs some update (IOW: could it be the mapping attempt should rather be
>> honored, as there might be an I/O resources at this position which
>> dom0 needs
>> to access for using the related hardware?)
>>
>
> It's only MSI space for external accesses. For CPU accesses its other
> things, notably the LAPIC MMIO window.
>
> Do we know what this range is supposed to be for? I do find it
> surprising for a USB BAR to be here.
I have requested more information from a bare metal boot, especially
/proc/iomem and output of lspci -v.
Juergen
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-08 8:37 ` Jan Beulich
@ 2024-07-08 9:08 ` Roger Pau Monné
2024-07-08 9:12 ` Jan Beulich
0 siblings, 1 reply; 22+ messages in thread
From: Roger Pau Monné @ 2024-07-08 9:08 UTC (permalink / raw)
To: Jan Beulich; +Cc: Jürgen Groß, xen-devel@lists.xenproject.org
On Mon, Jul 08, 2024 at 10:37:22AM +0200, Jan Beulich wrote:
> On 08.07.2024 10:15, Jürgen Groß wrote:
> > I've got an internal report about failures in dom0 when booting with
> > Xen on a Thinkpad P14s Gen 3 AMD (kernel 6.9).
> >
> > With some debugging I've found that the UCSI driver seems to fail to
> > map MFN feec2 as iomem, as the hypervisor is denying this mapping due
> > to being part of the MSI space. The mapping attempt seems to be the
> > result of an ACPI call of the UCSI driver:
> >
> > [ 44.575345] RIP: e030:xen_mc_flush+0x1e8/0x2b0
> > [ 44.575418] xen_leave_lazy_mmu+0x15/0x60
> > [ 44.575425] vmap_range_noflush+0x408/0x6f0
> > [ 44.575438] __ioremap_caller+0x20d/0x350
> > [ 44.575450] acpi_os_map_iomem+0x1a3/0x1c0
> > [ 44.575454] acpi_ex_system_memory_space_handler+0x229/0x3f0
> > [ 44.575464] acpi_ev_address_space_dispatch+0x17e/0x4c0
> > [ 44.575474] acpi_ex_access_region+0x28a/0x510
> > [ 44.575479] acpi_ex_field_datum_io+0x95/0x5c0
> > [ 44.575482] acpi_ex_extract_from_field+0x36b/0x4e0
> > [ 44.575490] acpi_ex_read_data_from_field+0xcb/0x430
> > [ 44.575493] acpi_ex_resolve_node_to_value+0x2e0/0x530
> > [ 44.575496] acpi_ex_resolve_to_value+0x1e7/0x550
> > [ 44.575499] acpi_ds_evaluate_name_path+0x107/0x170
> > [ 44.575505] acpi_ds_exec_end_op+0x392/0x860
> > [ 44.575508] acpi_ps_parse_loop+0x268/0xa30
> > [ 44.575515] acpi_ps_parse_aml+0x221/0x5e0
> > [ 44.575518] acpi_ps_execute_method+0x171/0x3e0
> > [ 44.575522] acpi_ns_evaluate+0x174/0x5d0
> > [ 44.575525] acpi_evaluate_object+0x167/0x440
> > [ 44.575529] acpi_evaluate_dsm+0xb6/0x130
> > [ 44.575541] ucsi_acpi_dsm+0x53/0x80
> > [ 44.575546] ucsi_acpi_read+0x2e/0x60
> > [ 44.575550] ucsi_register+0x24/0xa0
> > [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
> > [ 44.575559] platform_probe+0x48/0x90
> > [ 44.575567] really_probe+0xde/0x340
> > [ 44.575579] __driver_probe_device+0x78/0x110
> > [ 44.575581] driver_probe_device+0x1f/0x90
> > [ 44.575584] __driver_attach+0xd2/0x1c0
> > [ 44.575587] bus_for_each_dev+0x77/0xc0
> > [ 44.575590] bus_add_driver+0x112/0x1f0
> > [ 44.575593] driver_register+0x72/0xd0
> > [ 44.575600] do_one_initcall+0x48/0x300
> > [ 44.575607] do_init_module+0x60/0x220
> > [ 44.575615] __do_sys_init_module+0x17f/0x1b0
> > [ 44.575623] do_syscall_64+0x82/0x170
> > [ 44.575685] 1 of 1 multicall(s) failed: cpu 4
> > [ 44.575695] call 1: op=1 result=-1 caller=xen_extend_mmu_update+0x4e/0xd0
> > pars=ffff888267e25ad0 1 0 7ff0 args=9ba37a678 80000000feec2073
> >
> > The pte value of the mmu_update call is 80000000feec2073, which is rejected by
> > the hypervisor with -EPERM.
> >
> > Before diving deep into the UCSI internals, is it possible that the hypervisor
> > needs some update (IOW: could it be the mapping attempt should rather be
> > honored, as there might be an I/O resources at this position which dom0 needs
> > to access for using the related hardware?)
>
> Adding to Andrew's reply: Is there any BAR in the system covering that address?
> Or is it rather ACPI "making up" that address (which would remind me of IO-APIC
> space being accessed by certain incarnations of ACPI, resulting in similar
> issues)?
So you think ACPI is using some kind of backdoor to access the local
APIC registers?
It's my understanding the local APIC registers are all located in the
first page of the range (0xfee00). It would also be weird because
ACPI doesn't know whether the APIC is in x2APIC mode.
Roger.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-08 9:08 ` Roger Pau Monné
@ 2024-07-08 9:12 ` Jan Beulich
2024-07-08 21:30 ` Jason Andryuk
0 siblings, 1 reply; 22+ messages in thread
From: Jan Beulich @ 2024-07-08 9:12 UTC (permalink / raw)
To: Roger Pau Monné
Cc: Jürgen Groß, xen-devel@lists.xenproject.org
On 08.07.2024 11:08, Roger Pau Monné wrote:
> On Mon, Jul 08, 2024 at 10:37:22AM +0200, Jan Beulich wrote:
>> On 08.07.2024 10:15, Jürgen Groß wrote:
>>> I've got an internal report about failures in dom0 when booting with
>>> Xen on a Thinkpad P14s Gen 3 AMD (kernel 6.9).
>>>
>>> With some debugging I've found that the UCSI driver seems to fail to
>>> map MFN feec2 as iomem, as the hypervisor is denying this mapping due
>>> to being part of the MSI space. The mapping attempt seems to be the
>>> result of an ACPI call of the UCSI driver:
>>>
>>> [ 44.575345] RIP: e030:xen_mc_flush+0x1e8/0x2b0
>>> [ 44.575418] xen_leave_lazy_mmu+0x15/0x60
>>> [ 44.575425] vmap_range_noflush+0x408/0x6f0
>>> [ 44.575438] __ioremap_caller+0x20d/0x350
>>> [ 44.575450] acpi_os_map_iomem+0x1a3/0x1c0
>>> [ 44.575454] acpi_ex_system_memory_space_handler+0x229/0x3f0
>>> [ 44.575464] acpi_ev_address_space_dispatch+0x17e/0x4c0
>>> [ 44.575474] acpi_ex_access_region+0x28a/0x510
>>> [ 44.575479] acpi_ex_field_datum_io+0x95/0x5c0
>>> [ 44.575482] acpi_ex_extract_from_field+0x36b/0x4e0
>>> [ 44.575490] acpi_ex_read_data_from_field+0xcb/0x430
>>> [ 44.575493] acpi_ex_resolve_node_to_value+0x2e0/0x530
>>> [ 44.575496] acpi_ex_resolve_to_value+0x1e7/0x550
>>> [ 44.575499] acpi_ds_evaluate_name_path+0x107/0x170
>>> [ 44.575505] acpi_ds_exec_end_op+0x392/0x860
>>> [ 44.575508] acpi_ps_parse_loop+0x268/0xa30
>>> [ 44.575515] acpi_ps_parse_aml+0x221/0x5e0
>>> [ 44.575518] acpi_ps_execute_method+0x171/0x3e0
>>> [ 44.575522] acpi_ns_evaluate+0x174/0x5d0
>>> [ 44.575525] acpi_evaluate_object+0x167/0x440
>>> [ 44.575529] acpi_evaluate_dsm+0xb6/0x130
>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>> [ 44.575550] ucsi_register+0x24/0xa0
>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>> [ 44.575559] platform_probe+0x48/0x90
>>> [ 44.575567] really_probe+0xde/0x340
>>> [ 44.575579] __driver_probe_device+0x78/0x110
>>> [ 44.575581] driver_probe_device+0x1f/0x90
>>> [ 44.575584] __driver_attach+0xd2/0x1c0
>>> [ 44.575587] bus_for_each_dev+0x77/0xc0
>>> [ 44.575590] bus_add_driver+0x112/0x1f0
>>> [ 44.575593] driver_register+0x72/0xd0
>>> [ 44.575600] do_one_initcall+0x48/0x300
>>> [ 44.575607] do_init_module+0x60/0x220
>>> [ 44.575615] __do_sys_init_module+0x17f/0x1b0
>>> [ 44.575623] do_syscall_64+0x82/0x170
>>> [ 44.575685] 1 of 1 multicall(s) failed: cpu 4
>>> [ 44.575695] call 1: op=1 result=-1 caller=xen_extend_mmu_update+0x4e/0xd0
>>> pars=ffff888267e25ad0 1 0 7ff0 args=9ba37a678 80000000feec2073
>>>
>>> The pte value of the mmu_update call is 80000000feec2073, which is rejected by
>>> the hypervisor with -EPERM.
>>>
>>> Before diving deep into the UCSI internals, is it possible that the hypervisor
>>> needs some update (IOW: could it be the mapping attempt should rather be
>>> honored, as there might be an I/O resources at this position which dom0 needs
>>> to access for using the related hardware?)
>>
>> Adding to Andrew's reply: Is there any BAR in the system covering that address?
>> Or is it rather ACPI "making up" that address (which would remind me of IO-APIC
>> space being accessed by certain incarnations of ACPI, resulting in similar
>> issues)?
>
> So you think ACPI is using some kind of backdoor to access the local
> APIC registers?
No, I'm wondering if they're trying to access *something*. As it stands we
don't even know what kind of access is intended; all we know is that they're
trying to map that page (and maybe adjacent ones).
> It's my understanding the local APIC registers are all located in the
> first page of the range (0xfee00). It would also be weird because
> ACPI doesn't know whether the APIC is in x2APIC mode.
Indeed.
Jan
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-08 9:12 ` Jan Beulich
@ 2024-07-08 21:30 ` Jason Andryuk
2024-07-09 6:24 ` Jan Beulich
0 siblings, 1 reply; 22+ messages in thread
From: Jason Andryuk @ 2024-07-08 21:30 UTC (permalink / raw)
To: Jan Beulich, Roger Pau Monné
Cc: Jürgen Groß, xen-devel@lists.xenproject.org
On 2024-07-08 05:12, Jan Beulich wrote:
> On 08.07.2024 11:08, Roger Pau Monné wrote:
>> On Mon, Jul 08, 2024 at 10:37:22AM +0200, Jan Beulich wrote:
>>> On 08.07.2024 10:15, Jürgen Groß wrote:
>>>> I've got an internal report about failures in dom0 when booting with
>>>> Xen on a Thinkpad P14s Gen 3 AMD (kernel 6.9).
>>>>
>>>> With some debugging I've found that the UCSI driver seems to fail to
>>>> map MFN feec2 as iomem, as the hypervisor is denying this mapping due
>>>> to being part of the MSI space. The mapping attempt seems to be the
>>>> result of an ACPI call of the UCSI driver:
>>>>
>>>> [ 44.575345] RIP: e030:xen_mc_flush+0x1e8/0x2b0
>>>> [ 44.575418] xen_leave_lazy_mmu+0x15/0x60
>>>> [ 44.575425] vmap_range_noflush+0x408/0x6f0
>>>> [ 44.575438] __ioremap_caller+0x20d/0x350
>>>> [ 44.575450] acpi_os_map_iomem+0x1a3/0x1c0
>>>> [ 44.575454] acpi_ex_system_memory_space_handler+0x229/0x3f0
>>>> [ 44.575464] acpi_ev_address_space_dispatch+0x17e/0x4c0
>>>> [ 44.575474] acpi_ex_access_region+0x28a/0x510
>>>> [ 44.575479] acpi_ex_field_datum_io+0x95/0x5c0
>>>> [ 44.575482] acpi_ex_extract_from_field+0x36b/0x4e0
>>>> [ 44.575490] acpi_ex_read_data_from_field+0xcb/0x430
>>>> [ 44.575493] acpi_ex_resolve_node_to_value+0x2e0/0x530
>>>> [ 44.575496] acpi_ex_resolve_to_value+0x1e7/0x550
>>>> [ 44.575499] acpi_ds_evaluate_name_path+0x107/0x170
>>>> [ 44.575505] acpi_ds_exec_end_op+0x392/0x860
>>>> [ 44.575508] acpi_ps_parse_loop+0x268/0xa30
>>>> [ 44.575515] acpi_ps_parse_aml+0x221/0x5e0
>>>> [ 44.575518] acpi_ps_execute_method+0x171/0x3e0
>>>> [ 44.575522] acpi_ns_evaluate+0x174/0x5d0
>>>> [ 44.575525] acpi_evaluate_object+0x167/0x440
>>>> [ 44.575529] acpi_evaluate_dsm+0xb6/0x130
>>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>>> [ 44.575550] ucsi_register+0x24/0xa0
>>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>> [ 44.575559] platform_probe+0x48/0x90
>>>> [ 44.575567] really_probe+0xde/0x340
>>>> [ 44.575579] __driver_probe_device+0x78/0x110
>>>> [ 44.575581] driver_probe_device+0x1f/0x90
>>>> [ 44.575584] __driver_attach+0xd2/0x1c0
>>>> [ 44.575587] bus_for_each_dev+0x77/0xc0
>>>> [ 44.575590] bus_add_driver+0x112/0x1f0
>>>> [ 44.575593] driver_register+0x72/0xd0
>>>> [ 44.575600] do_one_initcall+0x48/0x300
>>>> [ 44.575607] do_init_module+0x60/0x220
>>>> [ 44.575615] __do_sys_init_module+0x17f/0x1b0
>>>> [ 44.575623] do_syscall_64+0x82/0x170
>>>> [ 44.575685] 1 of 1 multicall(s) failed: cpu 4
>>>> [ 44.575695] call 1: op=1 result=-1 caller=xen_extend_mmu_update+0x4e/0xd0
>>>> pars=ffff888267e25ad0 1 0 7ff0 args=9ba37a678 80000000feec2073
>>>>
>>>> The pte value of the mmu_update call is 80000000feec2073, which is rejected by
>>>> the hypervisor with -EPERM.
>>>>
>>>> Before diving deep into the UCSI internals, is it possible that the hypervisor
>>>> needs some update (IOW: could it be the mapping attempt should rather be
>>>> honored, as there might be an I/O resources at this position which dom0 needs
>>>> to access for using the related hardware?)
>>>
>>> Adding to Andrew's reply: Is there any BAR in the system covering that address?
>>> Or is it rather ACPI "making up" that address (which would remind me of IO-APIC
>>> space being accessed by certain incarnations of ACPI, resulting in similar
>>> issues)?
>>
>> So you think ACPI is using some kind of backdoor to access the local
>> APIC registers?
>
> No, I'm wondering if they're trying to access *something*. As it stands we
> don't even know what kind of access is intended; all we know is that they're
> trying to map that page (and maybe adjacent ones).
From the backtrace, it looks like the immediate case is just trying to
read a 4-byte version:
>>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>>> [ 44.575550] ucsi_register+0x24/0xa0
>>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
int ucsi_register(struct ucsi *ucsi)
{
int ret;
ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
sizeof(ucsi->version));
->read being ucsi_acpi_read()
However, the driver also appears write to adjacent addresses.
Regards,
Jason
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-08 21:30 ` Jason Andryuk
@ 2024-07-09 6:24 ` Jan Beulich
2024-07-09 6:36 ` Jürgen Groß
2024-07-09 7:13 ` Roger Pau Monné
0 siblings, 2 replies; 22+ messages in thread
From: Jan Beulich @ 2024-07-09 6:24 UTC (permalink / raw)
To: Jason Andryuk
Cc: Jürgen Groß, xen-devel@lists.xenproject.org,
Roger Pau Monné
On 08.07.2024 23:30, Jason Andryuk wrote:
> On 2024-07-08 05:12, Jan Beulich wrote:
>> On 08.07.2024 11:08, Roger Pau Monné wrote:
>>> On Mon, Jul 08, 2024 at 10:37:22AM +0200, Jan Beulich wrote:
>>>> On 08.07.2024 10:15, Jürgen Groß wrote:
>>>>> I've got an internal report about failures in dom0 when booting with
>>>>> Xen on a Thinkpad P14s Gen 3 AMD (kernel 6.9).
>>>>>
>>>>> With some debugging I've found that the UCSI driver seems to fail to
>>>>> map MFN feec2 as iomem, as the hypervisor is denying this mapping due
>>>>> to being part of the MSI space. The mapping attempt seems to be the
>>>>> result of an ACPI call of the UCSI driver:
>>>>>
>>>>> [ 44.575345] RIP: e030:xen_mc_flush+0x1e8/0x2b0
>>>>> [ 44.575418] xen_leave_lazy_mmu+0x15/0x60
>>>>> [ 44.575425] vmap_range_noflush+0x408/0x6f0
>>>>> [ 44.575438] __ioremap_caller+0x20d/0x350
>>>>> [ 44.575450] acpi_os_map_iomem+0x1a3/0x1c0
>>>>> [ 44.575454] acpi_ex_system_memory_space_handler+0x229/0x3f0
>>>>> [ 44.575464] acpi_ev_address_space_dispatch+0x17e/0x4c0
>>>>> [ 44.575474] acpi_ex_access_region+0x28a/0x510
>>>>> [ 44.575479] acpi_ex_field_datum_io+0x95/0x5c0
>>>>> [ 44.575482] acpi_ex_extract_from_field+0x36b/0x4e0
>>>>> [ 44.575490] acpi_ex_read_data_from_field+0xcb/0x430
>>>>> [ 44.575493] acpi_ex_resolve_node_to_value+0x2e0/0x530
>>>>> [ 44.575496] acpi_ex_resolve_to_value+0x1e7/0x550
>>>>> [ 44.575499] acpi_ds_evaluate_name_path+0x107/0x170
>>>>> [ 44.575505] acpi_ds_exec_end_op+0x392/0x860
>>>>> [ 44.575508] acpi_ps_parse_loop+0x268/0xa30
>>>>> [ 44.575515] acpi_ps_parse_aml+0x221/0x5e0
>>>>> [ 44.575518] acpi_ps_execute_method+0x171/0x3e0
>>>>> [ 44.575522] acpi_ns_evaluate+0x174/0x5d0
>>>>> [ 44.575525] acpi_evaluate_object+0x167/0x440
>>>>> [ 44.575529] acpi_evaluate_dsm+0xb6/0x130
>>>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>>>> [ 44.575550] ucsi_register+0x24/0xa0
>>>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>>> [ 44.575559] platform_probe+0x48/0x90
>>>>> [ 44.575567] really_probe+0xde/0x340
>>>>> [ 44.575579] __driver_probe_device+0x78/0x110
>>>>> [ 44.575581] driver_probe_device+0x1f/0x90
>>>>> [ 44.575584] __driver_attach+0xd2/0x1c0
>>>>> [ 44.575587] bus_for_each_dev+0x77/0xc0
>>>>> [ 44.575590] bus_add_driver+0x112/0x1f0
>>>>> [ 44.575593] driver_register+0x72/0xd0
>>>>> [ 44.575600] do_one_initcall+0x48/0x300
>>>>> [ 44.575607] do_init_module+0x60/0x220
>>>>> [ 44.575615] __do_sys_init_module+0x17f/0x1b0
>>>>> [ 44.575623] do_syscall_64+0x82/0x170
>>>>> [ 44.575685] 1 of 1 multicall(s) failed: cpu 4
>>>>> [ 44.575695] call 1: op=1 result=-1 caller=xen_extend_mmu_update+0x4e/0xd0
>>>>> pars=ffff888267e25ad0 1 0 7ff0 args=9ba37a678 80000000feec2073
>>>>>
>>>>> The pte value of the mmu_update call is 80000000feec2073, which is rejected by
>>>>> the hypervisor with -EPERM.
>>>>>
>>>>> Before diving deep into the UCSI internals, is it possible that the hypervisor
>>>>> needs some update (IOW: could it be the mapping attempt should rather be
>>>>> honored, as there might be an I/O resources at this position which dom0 needs
>>>>> to access for using the related hardware?)
>>>>
>>>> Adding to Andrew's reply: Is there any BAR in the system covering that address?
>>>> Or is it rather ACPI "making up" that address (which would remind me of IO-APIC
>>>> space being accessed by certain incarnations of ACPI, resulting in similar
>>>> issues)?
>>>
>>> So you think ACPI is using some kind of backdoor to access the local
>>> APIC registers?
>>
>> No, I'm wondering if they're trying to access *something*. As it stands we
>> don't even know what kind of access is intended; all we know is that they're
>> trying to map that page (and maybe adjacent ones).
>
> From the backtrace, it looks like the immediate case is just trying to
> read a 4-byte version:
>
> >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
> >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
> >>>> [ 44.575550] ucsi_register+0x24/0xa0
> >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>
> int ucsi_register(struct ucsi *ucsi)
> {
> int ret;
>
> ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
> sizeof(ucsi->version));
>
> ->read being ucsi_acpi_read()
>
> However, the driver also appears write to adjacent addresses.
There are also corresponding write functions in the driver, yes, but
ucsi_acpi_async_write() (used directly or indirectly) similarly calls
ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
ACPI object evaluation, which isn't obvious without seeing the
involved AML whether it might write said memory region. The writing
done in the write function(s) looks to be
memcpy(ua->base + offset, val, val_len);
with their read counterpart being
memcpy(val, ua->base + offset, val_len);
where ua->base may well be an entirely different address (looks like
it's the first of the BARs as per ucsi_acpi_probe()).
If acpi_evaluate_dsm() would only ever read the region, an option (if
all else fails) might be to similarly (to what we do for IO-APICs)
permit read accesses / mappings (by inserting the range into
mmio_ro_ranges). Yet of course first we need to better understand
what's actually going on here.
Jan
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-09 6:24 ` Jan Beulich
@ 2024-07-09 6:36 ` Jürgen Groß
2024-07-09 7:01 ` Jan Beulich
2024-07-09 7:13 ` Roger Pau Monné
1 sibling, 1 reply; 22+ messages in thread
From: Jürgen Groß @ 2024-07-09 6:36 UTC (permalink / raw)
To: Jan Beulich, Jason Andryuk
Cc: xen-devel@lists.xenproject.org, Roger Pau Monné
On 09.07.24 08:24, Jan Beulich wrote:
> On 08.07.2024 23:30, Jason Andryuk wrote:
>> On 2024-07-08 05:12, Jan Beulich wrote:
>>> On 08.07.2024 11:08, Roger Pau Monné wrote:
>>>> On Mon, Jul 08, 2024 at 10:37:22AM +0200, Jan Beulich wrote:
>>>>> On 08.07.2024 10:15, Jürgen Groß wrote:
>>>>>> I've got an internal report about failures in dom0 when booting with
>>>>>> Xen on a Thinkpad P14s Gen 3 AMD (kernel 6.9).
>>>>>>
>>>>>> With some debugging I've found that the UCSI driver seems to fail to
>>>>>> map MFN feec2 as iomem, as the hypervisor is denying this mapping due
>>>>>> to being part of the MSI space. The mapping attempt seems to be the
>>>>>> result of an ACPI call of the UCSI driver:
>>>>>>
>>>>>> [ 44.575345] RIP: e030:xen_mc_flush+0x1e8/0x2b0
>>>>>> [ 44.575418] xen_leave_lazy_mmu+0x15/0x60
>>>>>> [ 44.575425] vmap_range_noflush+0x408/0x6f0
>>>>>> [ 44.575438] __ioremap_caller+0x20d/0x350
>>>>>> [ 44.575450] acpi_os_map_iomem+0x1a3/0x1c0
>>>>>> [ 44.575454] acpi_ex_system_memory_space_handler+0x229/0x3f0
>>>>>> [ 44.575464] acpi_ev_address_space_dispatch+0x17e/0x4c0
>>>>>> [ 44.575474] acpi_ex_access_region+0x28a/0x510
>>>>>> [ 44.575479] acpi_ex_field_datum_io+0x95/0x5c0
>>>>>> [ 44.575482] acpi_ex_extract_from_field+0x36b/0x4e0
>>>>>> [ 44.575490] acpi_ex_read_data_from_field+0xcb/0x430
>>>>>> [ 44.575493] acpi_ex_resolve_node_to_value+0x2e0/0x530
>>>>>> [ 44.575496] acpi_ex_resolve_to_value+0x1e7/0x550
>>>>>> [ 44.575499] acpi_ds_evaluate_name_path+0x107/0x170
>>>>>> [ 44.575505] acpi_ds_exec_end_op+0x392/0x860
>>>>>> [ 44.575508] acpi_ps_parse_loop+0x268/0xa30
>>>>>> [ 44.575515] acpi_ps_parse_aml+0x221/0x5e0
>>>>>> [ 44.575518] acpi_ps_execute_method+0x171/0x3e0
>>>>>> [ 44.575522] acpi_ns_evaluate+0x174/0x5d0
>>>>>> [ 44.575525] acpi_evaluate_object+0x167/0x440
>>>>>> [ 44.575529] acpi_evaluate_dsm+0xb6/0x130
>>>>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>>>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>>>>> [ 44.575550] ucsi_register+0x24/0xa0
>>>>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>>>> [ 44.575559] platform_probe+0x48/0x90
>>>>>> [ 44.575567] really_probe+0xde/0x340
>>>>>> [ 44.575579] __driver_probe_device+0x78/0x110
>>>>>> [ 44.575581] driver_probe_device+0x1f/0x90
>>>>>> [ 44.575584] __driver_attach+0xd2/0x1c0
>>>>>> [ 44.575587] bus_for_each_dev+0x77/0xc0
>>>>>> [ 44.575590] bus_add_driver+0x112/0x1f0
>>>>>> [ 44.575593] driver_register+0x72/0xd0
>>>>>> [ 44.575600] do_one_initcall+0x48/0x300
>>>>>> [ 44.575607] do_init_module+0x60/0x220
>>>>>> [ 44.575615] __do_sys_init_module+0x17f/0x1b0
>>>>>> [ 44.575623] do_syscall_64+0x82/0x170
>>>>>> [ 44.575685] 1 of 1 multicall(s) failed: cpu 4
>>>>>> [ 44.575695] call 1: op=1 result=-1 caller=xen_extend_mmu_update+0x4e/0xd0
>>>>>> pars=ffff888267e25ad0 1 0 7ff0 args=9ba37a678 80000000feec2073
>>>>>>
>>>>>> The pte value of the mmu_update call is 80000000feec2073, which is rejected by
>>>>>> the hypervisor with -EPERM.
>>>>>>
>>>>>> Before diving deep into the UCSI internals, is it possible that the hypervisor
>>>>>> needs some update (IOW: could it be the mapping attempt should rather be
>>>>>> honored, as there might be an I/O resources at this position which dom0 needs
>>>>>> to access for using the related hardware?)
>>>>>
>>>>> Adding to Andrew's reply: Is there any BAR in the system covering that address?
>>>>> Or is it rather ACPI "making up" that address (which would remind me of IO-APIC
>>>>> space being accessed by certain incarnations of ACPI, resulting in similar
>>>>> issues)?
>>>>
>>>> So you think ACPI is using some kind of backdoor to access the local
>>>> APIC registers?
>>>
>>> No, I'm wondering if they're trying to access *something*. As it stands we
>>> don't even know what kind of access is intended; all we know is that they're
>>> trying to map that page (and maybe adjacent ones).
>>
>> From the backtrace, it looks like the immediate case is just trying to
>> read a 4-byte version:
>>
>> >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>> >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>> >>>> [ 44.575550] ucsi_register+0x24/0xa0
>> >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>
>> int ucsi_register(struct ucsi *ucsi)
>> {
>> int ret;
>>
>> ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
>> sizeof(ucsi->version));
>>
>> ->read being ucsi_acpi_read()
>>
>> However, the driver also appears write to adjacent addresses.
>
> There are also corresponding write functions in the driver, yes, but
> ucsi_acpi_async_write() (used directly or indirectly) similarly calls
> ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
> ACPI object evaluation, which isn't obvious without seeing the
> involved AML whether it might write said memory region.
I guess an ACPI dump would help here?
> The writing
> done in the write function(s) looks to be
>
> memcpy(ua->base + offset, val, val_len);
>
> with their read counterpart being
>
> memcpy(val, ua->base + offset, val_len);
>
> where ua->base may well be an entirely different address (looks like
> it's the first of the BARs as per ucsi_acpi_probe()).
According to the lspci -v output there are no BARs in the MSI space:
66:00.6 USB controller: Advanced Micro Devices, Inc. [AMD] Pink Sardine
USB4/Thunderbolt NHI controller #2 (prog-if 40 [USB4 Host Interface])
Subsystem: Lenovo Device 50d9
Flags: bus master, fast devsel, latency 0, IRQ 71
Memory at 78a00000 (64-bit, non-prefetchable) [size=512K]
Capabilities: [48] Vendor Specific Information: Len=08 <?>
Capabilities: [50] Power Management version 3
Capabilities: [64] Express Endpoint, MSI 00
Capabilities: [a0] MSI: Enable- Count=1/16 Maskable- 64bit+
Capabilities: [c0] MSI-X: Enable+ Count=16 Masked-
Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
Capabilities: [2a0] Access Control Services
Kernel driver in use: thunderbolt
Kernel modules: thunderbolt
> If acpi_evaluate_dsm() would only ever read the region, an option (if
> all else fails) might be to similarly (to what we do for IO-APICs)
> permit read accesses / mappings (by inserting the range into
> mmio_ro_ranges). Yet of course first we need to better understand
> what's actually going on here.
As the mapping is currently trying to allow write access, too, the kernel
would need some modification as well.
Juergen
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-09 6:36 ` Jürgen Groß
@ 2024-07-09 7:01 ` Jan Beulich
2024-07-09 10:56 ` Jürgen Groß
0 siblings, 1 reply; 22+ messages in thread
From: Jan Beulich @ 2024-07-09 7:01 UTC (permalink / raw)
To: Jürgen Groß
Cc: xen-devel@lists.xenproject.org, Roger Pau Monné,
Jason Andryuk
On 09.07.2024 08:36, Jürgen Groß wrote:
> On 09.07.24 08:24, Jan Beulich wrote:
>> On 08.07.2024 23:30, Jason Andryuk wrote:
>>> From the backtrace, it looks like the immediate case is just trying to
>>> read a 4-byte version:
>>>
>>> >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>> >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>> >>>> [ 44.575550] ucsi_register+0x24/0xa0
>>> >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>
>>> int ucsi_register(struct ucsi *ucsi)
>>> {
>>> int ret;
>>>
>>> ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
>>> sizeof(ucsi->version));
>>>
>>> ->read being ucsi_acpi_read()
>>>
>>> However, the driver also appears write to adjacent addresses.
>>
>> There are also corresponding write functions in the driver, yes, but
>> ucsi_acpi_async_write() (used directly or indirectly) similarly calls
>> ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
>> ACPI object evaluation, which isn't obvious without seeing the
>> involved AML whether it might write said memory region.
>
> I guess an ACPI dump would help here?
Perhaps, yes.
>> The writing
>> done in the write function(s) looks to be
>>
>> memcpy(ua->base + offset, val, val_len);
>>
>> with their read counterpart being
>>
>> memcpy(val, ua->base + offset, val_len);
>>
>> where ua->base may well be an entirely different address (looks like
>> it's the first of the BARs as per ucsi_acpi_probe()).
>
> According to the lspci -v output there are no BARs in the MSI space:
>
> 66:00.6 USB controller: Advanced Micro Devices, Inc. [AMD] Pink Sardine
> USB4/Thunderbolt NHI controller #2 (prog-if 40 [USB4 Host Interface])
> Subsystem: Lenovo Device 50d9
> Flags: bus master, fast devsel, latency 0, IRQ 71
> Memory at 78a00000 (64-bit, non-prefetchable) [size=512K]
> Capabilities: [48] Vendor Specific Information: Len=08 <?>
> Capabilities: [50] Power Management version 3
> Capabilities: [64] Express Endpoint, MSI 00
> Capabilities: [a0] MSI: Enable- Count=1/16 Maskable- 64bit+
> Capabilities: [c0] MSI-X: Enable+ Count=16 Masked-
> Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
> Capabilities: [2a0] Access Control Services
> Kernel driver in use: thunderbolt
> Kernel modules: thunderbolt
Right, this matches what I was vaguely guessing from reading the code in
the driver. My present understanding is that the object evaluation
actually triggers the read/write operation to produce/consume data inside
that single BAR's space.
>> If acpi_evaluate_dsm() would only ever read the region, an option (if
>> all else fails) might be to similarly (to what we do for IO-APICs)
>> permit read accesses / mappings (by inserting the range into
>> mmio_ro_ranges). Yet of course first we need to better understand
>> what's actually going on here.
>
> As the mapping is currently trying to allow write access, too, the kernel
> would need some modification as well.
Not really, no. It would be better if the kernel didn't ask for write
access, but get_page_from_l1e() simply tells its caller to remove the
W bit from the PTE in case a page is recorded in mmio_ro_ranges. That's
also why for the IO-APIC case we got away without needing to alter the
kernel (which would likely be pretty ugly, as acpi_os_map_iomem() sits
very far away from the place where we would have a way to know that a
mapping is sufficient to be r/o; the function itself takes only
address and size right now, no permissions or cachability or anything).
Jan
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-09 6:24 ` Jan Beulich
2024-07-09 6:36 ` Jürgen Groß
@ 2024-07-09 7:13 ` Roger Pau Monné
2024-07-09 7:35 ` Jan Beulich
1 sibling, 1 reply; 22+ messages in thread
From: Roger Pau Monné @ 2024-07-09 7:13 UTC (permalink / raw)
To: Jan Beulich
Cc: Jason Andryuk, Jürgen Groß,
xen-devel@lists.xenproject.org
On Tue, Jul 09, 2024 at 08:24:20AM +0200, Jan Beulich wrote:
> On 08.07.2024 23:30, Jason Andryuk wrote:
> > On 2024-07-08 05:12, Jan Beulich wrote:
> >> On 08.07.2024 11:08, Roger Pau Monné wrote:
> >>> On Mon, Jul 08, 2024 at 10:37:22AM +0200, Jan Beulich wrote:
> >>>> On 08.07.2024 10:15, Jürgen Groß wrote:
> >>>>> I've got an internal report about failures in dom0 when booting with
> >>>>> Xen on a Thinkpad P14s Gen 3 AMD (kernel 6.9).
> >>>>>
> >>>>> With some debugging I've found that the UCSI driver seems to fail to
> >>>>> map MFN feec2 as iomem, as the hypervisor is denying this mapping due
> >>>>> to being part of the MSI space. The mapping attempt seems to be the
> >>>>> result of an ACPI call of the UCSI driver:
> >>>>>
> >>>>> [ 44.575345] RIP: e030:xen_mc_flush+0x1e8/0x2b0
> >>>>> [ 44.575418] xen_leave_lazy_mmu+0x15/0x60
> >>>>> [ 44.575425] vmap_range_noflush+0x408/0x6f0
> >>>>> [ 44.575438] __ioremap_caller+0x20d/0x350
> >>>>> [ 44.575450] acpi_os_map_iomem+0x1a3/0x1c0
> >>>>> [ 44.575454] acpi_ex_system_memory_space_handler+0x229/0x3f0
> >>>>> [ 44.575464] acpi_ev_address_space_dispatch+0x17e/0x4c0
> >>>>> [ 44.575474] acpi_ex_access_region+0x28a/0x510
> >>>>> [ 44.575479] acpi_ex_field_datum_io+0x95/0x5c0
> >>>>> [ 44.575482] acpi_ex_extract_from_field+0x36b/0x4e0
> >>>>> [ 44.575490] acpi_ex_read_data_from_field+0xcb/0x430
> >>>>> [ 44.575493] acpi_ex_resolve_node_to_value+0x2e0/0x530
> >>>>> [ 44.575496] acpi_ex_resolve_to_value+0x1e7/0x550
> >>>>> [ 44.575499] acpi_ds_evaluate_name_path+0x107/0x170
> >>>>> [ 44.575505] acpi_ds_exec_end_op+0x392/0x860
> >>>>> [ 44.575508] acpi_ps_parse_loop+0x268/0xa30
> >>>>> [ 44.575515] acpi_ps_parse_aml+0x221/0x5e0
> >>>>> [ 44.575518] acpi_ps_execute_method+0x171/0x3e0
> >>>>> [ 44.575522] acpi_ns_evaluate+0x174/0x5d0
> >>>>> [ 44.575525] acpi_evaluate_object+0x167/0x440
> >>>>> [ 44.575529] acpi_evaluate_dsm+0xb6/0x130
> >>>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
> >>>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
> >>>>> [ 44.575550] ucsi_register+0x24/0xa0
> >>>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
> >>>>> [ 44.575559] platform_probe+0x48/0x90
> >>>>> [ 44.575567] really_probe+0xde/0x340
> >>>>> [ 44.575579] __driver_probe_device+0x78/0x110
> >>>>> [ 44.575581] driver_probe_device+0x1f/0x90
> >>>>> [ 44.575584] __driver_attach+0xd2/0x1c0
> >>>>> [ 44.575587] bus_for_each_dev+0x77/0xc0
> >>>>> [ 44.575590] bus_add_driver+0x112/0x1f0
> >>>>> [ 44.575593] driver_register+0x72/0xd0
> >>>>> [ 44.575600] do_one_initcall+0x48/0x300
> >>>>> [ 44.575607] do_init_module+0x60/0x220
> >>>>> [ 44.575615] __do_sys_init_module+0x17f/0x1b0
> >>>>> [ 44.575623] do_syscall_64+0x82/0x170
> >>>>> [ 44.575685] 1 of 1 multicall(s) failed: cpu 4
> >>>>> [ 44.575695] call 1: op=1 result=-1 caller=xen_extend_mmu_update+0x4e/0xd0
> >>>>> pars=ffff888267e25ad0 1 0 7ff0 args=9ba37a678 80000000feec2073
> >>>>>
> >>>>> The pte value of the mmu_update call is 80000000feec2073, which is rejected by
> >>>>> the hypervisor with -EPERM.
> >>>>>
> >>>>> Before diving deep into the UCSI internals, is it possible that the hypervisor
> >>>>> needs some update (IOW: could it be the mapping attempt should rather be
> >>>>> honored, as there might be an I/O resources at this position which dom0 needs
> >>>>> to access for using the related hardware?)
> >>>>
> >>>> Adding to Andrew's reply: Is there any BAR in the system covering that address?
> >>>> Or is it rather ACPI "making up" that address (which would remind me of IO-APIC
> >>>> space being accessed by certain incarnations of ACPI, resulting in similar
> >>>> issues)?
> >>>
> >>> So you think ACPI is using some kind of backdoor to access the local
> >>> APIC registers?
> >>
> >> No, I'm wondering if they're trying to access *something*. As it stands we
> >> don't even know what kind of access is intended; all we know is that they're
> >> trying to map that page (and maybe adjacent ones).
> >
> > From the backtrace, it looks like the immediate case is just trying to
> > read a 4-byte version:
> >
> > >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
> > >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
> > >>>> [ 44.575550] ucsi_register+0x24/0xa0
> > >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
> >
> > int ucsi_register(struct ucsi *ucsi)
> > {
> > int ret;
> >
> > ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
> > sizeof(ucsi->version));
> >
> > ->read being ucsi_acpi_read()
> >
> > However, the driver also appears write to adjacent addresses.
>
> There are also corresponding write functions in the driver, yes, but
> ucsi_acpi_async_write() (used directly or indirectly) similarly calls
> ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
> ACPI object evaluation, which isn't obvious without seeing the
> involved AML whether it might write said memory region. The writing
> done in the write function(s) looks to be
>
> memcpy(ua->base + offset, val, val_len);
>
> with their read counterpart being
>
> memcpy(val, ua->base + offset, val_len);
>
> where ua->base may well be an entirely different address (looks like
> it's the first of the BARs as per ucsi_acpi_probe()).
>
> If acpi_evaluate_dsm() would only ever read the region, an option (if
> all else fails) might be to similarly (to what we do for IO-APICs)
> permit read accesses / mappings (by inserting the range into
> mmio_ro_ranges). Yet of course first we need to better understand
> what's actually going on here.
When accessing from the CPU, what's in this range apart from the first
page (0xfee00) being the APIC MMIO window in xAPIC mode?
Regards, Roger.
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-09 7:13 ` Roger Pau Monné
@ 2024-07-09 7:35 ` Jan Beulich
0 siblings, 0 replies; 22+ messages in thread
From: Jan Beulich @ 2024-07-09 7:35 UTC (permalink / raw)
To: Roger Pau Monné
Cc: Jason Andryuk, Jürgen Groß,
xen-devel@lists.xenproject.org
On 09.07.2024 09:13, Roger Pau Monné wrote:
> On Tue, Jul 09, 2024 at 08:24:20AM +0200, Jan Beulich wrote:
>> On 08.07.2024 23:30, Jason Andryuk wrote:
>>> On 2024-07-08 05:12, Jan Beulich wrote:
>>>> On 08.07.2024 11:08, Roger Pau Monné wrote:
>>>>> On Mon, Jul 08, 2024 at 10:37:22AM +0200, Jan Beulich wrote:
>>>>>> On 08.07.2024 10:15, Jürgen Groß wrote:
>>>>>>> I've got an internal report about failures in dom0 when booting with
>>>>>>> Xen on a Thinkpad P14s Gen 3 AMD (kernel 6.9).
>>>>>>>
>>>>>>> With some debugging I've found that the UCSI driver seems to fail to
>>>>>>> map MFN feec2 as iomem, as the hypervisor is denying this mapping due
>>>>>>> to being part of the MSI space. The mapping attempt seems to be the
>>>>>>> result of an ACPI call of the UCSI driver:
>>>>>>>
>>>>>>> [ 44.575345] RIP: e030:xen_mc_flush+0x1e8/0x2b0
>>>>>>> [ 44.575418] xen_leave_lazy_mmu+0x15/0x60
>>>>>>> [ 44.575425] vmap_range_noflush+0x408/0x6f0
>>>>>>> [ 44.575438] __ioremap_caller+0x20d/0x350
>>>>>>> [ 44.575450] acpi_os_map_iomem+0x1a3/0x1c0
>>>>>>> [ 44.575454] acpi_ex_system_memory_space_handler+0x229/0x3f0
>>>>>>> [ 44.575464] acpi_ev_address_space_dispatch+0x17e/0x4c0
>>>>>>> [ 44.575474] acpi_ex_access_region+0x28a/0x510
>>>>>>> [ 44.575479] acpi_ex_field_datum_io+0x95/0x5c0
>>>>>>> [ 44.575482] acpi_ex_extract_from_field+0x36b/0x4e0
>>>>>>> [ 44.575490] acpi_ex_read_data_from_field+0xcb/0x430
>>>>>>> [ 44.575493] acpi_ex_resolve_node_to_value+0x2e0/0x530
>>>>>>> [ 44.575496] acpi_ex_resolve_to_value+0x1e7/0x550
>>>>>>> [ 44.575499] acpi_ds_evaluate_name_path+0x107/0x170
>>>>>>> [ 44.575505] acpi_ds_exec_end_op+0x392/0x860
>>>>>>> [ 44.575508] acpi_ps_parse_loop+0x268/0xa30
>>>>>>> [ 44.575515] acpi_ps_parse_aml+0x221/0x5e0
>>>>>>> [ 44.575518] acpi_ps_execute_method+0x171/0x3e0
>>>>>>> [ 44.575522] acpi_ns_evaluate+0x174/0x5d0
>>>>>>> [ 44.575525] acpi_evaluate_object+0x167/0x440
>>>>>>> [ 44.575529] acpi_evaluate_dsm+0xb6/0x130
>>>>>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>>>>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>>>>>> [ 44.575550] ucsi_register+0x24/0xa0
>>>>>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>>>>> [ 44.575559] platform_probe+0x48/0x90
>>>>>>> [ 44.575567] really_probe+0xde/0x340
>>>>>>> [ 44.575579] __driver_probe_device+0x78/0x110
>>>>>>> [ 44.575581] driver_probe_device+0x1f/0x90
>>>>>>> [ 44.575584] __driver_attach+0xd2/0x1c0
>>>>>>> [ 44.575587] bus_for_each_dev+0x77/0xc0
>>>>>>> [ 44.575590] bus_add_driver+0x112/0x1f0
>>>>>>> [ 44.575593] driver_register+0x72/0xd0
>>>>>>> [ 44.575600] do_one_initcall+0x48/0x300
>>>>>>> [ 44.575607] do_init_module+0x60/0x220
>>>>>>> [ 44.575615] __do_sys_init_module+0x17f/0x1b0
>>>>>>> [ 44.575623] do_syscall_64+0x82/0x170
>>>>>>> [ 44.575685] 1 of 1 multicall(s) failed: cpu 4
>>>>>>> [ 44.575695] call 1: op=1 result=-1 caller=xen_extend_mmu_update+0x4e/0xd0
>>>>>>> pars=ffff888267e25ad0 1 0 7ff0 args=9ba37a678 80000000feec2073
>>>>>>>
>>>>>>> The pte value of the mmu_update call is 80000000feec2073, which is rejected by
>>>>>>> the hypervisor with -EPERM.
>>>>>>>
>>>>>>> Before diving deep into the UCSI internals, is it possible that the hypervisor
>>>>>>> needs some update (IOW: could it be the mapping attempt should rather be
>>>>>>> honored, as there might be an I/O resources at this position which dom0 needs
>>>>>>> to access for using the related hardware?)
>>>>>>
>>>>>> Adding to Andrew's reply: Is there any BAR in the system covering that address?
>>>>>> Or is it rather ACPI "making up" that address (which would remind me of IO-APIC
>>>>>> space being accessed by certain incarnations of ACPI, resulting in similar
>>>>>> issues)?
>>>>>
>>>>> So you think ACPI is using some kind of backdoor to access the local
>>>>> APIC registers?
>>>>
>>>> No, I'm wondering if they're trying to access *something*. As it stands we
>>>> don't even know what kind of access is intended; all we know is that they're
>>>> trying to map that page (and maybe adjacent ones).
>>>
>>> From the backtrace, it looks like the immediate case is just trying to
>>> read a 4-byte version:
>>>
>>> >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>> >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>> >>>> [ 44.575550] ucsi_register+0x24/0xa0
>>> >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>
>>> int ucsi_register(struct ucsi *ucsi)
>>> {
>>> int ret;
>>>
>>> ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
>>> sizeof(ucsi->version));
>>>
>>> ->read being ucsi_acpi_read()
>>>
>>> However, the driver also appears write to adjacent addresses.
>>
>> There are also corresponding write functions in the driver, yes, but
>> ucsi_acpi_async_write() (used directly or indirectly) similarly calls
>> ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
>> ACPI object evaluation, which isn't obvious without seeing the
>> involved AML whether it might write said memory region. The writing
>> done in the write function(s) looks to be
>>
>> memcpy(ua->base + offset, val, val_len);
>>
>> with their read counterpart being
>>
>> memcpy(val, ua->base + offset, val_len);
>>
>> where ua->base may well be an entirely different address (looks like
>> it's the first of the BARs as per ucsi_acpi_probe()).
>>
>> If acpi_evaluate_dsm() would only ever read the region, an option (if
>> all else fails) might be to similarly (to what we do for IO-APICs)
>> permit read accesses / mappings (by inserting the range into
>> mmio_ro_ranges). Yet of course first we need to better understand
>> what's actually going on here.
>
> When accessing from the CPU, what's in this range apart from the first
> page (0xfee00) being the APIC MMIO window in xAPIC mode?
That's simply unknown from all I know, the entire 1Mb (or even 2Mb)
range is reserved, I think.
Thing is we can't very well think "CPU only" as long as we mirror CPU
side mappings to the IOMMU page tables.
Jan
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-09 7:01 ` Jan Beulich
@ 2024-07-09 10:56 ` Jürgen Groß
2024-07-09 13:08 ` Jason Andryuk
2024-07-16 15:46 ` Jan Beulich
0 siblings, 2 replies; 22+ messages in thread
From: Jürgen Groß @ 2024-07-09 10:56 UTC (permalink / raw)
To: Jan Beulich
Cc: xen-devel@lists.xenproject.org, Roger Pau Monné,
Jason Andryuk
On 09.07.24 09:01, Jan Beulich wrote:
> On 09.07.2024 08:36, Jürgen Groß wrote:
>> On 09.07.24 08:24, Jan Beulich wrote:
>>> On 08.07.2024 23:30, Jason Andryuk wrote:
>>>> From the backtrace, it looks like the immediate case is just trying to
>>>> read a 4-byte version:
>>>>
>>>> >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>>> >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>>> >>>> [ 44.575550] ucsi_register+0x24/0xa0
>>>> >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>>
>>>> int ucsi_register(struct ucsi *ucsi)
>>>> {
>>>> int ret;
>>>>
>>>> ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
>>>> sizeof(ucsi->version));
>>>>
>>>> ->read being ucsi_acpi_read()
>>>>
>>>> However, the driver also appears write to adjacent addresses.
>>>
>>> There are also corresponding write functions in the driver, yes, but
>>> ucsi_acpi_async_write() (used directly or indirectly) similarly calls
>>> ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
>>> ACPI object evaluation, which isn't obvious without seeing the
>>> involved AML whether it might write said memory region.
>>
>> I guess an ACPI dump would help here?
>
> Perhaps, yes.
It is available in the bug report:
https://bugzilla.opensuse.org/show_bug.cgi?id=1227301
Juergen
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-09 10:56 ` Jürgen Groß
@ 2024-07-09 13:08 ` Jason Andryuk
2024-07-12 10:35 ` Jürgen Groß
` (2 more replies)
2024-07-16 15:46 ` Jan Beulich
1 sibling, 3 replies; 22+ messages in thread
From: Jason Andryuk @ 2024-07-09 13:08 UTC (permalink / raw)
To: Jürgen Groß, Jan Beulich
Cc: xen-devel@lists.xenproject.org, Roger Pau Monné
On 2024-07-09 06:56, Jürgen Groß wrote:
> On 09.07.24 09:01, Jan Beulich wrote:
>> On 09.07.2024 08:36, Jürgen Groß wrote:
>>> On 09.07.24 08:24, Jan Beulich wrote:
>>>> On 08.07.2024 23:30, Jason Andryuk wrote:
>>>>> From the backtrace, it looks like the immediate case is just
>>>>> trying to
>>>>> read a 4-byte version:
>>>>>
>>>>> >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>>>> >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>>>> >>>> [ 44.575550] ucsi_register+0x24/0xa0
>>>>> >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>>>
>>>>> int ucsi_register(struct ucsi *ucsi)
>>>>> {
>>>>> int ret;
>>>>>
>>>>> ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
>>>>> sizeof(ucsi->version));
>>>>>
>>>>> ->read being ucsi_acpi_read()
>>>>>
>>>>> However, the driver also appears write to adjacent addresses.
>>>>
>>>> There are also corresponding write functions in the driver, yes, but
>>>> ucsi_acpi_async_write() (used directly or indirectly) similarly calls
>>>> ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
>>>> ACPI object evaluation, which isn't obvious without seeing the
>>>> involved AML whether it might write said memory region.
>>>
>>> I guess an ACPI dump would help here?
>>
>> Perhaps, yes.
>
> It is available in the bug report:
>
> https://bugzilla.opensuse.org/show_bug.cgi?id=1227301
After acpixtract & iasl:
$ grep -ir FEEC *
dsdt.dsl: OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
ssdt16.dsl: OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
from the DSDT:
Scope (\_SB.PCI0.LPC0.EC0)
{
OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
Field (ECMM, AnyAcc, Lock, Preserve)
{
TWBT, 2048
}
Name (BTBF, Buffer (0x0100)
{
0x00 // .
})
Method (BTIF, 0, NotSerialized)
{
BTBF = TWBT /* \_SB_.PCI0.LPC0.EC0_.TWBT */
Return (BTBF) /* \_SB_.PCI0.LPC0.EC0_.BTBF */
}
}
From SSDT16:
DefinitionBlock ("", "SSDT", 2, "LENOVO", "UsbCTabl", 0x00000001)
{
External (_SB_.PCI0.LPC0.EC0_, DeviceObj)
Scope (\_SB)
{
OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
Field (SUSC, ByteAcc, Lock, Preserve)
{
This embedded controller (?) seems to live at 0xfeec2xxx.
Regards,
Jason
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-09 13:08 ` Jason Andryuk
@ 2024-07-12 10:35 ` Jürgen Groß
2024-07-12 13:46 ` Juergen Gross
2024-07-16 14:43 ` Jan Beulich
2025-01-17 10:40 ` Roger Pau Monné
2 siblings, 1 reply; 22+ messages in thread
From: Jürgen Groß @ 2024-07-12 10:35 UTC (permalink / raw)
To: Jason Andryuk, Jan Beulich
Cc: xen-devel@lists.xenproject.org, Roger Pau Monné
On 09.07.24 15:08, Jason Andryuk wrote:
> On 2024-07-09 06:56, Jürgen Groß wrote:
>> On 09.07.24 09:01, Jan Beulich wrote:
>>> On 09.07.2024 08:36, Jürgen Groß wrote:
>>>> On 09.07.24 08:24, Jan Beulich wrote:
>>>>> On 08.07.2024 23:30, Jason Andryuk wrote:
>>>>>> From the backtrace, it looks like the immediate case is just trying to
>>>>>> read a 4-byte version:
>>>>>>
>>>>>> >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>>>>> >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>>>>> >>>> [ 44.575550] ucsi_register+0x24/0xa0
>>>>>> >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>>>>
>>>>>> int ucsi_register(struct ucsi *ucsi)
>>>>>> {
>>>>>> int ret;
>>>>>>
>>>>>> ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
>>>>>> sizeof(ucsi->version));
>>>>>>
>>>>>> ->read being ucsi_acpi_read()
>>>>>>
>>>>>> However, the driver also appears write to adjacent addresses.
>>>>>
>>>>> There are also corresponding write functions in the driver, yes, but
>>>>> ucsi_acpi_async_write() (used directly or indirectly) similarly calls
>>>>> ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
>>>>> ACPI object evaluation, which isn't obvious without seeing the
>>>>> involved AML whether it might write said memory region.
>>>>
>>>> I guess an ACPI dump would help here?
>>>
>>> Perhaps, yes.
>>
>> It is available in the bug report:
>>
>> https://bugzilla.opensuse.org/show_bug.cgi?id=1227301
>
> After acpixtract & iasl:
>
> $ grep -ir FEEC *
> dsdt.dsl: OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
> ssdt16.dsl: OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
>
>
> from the DSDT:
> Scope (\_SB.PCI0.LPC0.EC0)
> {
> OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
> Field (ECMM, AnyAcc, Lock, Preserve)
> {
> TWBT, 2048
> }
>
> Name (BTBF, Buffer (0x0100)
> {
> 0x00 // .
> })
> Method (BTIF, 0, NotSerialized)
> {
> BTBF = TWBT /* \_SB_.PCI0.LPC0.EC0_.TWBT */
> Return (BTBF) /* \_SB_.PCI0.LPC0.EC0_.BTBF */
> }
> }
>
> From SSDT16:
> DefinitionBlock ("", "SSDT", 2, "LENOVO", "UsbCTabl", 0x00000001)
> {
> External (_SB_.PCI0.LPC0.EC0_, DeviceObj)
>
> Scope (\_SB)
> {
> OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
> Field (SUSC, ByteAcc, Lock, Preserve)
> {
>
>
> This embedded controller (?) seems to live at 0xfeec2xxx.
What is the takeaway from that?
Is this a firmware bug (if yes, pointers to a specification saying that
this is an illegal configuration would be nice), or do we need a way to
map this page from dom0?
Juergen
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-12 10:35 ` Jürgen Groß
@ 2024-07-12 13:46 ` Juergen Gross
2024-07-12 14:00 ` Andrew Cooper
0 siblings, 1 reply; 22+ messages in thread
From: Juergen Gross @ 2024-07-12 13:46 UTC (permalink / raw)
To: Jason Andryuk, Jan Beulich
Cc: xen-devel@lists.xenproject.org, Roger Pau Monné
[-- Attachment #1.1.1: Type: text/plain, Size: 4084 bytes --]
On 12.07.24 12:35, Jürgen Groß wrote:
> On 09.07.24 15:08, Jason Andryuk wrote:
>> On 2024-07-09 06:56, Jürgen Groß wrote:
>>> On 09.07.24 09:01, Jan Beulich wrote:
>>>> On 09.07.2024 08:36, Jürgen Groß wrote:
>>>>> On 09.07.24 08:24, Jan Beulich wrote:
>>>>>> On 08.07.2024 23:30, Jason Andryuk wrote:
>>>>>>> From the backtrace, it looks like the immediate case is just trying to
>>>>>>> read a 4-byte version:
>>>>>>>
>>>>>>> >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>>>>>> >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>>>>>> >>>> [ 44.575550] ucsi_register+0x24/0xa0
>>>>>>> >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>>>>>
>>>>>>> int ucsi_register(struct ucsi *ucsi)
>>>>>>> {
>>>>>>> int ret;
>>>>>>>
>>>>>>> ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
>>>>>>> sizeof(ucsi->version));
>>>>>>>
>>>>>>> ->read being ucsi_acpi_read()
>>>>>>>
>>>>>>> However, the driver also appears write to adjacent addresses.
>>>>>>
>>>>>> There are also corresponding write functions in the driver, yes, but
>>>>>> ucsi_acpi_async_write() (used directly or indirectly) similarly calls
>>>>>> ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
>>>>>> ACPI object evaluation, which isn't obvious without seeing the
>>>>>> involved AML whether it might write said memory region.
>>>>>
>>>>> I guess an ACPI dump would help here?
>>>>
>>>> Perhaps, yes.
>>>
>>> It is available in the bug report:
>>>
>>> https://bugzilla.opensuse.org/show_bug.cgi?id=1227301
>>
>> After acpixtract & iasl:
>>
>> $ grep -ir FEEC *
>> dsdt.dsl: OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
>> ssdt16.dsl: OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
>>
>>
>> from the DSDT:
>> Scope (\_SB.PCI0.LPC0.EC0)
>> {
>> OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
>> Field (ECMM, AnyAcc, Lock, Preserve)
>> {
>> TWBT, 2048
>> }
>>
>> Name (BTBF, Buffer (0x0100)
>> {
>> 0x00 // .
>> })
>> Method (BTIF, 0, NotSerialized)
>> {
>> BTBF = TWBT /* \_SB_.PCI0.LPC0.EC0_.TWBT */
>> Return (BTBF) /* \_SB_.PCI0.LPC0.EC0_.BTBF */
>> }
>> }
>>
>> From SSDT16:
>> DefinitionBlock ("", "SSDT", 2, "LENOVO", "UsbCTabl", 0x00000001)
>> {
>> External (_SB_.PCI0.LPC0.EC0_, DeviceObj)
>>
>> Scope (\_SB)
>> {
>> OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
>> Field (SUSC, ByteAcc, Lock, Preserve)
>> {
>>
>>
>> This embedded controller (?) seems to live at 0xfeec2xxx.
>
> What is the takeaway from that?
>
> Is this a firmware bug (if yes, pointers to a specification saying that
> this is an illegal configuration would be nice), or do we need a way to
> map this page from dom0?
I've found the following in the AMD IOMMU spec [1]:
Received DMA requests without PASID in the 0xFEEx_xxxx address range are
treated as MSI interrupts and are processed using interrupt remapping rather
than address translation.
To me this sounds as if there wouldn't be a major risk letting dom0 map
physical addresses in this area, as long as "normal" I/Os to this area would
result in DMA requests with a PASID. OTOH I'm not familiar with Xen IOMMU
handling, so I might be completely wrong.
Another question would be whether a device having resources in this area can
even work through an IOMMU.
Juergen
[1]:
https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/specifications/48882_IOMMU.pdf
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3743 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-12 13:46 ` Juergen Gross
@ 2024-07-12 14:00 ` Andrew Cooper
2024-07-12 14:09 ` Jan Beulich
0 siblings, 1 reply; 22+ messages in thread
From: Andrew Cooper @ 2024-07-12 14:00 UTC (permalink / raw)
To: Juergen Gross, Jason Andryuk, Jan Beulich
Cc: xen-devel@lists.xenproject.org, Roger Pau Monné
On 12/07/2024 2:46 pm, Juergen Gross wrote:
> On 12.07.24 12:35, Jürgen Groß wrote:
>> On 09.07.24 15:08, Jason Andryuk wrote:
>>> On 2024-07-09 06:56, Jürgen Groß wrote:
>>>> On 09.07.24 09:01, Jan Beulich wrote:
>>>>> On 09.07.2024 08:36, Jürgen Groß wrote:
>>>>>> On 09.07.24 08:24, Jan Beulich wrote:
>>>>>>> On 08.07.2024 23:30, Jason Andryuk wrote:
>>>>>>>> From the backtrace, it looks like the immediate case is just
>>>>>>>> trying to
>>>>>>>> read a 4-byte version:
>>>>>>>>
>>>>>>>> >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>>>>>>> >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>>>>>>> >>>> [ 44.575550] ucsi_register+0x24/0xa0
>>>>>>>> >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>>>>>>
>>>>>>>> int ucsi_register(struct ucsi *ucsi)
>>>>>>>> {
>>>>>>>> int ret;
>>>>>>>>
>>>>>>>> ret = ucsi->ops->read(ucsi, UCSI_VERSION,
>>>>>>>> &ucsi->version,
>>>>>>>> sizeof(ucsi->version));
>>>>>>>>
>>>>>>>> ->read being ucsi_acpi_read()
>>>>>>>>
>>>>>>>> However, the driver also appears write to adjacent addresses.
>>>>>>>
>>>>>>> There are also corresponding write functions in the driver, yes,
>>>>>>> but
>>>>>>> ucsi_acpi_async_write() (used directly or indirectly) similarly
>>>>>>> calls
>>>>>>> ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
>>>>>>> ACPI object evaluation, which isn't obvious without seeing the
>>>>>>> involved AML whether it might write said memory region.
>>>>>>
>>>>>> I guess an ACPI dump would help here?
>>>>>
>>>>> Perhaps, yes.
>>>>
>>>> It is available in the bug report:
>>>>
>>>> https://bugzilla.opensuse.org/show_bug.cgi?id=1227301
>>>
>>> After acpixtract & iasl:
>>>
>>> $ grep -ir FEEC *
>>> dsdt.dsl: OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
>>> ssdt16.dsl: OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
>>>
>>>
>>> from the DSDT:
>>> Scope (\_SB.PCI0.LPC0.EC0)
>>> {
>>> OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
>>> Field (ECMM, AnyAcc, Lock, Preserve)
>>> {
>>> TWBT, 2048
>>> }
>>>
>>> Name (BTBF, Buffer (0x0100)
>>> {
>>> 0x00 // .
>>> })
>>> Method (BTIF, 0, NotSerialized)
>>> {
>>> BTBF = TWBT /* \_SB_.PCI0.LPC0.EC0_.TWBT */
>>> Return (BTBF) /* \_SB_.PCI0.LPC0.EC0_.BTBF */
>>> }
>>> }
>>>
>>> From SSDT16:
>>> DefinitionBlock ("", "SSDT", 2, "LENOVO", "UsbCTabl", 0x00000001)
>>> {
>>> External (_SB_.PCI0.LPC0.EC0_, DeviceObj)
>>>
>>> Scope (\_SB)
>>> {
>>> OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
>>> Field (SUSC, ByteAcc, Lock, Preserve)
>>> {
>>>
>>>
>>> This embedded controller (?) seems to live at 0xfeec2xxx.
>>
>> What is the takeaway from that?
>>
>> Is this a firmware bug (if yes, pointers to a specification saying that
>> this is an illegal configuration would be nice), or do we need a way to
>> map this page from dom0?
>
> I've found the following in the AMD IOMMU spec [1]:
>
> Received DMA requests without PASID in the 0xFEEx_xxxx address range
> are
> treated as MSI interrupts and are processed using interrupt
> remapping rather
> than address translation.
>
> To me this sounds as if there wouldn't be a major risk letting dom0 map
> physical addresses in this area, as long as "normal" I/Os to this area
> would
> result in DMA requests with a PASID. OTOH I'm not familiar with Xen IOMMU
> handling, so I might be completely wrong.
>
> Another question would be whether a device having resources in this
> area can
> even work through an IOMMU.
Address spaces are not fully uniform. What 0xFEEx_xxxx means/does
really does differ depending on your point of view.
The CPU accessing 0xFEEx_xxxx literally does different things than a PCI
device accessing the same range.
That's why nothing outside of the CPU can get at the LAPIC MMIO
registers. No amount of remapping trickery in the IOMMU pagetables are
going to change this fact.
Now - the problem here is that 0xFEEx_xxxx is (for legacy reasons)
"known" to be the LAPIC MMIO, which has a 4k window at the bottom and
everything else in the 2M is reserved.
And it appears that AMD have started putting other things into that
reserved space, which are only described by AML, and not known to Xen.
Xen, generally, is very wary of mappings in and around here, because it
does need to prevent even dom0 having access to the interrupt controller
MMIO windows (I'm including IO-APICs too).
So I expect Xen is saying "that's an interrupt MMIO window, no" without
knowing that there's actually something else in there. (But I am just
guessing.)
It comes full circle back to all the problems of Xen not being OSPM, for
which we don't have a good solution.
One thing that Tim Deegan suggested aages ago was to have an ACPI OSPM
stubdom, and provide pv-AML allowing dom0 to do things.
Importantly, it would let us do things like evaluate all methods on all
processor objects, knowing that e.g. vCPUs weren't relevant.
The more I think about it the more I like it, and it would allow us to
start taking some of the more invasive hacks out of Linux, but at the
same time it's also a giant quantity of work.
~Andrew
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-12 14:00 ` Andrew Cooper
@ 2024-07-12 14:09 ` Jan Beulich
0 siblings, 0 replies; 22+ messages in thread
From: Jan Beulich @ 2024-07-12 14:09 UTC (permalink / raw)
To: Andrew Cooper
Cc: xen-devel@lists.xenproject.org, Roger Pau Monné,
Jason Andryuk, Juergen Gross
On 12.07.2024 16:00, Andrew Cooper wrote:
> On 12/07/2024 2:46 pm, Juergen Gross wrote:
>> On 12.07.24 12:35, Jürgen Groß wrote:
>>> On 09.07.24 15:08, Jason Andryuk wrote:
>>>> After acpixtract & iasl:
>>>>
>>>> $ grep -ir FEEC *
>>>> dsdt.dsl: OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
>>>> ssdt16.dsl: OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
>>>>
>>>>
>>>> from the DSDT:
>>>> Scope (\_SB.PCI0.LPC0.EC0)
>>>> {
>>>> OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
>>>> Field (ECMM, AnyAcc, Lock, Preserve)
>>>> {
>>>> TWBT, 2048
>>>> }
>>>>
>>>> Name (BTBF, Buffer (0x0100)
>>>> {
>>>> 0x00 // .
>>>> })
>>>> Method (BTIF, 0, NotSerialized)
>>>> {
>>>> BTBF = TWBT /* \_SB_.PCI0.LPC0.EC0_.TWBT */
>>>> Return (BTBF) /* \_SB_.PCI0.LPC0.EC0_.BTBF */
>>>> }
>>>> }
>>>>
>>>> From SSDT16:
>>>> DefinitionBlock ("", "SSDT", 2, "LENOVO", "UsbCTabl", 0x00000001)
>>>> {
>>>> External (_SB_.PCI0.LPC0.EC0_, DeviceObj)
>>>>
>>>> Scope (\_SB)
>>>> {
>>>> OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
>>>> Field (SUSC, ByteAcc, Lock, Preserve)
>>>> {
>>>>
>>>>
>>>> This embedded controller (?) seems to live at 0xfeec2xxx.
>>>
>>> What is the takeaway from that?
>>>
>>> Is this a firmware bug (if yes, pointers to a specification saying that
>>> this is an illegal configuration would be nice), or do we need a way to
>>> map this page from dom0?
>>
>> I've found the following in the AMD IOMMU spec [1]:
>>
>> Received DMA requests without PASID in the 0xFEEx_xxxx address range
>> are
>> treated as MSI interrupts and are processed using interrupt
>> remapping rather
>> than address translation.
>>
>> To me this sounds as if there wouldn't be a major risk letting dom0 map
>> physical addresses in this area, as long as "normal" I/Os to this area
>> would
>> result in DMA requests with a PASID. OTOH I'm not familiar with Xen IOMMU
>> handling, so I might be completely wrong.
>>
>> Another question would be whether a device having resources in this
>> area can
>> even work through an IOMMU.
>
> Address spaces are not fully uniform. What 0xFEEx_xxxx means/does
> really does differ depending on your point of view.
>
> The CPU accessing 0xFEEx_xxxx literally does different things than a PCI
> device accessing the same range.
>
> That's why nothing outside of the CPU can get at the LAPIC MMIO
> registers. No amount of remapping trickery in the IOMMU pagetables are
> going to change this fact.
>
>
> Now - the problem here is that 0xFEEx_xxxx is (for legacy reasons)
> "known" to be the LAPIC MMIO, which has a 4k window at the bottom and
> everything else in the 2M is reserved.
>
> And it appears that AMD have started putting other things into that
> reserved space, which are only described by AML, and not known to Xen.
I wouldn't read it like that. The entire range (1M though, not 2M) is the
MSI window for everything non-CPU. They merely emphasize that, imo.
> Xen, generally, is very wary of mappings in and around here, because it
> does need to prevent even dom0 having access to the interrupt controller
> MMIO windows (I'm including IO-APICs too).
>
> So I expect Xen is saying "that's an interrupt MMIO window, no" without
> knowing that there's actually something else in there. (But I am just
> guessing.)
That's what we do, yes. At some point we did relax that for the IO-APIC
ranges (to permit Dom0 r/o access). If all else fails, we may need to do
the same for the problems here.
Jan
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-16 14:43 ` Jan Beulich
@ 2024-07-16 14:21 ` Jason Andryuk
0 siblings, 0 replies; 22+ messages in thread
From: Jason Andryuk @ 2024-07-16 14:21 UTC (permalink / raw)
To: Jan Beulich
Cc: xen-devel@lists.xenproject.org, Roger Pau Monné,
Jürgen Groß
[-- Attachment #1: Type: text/plain, Size: 2103 bytes --]
On 2024-07-16 10:43, Jan Beulich wrote:
> On 09.07.2024 15:08, Jason Andryuk wrote:
>> On 2024-07-09 06:56, Jürgen Groß wrote:
>>> On 09.07.24 09:01, Jan Beulich wrote:
>>>> On 09.07.2024 08:36, Jürgen Groß wrote:
>>>>> On 09.07.24 08:24, Jan Beulich wrote:
>>>>>> On 08.07.2024 23:30, Jason Andryuk wrote:
>>>>>>> From the backtrace, it looks like the immediate case is just
>>>>>>> trying to
>>>>>>> read a 4-byte version:
>>>>>>>
>>>>>>> >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>>>>>> >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>>>>>> >>>> [ 44.575550] ucsi_register+0x24/0xa0
>>>>>>> >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>>>>>
>>>>>>> int ucsi_register(struct ucsi *ucsi)
>>>>>>> {
>>>>>>> int ret;
>>>>>>>
>>>>>>> ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
>>>>>>> sizeof(ucsi->version));
>>>>>>>
>>>>>>> ->read being ucsi_acpi_read()
>>>>>>>
>>>>>>> However, the driver also appears write to adjacent addresses.
>>>>>>
>>>>>> There are also corresponding write functions in the driver, yes, but
>>>>>> ucsi_acpi_async_write() (used directly or indirectly) similarly calls
>>>>>> ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
>>>>>> ACPI object evaluation, which isn't obvious without seeing the
>>>>>> involved AML whether it might write said memory region.
>>>>>
>>>>> I guess an ACPI dump would help here?
>>>>
>>>> Perhaps, yes.
>>>
>>> It is available in the bug report:
>>>
>>> https://bugzilla.opensuse.org/show_bug.cgi?id=1227301
>>
>> After acpixtract & iasl:
>>
>> $ grep -ir FEEC *
>> dsdt.dsl: OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
>> ssdt16.dsl: OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
>
> As I look to have only flawed variants of acpixtract to hand, any chance
> you could supply me with dsdt.dsl and all ssdt*.dsl that you successfully
> extracted / disassembled?
Sure thing. There are a lot - all attached.
Regards,
Jason
[-- Attachment #2: dsdt.dsl --]
[-- Type: text/x-dsl, Size: 791068 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of dsdt.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "DSDT"
* Length 0x00018072 (98418)
* Revision 0x02
* Checksum 0x28
* OEM ID "LENOVO"
* OEM Table ID "AMD_EDK2"
* OEM Revision 0x00000000 (0)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "DSDT", 2, "LENOVO", "AMD_EDK2", 0x00000000)
{
External (_GPE, DeviceObj)
External (_SB_.ALIB, MethodObj) // 2 Arguments
External (_SB_.APTS, MethodObj) // 1 Arguments
External (_SB_.AWAK, MethodObj) // 1 Arguments
External (_SB_.FAN0.CRNF, MethodObj) // 0 Arguments
External (_SB_.FAN0.SRPM, MethodObj) // 1 Arguments
External (_SB_.I2CB, DeviceObj)
External (_SB_.PCI0.GFX0.VGA_.LCD_, DeviceObj)
External (_SB_.PCI0.GP17.VGA_.AFN7, UnknownObj)
External (_SB_.PCI0.GP17.XHC0.RHUB.PRT3.PRT1, DeviceObj)
External (_SB_.PCI0.LPC0.EC0_, DeviceObj)
External (_SB_.PCI0.LPC0.EC0_.DPRS, MethodObj) // 0 Arguments
External (_SB_.PCI0.LPC0.EC0_.HKEY.TSSS, MethodObj) // 0 Arguments
External (_SB_.PCI0.LPC0.EC0_.WWDT, UnknownObj)
External (_SB_.PCI0.S4EF, IntObj)
External (_SB_.PCI0.S4RF, IntObj)
External (_SB_.PCI0.S4RS, MethodObj) // 1 Arguments
External (_SB_.PCI0.S4SS, MethodObj) // 1 Arguments
External (_SB_.PCI0.VGA_.LCD_, DeviceObj)
External (_SB_.PLTF.C000, DeviceObj)
External (_SB_.PLTF.C001, DeviceObj)
External (_SB_.PLTF.C002, DeviceObj)
External (_SB_.PLTF.C003, DeviceObj)
External (_SB_.PLTF.C004, DeviceObj)
External (_SB_.PLTF.C005, DeviceObj)
External (_SB_.PLTF.C006, DeviceObj)
External (_SB_.PLTF.C007, DeviceObj)
External (_SB_.PLTF.C008, DeviceObj)
External (_SB_.PLTF.C009, DeviceObj)
External (_SB_.PLTF.C00A, DeviceObj)
External (_SB_.PLTF.C00B, DeviceObj)
External (_SB_.PLTF.C00C, DeviceObj)
External (_SB_.PLTF.C00D, DeviceObj)
External (_SB_.PLTF.C00E, DeviceObj)
External (_SB_.PLTF.C00F, DeviceObj)
External (_SB_.TPM_.PTS_, MethodObj) // 1 Arguments
External (_SB_.UBTC.NTFY, MethodObj) // 0 Arguments
External (AFN4, MethodObj) // 1 Arguments
External (AFN7, MethodObj) // 1 Arguments
External (DPNT, UnknownObj)
External (M000, MethodObj) // 1 Arguments
External (M017, MethodObj) // 6 Arguments
External (M018, MethodObj) // 7 Arguments
External (M037, DeviceObj)
External (M046, IntObj)
External (M047, IntObj)
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M082, FieldUnitObj)
External (M083, FieldUnitObj)
External (M084, FieldUnitObj)
External (M085, FieldUnitObj)
External (M086, FieldUnitObj)
External (M087, FieldUnitObj)
External (M088, FieldUnitObj)
External (M089, FieldUnitObj)
External (M090, FieldUnitObj)
External (M091, FieldUnitObj)
External (M092, FieldUnitObj)
External (M093, FieldUnitObj)
External (M094, FieldUnitObj)
External (M095, FieldUnitObj)
External (M096, FieldUnitObj)
External (M097, FieldUnitObj)
External (M098, FieldUnitObj)
External (M099, FieldUnitObj)
External (M100, FieldUnitObj)
External (M101, FieldUnitObj)
External (M102, FieldUnitObj)
External (M103, FieldUnitObj)
External (M104, FieldUnitObj)
External (M105, FieldUnitObj)
External (M106, FieldUnitObj)
External (M107, FieldUnitObj)
External (M108, FieldUnitObj)
External (M109, FieldUnitObj)
External (M110, FieldUnitObj)
External (M115, BuffObj)
External (M116, BuffFieldObj)
External (M117, BuffFieldObj)
External (M118, BuffFieldObj)
External (M119, BuffFieldObj)
External (M120, BuffFieldObj)
External (M122, FieldUnitObj)
External (M127, DeviceObj)
External (M128, FieldUnitObj)
External (M131, FieldUnitObj)
External (M132, FieldUnitObj)
External (M133, FieldUnitObj)
External (M134, FieldUnitObj)
External (M135, FieldUnitObj)
External (M136, FieldUnitObj)
External (M220, FieldUnitObj)
External (M221, FieldUnitObj)
External (M226, FieldUnitObj)
External (M227, DeviceObj)
External (M229, FieldUnitObj)
External (M231, FieldUnitObj)
External (M233, FieldUnitObj)
External (M235, FieldUnitObj)
External (M23A, FieldUnitObj)
External (M251, FieldUnitObj)
External (M280, FieldUnitObj)
External (M290, FieldUnitObj)
External (M29A, FieldUnitObj)
External (M310, FieldUnitObj)
External (M31C, FieldUnitObj)
External (M320, FieldUnitObj)
External (M321, FieldUnitObj)
External (M322, FieldUnitObj)
External (M323, FieldUnitObj)
External (M324, FieldUnitObj)
External (M325, FieldUnitObj)
External (M326, FieldUnitObj)
External (M327, FieldUnitObj)
External (M328, FieldUnitObj)
External (M329, DeviceObj)
External (M32A, DeviceObj)
External (M32B, DeviceObj)
External (M330, DeviceObj)
External (M331, FieldUnitObj)
External (M378, FieldUnitObj)
External (M379, FieldUnitObj)
External (M380, FieldUnitObj)
External (M381, FieldUnitObj)
External (M382, FieldUnitObj)
External (M383, FieldUnitObj)
External (M384, FieldUnitObj)
External (M385, FieldUnitObj)
External (M386, FieldUnitObj)
External (M387, FieldUnitObj)
External (M388, FieldUnitObj)
External (M389, FieldUnitObj)
External (M390, FieldUnitObj)
External (M391, FieldUnitObj)
External (M392, FieldUnitObj)
External (M402, MethodObj) // 3 Arguments
External (M404, BuffObj)
External (M408, MutexObj)
External (M414, FieldUnitObj)
External (M444, FieldUnitObj)
External (M449, FieldUnitObj)
External (M453, FieldUnitObj)
External (M454, FieldUnitObj)
External (M455, FieldUnitObj)
External (M456, FieldUnitObj)
External (M457, FieldUnitObj)
External (M460, MethodObj) // 7 Arguments
External (M4C0, FieldUnitObj)
External (M4F0, FieldUnitObj)
External (M610, FieldUnitObj)
External (M620, FieldUnitObj)
External (M631, FieldUnitObj)
External (M652, FieldUnitObj)
External (MPTS, MethodObj) // 1 Arguments
External (MWAK, MethodObj) // 1 Arguments
External (SXEF, IntObj)
External (SXRF, IntObj)
External (WMEM, MethodObj) // 5 Arguments
External (WNTF, IntObj)
OperationRegion (DBG0, SystemIO, 0x80, 0x01)
Field (DBG0, ByteAcc, NoLock, Preserve)
{
IO80, 8
}
OperationRegion (DBG1, SystemIO, 0x80, 0x02)
Field (DBG1, WordAcc, NoLock, Preserve)
{
P80H, 16
}
OperationRegion (PMI0, SystemMemory, 0xFED80300, 0x0100)
Field (PMI0, AnyAcc, NoLock, Preserve)
{
, 6,
HPEN, 1,
Offset (0x60),
P1EB, 16,
Offset (0xF0),
, 3,
RSTU, 1
}
OperationRegion (GSMG, SystemMemory, 0xFED81500, 0x03FF)
Field (GSMG, AnyAcc, NoLock, Preserve)
{
Offset (0x5C),
Offset (0x5E),
GS23, 1,
, 5,
GV23, 1,
GE23, 1,
Offset (0xA0),
Offset (0xA2),
GS40, 1,
, 5,
GV40, 1,
GE40, 1
}
OperationRegion (GSMM, SystemMemory, 0xFED80000, 0x1000)
Field (GSMM, AnyAcc, NoLock, Preserve)
{
Offset (0x288),
, 1,
CLPS, 1,
Offset (0x2B0),
, 2,
SLPS, 2,
Offset (0x3BB),
, 6,
PWDE, 1
}
OperationRegion (P1E0, SystemIO, P1EB, 0x04)
Field (P1E0, ByteAcc, NoLock, Preserve)
{
, 14,
PEWS, 1,
WSTA, 1,
, 14,
PEWD, 1
}
OperationRegion (IOCC, SystemIO, 0x0400, 0x80)
Field (IOCC, ByteAcc, NoLock, Preserve)
{
Offset (0x01),
, 2,
RTCS, 1
}
Name (PRWP, Package (0x02)
{
Zero,
Zero
})
Method (GPRW, 2, NotSerialized)
{
PRWP [0x00] = Arg0
PRWP [0x01] = Arg1
If ((DAS3 == 0x00))
{
If ((Arg1 <= 0x03))
{
PRWP [0x01] = 0x00
}
}
Return (PRWP) /* \PRWP */
}
Method (SPTS, 1, NotSerialized)
{
If ((Arg0 == 0x03))
{
RSTU = Zero
}
CLPS = One
SLPS = One
PEWS = PEWS /* \PEWS */
}
Method (SWAK, 1, NotSerialized)
{
If ((Arg0 == 0x03))
{
RSTU = One
}
PEWS = PEWS /* \PEWS */
PEWD = Zero
}
Method (TPST, 1, Serialized)
{
M000 (Arg0)
}
OperationRegion (GNVS, SystemMemory, 0x1BB10F98, 0x0000000D)
Field (GNVS, AnyAcc, NoLock, Preserve)
{
BRTL, 8,
CNSB, 8,
DAS3, 8,
WKPM, 8,
NAPC, 8,
PCBA, 32,
Offset (0x0A),
MWTT, 8,
DPTC, 8,
WOVS, 8
}
OperationRegion (OGNS, SystemMemory, 0x1BB23C98, 0x00000005)
Field (OGNS, AnyAcc, Lock, Preserve)
{
THPN, 8,
THPD, 8,
SDMO, 8,
TBEN, 8,
TBNH, 8
}
OperationRegion (PNVS, SystemMemory, 0x1BB23B18, 0x00000002)
Field (PNVS, AnyAcc, NoLock, Preserve)
{
HDSI, 8,
HDSO, 8
}
Name (RDHW, 0x00)
Name (NFCS, 0x04)
Name (OSTB, Ones)
Name (TPOS, Zero)
Name (LINX, Zero)
Name (OSSP, Zero)
Method (SEQL, 2, Serialized)
{
Local0 = SizeOf (Arg0)
Local1 = SizeOf (Arg1)
If ((Local0 != Local1))
{
Return (Zero)
}
Name (BUF0, Buffer (Local0) {})
BUF0 = Arg0
Name (BUF1, Buffer (Local0) {})
BUF1 = Arg1
Local2 = Zero
While ((Local2 < Local0))
{
Local3 = DerefOf (BUF0 [Local2])
Local4 = DerefOf (BUF1 [Local2])
If ((Local3 != Local4))
{
Return (Zero)
}
Local2++
}
Return (One)
}
Method (OSTP, 0, NotSerialized)
{
If ((OSTB == Ones))
{
If (CondRefOf (\_OSI, Local0))
{
M460 ("PLA-ASL-\\OSTP \\_OSI exist\n", Zero, Zero, Zero, Zero, Zero, Zero)
OSTB = 0x00
TPOS = 0x00
If (_OSI ("Windows 2001"))
{
M460 ("PLA-ASL-\\OSTP Call _OSI(%S) = TRUE\n", "Windows 2001", Zero, Zero, Zero, Zero, Zero)
WNTF = 0x01
OSTB = 0x08
TPOS = 0x08
}
If (_OSI ("Windows 2001.1"))
{
M460 ("PLA-ASL-\\OSTP Call _OSI(%S) = TRUE\n", "Windows 2001.1", Zero, Zero, Zero, Zero, Zero)
OSTB = 0x20
TPOS = 0x20
}
If (_OSI ("Windows 2001 SP1"))
{
M460 ("PLA-ASL-\\OSTP Call _OSI(%S) = TRUE\n", "Windows 2001 SP1", Zero, Zero, Zero, Zero, Zero)
OSTB = 0x10
TPOS = 0x10
}
If (_OSI ("Windows 2001 SP2"))
{
M460 ("PLA-ASL-\\OSTP Call _OSI(%S) = TRUE\n", "Windows 2001 SP2", Zero, Zero, Zero, Zero, Zero)
OSTB = 0x11
TPOS = 0x11
}
If (_OSI ("Windows 2001 SP3"))
{
M460 ("PLA-ASL-\\OSTP Call _OSI(%S) = TRUE\n", "Windows 2001 SP3", Zero, Zero, Zero, Zero, Zero)
OSTB = 0x12
TPOS = 0x12
}
If (_OSI ("Windows 2006"))
{
M460 ("PLA-ASL-\\OSTP Call _OSI(%S) = TRUE\n", "Windows 2006", Zero, Zero, Zero, Zero, Zero)
OSTB = 0x40
TPOS = 0x40
}
If (_OSI ("Windows 2006 SP1"))
{
M460 ("PLA-ASL-\\OSTP Call _OSI(%S) = TRUE\n", "Windows 2006 SP1", Zero, Zero, Zero, Zero, Zero)
OSTB = 0x41
TPOS = 0x41
OSSP = 0x01
}
If (_OSI ("Windows 2009"))
{
M460 ("PLA-ASL-\\OSTP Call _OSI(%S) = TRUE\n", "Windows 2009", Zero, Zero, Zero, Zero, Zero)
OSSP = 0x01
OSTB = 0x50
TPOS = 0x50
}
If (_OSI ("Windows 2012"))
{
M460 ("PLA-ASL-\\OSTP Call _OSI(%S) = TRUE\n", "Windows 2012", Zero, Zero, Zero, Zero, Zero)
OSSP = 0x01
OSTB = 0x60
TPOS = 0x60
WIN8 = 0x01
}
If (_OSI ("Windows 2013"))
{
M460 ("PLA-ASL-\\OSTP Call _OSI(%S) = TRUE\n", "Windows 2013", Zero, Zero, Zero, Zero, Zero)
OSSP = 0x01
OSTB = 0x61
TPOS = 0x61
WIN8 = 0x01
}
If (_OSI ("Windows 2015"))
{
M460 ("PLA-ASL-\\OSTP Call _OSI(%S) = TRUE\n", "Windows 2015", Zero, Zero, Zero, Zero, Zero)
OSSP = 0x01
OSTB = 0x70
TPOS = 0x70
WIN8 = 0x01
}
If (_OSI ("Linux"))
{
M460 ("PLA-ASL-\\OSTP Call _OSI(%S) = TRUE\n", "Linux", Zero, Zero, Zero, Zero, Zero)
LINX = 0x01
OSTB = 0x80
TPOS = 0x80
}
}
Else
{
M460 ("PLA-ASL-\\OSTP \\_OSI does NOT exist\n", Zero, Zero, Zero, Zero, Zero, Zero)
If (CondRefOf (\_OS, Local0))
{
M460 ("PLA-ASL-\\OSTP \\_OS exist\n", Zero, Zero, Zero, Zero, Zero, Zero)
If (SEQL (_OS, "Microsoft Windows"))
{
M460 ("PLA-ASL-\\OSTP Call SEQL \\_OS == (%S)\n", "Microsoft Windows", Zero, Zero, Zero, Zero, Zero)
OSTB = 0x01
TPOS = 0x01
}
ElseIf (SEQL (_OS, "Microsoft WindowsME: Millennium Edition"))
{
M460 ("PLA-ASL-\\OSTP Call SEQL \\_OS == (%S)\n", "Microsoft WindowsME: Millennium Edition", Zero, Zero, Zero, Zero, Zero)
OSTB = 0x02
TPOS = 0x02
}
ElseIf (SEQL (_OS, "Microsoft Windows NT"))
{
M460 ("PLA-ASL-\\OSTP Call SEQL \\_OS == (%S)\n", "Microsoft Windows NT", Zero, Zero, Zero, Zero, Zero)
WNTF = 0x01
OSTB = 0x04
TPOS = 0x04
}
Else
{
M460 ("PLA-ASL-\\OSTP Call SEQL \\_OS != (%S)\n", "Microsoft Windows", Zero, Zero, Zero, Zero, Zero)
OSTB = 0x00
TPOS = 0x00
}
}
Else
{
M460 ("PLA-ASL-\\OSTP \\_OS does NOT exist\n", Zero, Zero, Zero, Zero, Zero, Zero)
OSTB = 0x00
TPOS = 0x00
}
}
}
M460 ("PLA-ASL-\\OSTP TPOS = 0x%X, Return OSTB = 0x%X\n", TPOS, OSTB, Zero, Zero, Zero, Zero)
Return (OSTB) /* \OSTB */
}
Method (WMEM, 5, Serialized)
{
Local0 = (Arg0 + Arg1)
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \WMEM.VARR */
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = (Arg2 + Arg3)
Local2 = (0x20 - Local2)
Local2 = (((Local5 << Local2) & Local5) >> Local2)
Local2 = ((Local2 >> Arg2) << Arg2)
Local3 = (Arg4 << Arg2)
Local4 = ((Local1 & (Local5 ^ Local2)) | Local3)
VARR = Local4
}
Method (WFIO, 2, Serialized)
{
If ((Arg0 <= 0xFF))
{
Local0 = (Arg0 << 0x02)
WMEM (0xFED81500, Local0, 0x16, 0x01, Arg1)
}
Else
{
Local0 = (Arg0 &= 0xFF << 0x02)
WMEM (0xFED81200, Local0, 0x16, 0x01, Arg1)
}
}
Method (RFIO, 1, Serialized)
{
Local0 = (0xFED81500 + (Local0 = (Arg0 << 0x02)))
OperationRegion (RGPI, SystemMemory, Local0, 0x04)
Field (RGPI, AnyAcc, NoLock, Preserve)
{
Offset (0x02),
GPLV, 1
}
Return (GPLV) /* \RFIO.GPLV */
}
OperationRegion (GSCI, SystemMemory, 0xFED80200, 0x10)
Field (GSCI, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
GAHL, 32,
GLEV, 32
}
Method (GCTL, 2, Serialized)
{
Local0 = GAHL /* \GAHL */
Local1 = GLEV /* \GLEV */
If ((Arg0 == 0x00))
{
Local2 = (Local0 & ~(0x01 << Arg1))
Local3 = (Local1 & ~(0x01 << Arg1))
}
Else
{
Local2 = (Local0 | (0x01 << Arg1))
Local3 = (Local1 | (0x01 << Arg1))
}
GAHL = Local2
GLEV = Local3
}
Scope (_SB)
{
Device (PLTF)
{
Name (_HID, "ACPI0010" /* Processor Container Device */) // _HID: Hardware ID
Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Device (C000)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
}
Device (C001)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
}
Device (C002)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
}
Device (C003)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
}
Device (C004)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x04) // _UID: Unique ID
}
Device (C005)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x05) // _UID: Unique ID
}
Device (C006)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x06) // _UID: Unique ID
}
Device (C007)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x07) // _UID: Unique ID
}
Device (C008)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x08) // _UID: Unique ID
}
Device (C009)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x09) // _UID: Unique ID
}
Device (C00A)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x0A) // _UID: Unique ID
}
Device (C00B)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x0B) // _UID: Unique ID
}
Device (C00C)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x0C) // _UID: Unique ID
}
Device (C00D)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x0D) // _UID: Unique ID
}
Device (C00E)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x0E) // _UID: Unique ID
}
Device (C00F)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, 0x0F) // _UID: Unique ID
}
}
}
Name (_S0, Package (0x04) // _S0_: S0 System State
{
0x00,
0x00,
0x00,
0x00
})
Name (NOS3, Package (0x04)
{
0x03,
0x03,
0x00,
0x00
})
Name (_S4, Package (0x04) // _S4_: S4 System State
{
0x04,
0x04,
0x00,
0x00
})
Name (_S5, Package (0x04) // _S5_: S5 System State
{
0x05,
0x05,
0x00,
0x00
})
Scope (_GPE)
{
Method (XL16, 0, NotSerialized)
{
Notify (\_SB.PCI0.GPP2, 0x02) // Device Wake
}
Method (XL0E, 0, NotSerialized)
{
Notify (\_SB.PCI0.GPP6, 0x02) // Device Wake
}
}
Name (PICM, Zero)
Name (GPIC, Zero)
Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
PICM = Arg0
GPIC = Arg0
M460 ("PLA-ASL-\\_PIC Arg0 = 0x%X\n", ToInteger (Arg0), Zero, Zero, Zero, Zero, Zero)
If (PICM)
{
\_SB.DSPI ()
If (NAPC)
{
\_SB.PCI0.NAPE ()
}
}
}
Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
{
P80H = Arg0
M460 ("PLA-ASL-\\_PTS Start Arg0 = 0x%X\n", ToInteger (Arg0), Zero, Zero, Zero, Zero, Zero)
Local0 = 0x01
If ((Arg0 == SPS))
{
Local0 = 0x00
}
If (((Arg0 == 0x00) || (Arg0 >= 0x06)))
{
Local0 = 0x00
}
\_SB.PCI0.S4SS (Arg0)
If (Local0)
{
SPTS (Arg0)
SPS = Arg0
\_SB.PCI0.LPC0.EC0.HKEY.MHKE (0x00)
If (\_SB.PCI0.LPC0.EC0.KBLT)
{
SCMS (0x0D)
}
If ((Arg0 == 0x01))
{
FNID = \_SB.PCI0.LPC0.EC0.HFNI
\_SB.PCI0.LPC0.EC0.HFNI = 0x00
\_SB.PCI0.LPC0.EC0.HFSP = 0x00
}
If ((Arg0 == 0x03))
{
SLPS = 0x01
ACST = \_SB.PCI0.LPC0.EC0.AC._PSR ()
If ((FNWK == 0x01))
{
If (H8DR)
{
\_SB.PCI0.LPC0.EC0.HWFN = 0x00
}
Else
{
MBEC (0x32, 0xEF, 0x00)
}
}
}
If ((Arg0 == 0x04))
{
SLPS = 0x01
RSTU = 0x01
\_SB.SLPB._PSW (0x00)
AWON (0x04)
}
If ((Arg0 == 0x05))
{
AWON (0x05)
If ((WKPM == 0x01))
{
PWDE = One
}
\_SB.BSMI (Zero)
\_SB.GSMI (0x03)
}
If ((Arg0 >= 0x04))
{
\_SB.PCI0.LPC0.EC0.HWLB = 0x00
}
Else
{
\_SB.PCI0.LPC0.EC0.HWLB = 0x01
}
If ((Arg0 >= 0x03))
{
\_SB.PCI0.LPC0.EC0.HCMU = 0x01
}
HAUF = \_SB.PCI0.LPC0.EC0.HAUM
\_SB.PCI0.LPC0.EC0.HKEY.WGPS (Arg0)
}
If (CondRefOf (\_SB.TPM.PTS))
{
\_SB.TPM.PTS (Arg0)
}
\_SB.APTS (Arg0)
MPTS (Arg0)
M460 ("PLA-ASL-\\_PTS End\n", Zero, Zero, Zero, Zero, Zero, Zero)
}
Name (WAKI, Package (0x02)
{
0x00,
0x00
})
Method (_WAK, 1, NotSerialized) // _WAK: Wake
{
P80H = (Arg0 << 0x04)
M460 ("PLA-ASL-\\_WAK Start Arg0 = 0x%X\n", ToInteger (Arg0), Zero, Zero, Zero, Zero, Zero)
If (((Arg0 == 0x00) || (Arg0 >= 0x05)))
{
Return (WAKI) /* \WAKI */
}
\_SB.PCI0.S4RS (Arg0)
SWAK (Arg0)
\_SB.AWAK (Arg0)
If (((Arg0 == 0x03) || (Arg0 == 0x04)))
{
If ((GPIC != Zero))
{
\_SB.DSPI ()
If (NAPC)
{
\_SB.PCI0.NAPE ()
}
}
}
\_SB.PCI0.LPC0.EC0.AC.ACDC = 0xFF
Notify (\_SB.PCI0.LPC0.EC0.AC, 0x80) // Status Change
MWAK (Arg0)
SPS = 0x00
\_SB.PCI0.LPC0.EC0.HCMU = 0x00
\_SB.PCI0.LPC0.EC0.EVNT (0x01)
\_SB.PCI0.LPC0.EC0.HKEY.MHKE (0x01)
\_SB.PCI0.LPC0.EC0.FNST ()
SCMS (0x21)
LIDB = 0x00
\_SB.PCI0.LPC0.EC0.HKEY.CSSS ()
If ((Arg0 == 0x01))
{
FNID = \_SB.PCI0.LPC0.EC0.HFNI
}
If ((Arg0 == 0x03))
{
NVSS (0x00)
If ((ACST != \_SB.PCI0.LPC0.EC0.AC._PSR ()))
{
\_SB.PCI0.LPC0.EC0.ATMC ()
}
IOEN = 0x00
IOST = 0x00
If ((ISWK == 0x01))
{
If (\_SB.PCI0.LPC0.EC0.HKEY.DHKC)
{
\_SB.PCI0.LPC0.EC0.HKEY.MHKQ (0x6070)
}
}
VCMS (0x01, \_SB.LID._LID ())
AWON (0x00)
If (CMPR)
{
Notify (\_SB.SLPB, 0x02) // Device Wake
CMPR = 0x00
}
If ((\_SB.LID._LID () == 0x00))
{
If ((\_SB.PCI0.LPC0.EC0.AC._PSR () == 0x00))
{
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x001FA001)
}
Else
{
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x000FA001)
}
}
Else
{
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x000FA001)
}
If ((WLAC == 0x02)) {}
ElseIf ((\_SB.PCI0.LPC0.EC0.ELNK && (WLAC == 0x01)))
{
\_SB.PCI0.LPC0.EC0.DCWL = 0x00
}
Else
{
\_SB.PCI0.LPC0.EC0.DCWL = 0x01
}
}
If ((Arg0 == 0x04))
{
NVSS (0x00)
\_SB.PCI0.LPC0.EC0.HSPA = 0x00
\_SB.PCI0.LPC0.EC0.ATMC ()
IOEN = 0x00
IOST = 0x00
If ((ISWK == 0x02))
{
If (\_SB.PCI0.LPC0.EC0.HKEY.DHKC)
{
\_SB.PCI0.LPC0.EC0.HKEY.MHKQ (0x6080)
}
}
If ((WLAC == 0x02)) {}
ElseIf ((\_SB.PCI0.LPC0.EC0.ELNK && (WLAC == 0x01)))
{
\_SB.PCI0.LPC0.EC0.DCWL = 0x00
}
Else
{
\_SB.PCI0.LPC0.EC0.DCWL = 0x01
}
If ((HAUF != 0x00))
{
\_SB.PCI0.LPC0.EC0.HAUM = HAUF /* \HAUF */
}
}
\_SB.PCI0.LPC0.EC0.BATW (Arg0)
\_SB.PCI0.LPC0.EC0.HKEY.WGWK (Arg0)
Notify (\_TZ.THM0, 0x80) // Thermal Status Change
VSLD (\_SB.LID._LID ())
If ((\_SB.LID._LID () == 0x00))
{
If ((\_SB.PCI0.LPC0.EC0.AC._PSR () == 0x00))
{
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x001FA001)
}
Else
{
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x000FA001)
}
}
Else
{
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x000FA001)
}
If ((Arg0 < 0x04))
{
If (((RRBF & 0x02) || (\_SB.PCI0.LPC0.EC0.HWAC & 0x02)))
{
Local0 = (Arg0 << 0x08)
Local0 = (0x2013 | Local0)
\_SB.PCI0.LPC0.EC0.HKEY.MHKQ (Local0)
}
}
If ((Arg0 == 0x04))
{
Local0 = 0x00
Local1 = CSUM (0x00)
If ((Local1 != CHKC))
{
Local0 = 0x01
CHKC = Local1
}
Local1 = CSUM (0x01)
If ((Local1 != CHKE))
{
Local0 = 0x01
CHKE = Local1
}
If (Local0)
{
Notify (_SB, 0x00) // Bus Check
}
}
If (((Arg0 == 0x03) || (Arg0 == 0x04)))
{
If (H8DR)
{
Local0 = \_SB.PCI0.LPC0.EC0.TSL0
Local1 = \_SB.PCI0.LPC0.EC0.TSL1
}
Else
{
Local0 = (RBEC (0x88) & 0x7F)
Local1 = (RBEC (0x89) & 0x7F)
}
If ((Local1 & 0x77))
{
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x001F4001)
}
Else
{
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x000F4001)
}
If ((Local0 & 0x76))
{
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x001FE001)
}
Else
{
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x000FE001)
}
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x800F0001)
}
RRBF = Zero
M460 ("PLA-ASL-\\_WAK End Return %X\n", WAKI, Zero, Zero, Zero, Zero, Zero)
Return (WAKI) /* \WAKI */
}
Scope (_SB)
{
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
M460 ("PLA-ASL-\\_SB.PWRB._STA = 0xB\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x0B)
}
}
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Name (_BBN, Zero) // _BBN: BIOS Bus Number
Name (_ADR, Zero) // _ADR: Address
Mutex (MGCC, 0x00)
Method (OINI, 0, NotSerialized)
{
If ((_REV >= 0x02))
{
H8DR = 0x01
}
OSIF = 0x01
^LPC0.MOU.MHID ()
If ((TPOS == 0x80))
{
^LPC0.EC0.SAUM (0x02)
SCMS (0x1C)
}
If (H8DR)
{
Local0 = ^LPC0.EC0.TSL0 /* \_SB_.PCI0.LPC0.EC0_.TSL0 */
Local1 = ^LPC0.EC0.TSL1 /* \_SB_.PCI0.LPC0.EC0_.TSL1 */
}
Else
{
Local0 = (RBEC (0x88) & 0x7F)
Local1 = (RBEC (0x89) & 0x7F)
}
If ((Local1 & 0x77))
{
^LPC0.EC0.HKEY.DYTC (0x001F4001)
}
Else
{
^LPC0.EC0.HKEY.DYTC (0x000F4001)
}
If ((Local0 & 0x76))
{
^LPC0.EC0.HKEY.DYTC (0x001FE001)
}
Else
{
^LPC0.EC0.HKEY.DYTC (0x000FE001)
}
^LPC0.EC0.HKEY.DYTC (0x800F0001)
}
Name (S4RF, 0x00)
Name (S4EF, 0x00)
Method (S4RS, 1, Serialized)
{
S4RF = Arg0
}
Method (S4SS, 1, Serialized)
{
S4EF = Arg0
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
M460 ("PLA-ASL-\\_SB.PCI0._INI Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
If ((GPIC != Zero))
{
M460 ("PLA-ASL-\\_SB.PCI0._INI call \\_SB.DSPI\n", Zero, Zero, Zero, Zero, Zero, Zero)
DSPI ()
If (NAPC)
{
M460 ("PLA-ASL-\\_SB.PCI0._INI call \\_SB.PCI0.NAPE\n", Zero, Zero, Zero, Zero, Zero, Zero)
NAPE ()
}
}
M460 ("PLA-ASL-\\_SB.PCI0._INI call \\OSTP\n", Zero, Zero, Zero, Zero, Zero, Zero)
OSTP ()
OINI ()
M460 ("PLA-ASL-\\_SB.PCI0._INI End\n", Zero, Zero, Zero, Zero, Zero, Zero)
}
Name (SUPP, Zero)
Name (CTRL, Zero)
Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
{
CreateDWordField (Arg0, 0x00, UID0)
CreateDWordField (Arg3, 0x00, CDW1)
CreateDWordField (Arg3, 0x04, CDW2)
CreateDWordField (Arg3, 0x08, CDW3)
If ((Arg2 == 0x01))
{
M460 ("PLA-ASL-\\_SB.PCI0._OSC UUID 0x%X Start CDW1 = 0x%X\n", UID0, CDW1, 0x00, 0x00, 0x00, 0x00)
}
ElseIf ((Arg2 == 0x02))
{
Local2 = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
M460 ("PLA-ASL-\\_SB.PCI0._OSC UUID 0x%X Start CDW1 = 0x%X CDW2 = 0x%X\n", UID0, CDW1, CDW2, 0x00, 0x00, 0x00)
}
Else
{
Local3 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
M460 ("PLA-ASL-\\_SB.PCI0._OSC UUID 0x%X Start CDW1 = 0x%X CDW2 = 0x%X CDW3 = 0x%X\n", UID0, CDW1, CDW2, CDW3, 0x00, 0x00)
}
If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */))
{
SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
If ((TBEN == 0x01))
{
If ((TBNH != 0x00))
{
CTRL &= 0xFFFFFFF5
}
Else
{
CTRL &= 0xFFFFFFF4
}
}
If (((SUPP & 0x16) != 0x16))
{
CTRL &= 0xFFFFFFFE
}
CTRL &= 0xFFFFFFF5
If (~(CDW1 & 0x01))
{
If ((CTRL & 0x01)) {}
If ((CTRL & 0x04)) {}
If ((CTRL & 0x10)) {}
}
If ((Arg1 != One))
{
CDW1 |= 0x08
}
If ((CDW3 != CTRL))
{
CDW1 |= 0x10
}
CDW3 = CTRL /* \_SB_.PCI0.CTRL */
}
Else
{
CDW1 |= 0x04
}
If ((Arg2 == 0x01))
{
M460 ("PLA-ASL-\\_SB.PCI0._OSC UUID 0x%X Return CDW1 = 0x%X\n", UID0, CDW1, 0x00, 0x00, 0x00, 0x00)
}
ElseIf ((Arg2 == 0x02))
{
M460 ("PLA-ASL-\\_SB.PCI0._OSC UUID 0x%X Return CDW1 = 0x%X CDW2 = 0x%X\n", UID0, CDW1, CDW2, 0x00, 0x00, 0x00)
}
Else
{
M460 ("PLA-ASL-\\_SB.PCI0._OSC UUID 0x%X Return CDW1 = 0x%X CDW2 = 0x%X CDW3 = 0x%X\n", UID0, CDW1, CDW2, CDW3, 0x00, 0x00)
}
Return (Arg3)
}
Name (PCRF, ResourceTemplate ()
{
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0CF7, // Range Maximum
0x0000, // Translation Offset
0x0CF8, // Length
,, , TypeStatic, DenseTranslation)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0D00, // Range Minimum
0x0FFF, // Range Maximum
0x0000, // Translation Offset
0x0300, // Length
,, , TypeStatic, DenseTranslation)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFEC00000, // Range Minimum
0xFEC01FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFED45000, // Range Minimum
0xFED811FF, // Range Maximum
0x00000000, // Translation Offset
0x0003C200, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFED81900, // Range Minimum
0xFED81FFF, // Range Maximum
0x00000000, // Translation Offset
0x00000700, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFEDC0000, // Range Minimum
0xFEDC0FFF, // Range Maximum
0x00000000, // Translation Offset
0x00001000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFEDC6000, // Range Minimum
0xFEDC6FFF, // Range Maximum
0x00000000, // Translation Offset
0x00001000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xFEE01000, // Range Minimum
0xFFFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x011FF000, // Length
,, , AddressRangeMemory, TypeStatic)
})
OperationRegion (K8ST, SystemMemory, 0x1BB23B98, 0x00000090)
Field (K8ST, AnyAcc, NoLock, Preserve)
{
C0_0, 16,
C2_0, 16,
C4_0, 16,
C6_0, 16,
C8_0, 16,
CA_0, 16,
CC_0, 16,
CE_0, 16,
D0_0, 16,
D2_0, 16,
D4_0, 16,
D6_0, 16,
D8_0, 16,
DA_0, 16,
DC_0, 16,
DE_0, 16,
E0_0, 16,
E2_0, 16,
E4_0, 16,
E6_0, 16,
E8_0, 16,
EA_0, 16,
EC_0, 16,
EE_0, 16,
F0_0, 16,
F2_0, 16,
F4_0, 16,
F6_0, 16,
F8_0, 16,
FA_0, 16,
FC_0, 16,
FE_0, 16,
TOML, 32,
TOMH, 32,
PCIB, 32,
PCIS, 32,
T1MN, 64,
T1MX, 64,
T1LN, 64,
T2MN, 64,
T2MX, 64,
T2LN, 64,
MM1B, 32,
MM1S, 32,
BPCB, 32,
BPCS, 32
}
Name (RSRC, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, SubDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0100, // Length
0x00,, _Y01)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000A0000, // Range Minimum
0x000BFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000C0000, // Range Minimum
0x000C1FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000C2000, // Range Minimum
0x000C3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000C4000, // Range Minimum
0x000C5FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000C6000, // Range Minimum
0x000C7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000C8000, // Range Minimum
0x000C9FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000CA000, // Range Minimum
0x000CBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000CC000, // Range Minimum
0x000CDFFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000CE000, // Range Minimum
0x000CFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000D0000, // Range Minimum
0x000D1FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000D2000, // Range Minimum
0x000D3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000D4000, // Range Minimum
0x000D5FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000D6000, // Range Minimum
0x000D7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000D8000, // Range Minimum
0x000D9FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000DA000, // Range Minimum
0x000DBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000DC000, // Range Minimum
0x000DDFFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000DE000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000E0000, // Range Minimum
0x000E1FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000E2000, // Range Minimum
0x000E3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000E4000, // Range Minimum
0x000E5FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000E6000, // Range Minimum
0x000E7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000E8000, // Range Minimum
0x000E9FFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000EA000, // Range Minimum
0x000EBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000EC000, // Range Minimum
0x000EDFFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000EE000, // Range Minimum
0x000EFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000000, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
0x00,, _Y02, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xF4000000, // Range Minimum
0xFEBFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x0AC00000, // Length
0x00,, _Y03, AddressRangeMemory, TypeStatic)
QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000000000, // Range Minimum
0x0000000000000000, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000000000, // Length
,, _Y04, AddressRangeMemory, TypeStatic)
QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000000000, // Range Minimum
0x0000000000000000, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000000000, // Length
,, _Y05, AddressRangeMemory, TypeStatic)
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0CF7, // Range Maximum
0x0000, // Translation Offset
0x0CF8, // Length
0x00,, , TypeStatic, DenseTranslation)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0D00, // Range Minimum
0xFFFF, // Range Maximum
0x0000, // Translation Offset
0xF300, // Length
0x00,, , TypeStatic, DenseTranslation)
})
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
CreateWordField (RSRC, \_SB.PCI0._Y01._MAX, WB1M) // _MAX: Maximum Base Address
CreateWordField (RSRC, \_SB.PCI0._Y01._LEN, WB1L) // _LEN: Length
CreateDWordField (RSRC, \_SB.PCI0._Y02._MIN, BT1S) // _MIN: Minimum Base Address
CreateDWordField (RSRC, \_SB.PCI0._Y02._MAX, BT1M) // _MAX: Maximum Base Address
CreateDWordField (RSRC, \_SB.PCI0._Y02._LEN, BT1L) // _LEN: Length
CreateDWordField (RSRC, \_SB.PCI0._Y03._MIN, BT2S) // _MIN: Minimum Base Address
CreateDWordField (RSRC, \_SB.PCI0._Y03._MAX, BT2M) // _MAX: Maximum Base Address
CreateDWordField (RSRC, \_SB.PCI0._Y03._LEN, BT2L) // _LEN: Length
WB1M = 0xFF
WB1L = 0x0100
BT1S = BPCB /* \_SB_.PCI0.BPCB */
Local0 = (BPCB + BPCS) /* \_SB_.PCI0.BPCS */
BT1M = (Local0 - 0x01)
BT1L = BPCS /* \_SB_.PCI0.BPCS */
BT2S = MM1B /* \_SB_.PCI0.MM1B */
Local0 = (MM1B + MM1S) /* \_SB_.PCI0.MM1S */
BT2M = (Local0 - 0x01)
BT2L = MM1S /* \_SB_.PCI0.MM1S */
CreateQWordField (RSRC, \_SB.PCI0._Y04._MIN, M1MN) // _MIN: Minimum Base Address
CreateQWordField (RSRC, \_SB.PCI0._Y04._MAX, M1MX) // _MAX: Maximum Base Address
CreateQWordField (RSRC, \_SB.PCI0._Y04._LEN, M1LN) // _LEN: Length
M1MN = T1MN /* \_SB_.PCI0.T1MN */
M1MX = T1MX /* \_SB_.PCI0.T1MX */
M1LN = T1LN /* \_SB_.PCI0.T1LN */
CreateQWordField (RSRC, \_SB.PCI0._Y05._MIN, M2MN) // _MIN: Minimum Base Address
CreateQWordField (RSRC, \_SB.PCI0._Y05._MAX, M2MX) // _MAX: Maximum Base Address
CreateQWordField (RSRC, \_SB.PCI0._Y05._LEN, M2LN) // _LEN: Length
M2MN = T2MN /* \_SB_.PCI0.T2MN */
M2MX = T2MX /* \_SB_.PCI0.T2MX */
M2LN = T2LN /* \_SB_.PCI0.T2LN */
M460 ("WBS1 %x %x \n", WB1M, WB1L, 0x00, 0x00, 0x00, 0x00)
M460 ("BTS1 %x %x %x \n", BT1S, BT1M, BT1L, 0x00, 0x00, 0x00)
M460 ("BTS2 %x %x %x \n", BT2S, BT2M, BT2L, 0x00, 0x00, 0x00)
Return (RSRC) /* \_SB_.PCI0.RSRC */
}
Device (MEMR)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (MEM1, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y06)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y07)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y08)
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
M460 ("PLA-ASL-\\_SB.PCI0.MEMR._CRS Start\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y06._BAS, MB01) // _BAS: Base Address
CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y06._LEN, ML01) // _LEN: Length
CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y07._BAS, MB02) // _BAS: Base Address
CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y07._LEN, ML02) // _LEN: Length
If (GPIC)
{
MB01 = 0xFEC00000
MB02 = 0xFEE00000
ML01 = 0x1000
If (NAPC)
{
ML01 += 0x1000
}
ML02 = 0x1000
}
CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y08._BAS, MB03) // _BAS: Base Address
CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y08._LEN, ML03) // _LEN: Length
MB03 = PCIB /* \_SB_.PCI0.PCIB */
ML03 = PCIS /* \_SB_.PCI0.PCIS */
M460 ("FECX %x %x %x \n", MB01, ML01, 0x00, 0x00, 0x00, 0x00)
M460 ("FEEX %x %x %x \n", MB02, ML02, 0x00, 0x00, 0x00, 0x00)
M460 ("PMIB %x %x %x \n", MB03, ML03, 0x00, 0x00, 0x00, 0x00)
M460 ("PLA-ASL-\\_SB.PCI0.MEMR._CRS End\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (MEM1) /* \_SB_.PCI0.MEMR.MEM1 */
}
}
Mutex (NAPM, 0x00)
Method (NAPE, 0, NotSerialized)
{
Acquire (NAPM, 0xFFFF)
Local0 = (PCBA + 0xB8)
OperationRegion (VARM, SystemMemory, Local0, 0x08)
Field (VARM, DWordAcc, NoLock, Preserve)
{
NAPX, 32,
NAPD, 32
}
Local1 = NAPX /* \_SB_.PCI0.NAPE.NAPX */
NAPX = 0x14300000
Local0 = NAPD /* \_SB_.PCI0.NAPE.NAPD */
Local0 &= 0xFFFFFFEF
NAPD = Local0
NAPX = Local1
Release (NAPM)
}
Method (UPWD, 1, NotSerialized)
{
M460 ("PLA-ASL-_SB.PCI0.UPWD\n", Zero, Zero, Zero, Zero, Zero, Zero)
OperationRegion (PSMI, SystemIO, 0xB0, 0x02)
Field (PSMI, ByteAcc, NoLock, Preserve)
{
SMIC, 8,
SMID, 8
}
SMID = Arg0
SMIC = HDSI /* \HDSI */
}
Method (LPWD, 1, NotSerialized)
{
M460 ("PLA-ASL-_SB.PCI0.LPWD\n", Zero, Zero, Zero, Zero, Zero, Zero)
OperationRegion (PSMI, SystemIO, 0xB0, 0x02)
Field (PSMI, ByteAcc, NoLock, Preserve)
{
SMIC, 8,
SMID, 8
}
SMID = Arg0
SMIC = HDSO /* \HDSO */
}
OperationRegion (PM80, SystemMemory, 0xFED80300, 0x0100)
Field (PM80, AnyAcc, NoLock, Preserve)
{
Offset (0x80),
SI3R, 1
}
Name (PRB0, Package (0x14)
{
Package (0x04)
{
0x0001FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0001FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0x0002FFFF,
One,
LNKF,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x02,
LNKG,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x03,
LNKH,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0003FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0004FFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0x0008FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0008FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0008FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0014FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0014FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0014FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0014FFFF,
0x03,
LNKD,
Zero
}
})
Name (ARB0, Package (0x14)
{
Package (0x04)
{
0x0001FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0001FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0001FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0001FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0x0002FFFF,
One,
Zero,
0x15
},
Package (0x04)
{
0x0002FFFF,
0x02,
Zero,
0x16
},
Package (0x04)
{
0x0002FFFF,
0x03,
Zero,
0x17
},
Package (0x04)
{
0x0003FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0003FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0003FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0003FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0004FFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0x0008FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0008FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0008FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0014FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0014FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0014FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0014FFFF,
0x03,
Zero,
0x13
}
})
Name (NRB0, Package (0x14)
{
Package (0x04)
{
0x0001FFFF,
Zero,
Zero,
0x18
},
Package (0x04)
{
0x0001FFFF,
One,
Zero,
0x19
},
Package (0x04)
{
0x0001FFFF,
0x02,
Zero,
0x1A
},
Package (0x04)
{
0x0001FFFF,
0x03,
Zero,
0x1B
},
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x1C
},
Package (0x04)
{
0x0002FFFF,
One,
Zero,
0x1D
},
Package (0x04)
{
0x0002FFFF,
0x02,
Zero,
0x1E
},
Package (0x04)
{
0x0002FFFF,
0x03,
Zero,
0x1F
},
Package (0x04)
{
0x0003FFFF,
Zero,
Zero,
0x20
},
Package (0x04)
{
0x0003FFFF,
One,
Zero,
0x21
},
Package (0x04)
{
0x0003FFFF,
0x02,
Zero,
0x22
},
Package (0x04)
{
0x0003FFFF,
0x03,
Zero,
0x23
},
Package (0x04)
{
0x0004FFFF,
Zero,
Zero,
0x24
},
Package (0x04)
{
0x0008FFFF,
Zero,
Zero,
0x28
},
Package (0x04)
{
0x0008FFFF,
One,
Zero,
0x29
},
Package (0x04)
{
0x0008FFFF,
0x02,
Zero,
0x2A
},
Package (0x04)
{
0x0014FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0014FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0014FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0014FFFF,
0x03,
Zero,
0x13
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NRB0) /* \_SB_.PCI0.NRB0 */
}
Else
{
Return (ARB0) /* \_SB_.PCI0.ARB0 */
}
}
Else
{
Return (PRB0) /* \_SB_.PCI0.PRB0 */
}
}
Device (GPP0)
{
Name (_ADR, 0x00010001) // _ADR: Address
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
If ((WKPM == 0x01))
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP0._PRW Return GPRW (0x8, 0x4)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (GPRW (0x08, 0x04))
}
Else
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP0._PRW Return GPRW (0x8, 0x0)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (GPRW (0x08, 0x00))
}
}
Name (PR00, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR00, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (NR00, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x18
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x19
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x1A
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x1B
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR00) /* \_SB_.PCI0.GPP0.NR00 */
}
Else
{
Return (AR00) /* \_SB_.PCI0.GPP0.AR00 */
}
}
Else
{
Return (PR00) /* \_SB_.PCI0.GPP0.PR00 */
}
}
}
Device (GPP1)
{
Name (_ADR, 0x00010002) // _ADR: Address
Name (PR01, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKF,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKH,
Zero
}
})
Name (AR01, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x15
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x16
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x17
}
})
Name (NR01, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x1C
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x1D
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x1E
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x1F
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR01) /* \_SB_.PCI0.GPP1.NR01 */
}
Else
{
Return (AR01) /* \_SB_.PCI0.GPP1.AR01 */
}
}
Else
{
Return (PR01) /* \_SB_.PCI0.GPP1.PR01 */
}
}
}
Device (GPP2)
{
Name (_ADR, 0x00010003) // _ADR: Address
Name (PR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (NR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x20
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x21
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x22
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x23
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR02) /* \_SB_.PCI0.GPP2.NR02 */
}
Else
{
Return (AR02) /* \_SB_.PCI0.GPP2.AR02 */
}
}
Else
{
Return (PR02) /* \_SB_.PCI0.GPP2.PR02 */
}
}
}
Device (GPP3)
{
Name (_ADR, 0x00010004) // _ADR: Address
Name (PR03, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKF,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKH,
Zero
}
})
Name (AR03, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x15
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x16
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x17
}
})
Name (NR03, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x24
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x25
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x26
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x27
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR03) /* \_SB_.PCI0.GPP3.NR03 */
}
Else
{
Return (AR03) /* \_SB_.PCI0.GPP3.AR03 */
}
}
Else
{
Return (PR03) /* \_SB_.PCI0.GPP3.PR03 */
}
}
}
Device (GPP4)
{
Name (_ADR, 0x00010005) // _ADR: Address
Name (PR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (NR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x28
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x29
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x2A
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x2B
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR04) /* \_SB_.PCI0.GPP4.NR04 */
}
Else
{
Return (AR04) /* \_SB_.PCI0.GPP4.AR04 */
}
}
Else
{
Return (PR04) /* \_SB_.PCI0.GPP4.PR04 */
}
}
}
Device (GPP5)
{
Name (_ADR, 0x00020001) // _ADR: Address
Name (PR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKF,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKH,
Zero
}
})
Name (AR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x15
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x16
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x17
}
})
Name (NR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x2C
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x2D
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x2E
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x2F
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR06) /* \_SB_.PCI0.GPP5.NR06 */
}
Else
{
Return (AR06) /* \_SB_.PCI0.GPP5.AR06 */
}
}
Else
{
Return (PR06) /* \_SB_.PCI0.GPP5.PR06 */
}
}
Device (RTL8)
{
Name (_ADR, Zero) // _ADR: Address
}
Device (RUSB)
{
Name (_ADR, 0x04) // _ADR: Address
}
}
Device (GPP6)
{
Name (_ADR, 0x00020002) // _ADR: Address
Name (PR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKH,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKF,
Zero
}
})
Name (AR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x17
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x14
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x15
}
})
Name (NR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x2E
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x2F
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x2C
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x2D
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR07) /* \_SB_.PCI0.GPP6.NR07 */
}
Else
{
Return (AR07) /* \_SB_.PCI0.GPP6.AR07 */
}
}
Else
{
Return (PR07) /* \_SB_.PCI0.GPP6.PR07 */
}
}
}
Device (GPP7)
{
Name (_ADR, 0x00020003) // _ADR: Address
Name (PR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKH,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKF,
Zero
}
})
Name (AR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x17
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x14
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x15
}
})
Name (NR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x2E
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x2F
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x2C
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x2D
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR08) /* \_SB_.PCI0.GPP7.NR08 */
}
Else
{
Return (AR08) /* \_SB_.PCI0.GPP7.AR08 */
}
}
Else
{
Return (PR08) /* \_SB_.PCI0.GPP7.PR08 */
}
}
Device (DEV0)
{
Name (_ADR, Zero) // _ADR: Address
}
}
Device (GPP8)
{
Name (_ADR, 0x00020004) // _ADR: Address
Name (PR09, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
Zero
}
})
Name (AR09, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x11
}
})
Name (NR09, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x2A
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x2B
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x28
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x29
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR09) /* \_SB_.PCI0.GPP8.NR09 */
}
Else
{
Return (AR09) /* \_SB_.PCI0.GPP8.AR09 */
}
}
Else
{
Return (PR09) /* \_SB_.PCI0.GPP8.PR09 */
}
}
}
Device (GPP9)
{
Name (_ADR, 0x00020005) // _ADR: Address
Name (PR10, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKH,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKF,
Zero
}
})
Name (AR10, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x17
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x14
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x15
}
})
Name (NR10, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x26
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x27
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x24
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x25
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR10) /* \_SB_.PCI0.GPP9.NR10 */
}
Else
{
Return (AR10) /* \_SB_.PCI0.GPP9.AR10 */
}
}
Else
{
Return (PR10) /* \_SB_.PCI0.GPP9.PR10 */
}
}
}
Device (GPPA)
{
Name (_ADR, 0x00020006) // _ADR: Address
Name (PR11, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
Zero
}
})
Name (AR11, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x11
}
})
Name (NR11, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x22
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x23
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x20
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x21
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR11) /* \_SB_.PCI0.GPPA.NR11 */
}
Else
{
Return (AR11) /* \_SB_.PCI0.GPPA.AR11 */
}
}
Else
{
Return (PR11) /* \_SB_.PCI0.GPPA.PR11 */
}
}
}
Device (GP11)
{
Name (_ADR, 0x00030001) // _ADR: Address
Name (PR12, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKH,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKF,
Zero
}
})
Name (AR12, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x17
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x14
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x15
}
})
Name (NR12, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x1E
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x1F
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x1C
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x1D
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR12) /* \_SB_.PCI0.GP11.NR12 */
}
Else
{
Return (AR12) /* \_SB_.PCI0.GP11.AR12 */
}
}
Else
{
Return (PR12) /* \_SB_.PCI0.GP11.PR12 */
}
}
}
Device (GP12)
{
Name (_ADR, 0x00040001) // _ADR: Address
Name (PR16, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
Zero
}
})
Name (AR16, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x11
}
})
Name (NR16, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x22
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x23
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x20
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x21
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR16) /* \_SB_.PCI0.GP12.NR16 */
}
Else
{
Return (AR16) /* \_SB_.PCI0.GP12.AR16 */
}
}
Else
{
Return (PR16) /* \_SB_.PCI0.GP12.PR16 */
}
}
}
Device (GP17)
{
Name (_ADR, 0x00080001) // _ADR: Address
Name (PR17, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKH,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKF,
Zero
}
})
Name (AR17, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x17
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x14
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x15
}
})
Name (NR17, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x26
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x27
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x24
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x25
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR17) /* \_SB_.PCI0.GP17.NR17 */
}
Else
{
Return (AR17) /* \_SB_.PCI0.GP17.AR17 */
}
}
Else
{
Return (PR17) /* \_SB_.PCI0.GP17.PR17 */
}
}
Device (VGA)
{
Name (_ADR, 0x00) // _ADR: Address
Name (DOSA, 0x00)
Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
{
DOSA = Arg0
}
Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
{
Return (Package (0x07)
{
0x00010110,
0x00010210,
0x00010220,
0x00010230,
0x00010240,
0x00031000,
0x00032000
})
}
Device (LCD)
{
Method (_ADR, 0, NotSerialized) // _ADR: Address
{
Return (0x0110)
}
Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
{
If ((TPOS >= 0x60))
{
Return (Package (0x67)
{
0x64,
0x64,
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
})
}
Return (^^^^LPC0.EC0.BRTW) /* \_SB_.PCI0.LPC0.EC0_.BRTW */
}
Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
{
If (((Arg0 >= 0x00) && (Arg0 <= 0x64)))
{
Local0 = ((Arg0 * 0xFF) / 0x64)
AFN7 (Local0)
BRTL = Arg0
}
}
Method (_DDC, 1, NotSerialized) // _DDC: Display Data Current
{
If ((Arg0 == 0x01))
{
Return (VEDI) /* \VEDI */
}
ElseIf ((Arg0 == 0x02))
{
Name (VBUF, Buffer (0x0100)
{
0x00 // .
})
Concatenate (VEDI, VEDX, VBUF) /* \_SB_.PCI0.GP17.VGA_.LCD_._DDC.VBUF */
Return (VBUF) /* \_SB_.PCI0.GP17.VGA_.LCD_._DDC.VBUF */
}
Return (0x00)
}
}
}
Device (PSP)
{
Name (_ADR, 0x02) // _ADR: Address
}
Device (ACP)
{
Name (_ADR, 0x05) // _ADR: Address
}
Device (AZAL)
{
Name (_ADR, 0x06) // _ADR: Address
}
Device (HDAU)
{
Name (_ADR, 0x01) // _ADR: Address
}
Device (XHC0)
{
Name (_ADR, 0x03) // _ADR: Address
Device (RHUB)
{
Name (_ADR, 0x00) // _ADR: Address
Device (PRT1)
{
Name (_ADR, 0x01) // _ADR: Address
}
Device (PRT2)
{
Name (_ADR, 0x02) // _ADR: Address
}
Device (PRT3)
{
Name (_ADR, 0x03) // _ADR: Address
Device (PRT1)
{
Name (_ADR, 0x01) // _ADR: Address
}
Device (PRT2)
{
Name (_ADR, 0x02) // _ADR: Address
}
}
Device (PRT4)
{
Name (_ADR, 0x04) // _ADR: Address
}
Device (PRT5)
{
Name (_ADR, 0x05) // _ADR: Address
}
Device (PRT6)
{
Name (_ADR, 0x06) // _ADR: Address
}
Device (PRT7)
{
Name (_ADR, 0x07) // _ADR: Address
}
}
}
Device (XHC1)
{
Name (_ADR, 0x04) // _ADR: Address
Device (RHUB)
{
Name (_ADR, 0x00) // _ADR: Address
Device (PRT1)
{
Name (_ADR, 0x01) // _ADR: Address
}
Device (PRT2)
{
Name (_ADR, 0x02) // _ADR: Address
}
}
}
Device (MP2C)
{
Name (_ADR, 0x07) // _ADR: Address
}
}
Device (GP18)
{
Name (_ADR, 0x00080002) // _ADR: Address
Name (PR18, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
Zero
}
})
Name (AR18, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x11
}
})
Name (NR18, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x2A
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x2B
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x28
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x29
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR18) /* \_SB_.PCI0.GP18.NR18 */
}
Else
{
Return (AR18) /* \_SB_.PCI0.GP18.AR18 */
}
}
Else
{
Return (PR18) /* \_SB_.PCI0.GP18.PR18 */
}
}
Device (IPU)
{
Name (_ADR, 0x01) // _ADR: Address
}
}
Device (GP19)
{
Name (_ADR, 0x00080003) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
Switch (ToInteger (Arg2))
{
Case (0x00)
{
Return (Buffer (0x01)
{
0xFF // .
})
}
Case (0x05)
{
Return (0x00)
}
Default
{
Return (0x00)
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Name (PR19, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKH,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKF,
Zero
}
})
Name (AR19, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x17
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x14
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x15
}
})
Name (NR19, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x2E
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x2F
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x2C
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x2D
}
})
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
If (NAPC)
{
Return (NR19) /* \_SB_.PCI0.GP19.NR19 */
}
Else
{
Return (AR19) /* \_SB_.PCI0.GP19.AR19 */
}
}
Else
{
Return (PR19) /* \_SB_.PCI0.GP19.PR19 */
}
}
Device (XHC2)
{
Name (_ADR, 0x00) // _ADR: Address
Device (RHUB)
{
Name (_ADR, 0x00) // _ADR: Address
Device (PRT1)
{
Name (_ADR, 0x01) // _ADR: Address
}
Device (PRT2)
{
Name (_ADR, 0x02) // _ADR: Address
}
}
}
Device (NHI0)
{
Name (_ADR, 0x05) // _ADR: Address
}
Device (XHC3)
{
Name (_ADR, 0x03) // _ADR: Address
Device (RHUB)
{
Name (_ADR, 0x00) // _ADR: Address
Device (PRT1)
{
Name (_ADR, 0x01) // _ADR: Address
}
Device (PRT2)
{
Name (_ADR, 0x02) // _ADR: Address
}
}
}
Device (NHI1)
{
Name (_ADR, 0x06) // _ADR: Address
}
Device (XHC4)
{
Name (_ADR, 0x04) // _ADR: Address
Device (RHUB)
{
Name (_ADR, 0x00) // _ADR: Address
Device (PRT1)
{
Name (_ADR, 0x01) // _ADR: Address
}
Device (PRT2)
{
Name (_ADR, 0x02) // _ADR: Address
}
}
}
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((HPEN == One))
{
If ((OSTB >= 0x40))
{
M460 ("PLA-ASL-\\_SB.PCI0.HPET._STA = 0xF\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x0F)
}
HPEN = Zero
M460 ("PLA-ASL-\\_SB.PCI0.HPET._STA = 0x1\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (One)
}
M460 ("PLA-ASL-\\_SB.PCI0.HPET._STA 1 = 0x1\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (One)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
M460 ("PLA-ASL-\\_SB.PCI0.HPET._CRS\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Name (BUF0, ResourceTemplate ()
{
IRQNoFlags ()
{0}
IRQNoFlags ()
{8}
Memory32Fixed (ReadOnly,
0xFED00000, // Address Base
0x00000400, // Address Length
_Y09)
})
CreateDWordField (BUF0, \_SB.PCI0.HPET._CRS._Y09._BAS, HPEB) // _BAS: Base Address
Local0 = 0xFED00000
HPEB = (Local0 & 0xFFFFFC00)
Return (BUF0) /* \_SB_.PCI0.HPET._CRS.BUF0 */
}
}
Device (SMBS)
{
Name (_ADR, 0x00140000) // _ADR: Address
}
Device (LPC0)
{
Name (_ADR, 0x00140003) // _ADR: Address
Device (DMAC)
{
Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0081, // Range Minimum
0x0081, // Range Maximum
0x01, // Alignment
0x0F, // Length
)
IO (Decode16,
0x00C0, // Range Minimum
0x00C0, // Range Maximum
0x01, // Alignment
0x20, // Length
)
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{4}
})
}
Device (COPR)
{
Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x01, // Alignment
0x0F, // Length
)
IRQNoFlags ()
{13}
})
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x02, // Length
)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{8}
})
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
If ((HPEN == One))
{
Return (BUF0) /* \_SB_.PCI0.LPC0.RTC_.BUF0 */
}
Return (BUF1) /* \_SB_.PCI0.LPC0.RTC_.BUF1 */
}
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
}
Device (TMR)
{
Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{0}
})
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
If ((HPEN == One))
{
Return (BUF0) /* \_SB_.PCI0.LPC0.TMR_.BUF0 */
}
Return (BUF1) /* \_SB_.PCI0.LPC0.TMR_.BUF1 */
}
}
Device (KBD)
{
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If (WIN8)
{
Return (0x7100AE30)
}
Return (0x0303D041)
}
Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _CID: Compatible ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQ (Edge, ActiveLow, Shared, )
{1}
})
}
Device (MOU)
{
Name (_HID, "PNP0F13" /* PS/2 Mouse */) // _HID: Hardware ID
Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID
Name (_STA, 0x0F) // _STA: Status
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQ (Edge, ActiveLow, Exclusive, )
{12}
})
Name (DIDL, Package (0x05)
{
0x03,
0x06,
0x02,
0x01,
0x01
})
Name (PNPL, Package (0x05)
{
"LEN030B",
"LEN030C",
"LEN0305",
"LEN0305",
"LEN0305"
})
Name (PNP1, Package (0x02)
{
"LEN0314",
"LEN0315"
})
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
MHID ()
}
Method (MHID, 0, NotSerialized)
{
Local0 = Match (DIDL, MEQ, (TPID & 0xFF), MTR, 0x00, 0x00)
If ((Local0 != Ones))
{
If ((RFIO (0x04) == 0x01))
{
_HID = DerefOf (PNP1 [Local0])
}
Else
{
_HID = DerefOf (PNPL [Local0])
}
}
Else
{
_STA = 0x00
}
}
}
Device (SYSR)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x01) // _UID: Unique ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0010, // Range Minimum
0x0010, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0072, // Range Minimum
0x0072, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x00B0, // Range Minimum
0x00B0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0092, // Range Minimum
0x0092, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0400, // Range Minimum
0x0400, // Range Maximum
0x01, // Alignment
0xD0, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x04D6, // Range Minimum
0x04D6, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0C00, // Range Minimum
0x0C00, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0C14, // Range Minimum
0x0C14, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0C50, // Range Minimum
0x0C50, // Range Maximum
0x01, // Alignment
0x03, // Length
)
IO (Decode16,
0x0C6C, // Range Minimum
0x0C6C, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0C6F, // Range Minimum
0x0C6F, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0CD0, // Range Minimum
0x0CD0, // Range Maximum
0x01, // Alignment
0x0C, // Length
)
IO (Decode16,
0x0580, // Range Minimum
0x0580, // Range Maximum
0x01, // Alignment
0x7F, // Length
)
})
}
Device (SPIR)
{
Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
Memory32Fixed (ReadOnly,
0xFF000000, // Address Base
0x01000000, // Address Length
)
})
}
Device (EC0)
{
Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
Name (_UID, 0x00) // _UID: Unique ID
Name (_GPE, 0x07) // _GPE: General Purpose Events
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If ((Arg0 == 0x03))
{
H8DR = Arg1
}
}
OperationRegion (KBCS, SystemIO, 0x60, 0x05)
Field (KBCS, ByteAcc, NoLock, Preserve)
{
KB60, 8,
Offset (0x04),
KB64, 8
}
Method (EMBF, 1, Serialized)
{
Local2 = Arg0
Local0 = One
While ((Local2 && (Local0 & One)))
{
Sleep (One)
Local1 = KB60 /* \_SB_.PCI0.LPC0.EC0_.KB60 */
Sleep (One)
Local0 = KB64 /* \_SB_.PCI0.LPC0.EC0_.KB64 */
Local2--
}
}
Mutex (UCCI, 0x00)
Mutex (SMUM, 0x00)
OperationRegion (ECOR, EmbeddedControl, 0x00, 0x0100)
Field (ECOR, ByteAcc, NoLock, Preserve)
{
HDBM, 1,
, 1,
, 1,
HFNE, 1,
, 1,
, 1,
HLDM, 1,
Offset (0x01),
BBLS, 1,
BTCM, 1,
, 1,
, 1,
, 1,
HBPR, 1,
BTPC, 1,
Offset (0x02),
HDUE, 1,
, 4,
SNLK, 1,
Offset (0x03),
, 5,
HAUM, 2,
Offset (0x05),
HSPA, 1,
Offset (0x06),
HSUN, 8,
HSRP, 8,
Offset (0x0B),
S4WA, 1,
Offset (0x0C),
HLCL, 8,
, 2,
T4RS, 1,
, 1,
CALM, 1,
, 1,
KBLL, 1,
KBLH, 1,
HFNS, 2,
Offset (0x0F),
, 6,
NULS, 1,
Offset (0x10),
HAM0, 8,
HAM1, 8,
HAM2, 8,
HAM3, 8,
HAM4, 8,
HAM5, 8,
HAM6, 8,
HAM7, 8,
HAM8, 8,
HAM9, 8,
HAMA, 8,
HAMB, 8,
HAMC, 8,
HAMD, 8,
HAME, 8,
HAMF, 8,
Offset (0x23),
HANT, 8,
Offset (0x26),
, 2,
HANA, 2,
Offset (0x27),
Offset (0x28),
, 1,
SKEM, 1,
, 1,
WRST, 1,
, 1,
CAMS, 1,
Offset (0x29),
MAXP, 8,
HATR, 8,
HT0H, 8,
HT0L, 8,
HT1H, 8,
HT1L, 8,
HFSP, 8,
, 6,
HMUT, 1,
Offset (0x31),
, 2,
HUWB, 1,
, 3,
VPON, 1,
VRST, 1,
HWPM, 1,
HWLB, 1,
HWLO, 1,
HWDK, 1,
HWFN, 1,
HWBT, 1,
HWRI, 1,
HWBU, 1,
HWLU, 1,
Offset (0x34),
, 3,
PIBS, 1,
, 3,
HPLO, 1,
, 4,
FANE, 1,
Offset (0x36),
HWAC, 16,
HB0S, 7,
HB0A, 1,
HB1S, 7,
HB1A, 1,
HCMU, 1,
, 2,
OVRQ, 1,
DCBD, 1,
DCWL, 1,
DCWW, 1,
HB1I, 1,
, 1,
KBLT, 1,
BTPW, 1,
FNKC, 1,
HUBS, 1,
BDPW, 1,
BDDT, 1,
HUBB, 1,
Offset (0x46),
, 1,
BTWK, 1,
HPLD, 1,
, 1,
HPAC, 1,
BTST, 1,
PSST, 1,
Offset (0x47),
HPBU, 1,
PSS2, 1,
HBID, 1,
, 3,
PWSE, 1,
HPNF, 1,
, 1,
GSTS, 1,
, 2,
HLBU, 1,
DOCD, 1,
HCBL, 1,
Offset (0x49),
SLUL, 1,
, 1,
ACAT, 1,
, 4,
ELNK, 1,
FPSU, 1,
Offset (0x4B),
WWDT, 4,
Offset (0x4C),
HTMH, 8,
HTML, 8,
HWAK, 16,
HMPR, 8,
, 7,
HMDN, 1,
Offset (0x78),
TMP0, 8,
GPUT, 8,
TMP2, 8,
Offset (0x7C),
TMP3, 8,
TMP4, 8,
TMP5, 8,
, 1,
QCON, 1,
Offset (0x80),
Offset (0x81),
HIID, 8,
Offset (0x83),
HFNI, 8,
HSPD, 16,
Offset (0x88),
TSL0, 7,
TSR0, 1,
TSL1, 7,
TSR1, 1,
TSL2, 7,
TSR2, 1,
TSL3, 7,
TSR3, 1,
CPUI, 4,
GPUI, 4,
HDAA, 3,
HDAB, 3,
HDAC, 2,
Offset (0xB0),
BSC0, 8,
BEC0, 8,
BSC1, 8,
BEC1, 8,
HDEP, 32,
HDEM, 8,
HDES, 8,
Offset (0xBB),
BPL1, 1,
BPL2, 1,
BP1S, 1,
BP2S, 1,
BLPL, 1,
Offset (0xBC),
BMSB, 8,
BLSB, 8,
BTIM, 8,
Offset (0xC0),
TAST, 7,
TASC, 1,
Offset (0xC4),
CQLS, 1,
SMCS, 1,
Offset (0xC5),
Offset (0xC6),
DPRL, 1,
, 6,
TSN0, 1,
Offset (0xC8),
ATMX, 8,
HWAT, 8,
Offset (0xCB),
TTCI, 8,
PWMH, 8,
PWML, 8,
Offset (0xCF),
, 4,
ESFL, 1,
ESLS, 1,
ESLP, 1,
Offset (0xD0),
Offset (0xED),
, 4,
HDDD, 1,
Offset (0xFE),
PNVM, 1
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
If (H8DR)
{
HSPA = 0x00
}
Else
{
MBEC (0x05, 0xFE, 0x00)
}
^HKEY.WGIN ()
If ((WLAC == 0x02)) {}
ElseIf ((ELNK && (WLAC == 0x01)))
{
DCWL = 0x00
}
Else
{
DCWL = 0x01
}
}
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0066, // Range Minimum
0x0066, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
Method (LED, 2, NotSerialized)
{
Local0 = (Arg0 | Arg1)
If (H8DR)
{
HLCL = Local0
}
Else
{
WBEC (0x0C, Local0)
}
}
Name (BAON, 0x00)
Name (WBON, 0x00)
Method (BEEP, 1, NotSerialized)
{
If ((Arg0 == 0x05))
{
WBON = 0x00
}
Local2 = WBON /* \_SB_.PCI0.LPC0.EC0_.WBON */
If (BAON)
{
If ((Arg0 == 0x00))
{
BAON = 0x00
If (WBON)
{
Local0 = 0x03
Local1 = 0x08
}
Else
{
Local0 = 0x00
Local1 = 0x00
}
}
Else
{
Local0 = 0xFF
Local1 = 0xFF
If ((Arg0 == 0x11))
{
WBON = 0x00
}
If ((Arg0 == 0x10))
{
WBON = 0x01
}
}
}
Else
{
Local0 = Arg0
Local1 = 0xFF
If ((Arg0 == 0x0F))
{
Local0 = Arg0
Local1 = 0x08
BAON = 0x01
}
If ((Arg0 == 0x11))
{
Local0 = 0x00
Local1 = 0x00
WBON = 0x00
}
If ((Arg0 == 0x10))
{
Local0 = 0x03
Local1 = 0x08
WBON = 0x01
}
}
If ((Arg0 == 0x03))
{
WBON = 0x00
If (Local2)
{
Local0 = 0x07
If (((SPS == 0x03) || (SPS == 0x04)))
{
Local2 = 0x00
Local0 = 0xFF
Local1 = 0xFF
}
}
}
If ((Arg0 == 0x07))
{
If (Local2)
{
Local2 = 0x00
Local0 = 0xFF
Local1 = 0xFF
}
}
If (H8DR)
{
If ((Local2 && !WBON))
{
HSRP = 0x00
HSUN = 0x00
Sleep (0x64)
}
If ((Local1 != 0xFF))
{
HSRP = Local1
}
If ((Local0 != 0xFF))
{
HSUN = Local0
}
}
Else
{
If ((Local2 && !WBON))
{
WBEC (0x07, 0x00)
WBEC (0x06, 0x00)
Sleep (0x64)
}
If ((Local1 != 0xFF))
{
WBEC (0x07, Local1)
}
If ((Local0 != 0xFF))
{
WBEC (0x06, Local0)
}
}
If ((Arg0 == 0x03)) {}
If ((Arg0 == 0x07))
{
Sleep (0x01F4)
}
}
Method (EVNT, 1, NotSerialized)
{
If (H8DR)
{
If (Arg0)
{
HAM5 |= 0x04
}
Else
{
HAM5 &= 0xFB
}
}
ElseIf (Arg0)
{
MBEC (0x15, 0xFF, 0x04)
}
Else
{
MBEC (0x15, 0xFB, 0x00)
}
}
Method (CHKS, 0, NotSerialized)
{
Local0 = 0x03E8
While (HMPR)
{
Sleep (0x01)
Local0--
If (!Local0)
{
Return (0x8080)
}
}
If (HMDN)
{
Return (Zero)
}
Return (0x8081)
}
Method (LPMD, 0, NotSerialized)
{
Local0 = 0x00
Local1 = 0x00
Local2 = 0x00
Return (Local0)
}
Method (CLPM, 0, NotSerialized)
{
}
Method (ECNT, 1, Serialized)
{
Switch (ToInteger (Arg0))
{
Case (0x00)
{
If ((ISGD == 0x00)) {}
If ((^HKEY.MSCB == 0x00))
{
If (H8DR)
{
ESLS = 0x00
}
Else
{
Local0 = RBEC (0xCF)
Local0 &= 0xFFFFFFFFFFFFFFDF
WBEC (0xCF, Local0)
}
LED (0x0A, 0x80)
LED (0x00, 0x80)
}
SCMS (0x21)
Return (0x00)
}
Case (0x01)
{
If ((ISGD == 0x00)) {}
If ((^HKEY.MSCB == 0x00))
{
If (H8DR)
{
ESLS = 0x01
}
Else
{
Local1 = RBEC (0xCF)
Local1 |= 0x20
WBEC (0xCF, Local1)
}
LED (0x00, 0xA0)
LED (0x0A, 0xA0)
}
Return (0x00)
}
Case (0x02)
{
If (H8DR)
{
ESLP = 0x00
}
Else
{
Local0 = RBEC (0xCF)
Local0 &= 0xFFFFFFFFFFFFFFBF
WBEC (0xCF, Local0)
}
EMBF (0x64)
HAM9 |= 0x40
Return (0x00)
}
Case (0x03)
{
If (H8DR)
{
ESLP = 0x01
}
Else
{
Local1 = RBEC (0xCF)
Local1 |= 0x40
WBEC (0xCF, Local1)
}
HAM9 &= 0xBF
Return (0x00)
}
Case (0x04)
{
S4RF = SXRF /* \SXRF */
S4EF = SXEF /* \SXEF */
If (H8DR)
{
ESLS = 0x00
}
Else
{
Local0 = RBEC (0xCF)
Local0 &= 0xFFFFFFFFFFFFFFDF
WBEC (0xCF, Local0)
}
LED (0x0A, 0x80)
LED (0x00, 0x80)
SCMS (0x21)
Return (0x00)
}
Case (0x05)
{
SXRF = S4RF /* \_SB_.PCI0.S4RF */
SXEF = S4EF /* \_SB_.PCI0.S4EF */
S4RF = 0x00
S4EF = 0x00
If (H8DR)
{
ESLS = 0x01
HWLO = 0x01
If ((^^^^LID._LID () == 0x01))
{
HWFN = 0x01
}
Else
{
HWFN = 0x00
}
}
Else
{
Local1 = RBEC (0xCF)
Local1 |= 0x20
WBEC (0xCF, Local1)
}
LED (0x00, 0xA0)
LED (0x0A, 0xA0)
Return (0x00)
}
Default
{
Return (0xFF)
}
}
}
Device (HKEY)
{
Name (_HID, EisaId ("LEN0268")) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (MHKV, 0, NotSerialized)
{
Return (0x0200)
}
Name (DHKC, 0x00)
Name (DHKB, 0x01)
Name (DHKH, 0x00)
Name (DHKW, 0x00)
Name (DHKS, 0x00)
Name (DHKD, 0x00)
Name (DHKN, 0x0808)
Name (DHKE, 0x00)
Name (DHKF, 0x0BFF4000)
Name (DHKT, 0x00)
Name (DHWW, 0x00)
Name (DHDF, 0x00)
Mutex (XDHK, 0x00)
Method (MHKA, 1, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (0x03)
}
ElseIf ((Arg0 == 0x01))
{
Return (0xFFFFFFFB)
}
ElseIf ((Arg0 == 0x02))
{
Return (0x00)
}
ElseIf ((Arg0 == 0x03))
{
Return (0x0BFF4000)
}
Else
{
Return (0x00)
}
}
Method (MHKN, 1, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (0x03)
}
ElseIf ((Arg0 == 0x01))
{
Return (DHKN) /* \_SB_.PCI0.LPC0.EC0_.HKEY.DHKN */
}
ElseIf ((Arg0 == 0x02))
{
Return (DHKE) /* \_SB_.PCI0.LPC0.EC0_.HKEY.DHKE */
}
ElseIf ((Arg0 == 0x03))
{
Return (DHKF) /* \_SB_.PCI0.LPC0.EC0_.HKEY.DHKF */
}
Else
{
Return (0x00)
}
}
Method (MHKK, 2, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (0x03)
}
ElseIf (DHKC)
{
If ((Arg0 == 0x01))
{
Return ((DHKN & Arg1))
}
ElseIf ((Arg0 == 0x02))
{
Return ((DHKE & Arg1))
}
ElseIf ((Arg0 == 0x03))
{
Return ((DHKF & Arg1))
}
Else
{
Return (0x00)
}
}
Else
{
Return (Zero)
}
}
Method (MHKM, 2, NotSerialized)
{
Acquire (XDHK, 0xFFFF)
If ((Arg0 > 0x60))
{
Noop
}
ElseIf ((Arg0 <= 0x20))
{
Local0 = (One << Arg0--)
If ((Local0 & 0xFFFFFFFB))
{
If (Arg1)
{
DHKN |= Local0 /* \_SB_.PCI0.LPC0.EC0_.HKEY.DHKN */
}
Else
{
DHKN &= (Local0 ^ 0xFFFFFFFF)
}
}
Else
{
Noop
}
}
ElseIf ((Arg0 <= 0x40))
{
Noop
}
ElseIf ((Arg0 <= 0x60))
{
Arg0 -= 0x40
Local0 = (One << Arg0--)
If ((Local0 & 0x0BFF4000))
{
If (Arg1)
{
DHKF |= Local0 /* \_SB_.PCI0.LPC0.EC0_.HKEY.DHKF */
}
Else
{
DHKF &= (Local0 ^ 0xFFFFFFFF)
}
}
Else
{
Noop
}
}
Release (XDHK)
}
Method (MHKS, 0, NotSerialized)
{
Notify (SLPB, 0x80) // Status Change
}
Method (MHKC, 1, NotSerialized)
{
DHKC = Arg0
}
Method (MHKP, 0, NotSerialized)
{
Acquire (XDHK, 0xFFFF)
If (DHWW)
{
Local1 = DHWW /* \_SB_.PCI0.LPC0.EC0_.HKEY.DHWW */
DHWW = Zero
}
ElseIf (DHDF)
{
Local1 = DHDF /* \_SB_.PCI0.LPC0.EC0_.HKEY.DHDF */
DHDF = Zero
}
ElseIf (DHKW)
{
Local1 = DHKW /* \_SB_.PCI0.LPC0.EC0_.HKEY.DHKW */
DHKW = Zero
}
ElseIf (DHKD)
{
Local1 = DHKD /* \_SB_.PCI0.LPC0.EC0_.HKEY.DHKD */
DHKD = Zero
}
ElseIf (DHKS)
{
Local1 = DHKS /* \_SB_.PCI0.LPC0.EC0_.HKEY.DHKS */
DHKS = Zero
}
ElseIf (DHKT)
{
Local1 = DHKT /* \_SB_.PCI0.LPC0.EC0_.HKEY.DHKT */
DHKT = Zero
}
Else
{
Local1 = DHKH /* \_SB_.PCI0.LPC0.EC0_.HKEY.DHKH */
DHKH = Zero
}
Release (XDHK)
Return (Local1)
}
Method (MHKE, 1, Serialized)
{
DHKB = Arg0
Acquire (XDHK, 0xFFFF)
DHKH = Zero
DHKW = Zero
DHKS = Zero
DHKD = Zero
DHKT = Zero
DHWW = Zero
Release (XDHK)
}
Method (MHKQ, 1, Serialized)
{
If (DHKB)
{
If (DHKC)
{
Acquire (XDHK, 0xFFFF)
If ((Arg0 < 0x1000)) {}
ElseIf ((Arg0 < 0x2000))
{
DHKH = Arg0
}
ElseIf ((Arg0 < 0x3000))
{
DHKW = Arg0
}
ElseIf ((Arg0 < 0x4000))
{
DHKS = Arg0
}
ElseIf ((Arg0 < 0x5000))
{
DHKD = Arg0
}
ElseIf ((Arg0 < 0x6000))
{
DHKH = Arg0
}
ElseIf ((Arg0 < 0x7000))
{
DHKT = Arg0
}
ElseIf ((Arg0 < 0x8000))
{
DHWW = Arg0
}
ElseIf ((Arg0 < 0x9000))
{
DHDF = Arg0
}
Else
{
}
Release (XDHK)
Notify (HKEY, 0x80) // Status Change
}
ElseIf ((Arg0 == 0x1004))
{
Notify (SLPB, 0x80) // Status Change
}
}
}
Method (MHKB, 1, NotSerialized)
{
If ((Arg0 == 0x00))
{
BEEP (0x11)
LIDB = 0x00
}
ElseIf ((Arg0 == 0x01))
{
BEEP (0x10)
LIDB = 0x01
}
Else
{
}
}
Method (MHKD, 0, NotSerialized)
{
If ((PLUX == 0x00)) {}
}
Method (MHQC, 1, NotSerialized)
{
If (WNTF)
{
If ((Arg0 == 0x00))
{
Return (CWAC) /* \CWAC */
}
ElseIf ((Arg0 == 0x01))
{
Return (CWAP) /* \CWAP */
}
ElseIf ((Arg0 == 0x02))
{
Return (CWAT) /* \CWAT */
}
Else
{
Noop
}
}
Else
{
Noop
}
Return (0x00)
}
Method (MHGC, 0, NotSerialized)
{
If (WNTF)
{
Acquire (XDHK, 0xFFFF)
If (CKC4 (0x00))
{
Local0 = 0x03
}
Else
{
Local0 = 0x04
}
Release (XDHK)
Return (Local0)
}
Else
{
Noop
}
Return (0x00)
}
Method (MHSC, 1, NotSerialized)
{
}
Method (CKC4, 1, NotSerialized)
{
Local0 = 0x00
If (C4WR)
{
If (!C4AC)
{
Local0 |= 0x01
}
}
If (C4NA)
{
Local0 |= 0x02
}
If ((CWAC && CWAS))
{
Local0 |= 0x04
}
Local0 &= ~Arg0
Return (Local0)
}
Method (MHQE, 0, NotSerialized)
{
Return (0x00)
}
Method (MHGE, 0, NotSerialized)
{
If ((C4WR && C4AC))
{
Return (0x04)
}
Return (0x03)
}
Method (MHSE, 1, NotSerialized)
{
}
Method (UAWO, 1, NotSerialized)
{
Return (UAWS (Arg0))
}
Method (MLCG, 1, NotSerialized)
{
Local0 = KBLS (0x00, 0x00)
Return (Local0)
}
Method (MLCS, 1, NotSerialized)
{
Local0 = KBLS (0x01, Arg0)
If (!(Local0 & 0x80000000))
{
If ((Arg0 & 0x00010000))
{
MHKQ (0x6001)
}
ElseIf (MHKK (0x01, 0x00020000))
{
MHKQ (0x1012)
}
}
Return (Local0)
}
Method (DSSG, 1, NotSerialized)
{
Local0 = (0x0400 | PDCI) /* \PDCI */
Return (Local0)
}
Method (DSSS, 1, NotSerialized)
{
PDCI |= Arg0
}
Method (SBSG, 1, NotSerialized)
{
Return (SYBC (0x00, 0x00))
}
Method (SBSS, 1, NotSerialized)
{
Return (SYBC (0x01, Arg0))
}
Method (PBLG, 1, NotSerialized)
{
Local0 = BRLV /* \BRLV */
Local1 = (Local0 | 0x0F00)
Return (Local1)
}
Method (PBLS, 1, NotSerialized)
{
BRLV = Arg0
If (VIGD) {}
Else
{
VBRC (BRLV)
}
If (!NBCF)
{
MHKQ (0x6050)
}
Return (0x00)
}
Method (PMSG, 1, NotSerialized)
{
Local0 = PRSM (0x00, 0x00)
Return (Local0)
}
Method (PMSS, 1, NotSerialized)
{
PRSM (0x01, Arg0)
Return (0x00)
}
Method (ISSG, 1, NotSerialized)
{
Local0 = ISSP /* \ISSP */
If (ISSP)
{
Local0 |= 0x01000000
Local0 |= (ISFS << 0x19)
}
Local0 |= (ISCG & 0x30)
Local0 &= 0xFFFFFFFE
Local0 |= 0x02
Local0 |= ((ISWK & 0x02) << 0x02)
Return (Local0)
}
Method (ISSS, 1, NotSerialized)
{
ISCG = Arg0
Return (0x00)
}
Method (FFSG, 1, NotSerialized)
{
Return (0x00)
}
Method (FFSS, 1, NotSerialized)
{
Return (0x80000000)
}
Method (GMKS, 0, NotSerialized)
{
Return (FNSC (0x02, 0x00))
}
Method (SMKS, 1, NotSerialized)
{
Return (FNSC (0x03, (Arg0 & 0x00010001)))
}
Method (GSKL, 1, NotSerialized)
{
Return (FNSC (0x04, (Arg0 & 0x0F000000)))
}
Method (SSKL, 1, NotSerialized)
{
Return (FNSC (0x05, (Arg0 & 0x0F00FFFF)))
}
Method (INSG, 1, NotSerialized)
{
Local0 = IOEN /* \IOEN */
Local0 |= (IOST << 0x07)
Local0 |= (IOCP << 0x08)
Local0 |= 0x10000000
Return (Local0)
}
Method (INSS, 1, NotSerialized)
{
If ((Arg0 & 0x10000000))
{
If (IOCP)
{
Local0 = ((Arg0 & 0x80) >> 0x07)
If (!EZRC (Local0))
{
IOST = Local0
}
}
Return (0x00)
}
If ((IOCP && (Arg0 & 0x01)))
{
IOEN = 0x01
}
Else
{
IOEN = 0x00
If (IOST)
{
If (!ISOC (0x00))
{
IOST = 0x00
}
}
}
Return (0x00)
}
}
Device (AC)
{
Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
Name (_UID, 0x00) // _UID: Unique ID
Name (_PCL, Package (0x01) // _PCL: Power Consumer List
{
_SB
})
Name (XX00, Buffer (0x03) {})
Name (ACDC, 0xFF)
Method (_PSR, 0, NotSerialized) // _PSR: Power Source
{
If (H8DR)
{
Local0 = HPAC /* \_SB_.PCI0.LPC0.EC0_.HPAC */
ATMX = Local0
}
Else
{
If ((RBEC (0x46) & 0x10))
{
Local0 = 0x01
}
Else
{
Local0 = 0x00
}
WBEC (0xC8, Local0)
}
Local1 = Acquire (SMUM, 0x03E8)
If ((Local1 == Zero))
{
CreateWordField (XX00, 0x00, SSZE)
CreateByteField (XX00, 0x02, ACST)
SSZE = 0x03
If (((Local0 != ACDC) || (ACDC == 0xFF)))
{
If (CondRefOf (AFN4))
{
If ((Local0 == 0x01))
{
AFN4 (0x01)
ACST = 0x00
}
If ((Local0 == 0x00))
{
AFN4 (0x02)
ACST = 0x01
}
}
If (CondRefOf (\_SB.ALIB))
{
ALIB (0x01, XX00)
}
ACDC = Local0
}
Release (SMUM)
}
Return (Local0)
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
}
Scope (HKEY)
{
Method (SMPS, 1, Serialized)
{
If (((Arg0 & 0xFFFFFFFFFFFF0000) != 0x00))
{
Return (0x80000000)
}
Switch ((Arg0 & 0xFFFF))
{
Case (0x00)
{
Local1 = 0x0100
}
Case (0x0100)
{
Local1 = HWAT /* \_SB_.PCI0.LPC0.EC0_.HWAT */
Local1 |= 0x002D0000
}
Default
{
Local1 = 0x80000000
}
}
Return (Local1)
}
}
Method (_Q22, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (HB0A)
{
Notify (BAT0, 0x80) // Status Change
}
}
Method (_Q4A, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Notify (BAT0, 0x81) // Information Change
}
Method (_Q4B, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Notify (BAT0, 0x80) // Status Change
^HKEY.DYTC (0x000F0001)
}
Method (_Q24, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Notify (BAT0, 0x80) // Status Change
}
Method (BFCC, 0, NotSerialized)
{
If (^BAT0.B0ST)
{
Notify (BAT0, 0x81) // Information Change
}
}
Method (BATW, 1, NotSerialized)
{
If (BT2T) {}
}
Name (BCLS, 0x00)
Field (ECOR, ByteAcc, NoLock, Preserve)
{
Offset (0xA0),
SBRC, 16,
SBFC, 16,
SBAE, 16,
SBRS, 16,
SBAC, 16,
SBVO, 16,
SBAF, 16,
SBBS, 16
}
Field (ECOR, ByteAcc, NoLock, Preserve)
{
Offset (0xA0),
SBBM, 16,
SBMD, 16,
SBCC, 16
}
Field (ECOR, ByteAcc, NoLock, Preserve)
{
Offset (0xA0),
SBDC, 16,
SBDV, 16,
SBOM, 16,
SBSI, 16,
SBDT, 16,
SBSN, 16
}
Field (ECOR, ByteAcc, NoLock, Preserve)
{
Offset (0xA0),
SBCH, 32
}
Field (ECOR, ByteAcc, NoLock, Preserve)
{
Offset (0xA0),
SBMN, 128
}
Field (ECOR, ByteAcc, NoLock, Preserve)
{
Offset (0xA0),
SBDN, 128
}
Mutex (BATM, 0x00)
Method (GBIF, 3, NotSerialized)
{
Acquire (BATM, 0xFFFF)
If (Arg2)
{
HIID = (Arg0 | 0x01)
Local7 = SBBM /* \_SB_.PCI0.LPC0.EC0_.SBBM */
Local7 >>= 0x0F
Arg1 [0x00] = (Local7 ^ 0x01)
HIID = Arg0
If (Local7)
{
Local1 = (SBFC * 0x0A)
}
Else
{
Local1 = SBFC /* \_SB_.PCI0.LPC0.EC0_.SBFC */
}
Arg1 [0x02] = Local1
HIID = (Arg0 | 0x02)
If (Local7)
{
Local0 = (SBDC * 0x0A)
}
Else
{
Local0 = SBDC /* \_SB_.PCI0.LPC0.EC0_.SBDC */
}
Arg1 [0x01] = Local0
Divide (Local1, 0x14, Local2, Arg1 [0x05])
If (Local7)
{
Arg1 [0x06] = 0xC8
}
ElseIf (SBDV)
{
Divide (0x00030D40, SBDV, Local2, Arg1 [0x06])
}
Else
{
Arg1 [0x06] = 0x00
}
Arg1 [0x04] = SBDV /* \_SB_.PCI0.LPC0.EC0_.SBDV */
Local0 = SBSN /* \_SB_.PCI0.LPC0.EC0_.SBSN */
Name (SERN, Buffer (0x06)
{
" "
})
Local2 = 0x04
While (Local0)
{
Divide (Local0, 0x0A, Local1, Local0)
SERN [Local2] = (Local1 + 0x30)
Local2--
}
Arg1 [0x0A] = SERN /* \_SB_.PCI0.LPC0.EC0_.GBIF.SERN */
HIID = (Arg0 | 0x06)
Arg1 [0x09] = SBDN /* \_SB_.PCI0.LPC0.EC0_.SBDN */
HIID = (Arg0 | 0x04)
Name (BTYP, Buffer (0x05)
{
0x00, 0x00, 0x00, 0x00, 0x00 // .....
})
BTYP = SBCH /* \_SB_.PCI0.LPC0.EC0_.SBCH */
Arg1 [0x0B] = BTYP /* \_SB_.PCI0.LPC0.EC0_.GBIF.BTYP */
HIID = (Arg0 | 0x05)
Arg1 [0x0C] = SBMN /* \_SB_.PCI0.LPC0.EC0_.SBMN */
}
Else
{
Arg1 [0x01] = 0xFFFFFFFF
Arg1 [0x05] = 0x00
Arg1 [0x06] = 0x00
Arg1 [0x02] = 0xFFFFFFFF
}
Release (BATM)
Return (Arg1)
}
Method (GBIX, 3, Serialized)
{
Acquire (BATM, 0xFFFF)
If (Arg2)
{
HIID = (Arg0 | 0x01)
Local7 = SBCC /* \_SB_.PCI0.LPC0.EC0_.SBCC */
Arg1 [0x08] = Local7
Local7 = SBBM /* \_SB_.PCI0.LPC0.EC0_.SBBM */
Local7 >>= 0x0F
Arg1 [0x01] = (Local7 ^ 0x01)
HIID = Arg0
If (Local7)
{
Local1 = (SBFC * 0x0A)
}
Else
{
Local1 = SBFC /* \_SB_.PCI0.LPC0.EC0_.SBFC */
}
Arg1 [0x03] = Local1
HIID = (Arg0 | 0x02)
If (Local7)
{
Local0 = (SBDC * 0x0A)
}
Else
{
Local0 = SBDC /* \_SB_.PCI0.LPC0.EC0_.SBDC */
}
Arg1 [0x02] = Local0
Divide (Local1, 0x14, Local2, Arg1 [0x06])
If (Local7)
{
Arg1 [0x07] = 0xC8
}
ElseIf (SBDV)
{
Divide (0x00030D40, SBDV, Local2, Arg1 [0x07])
}
Else
{
Arg1 [0x07] = 0x00
}
Arg1 [0x05] = SBDV /* \_SB_.PCI0.LPC0.EC0_.SBDV */
Local0 = SBSN /* \_SB_.PCI0.LPC0.EC0_.SBSN */
Name (SERN, Buffer (0x06)
{
" "
})
Local2 = 0x04
While (Local0)
{
Divide (Local0, 0x0A, Local1, Local0)
SERN [Local2] = (Local1 + 0x30)
Local2--
}
Arg1 [0x11] = SERN /* \_SB_.PCI0.LPC0.EC0_.GBIX.SERN */
HIID = (Arg0 | 0x06)
Arg1 [0x10] = SBDN /* \_SB_.PCI0.LPC0.EC0_.SBDN */
HIID = (Arg0 | 0x04)
Name (BTYP, Buffer (0x05)
{
0x00, 0x00, 0x00, 0x00, 0x00 // .....
})
BTYP = SBCH /* \_SB_.PCI0.LPC0.EC0_.SBCH */
Arg1 [0x12] = BTYP /* \_SB_.PCI0.LPC0.EC0_.GBIX.BTYP */
HIID = (Arg0 | 0x05)
Arg1 [0x13] = SBMN /* \_SB_.PCI0.LPC0.EC0_.SBMN */
}
Else
{
Arg1 [0x02] = 0xFFFFFFFF
Arg1 [0x06] = 0x00
Arg1 [0x07] = 0x00
Arg1 [0x03] = 0xFFFFFFFF
}
Release (BATM)
Return (Arg1)
}
Method (GBCL, 1, Serialized)
{
If ((BCLS == 0x00))
{
Return (0x00)
}
If ((Arg0 == 0x00))
{
Local0 = BSC0 /* \_SB_.PCI0.LPC0.EC0_.BSC0 */
Local1 = BEC0 /* \_SB_.PCI0.LPC0.EC0_.BEC0 */
}
Else
{
Local0 = BSC1 /* \_SB_.PCI0.LPC0.EC0_.BSC1 */
Local1 = BEC1 /* \_SB_.PCI0.LPC0.EC0_.BEC1 */
}
If (((Local0 > 0x00) && (Local0 <= 0x64)))
{
If (((Local1 > 0x00) && (Local1 <= 0x64)))
{
If ((Local1 > Local0))
{
Return (0x01)
}
}
}
Return (0x00)
}
Name (B0I0, 0x00)
Name (B0I1, 0x00)
Name (B0I2, 0x00)
Name (B0I3, 0x00)
Name (B1I0, 0x00)
Name (B1I1, 0x00)
Name (B1I2, 0x00)
Name (B1I3, 0x00)
Method (GBST, 4, Serialized)
{
Acquire (BATM, 0xFFFF)
If ((Arg1 & 0x20))
{
Local0 = 0x02
}
ElseIf ((Arg1 & 0x40))
{
Local0 = 0x01
}
Else
{
Local0 = 0x00
}
If ((Arg1 & 0x07)) {}
Else
{
Local0 |= 0x04
}
If (((Arg1 & 0x07) == 0x07))
{
Local1 = 0xFFFFFFFF
Local2 = 0xFFFFFFFF
Local3 = 0xFFFFFFFF
}
Else
{
HIID = Arg0
Local3 = SBVO /* \_SB_.PCI0.LPC0.EC0_.SBVO */
If (Arg2)
{
Local2 = (SBRC * 0x0A)
}
Else
{
Local2 = SBRC /* \_SB_.PCI0.LPC0.EC0_.SBRC */
}
Local1 = SBAC /* \_SB_.PCI0.LPC0.EC0_.SBAC */
If ((Local1 >= 0x8000))
{
If ((Local0 & 0x01))
{
Local1 = (0x00010000 - Local1)
}
Else
{
Local1 = 0x00
}
}
ElseIf (!(Local0 & 0x02))
{
Local1 = 0x00
}
If (Arg2)
{
Local1 *= Local3
Local1 /= 0x03E8
}
}
Local5 = (0x01 << (Arg0 >> 0x04))
BSWA |= BSWR /* \_SB_.PCI0.LPC0.EC0_.BSWR */
If (((BSWA & Local5) == 0x00))
{
Arg3 [0x00] = Local0
Arg3 [0x01] = Local1
Arg3 [0x02] = Local2
Arg3 [0x03] = Local3
If ((Arg0 == 0x00))
{
B0I0 = Local0
B0I1 = Local1
B0I2 = Local2
B0I3 = Local3
}
Else
{
B1I0 = Local0
B1I1 = Local1
B1I2 = Local2
B1I3 = Local3
}
}
Else
{
If (^AC._PSR ())
{
If ((Arg0 == 0x00))
{
Arg3 [0x00] = B0I0 /* \_SB_.PCI0.LPC0.EC0_.B0I0 */
Arg3 [0x01] = B0I1 /* \_SB_.PCI0.LPC0.EC0_.B0I1 */
Arg3 [0x02] = B0I2 /* \_SB_.PCI0.LPC0.EC0_.B0I2 */
Arg3 [0x03] = B0I3 /* \_SB_.PCI0.LPC0.EC0_.B0I3 */
}
Else
{
Arg3 [0x00] = B1I0 /* \_SB_.PCI0.LPC0.EC0_.B1I0 */
Arg3 [0x01] = B1I1 /* \_SB_.PCI0.LPC0.EC0_.B1I1 */
Arg3 [0x02] = B1I2 /* \_SB_.PCI0.LPC0.EC0_.B1I2 */
Arg3 [0x03] = B1I3 /* \_SB_.PCI0.LPC0.EC0_.B1I3 */
}
}
Else
{
Arg3 [0x00] = Local0
Arg3 [0x01] = Local1
Arg3 [0x02] = Local2
Arg3 [0x03] = Local3
}
If ((((Local0 & 0x04) == 0x00) && ((Local2 > 0x00) &&
(Local3 > 0x00))))
{
BSWA &= ~Local5
Arg3 [0x00] = Local0
Arg3 [0x01] = Local1
Arg3 [0x02] = Local2
Arg3 [0x03] = Local3
}
}
Release (BATM)
If (GBCL (Arg0))
{
Local0 |= 0x08
Arg3 [0x00] = Local0
}
Return (Arg3)
}
Name (BSWR, 0x00)
Name (BSWA, 0x00)
Method (AJTP, 3, NotSerialized)
{
Local0 = Arg1
Acquire (BATM, 0xFFFF)
HIID = Arg0
Local1 = SBRC /* \_SB_.PCI0.LPC0.EC0_.SBRC */
Release (BATM)
If ((Arg0 == 0x00))
{
Local2 = HB0S /* \_SB_.PCI0.LPC0.EC0_.HB0S */
}
Else
{
Local2 = HB1S /* \_SB_.PCI0.LPC0.EC0_.HB1S */
}
If ((Local2 & 0x20))
{
If ((Arg2 > 0x00))
{
Local0 += 0x01
}
If ((Local0 <= Local1))
{
Local0 = (Local1 + 0x01)
}
}
ElseIf ((Local2 & 0x40))
{
If ((Local0 >= Local1))
{
Local0 = (Local1 - 0x01)
}
}
Return (Local0)
}
Device (BAT0)
{
Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
Name (_UID, 0x00) // _UID: Unique ID
Name (_PCL, Package (0x01) // _PCL: Power Consumer List
{
_SB
})
Name (B0ST, 0x00)
Name (BT0I, Package (0x0D)
{
0x00,
0xFFFFFFFF,
0xFFFFFFFF,
0x01,
0x2A30,
0x00,
0x00,
0x01,
0x01,
"",
"",
"",
""
})
Name (BX0I, Package (0x15)
{
0x01,
0x00,
0xFFFFFFFF,
0xFFFFFFFF,
0x01,
0xFFFFFFFF,
0x00,
0x00,
0xFFFFFFFF,
0x00017318,
0xFFFFFFFF,
0xFFFFFFFF,
0x03E8,
0x01F4,
0xFFFFFFFF,
0xFFFFFFFF,
"",
"",
"",
"",
0x00
})
Name (BT0P, Package (0x04) {})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (H8DR)
{
B0ST = HB0A /* \_SB_.PCI0.LPC0.EC0_.HB0A */
}
ElseIf ((RBEC (0x38) & 0x80))
{
B0ST = 0x01
}
Else
{
B0ST = 0x00
}
If (B0ST)
{
Return (0x1F)
}
Else
{
Return (0x0F)
}
}
Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
{
Local7 = 0x00
Local6 = 0x0A
While ((!Local7 && Local6))
{
If (HB0A)
{
If (((HB0S & 0x07) == 0x07))
{
Sleep (0x03E8)
Local6--
}
Else
{
Local7 = 0x01
}
}
Else
{
Local6 = 0x00
}
}
GBIX (0x00, BX0I, Local7)
BT0I [0x00] = DerefOf (BX0I [0x01])
BT0I [0x01] = DerefOf (BX0I [0x02])
BT0I [0x02] = DerefOf (BX0I [0x03])
BT0I [0x03] = DerefOf (BX0I [0x04])
BT0I [0x04] = DerefOf (BX0I [0x05])
BT0I [0x05] = DerefOf (BX0I [0x06])
BT0I [0x06] = DerefOf (BX0I [0x07])
BT0I [0x07] = DerefOf (BX0I [0x0E])
BT0I [0x08] = DerefOf (BX0I [0x0F])
BT0I [0x09] = DerefOf (BX0I [0x10])
BT0I [0x0A] = DerefOf (BX0I [0x11])
BT0I [0x0B] = DerefOf (BX0I [0x12])
BT0I [0x0C] = DerefOf (BX0I [0x13])
Return (BT0I) /* \_SB_.PCI0.LPC0.EC0_.BAT0.BT0I */
}
Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended
{
Local7 = 0x00
Local6 = 0x0A
While ((!Local7 && Local6))
{
If (HB0A)
{
If (((HB0S & 0x07) == 0x07))
{
Sleep (0x03E8)
Local6--
}
Else
{
Local7 = 0x01
}
}
Else
{
Local6 = 0x00
}
}
Return (GBIX (0x00, BX0I, Local7))
}
Method (_BST, 0, NotSerialized) // _BST: Battery Status
{
Local0 = (DerefOf (BX0I [0x01]) ^ 0x01)
GBST (0x00, HB0S, Local0, BT0P)
If (((HB0S & 0x07) != 0x00))
{
If ((DerefOf (BT0P [0x02]) == 0x00))
{
Sleep (0x14)
GBST (0x00, HB0S, Local0, BT0P)
}
}
If (((HB0S & 0x07) == 0x07))
{
BT0P [0x01] = 0xFFFFFFFF
BT0P [0x02] = 0xFFFFFFFF
BT0P [0x03] = 0xFFFFFFFF
}
^^^^^FAN0.SRPM (TMP0)
^^^^^FAN0.CRNF ()
Return (BT0P) /* \_SB_.PCI0.LPC0.EC0_.BAT0.BT0P */
}
Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
{
HAM4 &= 0xEF
If (Arg0)
{
Local0 = 0x00
Local1 = Arg0
If (!DerefOf (BX0I [0x01]))
{
Divide (Local1, 0x0A, Local0, Local1)
}
Local1 = AJTP (0x00, Local1, Local0)
HT0L = (Local1 & 0xFF)
HT0H = ((Local1 >> 0x08) & 0xFF)
HAM4 |= 0x10
}
}
}
Scope (\_SB.PCI0.LPC0.EC0)
{
OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
Field (ECMM, AnyAcc, Lock, Preserve)
{
TWBT, 2048
}
Name (BTBF, Buffer (0x0100)
{
0x00 // .
})
Method (BTIF, 0, NotSerialized)
{
BTBF = TWBT /* \_SB_.PCI0.LPC0.EC0_.TWBT */
Return (BTBF) /* \_SB_.PCI0.LPC0.EC0_.BTBF */
}
}
Scope (HKEY)
{
Method (SBIG, 1, NotSerialized)
{
Return (BTIF ())
}
}
}
}
}
OperationRegion (PIRQ, SystemIO, 0x0C00, 0x02)
Field (PIRQ, ByteAcc, NoLock, Preserve)
{
PIDX, 8,
PDAT, 8
}
IndexField (PIDX, PDAT, ByteAcc, NoLock, Preserve)
{
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8,
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8,
Offset (0x0C),
SIRA, 8,
SIRB, 8,
SIRC, 8,
SIRD, 8,
PIRS, 8,
Offset (0x13),
HDAD, 8,
Offset (0x17),
SDCL, 8,
Offset (0x1A),
SDIO, 8,
Offset (0x30),
USB1, 8,
Offset (0x34),
USB3, 8,
Offset (0x41),
SATA, 8,
Offset (0x62),
GIOC, 8,
Offset (0x70),
I2C0, 8,
I2C1, 8,
I2C2, 8,
I2C3, 8,
URT0, 8,
URT1, 8
}
OperationRegion (KBDD, SystemIO, 0x64, One)
Field (KBDD, ByteAcc, NoLock, Preserve)
{
PD64, 8
}
Method (DSPI, 0, NotSerialized)
{
M460 ("PLA-ASL-\\_SB.DSPI\n", Zero, Zero, Zero, Zero, Zero, Zero)
INTA (0x1F)
INTB (0x1F)
INTC (0x1F)
INTD (0x1F)
Local1 = PD64 /* \_SB_.PD64 */
PIRE = 0x1F
PIRF = 0x1F
PIRG = 0x1F
PIRH = 0x1F
}
Method (INTA, 1, NotSerialized)
{
M460 ("PLA-ASL-\\_SB.INTA Arg0 = 0x%X\n", ToInteger (Arg0), Zero, Zero, Zero, Zero, Zero)
PIRA = Arg0
If (PICM)
{
HDAD = Arg0
SDCL = Arg0
}
}
Method (INTB, 1, NotSerialized)
{
M460 ("PLA-ASL-\\_SB.INTB Arg0 = 0x%X\n", ToInteger (Arg0), Zero, Zero, Zero, Zero, Zero)
PIRB = Arg0
}
Method (INTC, 1, NotSerialized)
{
M460 ("PLA-ASL-\\_SB.INTC Arg0 = 0x%X\n", ToInteger (Arg0), Zero, Zero, Zero, Zero, Zero)
PIRC = Arg0
If (PICM)
{
USB1 = Arg0
USB3 = Arg0
}
}
Method (INTD, 1, NotSerialized)
{
M460 ("PLA-ASL-\\_SB.INTD Arg0 = 0x%X\n", ToInteger (Arg0), Zero, Zero, Zero, Zero, Zero)
PIRD = Arg0
If (PICM)
{
SATA = Arg0
}
}
Name (PRS1, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,5,6,10,11}
})
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{15}
})
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PIRA && (PIRA != 0x1F)))
{
M460 ("PLA-ASL-\\_SB.LNKA._STA = 0xB\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x0B)
}
Else
{
M460 ("PLA-ASL-\\_SB.LNKA._STA = 0x9\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKA._PRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (PRS1) /* \_SB_.PRS1 */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
M460 ("PLA-ASL-\\_SB.LNKA._DIS\n", Zero, Zero, Zero, Zero, Zero, Zero)
INTA (0x1F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKA._CRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRA) /* \_SB_.PIRA */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKA._SRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
PIRA = Local0
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PIRB && (PIRB != 0x1F)))
{
M460 ("PLA-ASL-\\_SB.LNKB._STA = 0xB\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x0B)
}
Else
{
M460 ("PLA-ASL-\\_SB.LNKB._STA = 0x9\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKB._PRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (PRS1) /* \_SB_.PRS1 */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
M460 ("PLA-ASL-\\_SB.LNKB._DIS\n", Zero, Zero, Zero, Zero, Zero, Zero)
INTB (0x1F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKB._CRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRB) /* \_SB_.PIRB */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKB._SRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
PIRB = Local0
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PIRC && (PIRC != 0x1F)))
{
M460 ("PLA-ASL-\\_SB.LNKC._STA = 0xB\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x0B)
}
Else
{
M460 ("PLA-ASL-\\_SB.LNKC._STA = 0x9\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKC._PRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (PRS1) /* \_SB_.PRS1 */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
M460 ("PLA-ASL-\\_SB.LNKC._DIS\n", Zero, Zero, Zero, Zero, Zero, Zero)
INTC (0x1F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKC._CRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRC) /* \_SB_.PIRC */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKC._SRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
PIRC = Local0
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x04) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PIRD && (PIRD != 0x1F)))
{
M460 ("PLA-ASL-\\_SB.LNKD._STA = 0xB\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x0B)
}
Else
{
M460 ("PLA-ASL-\\_SB.LNKD._STA = 0x9\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKD._PRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (PRS1) /* \_SB_.PRS1 */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
M460 ("PLA-ASL-\\_SB.LNKD._DIS\n", Zero, Zero, Zero, Zero, Zero, Zero)
INTD (0x1F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKD._CRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRD) /* \_SB_.PIRD */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKD._SRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
PIRD = Local0
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x05) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PIRE && (PIRE != 0x1F)))
{
M460 ("PLA-ASL-\\_SB.LNKE._STA = 0xB\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x0B)
}
Else
{
M460 ("PLA-ASL-\\_SB.LNKE._STA = 0x9\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKE._PRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (PRS1) /* \_SB_.PRS1 */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
M460 ("PLA-ASL-\\_SB.LNKE._DIS\n", Zero, Zero, Zero, Zero, Zero, Zero)
PIRE = 0x1F
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKE._CRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRE) /* \_SB_.PIRE */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKE._SRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
PIRE = Local0
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x06) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PIRF && (PIRF != 0x1F)))
{
M460 ("PLA-ASL-\\_SB.LNKF._STA = 0xB\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x0B)
}
Else
{
M460 ("PLA-ASL-\\_SB.LNKF._STA = 0x9\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKF._PRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (PRS1) /* \_SB_.PRS1 */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
M460 ("PLA-ASL-\\_SB.LNKF._DIS\n", Zero, Zero, Zero, Zero, Zero, Zero)
PIRF = 0x1F
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKF._CRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRF) /* \_SB_.PIRF */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKF._SRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
PIRF = Local0
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x07) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PIRG && (PIRG != 0x1F)))
{
M460 ("PLA-ASL-\\_SB.LNKG._STA = 0xB\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x0B)
}
Else
{
M460 ("PLA-ASL-\\_SB.LNKG._STA = 0x9\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKG._PRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (PRS1) /* \_SB_.PRS1 */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
M460 ("PLA-ASL-\\_SB.LNKG._DIS\n", Zero, Zero, Zero, Zero, Zero, Zero)
PIRG = 0x1F
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKG._CRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRG) /* \_SB_.PIRG */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKG._SRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
PIRG = Local0
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
Name (_UID, 0x08) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((PIRH && (PIRH != 0x1F)))
{
M460 ("PLA-ASL-\\_SB.LNKH._STA = 0xB\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x0B)
}
Else
{
M460 ("PLA-ASL-\\_SB.LNKH._STA = 0x9\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKH._PRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
Return (PRS1) /* \_SB_.PRS1 */
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
M460 ("PLA-ASL-\\_SB.LNKH._DIS\n", Zero, Zero, Zero, Zero, Zero, Zero)
PIRH = 0x1F
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKH._CRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (BUFA, One, IRQX)
IRQX = (One << PIRH) /* \_SB_.PIRH */
Return (BUFA) /* \_SB_.BUFA */
}
Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
M460 ("PLA-ASL-\\_SB.LNKH._SRS\n", Zero, Zero, Zero, Zero, Zero, Zero)
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Local0--
PIRH = Local0
}
}
Method (GSMI, 1, NotSerialized)
{
APMD = Arg0
APMC = 0xE4
Sleep (0x02)
}
Method (S80H, 1, NotSerialized)
{
P80H = Arg0
}
Method (BSMI, 1, NotSerialized)
{
APMD = Arg0
APMC = 0xBE
Sleep (One)
}
}
Name (TSOS, 0x75)
Name (UR0I, 0x03)
Name (UR1I, 0x0E)
Name (UR2I, 0x05)
Name (UR3I, 0x0F)
Name (UR4I, 0x0D)
Name (IC0I, 0x0A)
Name (IC1I, 0x0B)
Name (IC2I, 0x04)
Name (IC3I, 0x06)
Name (IC4I, 0x0E)
If (CondRefOf (\_OSI))
{
If (_OSI ("Windows 2009"))
{
TSOS = 0x50
}
If (_OSI ("Windows 2015"))
{
TSOS = 0x70
}
}
Scope (_SB)
{
OperationRegion (SMIC, SystemMemory, 0xFED80000, 0x00800000)
Field (SMIC, ByteAcc, NoLock, Preserve)
{
Offset (0x36A),
SMIB, 8
}
OperationRegion (SSMI, SystemIO, SMIB, 0x02)
Field (SSMI, AnyAcc, NoLock, Preserve)
{
SMIW, 16
}
OperationRegion (ECMC, SystemIO, 0x72, 0x02)
Field (ECMC, AnyAcc, NoLock, Preserve)
{
ECMI, 8,
ECMD, 8
}
IndexField (ECMI, ECMD, ByteAcc, NoLock, Preserve)
{
Offset (0x08),
FRTB, 32
}
OperationRegion (FRTP, SystemMemory, FRTB, 0x0100)
Field (FRTP, AnyAcc, NoLock, Preserve)
{
PEBA, 32,
, 5,
IC0E, 1,
IC1E, 1,
IC2E, 1,
IC3E, 1,
IC4E, 1,
IC5E, 1,
UT0E, 1,
UT1E, 1,
I31E, 1,
I32E, 1,
I33E, 1,
UT2E, 1,
, 1,
EMMD, 2,
UT4E, 1,
I30E, 1,
, 1,
XHCE, 1,
, 1,
, 1,
UT3E, 1,
ESPI, 1,
EMME, 1,
HFPE, 1,
HD0E, 1,
HD2E, 1,
PCEF, 1,
, 4,
IC0D, 1,
IC1D, 1,
IC2D, 1,
IC3D, 1,
IC4D, 1,
IC5D, 1,
UT0D, 1,
UT1D, 1,
I31D, 1,
I32D, 1,
I33D, 1,
UT2D, 1,
, 1,
EHCD, 1,
, 1,
UT4D, 1,
I30D, 1,
, 1,
XHCD, 1,
SD_D, 1,
, 1,
UT3D, 1,
, 1,
EMD3, 1,
, 1,
US4D, 1,
S03D, 1,
UT0O, 1,
UT1O, 1,
UT2O, 1,
UT3O, 1,
Offset (0x1C),
I30M, 1,
I31M, 1,
I32M, 1,
I33M, 1,
Offset (0x2D),
UT0I, 1,
UT1I, 1,
UT2I, 1,
UT3I, 1,
UT4I, 1,
Offset (0x2E),
UL0I, 1,
UL1I, 1,
UL2I, 1,
UL3I, 1
}
OperationRegion (FCFG, SystemMemory, PEBA, 0x01000000)
Field (FCFG, DWordAcc, NoLock, Preserve)
{
Offset (0xA3078),
, 2,
LDQ0, 1,
Offset (0xA30CB),
, 7,
AUSS, 1
}
OperationRegion (IOMX, SystemMemory, 0xFED80D00, 0x0100)
Field (IOMX, AnyAcc, NoLock, Preserve)
{
Offset (0x15),
IM15, 8,
IM16, 8,
Offset (0x1F),
IM1F, 8,
IM20, 8,
Offset (0x44),
IM44, 8,
Offset (0x46),
IM46, 8,
Offset (0x4A),
IM4A, 8,
IM4B, 8,
Offset (0x57),
IM57, 8,
IM58, 8,
Offset (0x68),
IM68, 8,
IM69, 8,
IM6A, 8,
IM6B, 8,
Offset (0x6D),
IM6D, 8
}
OperationRegion (FACR, SystemMemory, 0xFED81E00, 0x0100)
Field (FACR, AnyAcc, NoLock, Preserve)
{
Offset (0x80),
, 28,
RD28, 1,
, 1,
RQTY, 1,
Offset (0x84),
, 28,
SD28, 1,
, 1,
Offset (0xA0),
PG1A, 1
}
OperationRegion (LUIE, SystemMemory, 0xFEDC0020, 0x04)
Field (LUIE, AnyAcc, NoLock, Preserve)
{
IER0, 1,
IER1, 1,
IER2, 1,
IER3, 1,
UOL0, 1,
UOL1, 1,
UOL2, 1,
UOL3, 1,
WUR0, 2,
WUR1, 2,
WUR2, 2,
WUR3, 2
}
Method (FRUI, 1, Serialized)
{
If ((Arg0 == 0x00))
{
Return (IUA0) /* \_SB_.IUA0 */
}
ElseIf ((Arg0 == 0x01))
{
Return (IUA1) /* \_SB_.IUA1 */
}
ElseIf ((Arg0 == 0x02))
{
Return (IUA2) /* \_SB_.IUA2 */
}
ElseIf ((Arg0 == 0x03))
{
Return (IUA3) /* \_SB_.IUA3 */
}
Else
{
Return (0x03)
}
}
Method (FUIO, 1, Serialized)
{
If ((IER0 == 0x01))
{
If ((WUR0 == Arg0))
{
Return (0x00)
}
}
If ((IER1 == 0x01))
{
If ((WUR1 == Arg0))
{
Return (0x01)
}
}
If ((IER2 == 0x01))
{
If ((WUR2 == Arg0))
{
Return (0x02)
}
}
If ((IER3 == 0x01))
{
If ((WUR3 == Arg0))
{
Return (0x03)
}
}
Return (0x0F)
}
Method (SRAD, 2, Serialized)
{
Local0 = (Arg0 << 0x01)
Local0 += 0xFED81E40
OperationRegion (ADCR, SystemMemory, Local0, 0x02)
Field (ADCR, ByteAcc, NoLock, Preserve)
{
ADTD, 2,
ADPS, 1,
ADPD, 1,
ADSO, 1,
ADSC, 1,
ADSR, 1,
ADIS, 1,
ADDS, 3
}
ADIS = One
ADSR = Zero
Stall (Arg1)
ADSR = One
ADIS = Zero
Stall (Arg1)
}
Method (DSAD, 2, Serialized)
{
Local0 = (Arg0 << 0x01)
Local0 += 0xFED81E40
OperationRegion (ADCR, SystemMemory, Local0, 0x02)
Field (ADCR, ByteAcc, NoLock, Preserve)
{
ADTD, 2,
ADPS, 1,
ADPD, 1,
ADSO, 1,
ADSC, 1,
ADSR, 1,
ADIS, 1,
ADDS, 3
}
If ((Arg1 != ADTD))
{
If ((Arg1 == 0x00))
{
ADTD = 0x00
ADPD = One
Local0 = ADDS /* \_SB_.DSAD.ADDS */
While ((Local0 != 0x07))
{
Local0 = ADDS /* \_SB_.DSAD.ADDS */
}
}
If ((Arg1 == 0x03))
{
ADPD = Zero
Local0 = ADDS /* \_SB_.DSAD.ADDS */
While ((Local0 != 0x00))
{
Local0 = ADDS /* \_SB_.DSAD.ADDS */
}
ADTD = 0x03
}
}
}
Method (HSAD, 2, Serialized)
{
Local3 = (0x01 << Arg0)
Local0 = (Arg0 << 0x01)
Local0 += 0xFED81E40
OperationRegion (ADCR, SystemMemory, Local0, 0x02)
Field (ADCR, ByteAcc, NoLock, Preserve)
{
ADTD, 2,
ADPS, 1,
ADPD, 1,
ADSO, 1,
ADSC, 1,
ADSR, 1,
ADIS, 1,
ADDS, 3
}
If ((Arg1 != ADTD))
{
If ((Arg1 == 0x00))
{
PG1A = One
ADTD = 0x00
ADPD = One
Local0 = ADDS /* \_SB_.HSAD.ADDS */
While ((Local0 != 0x07))
{
Local0 = ADDS /* \_SB_.HSAD.ADDS */
}
RQTY = One
RD28 = One
Local0 = SD28 /* \_SB_.SD28 */
While (!Local0)
{
Local0 = SD28 /* \_SB_.SD28 */
}
}
If ((Arg1 == 0x03))
{
RQTY = Zero
RD28 = One
Local0 = SD28 /* \_SB_.SD28 */
While (Local0)
{
Local0 = SD28 /* \_SB_.SD28 */
}
ADPD = Zero
Local0 = ADDS /* \_SB_.HSAD.ADDS */
While ((Local0 != 0x00))
{
Local0 = ADDS /* \_SB_.HSAD.ADDS */
}
ADTD = 0x03
PG1A = Zero
}
}
}
OperationRegion (FPIC, SystemIO, 0x0C00, 0x02)
Field (FPIC, AnyAcc, NoLock, Preserve)
{
FPII, 8,
FPID, 8
}
IndexField (FPII, FPID, ByteAcc, NoLock, Preserve)
{
Offset (0xF4),
IUA0, 8,
IUA1, 8,
IIF6, 8,
IIF7, 8,
IUA2, 8,
IUA3, 8
}
Device (HFP1)
{
Name (_HID, "AMDI0060") // _HID: Hardware ID
Name (_UID, 0x00) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (HFPE)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFEC11000, // Address Base
0x00000100, // Address Length
)
})
Return (RBUF) /* \_SB_.HFP1._CRS.RBUF */
}
}
Device (HID0)
{
Name (_HID, "AMDI0063") // _HID: Hardware ID
Name (_UID, 0x00) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (HD0E)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFEC13000, // Address Base
0x00000200, // Address Length
)
GpioInt (Edge, ActiveHigh, SharedAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x00AB
}
})
Return (RBUF) /* \_SB_.HID0._CRS.RBUF */
}
}
Device (HID2)
{
Name (_HID, "AMDI0063") // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (HD2E)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFEC12000, // Address Base
0x00000200, // Address Length
)
GpioInt (Edge, ActiveHigh, SharedAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x00AB
}
})
Return (RBUF) /* \_SB_.HID2._CRS.RBUF */
}
}
Device (GPIO)
{
Name (_HID, "AMDI0030") // _HID: Hardware ID
Name (_CID, "AMDI0030") // _CID: Compatible ID
Name (_UID, 0x00) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x00000007,
}
Memory32Fixed (ReadWrite,
0xFED81500, // Address Base
0x00000400, // Address Length
)
})
Return (RBUF) /* \_SB_.GPIO._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TSOS >= 0x70))
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
}
Device (PPKG)
{
Name (_HID, "AMDI0052") // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
}
Device (FUR0)
{
Method (_HID, 0, Serialized) // _HID: Hardware ID
{
If ((UT0O == 0x01))
{
Return ("AMDI0029")
}
Return ("AMDI0020")
}
Name (_UID, 0x00) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, _Y0A)
{
0x00000003,
}
Memory32Fixed (ReadWrite,
0xFEDC9000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEDC7000, // Address Base
0x00001000, // Address Length
)
})
CreateWordField (BUF0, \_SB.FUR0._CRS._Y0A._INT, IRQW) // _INT: Interrupts
IRQW = IUA0 /* \_SB_.IUA0 */
Return (BUF0) /* \_SB_.FUR0._CRS.BUF0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Local0 = 0x00
Local1 = FUIO (0x00)
If ((TSOS >= 0x70))
{
If ((UT0E == One))
{
If ((Local1 == 0x0F))
{
Local0 = 0x0F
}
}
}
If ((UT0I == One))
{
Local0 = 0x00
}
Return (Local0)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((UT0D && UT0E))
{
Return (0x04)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((UT0D && UT0E))
{
DSAD (0x0B, 0x00)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((UT0D && UT0E))
{
DSAD (0x0B, 0x03)
}
}
}
Device (FUR1)
{
Method (_HID, 0, Serialized) // _HID: Hardware ID
{
If ((UT1O == 0x01))
{
Return ("AMDI0029")
}
Return ("AMDI0020")
}
Name (_UID, 0x01) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, _Y0B)
{
0x0000000E,
}
Memory32Fixed (ReadWrite,
0xFEDCA000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEDC8000, // Address Base
0x00001000, // Address Length
)
})
CreateWordField (BUF0, \_SB.FUR1._CRS._Y0B._INT, IRQW) // _INT: Interrupts
IRQW = IUA1 /* \_SB_.IUA1 */
Return (BUF0) /* \_SB_.FUR1._CRS.BUF0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Local0 = 0x00
Local1 = FUIO (0x01)
If ((TSOS >= 0x70))
{
If ((UT1E == One))
{
If ((Local1 == 0x0F))
{
Local0 = 0x0F
}
}
}
If ((UT1I == One))
{
Local0 = 0x00
}
Return (Local0)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((UT1D && UT1E))
{
Return (0x04)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((UT1D && UT1E))
{
DSAD (0x0C, 0x00)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((UT1D && UT1E))
{
DSAD (0x0C, 0x03)
}
}
}
Device (FUR2)
{
Method (_HID, 0, Serialized) // _HID: Hardware ID
{
If ((UT2O == 0x01))
{
Return ("AMDI0029")
}
Return ("AMDI0020")
}
Name (_UID, 0x02) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, _Y0C)
{
0x00000005,
}
Memory32Fixed (ReadWrite,
0xFEDCE000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEDCC000, // Address Base
0x00001000, // Address Length
)
})
CreateWordField (BUF0, \_SB.FUR2._CRS._Y0C._INT, IRQW) // _INT: Interrupts
IRQW = IUA2 /* \_SB_.IUA2 */
Return (BUF0) /* \_SB_.FUR2._CRS.BUF0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Local0 = 0x00
Local1 = FUIO (0x02)
If ((TSOS >= 0x70))
{
If ((UT2E == One))
{
If ((Local1 == 0x0F))
{
Local0 = 0x0F
}
}
}
If ((UT2I == One))
{
Local0 = 0x00
}
Return (Local0)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((UT2D && UT2E))
{
Return (0x04)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((UT2D && UT2E))
{
DSAD (0x10, 0x00)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((UT2D && UT2E))
{
DSAD (0x10, 0x03)
}
}
}
Device (FUR3)
{
Method (_HID, 0, Serialized) // _HID: Hardware ID
{
If ((UT3O == 0x01))
{
Return ("AMDI0029")
}
Return ("AMDI0020")
}
Name (_UID, 0x03) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, _Y0D)
{
0x0000000F,
}
Memory32Fixed (ReadWrite,
0xFEDCF000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEDCD000, // Address Base
0x00001000, // Address Length
)
})
CreateWordField (BUF0, \_SB.FUR3._CRS._Y0D._INT, IRQW) // _INT: Interrupts
IRQW = IUA3 /* \_SB_.IUA3 */
Return (BUF0) /* \_SB_.FUR3._CRS.BUF0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Local0 = 0x00
Local1 = FUIO (0x03)
If ((TSOS >= 0x70))
{
If ((UT3E == One))
{
If ((Local1 == 0x0F))
{
Local0 = 0x0F
}
}
}
If ((UT3I == One))
{
Local0 = 0x00
}
Return (Local0)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((UT3D && UT3E))
{
Return (0x04)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((UT3D && UT3E))
{
DSAD (0x1A, 0x00)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((UT3D && UT3E))
{
DSAD (0x1A, 0x03)
}
}
}
Device (FUR4)
{
Name (_HID, "AMDI0020") // _HID: Hardware ID
Name (_UID, 0x04) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, _Y0E)
{
0x00000010,
}
Memory32Fixed (ReadWrite,
0xFEDD1000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEDD0000, // Address Base
0x00001000, // Address Length
)
})
CreateByteField (BUF0, \_SB.FUR4._CRS._Y0E._INT, IRQB) // _INT: Interrupts
IRQB = IIF7 /* \_SB_.IIF7 */
Return (BUF0) /* \_SB_.FUR4._CRS.BUF0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Local0 = 0x00
If ((TSOS >= 0x70))
{
If ((UT4E == One))
{
Local0 = 0x0F
}
}
If ((UT4I == One))
{
Local0 = 0x00
}
Return (Local0)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((UT4D && UT4E))
{
Return (0x04)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((UT4D && UT4E))
{
DSAD (0x14, 0x00)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((UT4D && UT4E))
{
DSAD (0x14, 0x03)
}
}
}
Device (I2CA)
{
Name (_HID, "AMDI0010") // _HID: Hardware ID
Name (_UID, 0x00) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive, _Y0F)
{10}
Memory32Fixed (ReadWrite,
0xFEDC2000, // Address Base
0x00001000, // Address Length
)
})
CreateWordField (BUF0, \_SB.I2CA._CRS._Y0F._INT, IRQW) // _INT: Interrupts
IRQW = (One << (IC0I & 0x0F))
Return (BUF0) /* \_SB_.I2CA._CRS.BUF0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TSOS >= 0x70))
{
If ((IC0E == One))
{
Return (0x0F)
}
Return (0x00)
}
Else
{
Return (0x00)
}
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("d93e4d1c-58bb-493c-a06a-605a717f9e2e") /* Unknown UUID */))
{
Switch (ToInteger (Arg2))
{
Case (0x00)
{
Return (Buffer (One)
{
0x03 // .
})
}
Case (0x01)
{
Return (Buffer (0x04)
{
0xE5, 0x00, 0x6A, 0x00 // ..j.
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Method (RSET, 0, NotSerialized)
{
SRAD (0x05, 0xC8)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((IC0D && IC0E))
{
Return (0x04)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((IC0D && IC0E))
{
DSAD (0x05, 0x00)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((IC0D && IC0E))
{
DSAD (0x05, 0x03)
}
}
}
Device (I2CB)
{
Name (_HID, "AMDI0010") // _HID: Hardware ID
Name (_UID, 0x01) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive, _Y10)
{11}
Memory32Fixed (ReadWrite,
0xFEDC3000, // Address Base
0x00001000, // Address Length
)
})
CreateWordField (BUF0, \_SB.I2CB._CRS._Y10._INT, IRQW) // _INT: Interrupts
IRQW = (One << (IC1I & 0x0F))
Return (BUF0) /* \_SB_.I2CB._CRS.BUF0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TSOS >= 0x70))
{
If ((IC1E == One))
{
Return (0x0F)
}
Return (0x00)
}
Else
{
Return (0x00)
}
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("d93e4d1c-58bb-493c-a06a-605a717f9e2e") /* Unknown UUID */))
{
Switch (ToInteger (Arg2))
{
Case (0x00)
{
Return (Buffer (One)
{
0x03 // .
})
}
Case (0x01)
{
Return (Buffer (0x04)
{
0xE5, 0x00, 0x6A, 0x00 // ..j.
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Method (RSET, 0, NotSerialized)
{
SRAD (0x06, 0xC8)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((IC1D && IC1E))
{
Return (0x04)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((IC1D && IC1E))
{
DSAD (0x06, 0x00)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((IC1D && IC1E))
{
DSAD (0x06, 0x03)
}
}
}
Device (I2CC)
{
Name (_HID, "AMDI0010") // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive, _Y11)
{4}
Memory32Fixed (ReadWrite,
0xFEDC4000, // Address Base
0x00001000, // Address Length
)
})
CreateWordField (BUF0, \_SB.I2CC._CRS._Y11._INT, IRQW) // _INT: Interrupts
IRQW = (One << (IC2I & 0x0F))
Return (BUF0) /* \_SB_.I2CC._CRS.BUF0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TSOS >= 0x70))
{
If ((IC2E == One))
{
Return (0x0F)
}
Return (0x00)
}
Else
{
Return (0x00)
}
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("d93e4d1c-58bb-493c-a06a-605a717f9e2e") /* Unknown UUID */))
{
Switch (ToInteger (Arg2))
{
Case (0x00)
{
Return (Buffer (One)
{
0x03 // .
})
}
Case (0x01)
{
Return (Buffer (0x04)
{
0xE5, 0x00, 0x6A, 0x00 // ..j.
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Method (RSET, 0, NotSerialized)
{
SRAD (0x07, 0xC8)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((IC2D && IC2E))
{
Return (0x04)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((IC2D && IC2E))
{
DSAD (0x07, 0x00)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((IC2D && IC2E))
{
DSAD (0x07, 0x03)
}
}
}
Device (I2CD)
{
Name (_HID, "AMDI0010") // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive, _Y12)
{6}
Memory32Fixed (ReadWrite,
0xFEDC5000, // Address Base
0x00001000, // Address Length
)
})
CreateWordField (BUF0, \_SB.I2CD._CRS._Y12._INT, IRQW) // _INT: Interrupts
IRQW = (One << (IC3I & 0x0F))
Return (BUF0) /* \_SB_.I2CD._CRS.BUF0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TSOS >= 0x70))
{
If ((IC3E == One))
{
Return (0x0F)
}
Return (0x00)
}
Else
{
Return (0x00)
}
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("d93e4d1c-58bb-493c-a06a-605a717f9e2e") /* Unknown UUID */))
{
Switch (ToInteger (Arg2))
{
Case (0x00)
{
Return (Buffer (One)
{
0x03 // .
})
}
Case (0x01)
{
Return (Buffer (0x04)
{
0xE5, 0x00, 0x6A, 0x00 // ..j.
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
Method (RSET, 0, NotSerialized)
{
SRAD (0x08, 0xC8)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((IC3D && IC3E))
{
Return (0x04)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((IC3D && IC3E))
{
DSAD (0x08, 0x00)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((IC3D && IC3E))
{
DSAD (0x08, 0x03)
}
}
}
Name (I3ID, "AMDI0015")
Name (I2ID, "AMDI0016")
Device (I3CA)
{
Method (_HID, 0, Serialized) // _HID: Hardware ID
{
If ((I30M == 0x00))
{
Return (I3ID) /* \_SB_.I3ID */
}
Else
{
Return (I2ID) /* \_SB_.I2ID */
}
}
Name (_UID, 0x00) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive, _Y13)
{10}
Memory32Fixed (ReadWrite,
0xFEDD2000, // Address Base
0x00001000, // Address Length
)
})
CreateWordField (BUF0, \_SB.I3CA._CRS._Y13._INT, IRQW) // _INT: Interrupts
IRQW = (One << (IC0I & 0x0F))
Return (BUF0) /* \_SB_.I3CA._CRS.BUF0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TSOS >= 0x70))
{
If ((I30E == One))
{
Return (0x0F)
}
Return (0x00)
}
Else
{
Return (0x00)
}
}
Method (RSET, 0, NotSerialized)
{
SRAD (0x15, 0xC8)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((I30D && I30E))
{
Return (0x04)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((I30D && I30E))
{
DSAD (0x15, 0x00)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((I30D && I30E))
{
DSAD (0x15, 0x03)
}
}
}
Device (I3CB)
{
Method (_HID, 0, Serialized) // _HID: Hardware ID
{
If ((I31M == 0x00))
{
Return (I3ID) /* \_SB_.I3ID */
}
Else
{
Return (I2ID) /* \_SB_.I2ID */
}
}
Name (_UID, 0x01) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive, _Y14)
{11}
Memory32Fixed (ReadWrite,
0xFEDD3000, // Address Base
0x00001000, // Address Length
)
})
CreateWordField (BUF0, \_SB.I3CB._CRS._Y14._INT, IRQW) // _INT: Interrupts
IRQW = (One << (IC1I & 0x0F))
Return (BUF0) /* \_SB_.I3CB._CRS.BUF0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TSOS >= 0x70))
{
If ((I31E == One))
{
Return (0x0F)
}
Return (0x00)
}
Else
{
Return (0x00)
}
}
Method (RSET, 0, NotSerialized)
{
SRAD (0x0D, 0xC8)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((I31D && I31E))
{
Return (0x04)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((I31D && I31E))
{
DSAD (0x0D, 0x00)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((I31D && I31E))
{
DSAD (0x0D, 0x03)
}
}
}
Device (I3CC)
{
Method (_HID, 0, Serialized) // _HID: Hardware ID
{
If ((I32M == 0x00))
{
Return (I3ID) /* \_SB_.I3ID */
}
Else
{
Return (I2ID) /* \_SB_.I2ID */
}
}
Name (_UID, 0x02) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive, _Y15)
{4}
Memory32Fixed (ReadWrite,
0xFEDD4000, // Address Base
0x00001000, // Address Length
)
})
CreateWordField (BUF0, \_SB.I3CC._CRS._Y15._INT, IRQW) // _INT: Interrupts
IRQW = (One << (IC2I & 0x0F))
Return (BUF0) /* \_SB_.I3CC._CRS.BUF0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TSOS >= 0x70))
{
If ((I32E == One))
{
Return (0x0F)
}
Return (0x00)
}
Else
{
Return (0x00)
}
}
Method (RSET, 0, NotSerialized)
{
SRAD (0x0E, 0xC8)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((I32D && I32E))
{
Return (0x04)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((I32D && I32E))
{
DSAD (0x0E, 0x00)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((I32D && I32E))
{
DSAD (0x0E, 0x03)
}
}
}
Device (I3CD)
{
Method (_HID, 0, Serialized) // _HID: Hardware ID
{
If ((I33M == 0x00))
{
Return (I3ID) /* \_SB_.I3ID */
}
Else
{
Return (I2ID) /* \_SB_.I2ID */
}
}
Name (_UID, 0x03) // _UID: Unique ID
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive, _Y16)
{6}
Memory32Fixed (ReadWrite,
0xFEDD6000, // Address Base
0x00001000, // Address Length
)
})
CreateWordField (BUF0, \_SB.I3CD._CRS._Y16._INT, IRQW) // _INT: Interrupts
IRQW = (One << (IC3I & 0x0F))
Return (BUF0) /* \_SB_.I3CD._CRS.BUF0 */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TSOS >= 0x70))
{
If ((I33E == One))
{
Return (0x0F)
}
Return (0x00)
}
Else
{
Return (0x00)
}
}
Method (RSET, 0, NotSerialized)
{
SRAD (0x0F, 0xC8)
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
If ((I33D && I33E))
{
Return (0x04)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
If ((I33D && I33E))
{
DSAD (0x0F, 0x00)
}
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
If ((I33D && I33E))
{
DSAD (0x0F, 0x03)
}
}
}
}
Scope (_SB.PCI0)
{
Device (UAR1)
{
Name (_HID, EisaId ("PNP0500") /* Standard PC COM Serial Port */) // _HID: Hardware ID
Name (_UID, 0x01) // _UID: Unique ID
Name (_DDN, "COM1") // _DDN: DOS Device Name
Method (_STA, 0, NotSerialized) // _STA: Status
{
Local0 = 0x00
Local1 = FUIO (0x00)
If ((Local1 != 0x0F))
{
Local0 = 0x0F
}
If ((UL0I == One))
{
Local0 = 0x00
}
Return (Local0)
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y17)
IRQNoFlags (_Y18)
{3}
})
CreateByteField (BUF0, \_SB.PCI0.UAR1._CRS._Y17._MIN, IOLO) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOHI)
CreateByteField (BUF0, \_SB.PCI0.UAR1._CRS._Y17._MAX, IORL) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IORH)
CreateWordField (BUF0, \_SB.PCI0.UAR1._CRS._Y18._INT, IRQL) // _INT: Interrupts
Local0 = FUIO (0x00)
Switch (ToInteger (Local0))
{
Case (0x00)
{
IOLO = 0xE8
IOHI = 0x02
IORL = 0xE8
IORH = 0x02
}
Case (0x01)
{
IOLO = 0xF8
IOHI = 0x02
IORL = 0xF8
IORH = 0x02
}
Case (0x02)
{
IOLO = 0xE8
IOHI = 0x03
IORL = 0xE8
IORH = 0x03
}
Case (0x03)
{
IOLO = 0xF8
IOHI = 0x03
IORL = 0xF8
IORH = 0x03
}
}
IRQL = (One << (FRUI (0x00) & 0x0F))
Return (BUF0) /* \_SB_.PCI0.UAR1._CRS.BUF0 */
}
}
Device (UAR2)
{
Name (_HID, EisaId ("PNP0500") /* Standard PC COM Serial Port */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Name (_DDN, "COM2") // _DDN: DOS Device Name
Method (_STA, 0, NotSerialized) // _STA: Status
{
Local0 = 0x00
Local1 = FUIO (0x01)
If ((Local1 != 0x0F))
{
Local0 = 0x0F
}
If ((UL1I == One))
{
Local0 = 0x00
}
Return (Local0)
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y19)
IRQNoFlags (_Y1A)
{4}
})
CreateByteField (BUF0, \_SB.PCI0.UAR2._CRS._Y19._MIN, IOLO) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOHI)
CreateByteField (BUF0, \_SB.PCI0.UAR2._CRS._Y19._MAX, IORL) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IORH)
CreateWordField (BUF0, \_SB.PCI0.UAR2._CRS._Y1A._INT, IRQL) // _INT: Interrupts
Local0 = FUIO (0x01)
Switch (ToInteger (Local0))
{
Case (0x00)
{
IOLO = 0xE8
IOHI = 0x02
IORL = 0xE8
IORH = 0x02
}
Case (0x01)
{
IOLO = 0xF8
IOHI = 0x02
IORL = 0xF8
IORH = 0x02
}
Case (0x02)
{
IOLO = 0xE8
IOHI = 0x03
IORL = 0xE8
IORH = 0x03
}
Case (0x03)
{
IOLO = 0xF8
IOHI = 0x03
IORL = 0xF8
IORH = 0x03
}
}
IRQL = (One << (FRUI (0x01) & 0x0F))
Return (BUF0) /* \_SB_.PCI0.UAR2._CRS.BUF0 */
}
}
Device (UAR3)
{
Name (_HID, EisaId ("PNP0500") /* Standard PC COM Serial Port */) // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Name (_DDN, "COM3") // _DDN: DOS Device Name
Method (_STA, 0, NotSerialized) // _STA: Status
{
Local0 = 0x00
Local1 = FUIO (0x02)
If ((Local1 != 0x0F))
{
Local0 = 0x0F
}
If ((UL2I == One))
{
Local0 = 0x00
}
Return (Local0)
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y1B)
IRQNoFlags (_Y1C)
{3}
})
CreateByteField (BUF0, \_SB.PCI0.UAR3._CRS._Y1B._MIN, IOLO) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOHI)
CreateByteField (BUF0, \_SB.PCI0.UAR3._CRS._Y1B._MAX, IORL) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IORH)
CreateWordField (BUF0, \_SB.PCI0.UAR3._CRS._Y1C._INT, IRQL) // _INT: Interrupts
Local0 = FUIO (0x02)
Switch (ToInteger (Local0))
{
Case (0x00)
{
IOLO = 0xE8
IOHI = 0x02
IORL = 0xE8
IORH = 0x02
}
Case (0x01)
{
IOLO = 0xF8
IOHI = 0x02
IORL = 0xF8
IORH = 0x02
}
Case (0x02)
{
IOLO = 0xE8
IOHI = 0x03
IORL = 0xE8
IORH = 0x03
}
Case (0x03)
{
IOLO = 0xF8
IOHI = 0x03
IORL = 0xF8
IORH = 0x03
}
}
IRQL = (One << (FRUI (0x02) & 0x0F))
Return (BUF0) /* \_SB_.PCI0.UAR3._CRS.BUF0 */
}
}
Device (UAR4)
{
Name (_HID, EisaId ("PNP0500") /* Standard PC COM Serial Port */) // _HID: Hardware ID
Name (_UID, 0x04) // _UID: Unique ID
Name (_DDN, "COM4") // _DDN: DOS Device Name
Method (_STA, 0, NotSerialized) // _STA: Status
{
Local0 = 0x00
Local1 = FUIO (0x03)
If ((Local1 != 0x0F))
{
Local0 = 0x0F
}
If ((UL3I == One))
{
Local0 = 0x00
}
Return (Local0)
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y1D)
IRQNoFlags (_Y1E)
{4}
})
CreateByteField (BUF0, \_SB.PCI0.UAR4._CRS._Y1D._MIN, IOLO) // _MIN: Minimum Base Address
CreateByteField (BUF0, 0x03, IOHI)
CreateByteField (BUF0, \_SB.PCI0.UAR4._CRS._Y1D._MAX, IORL) // _MAX: Maximum Base Address
CreateByteField (BUF0, 0x05, IORH)
CreateWordField (BUF0, \_SB.PCI0.UAR4._CRS._Y1E._INT, IRQL) // _INT: Interrupts
Local0 = FUIO (0x03)
Switch (ToInteger (Local0))
{
Case (0x00)
{
IOLO = 0xE8
IOHI = 0x02
IORL = 0xE8
IORH = 0x02
}
Case (0x01)
{
IOLO = 0xF8
IOHI = 0x02
IORL = 0xF8
IORH = 0x02
}
Case (0x02)
{
IOLO = 0xE8
IOHI = 0x03
IORL = 0xE8
IORH = 0x03
}
Case (0x03)
{
IOLO = 0xF8
IOHI = 0x03
IORL = 0xF8
IORH = 0x03
}
}
IRQL = (One << (FRUI (0x03) & 0x0F))
Return (BUF0) /* \_SB_.PCI0.UAR4._CRS.BUF0 */
}
}
}
OperationRegion (MNVS, SystemMemory, 0x1BAFA018, 0x4B00)
Field (MNVS, DWordAcc, NoLock, Preserve)
{
Offset (0xD00),
GAPA, 32,
GAPL, 32,
DCKI, 32,
DCKS, 32,
VCDL, 1,
VCDC, 1,
VCDT, 1,
VCDD, 1,
, 1,
VCSS, 1,
VCDB, 1,
VCIN, 1,
VVPO, 8,
BNTN, 8,
BRLV, 8,
CDFL, 8,
CDAH, 8,
PMOD, 2,
PDIR, 1,
PDMA, 1,
Offset (0xD17),
LFDC, 1,
Offset (0xD18),
C2NA, 1,
C3NA, 1,
C4NA, 1,
C6NA, 1,
C7NA, 1,
Offset (0xD19),
Offset (0xD1A),
, 2,
, 1,
NHPS, 1,
NPMS, 1,
Offset (0xD1B),
UOPT, 8,
BTID, 32,
DPP0, 1,
DPP1, 1,
DPP2, 1,
DPP3, 1,
DPP4, 1,
DPP5, 1,
Offset (0xD21),
Offset (0xD22),
TCRT, 16,
TPSV, 16,
TTC1, 16,
TTC2, 16,
TTSP, 16,
SRAH, 8,
SRHE, 8,
SRE1, 8,
SRE2, 8,
SRE3, 8,
SRE4, 8,
SRE5, 8,
SRE6, 8,
SRU1, 8,
SRU2, 8,
SRU3, 8,
SRU7, 8,
SRU4, 8,
SRU5, 8,
SRU8, 8,
SRPB, 8,
SRLP, 8,
SRSA, 8,
SRSM, 8,
CWAC, 1,
CWAS, 1,
CWUE, 1,
CWUS, 1,
Offset (0xD40),
CWAP, 16,
CWAT, 16,
DBGC, 1,
Offset (0xD45),
FS1L, 16,
FS1M, 16,
FS1H, 16,
FS2L, 16,
FS2M, 16,
FS2H, 16,
FS3L, 16,
FS3M, 16,
FS3H, 16,
TATC, 1,
, 6,
TATL, 1,
TATW, 8,
TNFT, 4,
TNTT, 4,
TDFA, 4,
TDTA, 4,
TDFD, 4,
TDTD, 4,
TCFA, 4,
TCTA, 4,
TCFD, 4,
TCTD, 4,
TSFT, 4,
TSTT, 4,
TIT0, 8,
TCR0, 16,
TPS0, 16,
TIT1, 8,
TCR1, 16,
TPS1, 16,
TIT2, 8,
TCR2, 16,
TPS2, 16,
TIF0, 8,
TIF1, 8,
TIF2, 8,
Offset (0xD78),
BTHI, 1,
Offset (0xD79),
HDIR, 1,
HDEH, 1,
HDSP, 1,
HDPP, 1,
HDUB, 1,
HDMC, 1,
NFCF, 1,
NOMC, 1,
TPME, 8,
BIDE, 4,
IDET, 4,
, 1,
, 1,
Offset (0xD7D),
DTS0, 8,
Offset (0xD7F),
DT00, 1,
DT01, 1,
DT02, 1,
DT03, 1,
Offset (0xD80),
LIDB, 1,
C4WR, 1,
C4AC, 1,
ODDX, 1,
CMPR, 1,
ILNF, 1,
PLUX, 1,
Offset (0xD81),
Offset (0xD8A),
WLAC, 8,
WIWK, 1,
Offset (0xD8C),
, 4,
, 1,
IDMM, 1,
Offset (0xD8D),
, 3,
, 1,
, 1,
, 1,
Offset (0xD8E),
Offset (0xD8F),
, 4,
Offset (0xD90),
Offset (0xD91),
SWGP, 8,
IPMS, 8,
IPMB, 120,
IPMR, 24,
IPMO, 24,
IPMA, 8,
VIGD, 1,
VDSC, 1,
VMSH, 1,
, 1,
VDSP, 1,
Offset (0xDAA),
Offset (0xDAD),
ASFT, 8,
PL1L, 8,
PL1M, 8,
CHKC, 32,
CHKE, 32,
ATRB, 32,
Offset (0xDBD),
PPCR, 8,
TPCR, 5,
Offset (0xDBF),
Offset (0xDCE),
CTPR, 8,
PPCA, 8,
TPCA, 5,
Offset (0xDD1),
BFWB, 296,
OSPX, 1,
OSC4, 1,
CPPX, 1,
Offset (0xDF7),
SPEN, 1,
SCRM, 1,
, 1,
ETAU, 1,
IHBC, 1,
ARPM, 1,
APMF, 1,
Offset (0xDF8),
FTPS, 8,
HIST, 8,
LPST, 8,
LWST, 8,
Offset (0xDFF),
Offset (0xE00),
Offset (0xE20),
HPET, 32,
PKLI, 16,
VLCX, 16,
VNIT, 8,
VBD0, 8,
VBDT, 128,
VBPL, 16,
VBPH, 16,
VBML, 8,
VBMH, 8,
VEDI, 1024,
PDCI, 16,
ISCG, 32,
ISSP, 1,
ISWK, 2,
ISFS, 3,
Offset (0xEC7),
SHA1, 160,
Offset (0xEDC),
LWCP, 1,
LWEN, 1,
IOCP, 1,
IOEN, 1,
IOST, 1,
FTBC, 1,
FTBE, 1,
FTBF, 1,
USBR, 1,
Offset (0xEDE),
Offset (0xEDF),
Offset (0xEE1),
BT2T, 1,
Offset (0xEE2),
TPPP, 8,
TPPC, 8,
CTPC, 8,
FNWK, 8,
Offset (0xEE7),
XHCC, 8,
FCAP, 16,
VSTD, 1,
VCQL, 1,
VTIO, 1,
VMYH, 1,
VSTP, 1,
VLCM, 1,
VDGM, 1,
VADM, 1,
VRPC, 1,
VTMS, 1,
VDLS, 1,
VMMC, 1,
VMSC, 1,
VPSC, 1,
VCSC, 1,
VAMT, 1,
CICF, 4,
CICM, 4,
MYHC, 8,
MMCC, 8,
PT1D, 15,
Offset (0xEF1),
PT2D, 15,
Offset (0xEF3),
PT0D, 15,
Offset (0xEF5),
DVS0, 1,
DVS1, 1,
DVS2, 1,
DVS3, 1,
Offset (0xEF7),
Offset (0xF13),
Offset (0xF14),
, 4,
SADM, 4,
SMYH, 4,
SMMC, 4,
SPSC, 4,
SAMT, 4,
STDV, 8,
SCRB, 8,
PMOF, 8,
MPID, 8,
VEDX, 1024,
SHDW, 8,
TPID, 16,
TPAD, 8,
TDVI, 16,
TDPI, 16,
TLVI, 16,
TLPI, 16,
EPAO, 8,
TLAS, 8,
FADM, 8,
FSTA, 1,
Offset (0xFAB),
SRPC, 8,
TSTV, 8,
PCKV, 8,
TIDX, 8,
MINP, 8,
FPPT, 8,
SPPT, 8
}
Field (MNVS, ByteAcc, NoLock, Preserve)
{
Offset (0xB00),
WITM, 8,
WSEL, 8,
WLS0, 8,
WLS1, 8,
WLS2, 8,
WLS3, 8,
WLS4, 8,
WLS5, 8,
WLS6, 8,
WLS7, 8,
WLS8, 8,
WLS9, 8,
WLSA, 8,
WLSB, 8,
WLSC, 8,
WLSD, 8,
WENC, 8,
WKBD, 8,
WPTY, 8,
WPAS, 1032,
WPNW, 1032,
WSPM, 8,
WSPS, 8,
WSMN, 8,
WSMX, 8,
WSEN, 8,
WSKB, 8,
WASB, 8,
WASI, 16,
WASD, 8,
WASS, 32,
WDRV, 8,
WMTH, 8,
RTC0, 8,
RTC1, 8,
RTC2, 8,
WSHS, 8,
WEXF, 8,
SDBM, 8
}
Field (MNVS, ByteAcc, NoLock, Preserve)
{
Offset (0x1000),
CBFF, 32768
}
Field (MNVS, ByteAcc, NoLock, Preserve)
{
Offset (0xA00),
DBGB, 1024
}
Field (MNVS, ByteAcc, NoLock, Preserve)
{
Offset (0x800),
Offset (0x804),
Offset (0x808),
Offset (0x80C),
Offset (0x810),
WLVD, 16
}
OperationRegion (ONVS, SystemMemory, 0x1BB10E98, 0x00000076)
Field (ONVS, AnyAcc, Lock, Preserve)
{
Offset (0x04),
MBID, 8,
Offset (0x06),
MIAC, 16,
C16N, 8,
SPDF, 8,
IGCC, 8,
NPCS, 8,
WISP, 8,
Offset (0x10),
GVDI, 32,
DNPF, 8,
GCPI, 8,
NPBF, 16,
OLED, 8,
GC63, 8,
NEXR, 8,
DNTC, 1,
GPMC, 1,
DBTC, 1,
WSPC, 1,
Offset (0x1C),
AUXE, 8,
NHAC, 8,
Offset (0x20),
CPL1, 16,
CGTC, 16,
NTPP, 16,
MATG, 16,
MITG, 16,
NTPD, 16,
MATD, 16,
MITD, 16,
UCTG, 16,
MAPL, 8,
MIPL, 8,
SKUM, 8,
Offset (0x36),
DPNT, 8,
Offset (0x38),
TPOR, 16,
ATOR, 16,
ITOR, 16,
Offset (0x40),
TPDR, 16,
ATDR, 16,
IIDR, 16,
TGOR, 16,
CDN0, 8,
CUP0, 8,
CDN1, 8,
CUP1, 8,
CDN2, 8,
CUP2, 8,
CDN3, 8,
CUP3, 8,
GDN0, 8,
GUP0, 8,
GDN1, 8,
GUP1, 8,
GDN2, 8,
GUP2, 8,
GDN3, 8,
GUP3, 8,
Offset (0x60),
MTG6, 16,
MTG8, 16,
TPP4, 16,
TPP6, 16,
TPP8, 16,
TCID, 8,
Offset (0x70),
DVMG, 8,
UTPM, 8,
R357, 8,
NDNS, 8,
ISGD, 8,
HPDS, 8
}
OperationRegion (CNVS, SystemMemory, 0x1BB0B018, 0x2000)
Field (CNVS, ByteAcc, NoLock, Preserve)
{
SCSB, 65536
}
Field (CNVS, ByteAcc, NoLock, Preserve)
{
SNMA, 32
}
Field (CNVS, ByteAcc, NoLock, Preserve)
{
SSMB, 24768,
SSPL, 16,
SSPB, 2048
}
Field (CNVS, ByteAcc, NoLock, Preserve)
{
SGMB, 128,
SGPL, 16,
SGPB, 2048
}
Field (CNVS, ByteAcc, NoLock, Preserve)
{
SGSB, 24608
}
Field (CNVS, ByteAcc, NoLock, Preserve)
{
SEDL, 768,
SENS, 32
}
Field (CNVS, ByteAcc, NoLock, Preserve)
{
SWMB, 60992,
SWAL, 16,
SWAB, 2048
}
Field (CNVS, ByteAcc, NoLock, Preserve)
{
GWMB, 60864
}
Field (CNVS, ByteAcc, NoLock, Preserve)
{
SPMB, 1104
}
Field (CNVS, ByteAcc, NoLock, Preserve)
{
GPMB, 5520
}
Name (SPS, 0x00)
Name (OSIF, 0x00)
Name (WNTF, 0x00)
Name (WXPF, 0x00)
Name (WVIS, 0x00)
Name (WIN7, 0x00)
Name (WIN8, 0x00)
Name (WSPV, 0x00)
Name (LNUX, 0x00)
Name (H8DR, 0x00)
Name (MEMX, 0x00)
Name (ACST, 0x00)
Name (FMBL, 0x01)
Name (FDTP, 0x02)
Name (FUPS, 0x03)
Name (FNID, 0x00)
Name (RRBF, 0x00)
Name (NBCF, 0x00)
Name (HAUF, 0x00)
Name (SXRF, 0x00)
Name (SXEF, 0x00)
OperationRegion (SMI0, SystemIO, 0xB0, 0x02)
Field (SMI0, ByteAcc, NoLock, Preserve)
{
APMC, 8,
APMD, 8
}
Field (MNVS, AnyAcc, NoLock, Preserve)
{
Offset (0xFC0),
CMD, 8,
ERR, 32,
PAR0, 32,
PAR1, 32,
PAR2, 32,
PAR3, 32
}
Mutex (MSMI, 0x00)
Method (SMI, 5, Serialized)
{
Acquire (MSMI, 0xFFFF)
CMD = Arg0
ERR = 0x01
PAR0 = Arg1
PAR1 = Arg2
PAR2 = Arg3
PAR3 = Arg4
APMC = 0xF5
While ((ERR == 0x01))
{
Sleep (0x01)
APMC = 0xF5
}
Local0 = PAR0 /* \PAR0 */
Release (MSMI)
Return (Local0)
}
Method (RPCI, 1, NotSerialized)
{
Return (SMI (0x00, 0x00, Arg0, 0x00, 0x00))
}
Method (WPCI, 2, NotSerialized)
{
SMI (0x00, 0x01, Arg0, Arg1, 0x00)
}
Method (MPCI, 3, NotSerialized)
{
SMI (0x00, 0x02, Arg0, Arg1, Arg2)
}
Method (RBEC, 1, NotSerialized)
{
Return (SMI (0x00, 0x03, Arg0, 0x00, 0x00))
}
Method (WBEC, 2, NotSerialized)
{
SMI (0x00, 0x04, Arg0, Arg1, 0x00)
}
Method (MBEC, 3, NotSerialized)
{
SMI (0x00, 0x05, Arg0, Arg1, Arg2)
}
Method (RISA, 1, NotSerialized)
{
Return (SMI (0x00, 0x06, Arg0, 0x00, 0x00))
}
Method (WISA, 2, NotSerialized)
{
SMI (0x00, 0x07, Arg0, Arg1, 0x00)
}
Method (MISA, 3, NotSerialized)
{
SMI (0x00, 0x08, Arg0, Arg1, Arg2)
}
Method (VEXP, 0, NotSerialized)
{
SMI (0x01, 0x00, 0x00, 0x00, 0x00)
}
Method (VUPS, 1, NotSerialized)
{
SMI (0x01, 0x01, Arg0, 0x00, 0x00)
}
Method (VSDS, 2, NotSerialized)
{
SMI (0x01, 0x02, Arg0, Arg1, 0x00)
}
Method (VDDC, 0, NotSerialized)
{
SMI (0x01, 0x03, 0x00, 0x00, 0x00)
}
Method (VVPD, 1, NotSerialized)
{
SMI (0x01, 0x04, Arg0, 0x00, 0x00)
}
Method (VNRS, 1, NotSerialized)
{
SMI (0x01, 0x05, Arg0, 0x00, 0x00)
}
Method (GLPW, 0, NotSerialized)
{
Return (SMI (0x01, 0x06, 0x00, 0x00, 0x00))
}
Method (VSLD, 1, NotSerialized)
{
SMI (0x01, 0x07, Arg0, 0x00, 0x00)
}
Method (VEVT, 1, NotSerialized)
{
Return (SMI (0x01, 0x08, Arg0, 0x00, 0x00))
}
Method (VTHR, 0, NotSerialized)
{
Return (SMI (0x01, 0x09, 0x00, 0x00, 0x00))
}
Method (VBRC, 1, NotSerialized)
{
SMI (0x01, 0x0A, Arg0, 0x00, 0x00)
}
Method (VBRG, 0, NotSerialized)
{
Return (SMI (0x01, 0x0E, 0x00, 0x00, 0x00))
}
Method (VCMS, 2, NotSerialized)
{
Return (SMI (0x01, 0x0B, Arg0, Arg1, 0x00))
}
Method (VBTD, 0, NotSerialized)
{
Return (SMI (0x01, 0x0F, 0x00, 0x00, 0x00))
}
Method (VDYN, 2, NotSerialized)
{
Return (SMI (0x01, 0x11, Arg0, Arg1, 0x00))
}
Method (SDPS, 2, NotSerialized)
{
Return (SMI (0x01, 0x12, Arg0, Arg1, 0x00))
}
Method (SCMS, 1, NotSerialized)
{
Return (SMI (0x02, Arg0, 0x00, 0x00, 0x00))
}
Method (BHDP, 2, NotSerialized)
{
Return (SMI (0x03, 0x00, Arg0, Arg1, 0x00))
}
Method (STEP, 1, NotSerialized)
{
SMI (0x04, Arg0, 0x00, 0x00, 0x00)
}
Method (SLTP, 0, NotSerialized)
{
SMI (0x05, 0x00, 0x00, 0x00, 0x00)
}
Method (CBRI, 0, NotSerialized)
{
SMI (0x05, 0x01, 0x00, 0x00, 0x00)
}
Method (BCHK, 0, NotSerialized)
{
Return (SMI (0x05, 0x04, 0x00, 0x00, 0x00))
}
Method (BYRS, 0, NotSerialized)
{
SMI (0x05, 0x05, 0x00, 0x00, 0x00)
}
Method (LCHK, 1, NotSerialized)
{
Return (SMI (0x05, 0x06, Arg0, 0x00, 0x00))
}
Method (BLTH, 1, NotSerialized)
{
Return (SMI (0x06, Arg0, 0x00, 0x00, 0x00))
}
Method (PRSM, 2, NotSerialized)
{
Return (SMI (0x07, 0x00, Arg0, Arg1, 0x00))
}
Method (ISOC, 1, NotSerialized)
{
Return (SMI (0x07, 0x03, Arg0, 0x00, 0x00))
}
Method (EZRC, 1, NotSerialized)
{
Return (SMI (0x07, 0x04, Arg0, 0x00, 0x00))
}
Method (WGSV, 1, NotSerialized)
{
Return (SMI (0x09, Arg0, 0x00, 0x00, 0x00))
}
Method (TSDL, 0, NotSerialized)
{
Return (SMI (0x0A, 0x03, 0x00, 0x00, 0x00))
}
Method (FLPF, 1, NotSerialized)
{
Return (SMI (0x0A, 0x04, Arg0, 0x00, 0x00))
}
Method (GTST, 0, NotSerialized)
{
Return (SMI (0x0A, 0x05, 0x00, 0x00, 0x00))
}
Method (HOTL, 0, NotSerialized)
{
Return (SMI (0x0A, 0x06, 0x00, 0x00, 0x00))
}
Method (CSUM, 1, NotSerialized)
{
Return (SMI (0x0E, Arg0, 0x00, 0x00, 0x00))
}
Method (NVSS, 1, NotSerialized)
{
Return (SMI (0x0F, Arg0, 0x00, 0x00, 0x00))
}
Method (WMIS, 2, NotSerialized)
{
Return (SMI (0x10, Arg0, Arg1, 0x00, 0x00))
}
Method (AWON, 1, NotSerialized)
{
Return (SMI (0x12, Arg0, 0x00, 0x00, 0x00))
}
Method (PMON, 2, NotSerialized)
{
Local0 = SizeOf (Arg0)
Name (TSTR, Buffer (Local0) {})
TSTR = Arg0
DBGB = TSTR /* \PMON.TSTR */
SMI (0x11, Arg1, 0x00, 0x00, 0x00)
}
Method (UAWS, 1, NotSerialized)
{
Return (SMI (0x13, Arg0, 0x00, 0x00, 0x00))
}
Method (BFWC, 1, NotSerialized)
{
Return (SMI (0x14, 0x00, Arg0, 0x00, 0x00))
}
Method (BFWP, 0, NotSerialized)
{
Return (SMI (0x14, 0x01, 0x00, 0x00, 0x00))
}
Method (BFWL, 0, NotSerialized)
{
SMI (0x14, 0x02, 0x00, 0x00, 0x00)
}
Method (BFWG, 1, NotSerialized)
{
SMI (0x14, 0x03, Arg0, 0x00, 0x00)
}
Method (BDMC, 1, NotSerialized)
{
SMI (0x14, 0x04, Arg0, 0x00, 0x00)
}
Method (PSIF, 2, NotSerialized)
{
Return (SMI (0x14, 0x05, Arg0, Arg1, 0x00))
}
Method (FNSC, 2, NotSerialized)
{
Return (SMI (0x14, 0x06, Arg0, Arg1, 0x00))
}
Method (AUDC, 2, NotSerialized)
{
Return (SMI (0x14, 0x07, Arg0, Arg1, 0x00))
}
Method (SYBC, 2, NotSerialized)
{
Return (SMI (0x14, 0x08, Arg0, Arg1, 0x00))
}
Method (KBLS, 2, NotSerialized)
{
Return (SMI (0x14, 0x09, Arg0, Arg1, 0x00))
}
Method (SSTI, 2, NotSerialized)
{
Return (SMI (0x14, 0x0A, Arg0, Arg1, 0x00))
}
Method (SSTH, 2, NotSerialized)
{
Return (SMI (0x14, 0x0B, Arg0, Arg1, 0x00))
}
Method (UBIS, 1, NotSerialized)
{
Return (SMI (0x15, 0x00, Arg0, 0x00, 0x00))
}
Method (DIEH, 1, NotSerialized)
{
Return (SMI (0x16, 0x00, Arg0, 0x00, 0x00))
}
Method (OUTP, 2, NotSerialized)
{
SMI (0x17, Arg0, Arg1, 0x00, 0x00)
}
Method (SREQ, 3, NotSerialized)
{
SMI (0x18, (Arg0 & 0xFF), (Arg1 & 0xFF), (Arg2 &
0xFF), 0x00)
}
Method (SPMS, 1, NotSerialized)
{
SMI (0x19, (Arg0 & 0xFF), 0x00, 0x00, 0x00)
}
Method (LVSS, 2, NotSerialized)
{
Return (SMI (0x1A, (Arg0 & 0xFF), Arg1, 0x00, 0x00))
}
Method (SCMP, 2, NotSerialized)
{
Local0 = SizeOf (Arg0)
If ((Local0 != SizeOf (Arg1)))
{
Return (One)
}
Local0++
Name (STR1, Buffer (Local0) {})
Name (STR2, Buffer (Local0) {})
STR1 = Arg0
STR2 = Arg1
Local1 = Zero
While ((Local1 < Local0))
{
Local2 = DerefOf (STR1 [Local1])
Local3 = DerefOf (STR2 [Local1])
If ((Local2 != Local3))
{
Return (One)
}
Local1++
}
Return (Zero)
}
Name (MACA, "_AUXMAX_#XXXXXXXXXXXX#")
Name (WOLD, "_S5WOL_#01EF1700000000#")
Scope (_SB)
{
Method (WMEM, 5, Serialized)
{
Local0 = (Arg0 + Arg1)
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.WMEM.VARR */
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = (Arg2 + Arg3)
Local2 = (0x20 - Local2)
Local2 = (((Local5 << Local2) & Local5) >> Local2)
Local2 = ((Local2 >> Arg2) << Arg2)
Local3 = (Arg4 << Arg2)
Local4 = ((Local1 & (Local5 ^ Local2)) | Local3)
VARR = Local4
}
Method (WFIO, 2, Serialized)
{
If ((Arg0 <= 0xFF))
{
Local0 = (Arg0 << 0x02)
WMEM (0xFED81500, Local0, 0x16, 0x01, Arg1)
}
Else
{
Local0 = (Arg0 &= 0xFF << 0x02)
WMEM (0xFED81200, Local0, 0x16, 0x01, Arg1)
}
}
Method (RFIO, 1, Serialized)
{
Local0 = (0xFED81500 + (Local0 = (Arg0 << 0x02)))
OperationRegion (RGPI, SystemMemory, Local0, 0x04)
Field (RGPI, AnyAcc, NoLock, Preserve)
{
Offset (0x02),
GPLV, 1
}
Return (GPLV) /* \_SB_.RFIO.GPLV */
}
OperationRegion (GSCI, SystemMemory, 0xFED80200, 0x10)
Field (GSCI, DWordAcc, NoLock, Preserve)
{
Offset (0x08),
GAHL, 32,
GLEV, 32
}
Method (GCTL, 2, Serialized)
{
Local0 = GAHL /* \_SB_.GAHL */
Local1 = GLEV /* \_SB_.GLEV */
If ((Arg0 == 0x00))
{
Local2 = (Local0 & ~(0x01 << Arg1))
Local3 = (Local1 & ~(0x01 << Arg1))
}
Else
{
Local2 = (Local0 | (0x01 << Arg1))
Local3 = (Local1 | (0x01 << Arg1))
}
GAHL = Local2
GLEV = Local3
}
Device (LID)
{
Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
Method (_LID, 0, NotSerialized) // _LID: Lid Status
{
If (((ILNF == 0x00) && (PLUX == 0x00)))
{
If (H8DR)
{
Return (^^PCI0.LPC0.EC0.HPLD) /* \_SB_.PCI0.LPC0.EC0_.HPLD */
}
ElseIf ((RBEC (0x46) & 0x04))
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Else
{
Return (0x01)
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
If (LWCP)
{
Return (Package (0x02)
{
0x08,
0x04
})
}
Else
{
Return (Package (0x02)
{
0x08,
0x03
})
}
}
Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
{
If (H8DR)
{
If (Arg0)
{
^^PCI0.LPC0.EC0.HWLO = 0x01
}
Else
{
^^PCI0.LPC0.EC0.HWLO = 0x00
}
}
ElseIf (Arg0)
{
MBEC (0x32, 0xFF, 0x04)
}
Else
{
MBEC (0x32, 0xFB, 0x00)
}
If (LWCP)
{
If (Arg0)
{
LWEN = 0x01
}
Else
{
LWEN = 0x00
}
}
}
}
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (Package (0x02)
{
0x08,
0x03
})
}
Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
{
If (H8DR)
{
If (Arg0)
{
^^PCI0.LPC0.EC0.HWFN = 0x01
}
Else
{
^^PCI0.LPC0.EC0.HWFN = 0x00
}
}
ElseIf (Arg0)
{
MBEC (0x32, 0xFF, 0x10)
}
Else
{
MBEC (0x32, 0xEF, 0x00)
}
}
}
Device (WMI1)
{
Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
Name (_UID, 0x01) // _UID: Unique ID
Name (_WDG, Buffer (0x01E0)
{
/* 0000 */ 0x0E, 0x23, 0xF5, 0x51, 0x77, 0x96, 0xCD, 0x46, // .#.Qw..F
/* 0008 */ 0xA1, 0xCF, 0xC0, 0xB2, 0x3E, 0xE3, 0x4D, 0xB7, // ....>.M.
/* 0010 */ 0x41, 0x30, 0xFF, 0x05, 0x64, 0x9A, 0x47, 0x98, // A0..d.G.
/* 0018 */ 0xF5, 0x33, 0x33, 0x4E, 0xA7, 0x07, 0x8E, 0x25, // .33N...%
/* 0020 */ 0x1E, 0xBB, 0xC3, 0xA1, 0x41, 0x31, 0x01, 0x06, // ....A1..
/* 0028 */ 0xEF, 0x54, 0x4B, 0x6A, 0xED, 0xA5, 0x33, 0x4D, // .TKj..3M
/* 0030 */ 0x94, 0x55, 0xB0, 0xD9, 0xB4, 0x8D, 0xF4, 0xB3, // .U......
/* 0038 */ 0x41, 0x32, 0x01, 0x06, 0xB6, 0xEB, 0xF1, 0x74, // A2.....t
/* 0040 */ 0x7A, 0x92, 0x7D, 0x4C, 0x95, 0xDF, 0x69, 0x8E, // z.}L..i.
/* 0048 */ 0x21, 0xE8, 0x0E, 0xB5, 0x41, 0x33, 0x01, 0x06, // !...A3..
/* 0050 */ 0xFF, 0x04, 0xEF, 0x7E, 0x28, 0x43, 0x7C, 0x44, // ...~(C|D
/* 0058 */ 0xB5, 0xBB, 0xD4, 0x49, 0x92, 0x5D, 0x53, 0x8D, // ...I.]S.
/* 0060 */ 0x41, 0x34, 0x01, 0x06, 0x9E, 0x15, 0xDB, 0x8A, // A4......
/* 0068 */ 0x32, 0x1E, 0x5C, 0x45, 0xBC, 0x93, 0x30, 0x8A, // 2.\E..0.
/* 0070 */ 0x7E, 0xD9, 0x82, 0x46, 0x41, 0x35, 0x01, 0x01, // ~..FA5..
/* 0078 */ 0xFD, 0xD9, 0x51, 0x26, 0x1C, 0x91, 0x69, 0x4B, // ..Q&..iK
/* 0080 */ 0xB9, 0x4E, 0xD0, 0xDE, 0xD5, 0x96, 0x3B, 0xD7, // .N....;.
/* 0088 */ 0x41, 0x36, 0x01, 0x06, 0x1A, 0x65, 0x64, 0x73, // A6...eds
/* 0090 */ 0x2F, 0x13, 0xE7, 0x4F, 0xAD, 0xAA, 0x40, 0xC6, // /..O..@.
/* 0098 */ 0xC7, 0xEE, 0x2E, 0x3B, 0x41, 0x37, 0x01, 0x06, // ...;A7..
/* 00A0 */ 0x2C, 0xEF, 0xDD, 0xDF, 0xD4, 0x57, 0xCE, 0x48, // ,....W.H
/* 00A8 */ 0xB1, 0x96, 0x0F, 0xB7, 0x87, 0xD9, 0x08, 0x36, // .......6
/* 00B0 */ 0x46, 0x30, 0x01, 0x06, 0xA6, 0xEB, 0x70, 0x73, // F0....ps
/* 00B8 */ 0x73, 0x7E, 0x9C, 0x40, 0x9A, 0x89, 0x82, 0x97, // s~.@....
/* 00C0 */ 0x95, 0x31, 0x3D, 0x78, 0x46, 0x31, 0x20, 0x05, // .1=xF1 .
/* 00C8 */ 0x89, 0xA5, 0x94, 0x7E, 0x65, 0x46, 0xDE, 0x47, // ...~eF.G
/* 00D0 */ 0xBE, 0x2B, 0xDD, 0xE4, 0xA2, 0x80, 0xAD, 0x47, // .+.....G
/* 00D8 */ 0x46, 0x32, 0x01, 0x06, 0xCC, 0x08, 0xA0, 0x34, // F2.....4
/* 00E0 */ 0x05, 0xD2, 0x62, 0x4B, 0x9E, 0x67, 0x31, 0xDF, // ..bK.g1.
/* 00E8 */ 0xA8, 0xB9, 0x00, 0x03, 0x46, 0x33, 0x01, 0x06, // ....F3..
/* 00F0 */ 0x9D, 0xFB, 0x50, 0xC0, 0x5F, 0xDF, 0x06, 0x46, // ..P._..F
/* 00F8 */ 0xB0, 0x66, 0x9E, 0xFC, 0x40, 0x1B, 0x25, 0x51, // .f..@.%Q
/* 0100 */ 0x46, 0x34, 0x01, 0x06, 0x95, 0xE9, 0x9C, 0x9B, // F4......
/* 0108 */ 0xC3, 0xC2, 0xEE, 0x40, 0x81, 0xD5, 0x94, 0x68, // ...@...h
/* 0110 */ 0x95, 0x37, 0x59, 0xBE, 0x46, 0x35, 0x01, 0x06, // .7Y.F5..
/* 0118 */ 0x89, 0x78, 0x34, 0x98, 0x12, 0xE1, 0x14, 0x4F, // .x4....O
/* 0120 */ 0xB4, 0x18, 0x27, 0x3A, 0x13, 0x67, 0xDE, 0x9C, // ..':.g..
/* 0128 */ 0x46, 0x36, 0x01, 0x06, 0x3A, 0x25, 0x21, 0x34, // F6..:%!4
/* 0130 */ 0x7C, 0xBD, 0x22, 0x42, 0x84, 0x7F, 0x1D, 0xA6, // |."B....
/* 0138 */ 0x4E, 0x3E, 0x8F, 0xCF, 0x46, 0x37, 0x01, 0x06, // N>..F7..
/* 0140 */ 0x35, 0xCE, 0x07, 0xF3, 0x39, 0xD5, 0xD6, 0x42, // 5...9..B
/* 0148 */ 0x9E, 0x87, 0x55, 0x6D, 0x7D, 0xFF, 0x91, 0x64, // ..Um}..d
/* 0150 */ 0x46, 0x38, 0x01, 0x06, 0x7F, 0x49, 0xBF, 0xC7, // F8...I..
/* 0158 */ 0xE0, 0xEE, 0xD1, 0x4F, 0xB1, 0x1E, 0x8A, 0x71, // ...O...q
/* 0160 */ 0xB1, 0x10, 0xF4, 0x16, 0x45, 0x30, 0x01, 0x06, // ....E0..
/* 0168 */ 0x0D, 0x23, 0x47, 0x33, 0x96, 0x31, 0x73, 0x4E, // .#G3.1sN
/* 0170 */ 0xA5, 0xF0, 0x5F, 0xE5, 0x37, 0xB8, 0xBC, 0x07, // .._.7...
/* 0178 */ 0x45, 0x31, 0x01, 0x06, 0x55, 0x16, 0x31, 0x89, // E1..U.1.
/* 0180 */ 0x91, 0xAD, 0x65, 0x46, 0x80, 0x1F, 0xAB, 0x16, // ..eF....
/* 0188 */ 0x25, 0x0B, 0x19, 0x40, 0x45, 0x32, 0x01, 0x06, // %..@E2..
/* 0190 */ 0x7F, 0x8B, 0x40, 0x4A, 0x31, 0x53, 0x1F, 0x46, // ..@J1S.F
/* 0198 */ 0xA9, 0x3A, 0xB9, 0xFB, 0x61, 0x27, 0x6A, 0x4A, // .:..a'jJ
/* 01A0 */ 0x45, 0x33, 0x01, 0x06, 0x50, 0xD5, 0xC9, 0x17, // E3..P...
/* 01A8 */ 0xCC, 0xB6, 0x92, 0x41, 0x9C, 0x71, 0x4E, 0x3F, // ...A.qN?
/* 01B0 */ 0x0B, 0x29, 0x6F, 0xD6, 0x45, 0x34, 0x01, 0x06, // .)o.E4..
/* 01B8 */ 0xCA, 0x66, 0xC2, 0xCA, 0xD3, 0xB4, 0xF9, 0x49, // .f.....I
/* 01C0 */ 0xA7, 0xD9, 0xD7, 0x31, 0xA1, 0xBF, 0x16, 0x78, // ...1...x
/* 01C8 */ 0x45, 0x35, 0x01, 0x06, 0x21, 0x12, 0x90, 0x05, // E5..!...
/* 01D0 */ 0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0, // f.......
/* 01D8 */ 0xC9, 0x06, 0x29, 0x10, 0x42, 0x41, 0x01, 0x00 // ..).BA..
})
Name (RETN, Package (0x05)
{
"Success",
"Not Supported",
"Invalid Parameter",
"Access Denied",
"System Busy"
})
Name (ITEM, Package (0xA7)
{
Package (0x02)
{
0x0E,
"WakeOnLAN"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"USBBIOSSupport"
},
Package (0x02)
{
0x00,
"AlwaysOnUSB"
},
Package (0x02)
{
0x00,
"TrackPoint"
},
Package (0x02)
{
0x00,
"TouchPad"
},
Package (0x02)
{
0x00,
"FnSticky"
},
Package (0x02)
{
0x04,
"ThinkPadNumLock"
},
Package (0x02)
{
0x0C,
"PowerOnNumLock"
},
Package (0x02)
{
0x05,
"BootDisplayDevice"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x06,
"CDROMSpeed"
},
Package (0x02)
{
0x00,
"CPUPowerManagement"
},
Package (0x02)
{
0x00,
"PowerControlBeep"
},
Package (0x02)
{
0x00,
"LowBatteryAlarm"
},
Package (0x02)
{
0x00,
"PasswordBeep"
},
Package (0x02)
{
0x00,
"KeyboardBeep"
},
Package (0x02)
{
0x00,
"ExtendedMemoryTest"
},
Package (0x02)
{
0x07,
"SATAControllerMode"
},
Package (0x02)
{
0x00,
"CoreMultiProcessing"
},
Package (0x02)
{
0x00,
"VirtualizationTechnology"
},
Package (0x02)
{
0x00,
"LockBIOSSetting"
},
Package (0x02)
{
0x0B,
"MinimumPasswordLength"
},
Package (0x02)
{
0x00,
"BIOSPasswordAtUnattendedBoot"
},
Package (0x02)
{
0x00,
"FingerprintPredesktopAuthentication"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x03,
"FingerprintSecurityMode"
},
Package (0x02)
{
0x02,
"SecurityChip"
},
Package (0x02)
{
0x00,
"BIOSUpdateByEndUsers"
},
Package (0x02)
{
0x00,
"DataExecutionPrevention"
},
Package (0x02)
{
0x00,
"EthernetLANAccess"
},
Package (0x02)
{
0x00,
"WirelessLANAccess"
},
Package (0x02)
{
0x00,
"WirelessWANAccess"
},
Package (0x02)
{
0x00,
"BluetoothAccess"
},
Package (0x02)
{
0x00,
"WirelessUSBAccess"
},
Package (0x02)
{
0x00,
"ModemAccess"
},
Package (0x02)
{
0x00,
"USBPortAccess"
},
Package (0x02)
{
0x00,
"IEEE1394Access"
},
Package (0x02)
{
0x00,
"ExpressCardAccess"
},
Package (0x02)
{
0x00,
"PCIExpressSlotAccess"
},
Package (0x02)
{
0x00,
"UltrabayAccess"
},
Package (0x02)
{
0x00,
"MemoryCardSlotAccess"
},
Package (0x02)
{
0x00,
"SmartCardSlotAccess"
},
Package (0x02)
{
0x00,
"IntegratedCameraAccess"
},
Package (0x02)
{
0x00,
"MicrophoneAccess"
},
Package (0x02)
{
0x0A,
"BootMode"
},
Package (0x02)
{
0x00,
"StartupOptionKeys"
},
Package (0x02)
{
0x00,
"BootDeviceListF12Option"
},
Package (0x02)
{
0x64,
"BootOrder"
},
Package (0x02)
{
0x00,
"WiMAXAccess"
},
Package (0x02)
{
0x0D,
"GraphicsDevice"
},
Package (0x02)
{
0x00,
"TXTFeature"
},
Package (0x02)
{
0x00,
"AmdVt"
},
Package (0x02)
{
0x0F,
"AMTControl"
},
Package (0x02)
{
0x00,
"FingerprintPasswordAuthentication"
},
Package (0x02)
{
0x00,
"FingerprintReaderAccess"
},
Package (0x02)
{
0x00,
"OsDetectionForSwitchableGraphics"
},
Package (0x02)
{
0x0F,
"AbsolutePersistenceModuleActivation"
},
Package (0x02)
{
0x01,
"PCIExpressPowerManagement"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"eSATAPortAccess"
},
Package (0x02)
{
0x00,
"HardwarePasswordManager"
},
Package (0x02)
{
0x00,
"HyperThreadingTechnology"
},
Package (0x02)
{
0x00,
"FnCtrlKeySwap"
},
Package (0x02)
{
0x00,
"BIOSPasswordAtReboot"
},
Package (0x02)
{
0x00,
"OnByAcAttach"
},
Package (0x02)
{
0x64,
"NetworkBoot"
},
Package (0x02)
{
0x00,
"BootOrderLock"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x11,
"ExpressCardSpeed"
},
Package (0x02)
{
0x00,
"RapidStartTechnology"
},
Package (0x02)
{
0x12,
"KeyboardIllumination"
},
Package (0x02)
{
0x00,
"IPv4NetworkStack"
},
Package (0x02)
{
0x00,
"IPv6NetworkStack"
},
Package (0x02)
{
0x13,
"UefiPxeBootPriority"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"PhysicalPresenceForTpmClear"
},
Package (0x02)
{
0x00,
"SecureRollBackPrevention"
},
Package (0x02)
{
0x00,
"SecureBoot"
},
Package (0x02)
{
0x00,
"NfcAccess"
},
Package (0x02)
{
0x00,
"BottomCoverTamperDetected"
},
Package (0x02)
{
0x00,
"PasswordCountExceededError"
},
Package (0x02)
{
0x00,
"BIOSPasswordAtBootDeviceList"
},
Package (0x02)
{
0x14,
"UMAFramebufferSize"
},
Package (0x02)
{
0x15,
"BootTimeExtension"
},
Package (0x02)
{
0x00,
"FnKeyAsPrimary"
},
Package (0x02)
{
0x00,
"WiGig"
},
Package (0x02)
{
0x00,
"BIOSPasswordAtPowerOn"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"WirelessAutoDisconnection"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"USBKeyProvisioning"
},
Package (0x02)
{
0x1B,
"MACAddressPassThrough"
},
Package (0x02)
{
0x00,
"ThunderboltAccess"
},
Package (0x02)
{
0x00,
"WindowsUEFIFirmwareUpdate"
},
Package (0x02)
{
0x00,
"WakeOnLANDock"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"WiFiNetworkBoot"
},
Package (0x02)
{
0x00,
"LenovoCloudServices"
},
Package (0x02)
{
0x00,
"IntegratedAudioAccess"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x0F,
"ComputraceModuleActivation"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x1C,
"MaxPasswordAttempts"
},
Package (0x02)
{
0x1D,
"PasswordChangeTime"
},
Package (0x02)
{
0x00,
"SystemManagementPasswordControl"
},
Package (0x02)
{
0x00,
"PowerOnPasswordControl"
},
Package (0x02)
{
0x00,
"HardDiskPasswordControl"
},
Package (0x02)
{
0x00,
"BIOSSetupConfigurations"
},
Package (0x02)
{
0x00,
"EnhancedWindowsBiometricSecurity"
},
Package (0x02)
{
0x00,
"ThinkShieldsecurewipe"
},
Package (0x02)
{
0x00,
"KernelDMAProtection"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"ChargeInBatteryMode"
},
Package (0x02)
{
0x00,
"StrongPassword"
},
Package (0x02)
{
0x20,
"KeyboardLayout"
},
Package (0x02)
{
0x00,
"PCIeTunneling"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x21,
"WakeUponAlarm"
},
Package (0x02)
{
0x22,
"AlarmDate"
},
Package (0x02)
{
0x23,
"AlarmTime"
},
Package (0x02)
{
0x24,
"AlarmDayofWeek"
},
Package (0x02)
{
0x00,
"UserDefinedAlarmSunday"
},
Package (0x02)
{
0x00,
"UserDefinedAlarmMonday"
},
Package (0x02)
{
0x00,
"UserDefinedAlarmTuesday"
},
Package (0x02)
{
0x00,
"UserDefinedAlarmWednesday"
},
Package (0x02)
{
0x00,
"UserDefinedAlarmThursday"
},
Package (0x02)
{
0x00,
"UserDefinedAlarmFriday"
},
Package (0x02)
{
0x00,
"UserDefinedAlarmSaturday"
},
Package (0x02)
{
0x23,
"UserDefinedAlarmTime"
},
Package (0x02)
{
0x00,
"BlockSIDAuthentication"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"OffByAcDetach"
},
Package (0x02)
{
0x00,
"Allow3rdPartyUEFICA"
},
Package (0x02)
{
0x00,
"ePrivacyLock"
},
Package (0x02)
{
0x00,
"ThinkShieldPasswordlessPowerOnAuthentication"
},
Package (0x02)
{
0x00,
"CoolQuietOnLap"
},
Package (0x02)
{
0x00,
"IntelligentCoolingBoost"
},
Package (0x02)
{
0x28,
"TpmSelection"
},
Package (0x02)
{
0x29,
"PlutonSecurityProcessor"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"Reserved"
},
Package (0x02)
{
0x00,
"DashEnabled"
},
Package (0x02)
{
0x00,
"TSME"
},
Package (0x02)
{
0x00,
"AIMTControl"
}
})
Name (VSEL, Package (0x2F)
{
Package (0x02)
{
"Disable",
"Enable"
},
Package (0x02)
{
"Disable",
"Automatic"
},
Package (0x04)
{
"Active",
"Inactive",
"Disable",
"Enable"
},
Package (0x02)
{
"Normal",
"High"
},
Package (0x02)
{
"Independent",
"Synchronized"
},
Package (0x02)
{
"LCD",
"ExternalDisplay"
},
Package (0x03)
{
"High",
"Normal",
"Silent"
},
Package (0x02)
{
"Compatibility",
"AHCI"
},
Package (0x02)
{
"External",
"InternalOnly"
},
Package (0x02)
{
"MaximizePerformance",
"Balanced"
},
Package (0x02)
{
"Quick",
"Diagnostics"
},
Package (0x0A)
{
"Disable",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12"
},
Package (0x03)
{
"Auto",
"On",
"Off"
},
Package (0x03)
{
"IntegratedGfx",
"DiscreteGfx",
"SwitchableGfx"
},
Package (0x03)
{
"Disable",
"ACOnly",
"ACandBattery"
},
Package (0x03)
{
"Disable",
"Enable",
"PermanentlyDisable"
},
Package (0x02)
{
"HDMI",
"USBTypeC"
},
Package (0x02)
{
"Generation1",
"Automatic"
},
Package (0x03)
{
"ThinkLightOnly",
"BacklightOnly",
"Both"
},
Package (0x02)
{
"IPv6First",
"IPv4First"
},
Package (0x05)
{
"Auto",
"1GB",
"2GB",
"4GB",
"8GB"
},
Package (0x0B)
{
"Disable",
"1",
"2",
"3",
"",
"5",
"",
"",
"",
"",
"10"
},
Package (0x03)
{
"Disable",
"Enable",
"SoftwareControl"
},
Package (0x04)
{
"NoSecurity",
"UserAuthorization",
"SecureConnect",
"DisplayPortandUSB"
},
Package (0x02)
{
"Disable",
"Enable"
},
Package (0x03)
{
"Enable",
"Disable",
""
},
Package (0x03)
{
"Disable",
"Enable",
"Pre-BootACL"
},
Package (0x03)
{
"Disable",
"Enable",
"Second"
},
Package (0x04)
{
"Unlimited",
"1",
"3",
"100"
},
Package (0x02)
{
"Immediately",
"AfterReboot"
},
Package (0x02)
{
"SimpleText",
"Graphical"
},
Package (0x02)
{
"Linux",
"Windows 10"
},
Package (0x1B)
{
"English_US",
"CanadianFrenchMultilingual",
"CanadianFrench",
"Spanish_LA",
"Portuguese_BR",
"Belgian",
"Danish",
"Spanish",
"French",
"German",
"Hungarian",
"Icelandic",
"Italian",
"Norwegian",
"Portuguese",
"Slovenian",
"Swedish",
"Swiss",
"Turkish",
"English_UK",
"Japanese",
"Korean",
"TraditionalChinese",
"Turkish-F",
"Estonian",
"Finnish",
"Czech"
},
Package (0x05)
{
"Disable",
"UserDefined",
"WeeklyEvent",
"DailyEvent",
"SingleEvent"
},
Package (0x01)
{
"MM/DD/YYYY"
},
Package (0x01)
{
"HH/MM/SS"
},
Package (0x07)
{
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
},
Package (0x03)
{
"Near",
"Middle",
"Far"
},
Package (0x03)
{
"Fast",
"Medium",
"Slow"
},
Package (0x02)
{
"No",
"Yes"
},
Package (0x02)
{
"DiscreteTPM2.0",
"PlutonTPM2.0"
},
Package (0x03)
{
"Disable",
"Enable",
"Disable(SW_Controlled)"
},
Package (0x02)
{
"Enable",
"Disable"
},
Package (0x01)
{
"Reserved"
},
Package (0x01)
{
"Reserved"
},
Package (0x01)
{
"Reserved"
},
Package (0x01)
{
"Reserved"
}
})
Name (VLST, Package (0x14)
{
"HDD0",
"HDD1",
"HDD2",
"HDD3",
"HDD4",
"PXEBOOT",
"ATAPICD0",
"ATAPICD1",
"ATAPICD2",
"USBFDD",
"USBCD",
"USBHDD",
"OtherHDD",
"OtherCD",
"NVMe0",
"NVMe1",
"HTTPSBOOT",
"LENOVOCLOUD",
"ON-PREMISE",
"NODEV"
})
Name (VR01, Package (0x67)
{
"0000",
"1998",
"1999",
"2000",
"2001",
"2002",
"2003",
"2004",
"2005",
"2006",
"2007",
"2008",
"2009",
"2010",
"2011",
"2012",
"2013",
"2014",
"2015",
"2016",
"2017",
"2018",
"2019",
"2020",
"2021",
"2022",
"2023",
"2024",
"2025",
"2026",
"2027",
"2028",
"2029",
"2030",
"2031",
"2032",
"2033",
"2034",
"2035",
"2036",
"2037",
"2038",
"2039",
"2040",
"2041",
"2042",
"2043",
"2044",
"2045",
"2046",
"2047",
"2048",
"2049",
"2050",
"2051",
"2052",
"2053",
"2054",
"2055",
"2056",
"2057",
"2058",
"2059",
"2060",
"2061",
"2062",
"2063",
"2064",
"2065",
"2066",
"2067",
"2068",
"2069",
"2070",
"2071",
"2072",
"2073",
"2074",
"2075",
"2076",
"2077",
"2078",
"2079",
"2080",
"2081",
"2082",
"2083",
"2084",
"2085",
"2086",
"2087",
"2088",
"2089",
"2090",
"2091",
"2092",
"2093",
"2094",
"2095",
"2096",
"2097",
"2098",
"2099"
})
Name (VR02, Package (0x0D)
{
"00",
"01",
"02",
"03",
"04",
"05",
"06",
"07",
"08",
"09",
"10",
"11",
"12"
})
Name (VR03, Package (0x20)
{
"00",
"01",
"02",
"03",
"04",
"05",
"06",
"07",
"08",
"09",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"20",
"21",
"22",
"23",
"24",
"25",
"26",
"27",
"28",
"29",
"30",
"31"
})
Name (VR04, Package (0x18)
{
"00",
"01",
"02",
"03",
"04",
"05",
"06",
"07",
"08",
"09",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"20",
"21",
"22",
"23"
})
Name (VR05, Package (0x3C)
{
"00",
"01",
"02",
"03",
"04",
"05",
"06",
"07",
"08",
"09",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"20",
"21",
"22",
"23",
"24",
"25",
"26",
"27",
"28",
"29",
"30",
"31",
"32",
"33",
"34",
"35",
"36",
"37",
"38",
"39",
"40",
"41",
"42",
"43",
"44",
"45",
"46",
"47",
"48",
"49",
"50",
"51",
"52",
"53",
"54",
"55",
"56",
"57",
"58",
"59"
})
Name (PENC, Package (0x02)
{
"ascii",
"scancode"
})
Name (PKBD, Package (0x03)
{
"us",
"fr",
"gr"
})
Name (PTYP, Package (0x13)
{
"pap",
"pop",
"uhdp1",
"mhdp1",
"uhdp2",
"mhdp2",
"uhdp3",
"mhdp3",
"uhdp4",
"mhdp4",
"udrp1",
"adrp1",
"udrp2",
"adrp2",
"udrp3",
"adrp3",
"udrp4",
"adrp4",
"smp"
})
Name (OPCD, Package (0x0E)
{
"WmiOpcodePasswordType",
"WmiOpcodePasswordCurrent01",
"WmiOpcodePasswordCurrent02",
"WmiOpcodePasswordCurrent03",
"WmiOpcodePasswordCurrent04",
"WmiOpcodePasswordNew01",
"WmiOpcodePasswordNew02",
"WmiOpcodePasswordNew03",
"WmiOpcodePasswordNew04",
"WmiOpcodePasswordEncode",
"WmiOpcodePasswordSetUpdate",
"WmiOpcodePasswordAdmin",
"WmiOpcodeTPM",
"WmiOpcodePasswordFree"
})
Name (FUNC, Package (0x06)
{
Package (0x02)
{
0x27,
"ClearSecurityChip"
},
Package (0x02)
{
0x27,
"ResetFingerprintData"
},
Package (0x02)
{
0x27,
"ResettoSetupMode"
},
Package (0x02)
{
0x27,
"RestoreFactoryKeys"
},
Package (0x02)
{
0x27,
"ClearAllSecureBootKeys"
},
Package (0x02)
{
0x27,
"ResetSystemToFactoryDefaults"
}
})
Mutex (MWMI, 0x00)
Name (PCFG, Buffer (0x18) {})
Name (IBUF, Buffer (0x0600) {})
Name (ILEN, 0x00)
Name (PSTR, Buffer (0x81) {})
Name (ALEN, 0x00)
Name (DSUR, Buffer (0x01FF) {})
Name (CERT, Buffer (0x0800) {})
Method (WQA0, 1, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
If ((WMIS (0x00, Arg0) != 0x00))
{
Release (MWMI)
Return ("")
}
Local0 = DerefOf (ITEM [WITM])
Local1 = DerefOf (Local0 [0x00])
Local2 = DerefOf (Local0 [0x01])
If ((Local1 == 0x22))
{
Concatenate (Local2, ",", Local6)
Concatenate (Local6, DerefOf (VR02 [RTC1]), Local7)
Concatenate (Local7, "/", Local6)
Concatenate (Local6, DerefOf (VR03 [RTC2]), Local7)
Concatenate (Local7, "/", Local6)
Concatenate (Local6, DerefOf (VR01 [RTC0]), Local7)
}
ElseIf ((Local1 == 0x23))
{
Concatenate (Local2, ",", Local6)
Concatenate (Local6, DerefOf (VR04 [RTC0]), Local7)
Concatenate (Local7, ":", Local6)
Concatenate (Local6, DerefOf (VR05 [RTC1]), Local7)
Concatenate (Local7, ":", Local6)
Concatenate (Local6, DerefOf (VR05 [RTC2]), Local7)
}
ElseIf ((Local1 < 0x64))
{
Concatenate (Local2, ",", Local6)
Local3 = DerefOf (VSEL [Local1])
Concatenate (Local6, DerefOf (Local3 [WSEL]), Local7)
}
Else
{
Local3 = SizeOf (VLST)
If ((WLS0 <= Local3))
{
Concatenate (Local2, ",", Local7)
Concatenate (Local7, DerefOf (VLST [WLS0]), Local2)
}
If ((WLS1 <= Local3))
{
Concatenate (Local2, ":", Local7)
Concatenate (Local7, DerefOf (VLST [WLS1]), Local2)
}
If ((WLS2 <= Local3))
{
Concatenate (Local2, ":", Local7)
Concatenate (Local7, DerefOf (VLST [WLS2]), Local2)
}
If ((WLS3 <= Local3))
{
Concatenate (Local2, ":", Local7)
Concatenate (Local7, DerefOf (VLST [WLS3]), Local2)
}
If ((WLS4 <= Local3))
{
Concatenate (Local2, ":", Local7)
Concatenate (Local7, DerefOf (VLST [WLS4]), Local2)
}
If ((WLS5 <= Local3))
{
Concatenate (Local2, ":", Local7)
Concatenate (Local7, DerefOf (VLST [WLS5]), Local2)
}
If ((WLS6 <= Local3))
{
Concatenate (Local2, ":", Local7)
Concatenate (Local7, DerefOf (VLST [WLS6]), Local2)
}
If ((WLS7 <= Local3))
{
Concatenate (Local2, ":", Local7)
Concatenate (Local7, DerefOf (VLST [WLS7]), Local2)
}
If ((WLS8 <= Local3))
{
Concatenate (Local2, ":", Local7)
Concatenate (Local7, DerefOf (VLST [WLS8]), Local2)
}
If ((WLS9 <= Local3))
{
Concatenate (Local2, ":", Local7)
Concatenate (Local7, DerefOf (VLST [WLS9]), Local2)
}
If ((WLSA <= Local3))
{
Concatenate (Local2, ":", Local7)
Concatenate (Local7, DerefOf (VLST [WLSA]), Local2)
}
If ((WLSB <= Local3))
{
Concatenate (Local2, ":", Local7)
Concatenate (Local7, DerefOf (VLST [WLSB]), Local2)
}
If ((WLSC <= Local3))
{
Concatenate (Local2, ":", Local7)
Concatenate (Local7, DerefOf (VLST [WLSC]), Local2)
}
If ((WLSD <= Local3))
{
Concatenate (Local2, ":", Local7)
Concatenate (Local7, DerefOf (VLST [WLSD]), Local2)
}
Local7 = Local2
}
Release (MWMI)
Return (Local7)
}
Method (WMA1, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
If ((SizeOf (Arg2) == 0x00))
{
Local0 = 0x02
}
Else
{
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
Local0 = WSET (ITEM, VSEL)
If ((Local0 == 0x00))
{
Local0 = WMIS (0x01, 0x00)
}
}
}
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WMA2, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
Local0 = CPAS (IBUF, 0x00)
}
If ((Local0 == 0x00))
{
Local0 = WMIS (0x02, 0x00)
}
}
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WMA3, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
Local0 = CPAS (IBUF, 0x00)
}
If ((Local0 == 0x00))
{
Local0 = WMIS (0x03, 0x00)
}
}
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WMA4, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
Local0 = CPAS (IBUF, 0x00)
}
If ((Local0 == 0x00))
{
Local0 = WMIS (0x04, 0x00)
}
}
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WQA5, 1, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
WMIS (0x05, 0x00)
PCFG [0x00] = WSPM /* \WSPM */
PCFG [0x04] = WSPS /* \WSPS */
PCFG [0x08] = WSMN /* \WSMN */
PCFG [0x0C] = WSMX /* \WSMX */
PCFG [0x10] = WSEN /* \WSEN */
PCFG [0x14] = WSKB /* \WSKB */
Release (MWMI)
Return (PCFG) /* \_SB_.WMI1.PCFG */
}
Method (WMA6, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
If ((SizeOf (Arg2) == 0x00))
{
Local0 = 0x02
}
Else
{
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
Local0 = SPAS (IBUF)
}
If ((Local0 == 0x00))
{
Local0 = WMIS (0x06, 0x00)
}
}
}
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WMA7, 3, NotSerialized)
{
If ((SizeOf (Arg2) == 0x00))
{
Return ("")
}
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
Local1 = GITM (IBUF, ITEM)
If ((Local1 == Ones))
{
Return ("")
}
Local0 = DerefOf (ITEM [Local1])
Local1 = DerefOf (Local0 [0x00])
If ((Local1 < 0x64))
{
Local3 = DerefOf (VSEL [Local1])
Local2 = DerefOf (Local3 [0x00])
Local4 = SizeOf (Local3)
Local5 = 0x01
While ((Local5 < Local4))
{
Local6 = DerefOf (Local3 [Local5])
If ((SizeOf (Local6) != 0x00))
{
Concatenate (Local2, ",", Local7)
Concatenate (Local7, Local6, Local2)
}
Local5++
}
}
Else
{
Local2 = DerefOf (VLST [0x00])
Local4 = SizeOf (VLST)
Local5 = 0x01
While ((Local5 < Local4))
{
Local6 = DerefOf (VLST [Local5])
Concatenate (Local2, ",", Local7)
Concatenate (Local7, Local6, Local2)
Local5++
}
}
}
Return (Local2)
}
Method (WQF1, 1, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
If ((WMIS (0x10, Arg0) != 0x00))
{
Release (MWMI)
Return ("")
}
Local0 = DerefOf (FUNC [WITM])
Local1 = DerefOf (Local0 [0x00])
Local2 = DerefOf (Local0 [0x01])
Concatenate (Local2, ",", Local6)
Local3 = DerefOf (VSEL [Local1])
Concatenate (Local6, DerefOf (Local3 [WSEL]), Local7)
Release (MWMI)
Return (Local7)
}
Method (WMF2, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
If ((SizeOf (Arg2) == 0x00))
{
Local0 = 0x02
}
Else
{
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
Local0 = WSET (FUNC, VSEL)
If ((Local0 == 0x00))
{
Local0 = WMIS (0x11, 0x00)
}
}
}
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WMF0, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
If ((SizeOf (Arg2) == 0x00))
{
Local0 = 0x02
}
Else
{
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
Local6 = GSEL (OPCD, IBUF, 0x00, 0x01)
If ((Local6 != Ones))
{
Local4 = DerefOf (OPCD [Local6])
Local2 = SizeOf (Local4)
Local3 = DerefOf (IBUF [Local2])
If (((Local3 == 0x2C) || (Local3 == 0x3A)))
{
Local2++
}
Local0 = 0x00
If ((Local6 == 0x00))
{
WPTY = 0xFF
Local7 = GSEL (PTYP, IBUF, Local2, 0x01)
If ((Local7 != Ones))
{
WPTY = Local7
}
Else
{
Local0 = 0x02
}
}
ElseIf ((Local6 == 0x01))
{
PSTR = 0x00
Local1 = GPAO (IBUF, Local2)
If ((Local1 == Ones))
{
Local0 = 0x02
}
If ((Local0 == 0x00))
{
WPAS = PSTR /* \_SB_.WMI1.PSTR */
}
}
ElseIf ((Local6 == 0x05))
{
PSTR = 0x00
Local1 = GPAO (IBUF, Local2)
If ((Local1 == Ones))
{
Local0 = 0x02
}
If ((Local1 == 0x00))
{
PSTR = 0x00
}
If ((Local0 == 0x00))
{
WPNW = PSTR /* \_SB_.WMI1.PSTR */
}
}
ElseIf ((Local6 == 0x0A))
{
Local0 = 0x00
}
ElseIf ((Local6 == 0x0B))
{
PSTR = 0x00
Local1 = GPAO (IBUF, Local2)
If ((Local1 == Ones))
{
Local0 = 0x02
}
If ((Local1 == 0x00))
{
Local0 = 0x02
}
If ((Local0 == 0x00))
{
WPAS = PSTR /* \_SB_.WMI1.PSTR */
}
}
Else
{
Local0 = 0x02
}
If ((Local0 == 0x00))
{
Local0 = WMIS (0x0F, Local6)
}
}
Else
{
Local0 = 0x02
}
}
}
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WMF3, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
WEXF = 0x01
If ((SizeOf (Arg2) == 0x00))
{
Local0 = 0x02
}
Else
{
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
CBFF = 0x00
CBFF = IBUF /* \_SB_.WMI1.IBUF */
Local0 = WSET (ITEM, VSEL)
If ((Local0 == 0x00))
{
Local0 = WMIS (0x01, 0x00)
}
CBFF = 0x00
}
}
WEXF = 0x00
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WMF4, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
WEXF = 0x01
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
CBFF = 0x00
CBFF = IBUF /* \_SB_.WMI1.IBUF */
Local0 = WMIS (0x02, 0x00)
}
Else
{
Local0 = 0x02
}
}
CBFF = 0x00
WEXF = 0x00
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WMF5, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
WEXF = 0x01
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
CBFF = IBUF /* \_SB_.WMI1.IBUF */
Local0 = WMIS (0x03, 0x00)
}
Else
{
Local0 = 0x02
}
}
CBFF = 0x00
WEXF = 0x00
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WMF6, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
WEXF = 0x01
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
CBFF = IBUF /* \_SB_.WMI1.IBUF */
Local0 = WMIS (0x04, 0x00)
}
Else
{
Local0 = 0x02
}
}
CBFF = 0x00
WEXF = 0x00
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WMF7, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
WEXF = 0x01
If ((SizeOf (Arg2) == 0x00))
{
Local0 = 0x02
}
Else
{
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
CBFF = IBUF /* \_SB_.WMI1.IBUF */
Local0 = WMIS (0x06, 0x00)
}
Else
{
Local0 = 0x02
}
}
}
CBFF = 0x00
WEXF = 0x00
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WMF8, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
WEXF = 0x01
If ((SizeOf (Arg2) == 0x00))
{
Local0 = 0x02
}
Else
{
CBFF = IBUF /* \_SB_.WMI1.IBUF */
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
CBFF = IBUF /* \_SB_.WMI1.IBUF */
Local0 = WSET (FUNC, VSEL)
If ((Local0 == 0x00))
{
Local0 = WMIS (0x11, 0x00)
}
}
}
CBFF = 0x00
WEXF = 0x00
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (CARG, 1, NotSerialized)
{
Local0 = SizeOf (Arg0)
If ((Local0 == 0x00))
{
IBUF = 0x00
ILEN = 0x00
Return (0x00)
}
If ((ObjectType (Arg0) != 0x02))
{
Return (0x02)
}
If ((WEXF == 0x01))
{
If ((Local0 >= 0x05FF))
{
Return (0x02)
}
}
ElseIf ((Local0 >= 0x01FF))
{
Return (0x02)
}
IBUF = Arg0
Local0--
Local1 = DerefOf (IBUF [Local0])
If (((Local1 == 0x3B) || (Local1 == 0x2A)))
{
IBUF [Local0] = 0x00
ILEN = Local0
}
Else
{
ILEN = SizeOf (Arg0)
}
Return (0x00)
}
Method (SCMP, 4, NotSerialized)
{
Local0 = SizeOf (Arg0)
If ((Local0 == 0x00))
{
Return (0x00)
}
Local0++
Name (STR1, Buffer (Local0) {})
STR1 = Arg0
Local0--
If ((ALEN != 0x00))
{
Local0 = ALEN /* \_SB_.WMI1.ALEN */
}
Local1 = 0x00
Local2 = Arg2
While ((Local1 < Local0))
{
Local3 = DerefOf (STR1 [Local1])
Local4 = DerefOf (Arg1 [Local2])
If ((Arg3 == 0x01))
{
If ((Local3 >= 0x41))
{
If ((Local3 <= 0x5A))
{
Local3 += 0x20
}
}
If ((Local4 >= 0x41))
{
If ((Local4 <= 0x5A))
{
Local4 += 0x20
}
}
}
If ((Local3 != Local4))
{
Return (0x00)
}
Local1++
Local2++
}
If ((ALEN != 0x00))
{
Return (0x01)
}
Local4 = DerefOf (Arg1 [Local2])
If ((Local4 == 0x00))
{
Return (0x01)
}
If (((Local4 == 0x2C) || (Local4 == 0x3A)))
{
Return (0x01)
}
Return (0x00)
}
Method (GITM, 2, NotSerialized)
{
Local0 = 0x00
Local1 = SizeOf (Arg1)
While ((Local0 < Local1))
{
Local3 = DerefOf (DerefOf (Arg1 [Local0]) [0x01])
If (SCMP (Local3, Arg0, 0x00, 0x00))
{
Return (Local0)
}
Local0++
}
Return (Ones)
}
Method (GSEL, 4, NotSerialized)
{
Local0 = 0x00
Local1 = SizeOf (Arg0)
While ((Local0 < Local1))
{
Local2 = DerefOf (Arg0 [Local0])
If (SCMP (Local2, Arg1, Arg2, Arg3))
{
Return (Local0)
}
Local0++
}
Return (Ones)
}
Method (SLEN, 2, NotSerialized)
{
Local0 = DerefOf (Arg0 [Arg1])
Return (SizeOf (Local0))
}
Method (CLRP, 0, NotSerialized)
{
WPAS = 0x00
WPNW = 0x00
}
Method (GPAS, 2, NotSerialized)
{
Local0 = Arg1
Local1 = 0x00
While ((Local1 <= 0x80))
{
Local2 = DerefOf (Arg0 [Local0])
If (((Local2 == 0x2C) || (Local2 == 0x00)))
{
PSTR [Local1] = 0x00
Return (Local1)
}
PSTR [Local1] = Local2
Local0++
Local1++
}
PSTR [Local1] = 0x00
Return (Ones)
}
Method (GPAO, 2, NotSerialized)
{
Local0 = Arg1
Local1 = 0x00
While ((Local1 <= 0x80))
{
Local2 = DerefOf (Arg0 [Local0])
If ((Local2 == 0x00))
{
PSTR [Local1] = 0x00
Return (Local1)
}
PSTR [Local1] = Local2
Local0++
Local1++
}
Local1--
PSTR [Local1] = 0x00
Return (Ones)
}
Method (CPAS, 2, NotSerialized)
{
CLRP ()
Local0 = Arg1
Local1 = GPAS (Arg0, Local0)
If ((Local1 == Ones))
{
Return (0x02)
}
If ((Local1 == 0x00))
{
Return (0x02)
}
WPAS = PSTR /* \_SB_.WMI1.PSTR */
Local0 += Local1
Local0++
Local6 = GSEL (PENC, Arg0, Local0, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WENC = Local6
If ((Local6 == 0x00))
{
Local0 += SLEN (PENC, 0x00)
If ((DerefOf (Arg0 [Local0]) != 0x2C))
{
Return (0x02)
}
Local0++
Local6 = GSEL (PKBD, Arg0, Local0, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WKBD = Local6
}
Return (0x00)
}
Method (SPAS, 1, NotSerialized)
{
CLRP ()
Local6 = GSEL (PTYP, Arg0, 0x00, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WPTY = Local6
Local0 = SLEN (PTYP, Local6)
If ((DerefOf (Arg0 [Local0]) != 0x2C))
{
Return (0x02)
}
Local0++
PSTR = 0x00
Local1 = GPAS (Arg0, Local0)
If ((Local1 == Ones))
{
Return (0x02)
}
WPAS = PSTR /* \_SB_.WMI1.PSTR */
Local0 += Local1
If ((DerefOf (Arg0 [Local0]) != 0x2C))
{
Return (0x02)
}
Local0++
PSTR = 0x00
Local1 = GPAS (Arg0, Local0)
If ((Local1 == Ones))
{
Return (0x02)
}
If ((Local1 == 0x00))
{
PSTR = 0x00
}
WPNW = PSTR /* \_SB_.WMI1.PSTR */
Local0 += Local1
Local0++
Local6 = GSEL (PENC, Arg0, Local0, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WENC = Local6
If ((Local6 == 0x00))
{
Local0 += SLEN (PENC, 0x00)
If ((DerefOf (Arg0 [Local0]) != 0x2C))
{
Return (0x02)
}
Local0++
Local6 = GSEL (PKBD, Arg0, Local0, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WKBD = Local6
}
Return (0x00)
}
Method (WSET, 2, NotSerialized)
{
Local0 = ILEN /* \_SB_.WMI1.ILEN */
Local0++
Local1 = GITM (IBUF, Arg0)
If ((Local1 == Ones))
{
Return (0x02)
}
WITM = Local1
Local3 = DerefOf (Arg0 [Local1])
Local4 = DerefOf (Local3 [0x01])
Local2 = SizeOf (Local4)
Local2++
Local4 = DerefOf (Local3 [0x00])
If ((Local4 == 0x22))
{
If ((ALMD (Local2) != 0x00))
{
Return (0x02)
}
Local2 += 0x0A
Local4 = DerefOf (IBUF [Local2])
}
ElseIf ((Local4 == 0x23))
{
If ((ALMT (Local2) != 0x00))
{
Return (0x02)
}
Local2 += 0x08
Local4 = DerefOf (IBUF [Local2])
}
ElseIf ((Local4 < 0x64))
{
Local5 = DerefOf (Arg1 [Local4])
Local6 = GSEL (Local5, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WSEL = Local6
Local2 += SLEN (Local5, Local6)
Local4 = DerefOf (IBUF [Local2])
}
Else
{
WLS0 = 0x3F
WLS1 = 0x3F
WLS2 = 0x3F
WLS3 = 0x3F
WLS4 = 0x3F
WLS5 = 0x3F
WLS6 = 0x3F
WLS7 = 0x3F
WLS8 = 0x3F
WLS9 = 0x3F
WLSA = 0x3F
WLSB = 0x3F
WLSC = 0x3F
WLSD = 0x3F
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLS0 = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
If (((Local2 < Local0) && (Local4 == 0x3A)))
{
Local2++
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLS1 = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
}
If (((Local2 < Local0) && (Local4 == 0x3A)))
{
Local2++
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLS2 = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
}
If (((Local2 < Local0) && (Local4 == 0x3A)))
{
Local2++
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLS3 = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
}
If (((Local2 < Local0) && (Local4 == 0x3A)))
{
Local2++
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLS4 = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
}
If (((Local2 < Local0) && (Local4 == 0x3A)))
{
Local2++
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLS5 = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
}
If (((Local2 < Local0) && (Local4 == 0x3A)))
{
Local2++
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLS6 = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
}
If (((Local2 < Local0) && (Local4 == 0x3A)))
{
Local2++
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLS7 = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
}
If (((Local2 < Local0) && (Local4 == 0x3A)))
{
Local2++
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLS8 = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
}
If (((Local2 < Local0) && (Local4 == 0x3A)))
{
Local2++
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLS9 = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
}
If (((Local2 < Local0) && (Local4 == 0x3A)))
{
Local2++
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLSA = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
}
If (((Local2 < Local0) && (Local4 == 0x3A)))
{
Local2++
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLSB = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
}
If (((Local2 < Local0) && (Local4 == 0x3A)))
{
Local2++
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLSC = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
}
If (((Local2 < Local0) && (Local4 == 0x3A)))
{
Local2++
Local6 = GSEL (VLST, IBUF, Local2, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WLSD = Local6
Local2 += SLEN (VLST, Local6)
Local4 = DerefOf (IBUF [Local2])
}
}
If ((WEXF == 0x00))
{
If (((Local4 == 0x2C) && (Local2 < Local0)))
{
Local2++
Local0 = CPAS (IBUF, Local2)
If ((Local0 != 0x00))
{
Return (Local0)
}
}
}
Return (0x00)
}
Method (ALMD, 1, NotSerialized)
{
Local0 = Arg0
Local1 = VR02 /* \_SB_.WMI1.VR02 */
ALEN = 0x02
Local2 = GSEL (Local1, IBUF, Local0, 0x00)
ALEN = 0x00
If ((Local2 == Ones))
{
Return (0x02)
}
RTC1 = Local2
Local0++
Local0++
Local3 = DerefOf (IBUF [Local0])
If ((Local3 != 0x2F))
{
Return (0x02)
}
Local0++
Local1 = VR03 /* \_SB_.WMI1.VR03 */
ALEN = 0x02
Local2 = GSEL (Local1, IBUF, Local0, 0x00)
ALEN = 0x00
If ((Local2 == Ones))
{
Return (0x02)
}
RTC2 = Local2
Local0++
Local0++
Local3 = DerefOf (IBUF [Local0])
If ((Local3 != 0x2F))
{
Return (0x02)
}
Local0++
Local1 = VR01 /* \_SB_.WMI1.VR01 */
Local2 = GSEL (Local1, IBUF, Local0, 0x00)
If ((Local2 == Ones))
{
Return (0x02)
}
RTC0 = Local2
Return (0x00)
}
Method (ALMT, 1, NotSerialized)
{
Local0 = Arg0
Local1 = VR04 /* \_SB_.WMI1.VR04 */
ALEN = 0x02
Local2 = GSEL (Local1, IBUF, Local0, 0x00)
ALEN = 0x00
If ((Local2 == Ones))
{
Return (0x02)
}
RTC0 = Local2
Local0++
Local0++
Local3 = DerefOf (IBUF [Local0])
If ((Local3 != 0x3A))
{
Return (0x02)
}
Local0++
Local1 = VR05 /* \_SB_.WMI1.VR05 */
ALEN = 0x02
Local2 = GSEL (Local1, IBUF, Local0, 0x00)
ALEN = 0x00
If ((Local2 == Ones))
{
Return (0x02)
}
RTC1 = Local2
Local0++
Local0++
Local3 = DerefOf (IBUF [Local0])
If ((Local3 != 0x3A))
{
Return (0x02)
}
Local0++
Local1 = VR05 /* \_SB_.WMI1.VR05 */
Local2 = GSEL (Local1, IBUF, Local0, 0x00)
If ((Local2 == Ones))
{
Return (0x02)
}
RTC2 = Local2
Return (0x00)
}
Method (WME0, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
Local0 = CPAS (IBUF, 0x00)
}
If ((Local0 == 0x00))
{
Local0 = WMIS (0x13, 0x00)
}
}
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WME1, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
Local0 = CPAS (IBUF, 0x00)
}
If ((Local0 == 0x00))
{
Local0 = WMIS (0x14, 0x00)
}
}
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WME2, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
Local0 = CPAS (IBUF, 0x00)
}
If ((Local0 == 0x00))
{
Local0 = WMIS (0x15, 0x00)
}
}
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WME3, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
WEXF = 0x01
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
CBFF = IBUF /* \_SB_.WMI1.IBUF */
Local0 = WMIS (0x13, 0x00)
}
Else
{
Local0 = 0x02
}
}
CBFF = 0x00
WEXF = 0x00
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WME4, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
WEXF = 0x01
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
CBFF = IBUF /* \_SB_.WMI1.IBUF */
Local0 = WMIS (0x14, 0x00)
}
Else
{
Local0 = 0x02
}
}
CBFF = 0x00
WEXF = 0x00
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WME5, 3, NotSerialized)
{
Acquire (MWMI, 0xFFFF)
WEXF = 0x01
Local0 = CARG (Arg2)
If ((Local0 == 0x00))
{
If ((ILEN != 0x00))
{
CBFF = IBUF /* \_SB_.WMI1.IBUF */
Local0 = WMIS (0x15, 0x00)
}
Else
{
Local0 = 0x02
}
}
CBFF = 0x00
WEXF = 0x00
Release (MWMI)
Return (DerefOf (RETN [Local0]))
}
Name (WQBA, Buffer (0x121F)
{
/* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB....
/* 0008 */ 0x0F, 0x12, 0x00, 0x00, 0x4E, 0x9E, 0x00, 0x00, // ....N...
/* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T
/* 0018 */ 0xA8, 0xB4, 0x8C, 0x00, 0x01, 0x06, 0x18, 0x42, // .......B
/* 0020 */ 0x10, 0x31, 0x10, 0x0A, 0x0D, 0x21, 0x02, 0x0B, // .1...!..
/* 0028 */ 0x83, 0x50, 0x4C, 0x18, 0x14, 0xA0, 0x45, 0x41, // .PL...EA
/* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, // .....!..
/* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, // ..p.@...
/* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, // (r."....
/* 0048 */ 0x31, 0x0E, 0x88, 0x14, 0x40, 0x48, 0x26, 0x84, // 1...@H&.
/* 0050 */ 0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F, // D.S!p.._
/* 0058 */ 0x01, 0x08, 0x1D, 0xA2, 0xC9, 0xA0, 0x00, 0xA7, // ........
/* 0060 */ 0x08, 0x82, 0xB4, 0x65, 0x01, 0xBA, 0x05, 0xF8, // ...e....
/* 0068 */ 0x16, 0xA0, 0x1D, 0x42, 0x68, 0x15, 0x0A, 0x30, // ...Bh..0
/* 0070 */ 0x29, 0xC0, 0x27, 0x98, 0x2C, 0x0A, 0x90, 0x0D, // ).'.,...
/* 0078 */ 0x26, 0xDB, 0x70, 0x64, 0x18, 0x4C, 0xE4, 0x18, // &.pd.L..
/* 0080 */ 0x50, 0x43, 0xF3, 0x18, 0xB8, 0xCE, 0x29, 0xC8, // PC....).
/* 0088 */ 0x26, 0xB0, 0xA0, 0x0B, 0x45, 0xD1, 0x34, 0xA2, // &...E.4.
/* 0090 */ 0x24, 0x38, 0xA8, 0x63, 0x88, 0x10, 0xBC, 0x5C, // $8.c...\
/* 0098 */ 0x01, 0x92, 0x27, 0x20, 0xCD, 0xF3, 0x92, 0xF5, // ..' ....
/* 00A0 */ 0x41, 0x68, 0x08, 0x6C, 0x04, 0x3C, 0x8A, 0x04, // Ah.l.<..
/* 00A8 */ 0x10, 0x16, 0x63, 0x99, 0x12, 0x0F, 0x83, 0xF2, // ..c.....
/* 00B0 */ 0x00, 0x22, 0x39, 0x43, 0x45, 0x01, 0xDB, 0xEB, // ."9CE...
/* 00B8 */ 0x44, 0x34, 0xAC, 0xE3, 0x64, 0x92, 0xE0, 0x50, // D4..d..P
/* 00C0 */ 0xA3, 0xB4, 0x44, 0x01, 0xE6, 0x47, 0xA6, 0x89, // ..D..G..
/* 00C8 */ 0x1C, 0x5B, 0xD3, 0x23, 0x16, 0x24, 0x93, 0x36, // .[.#.$.6
/* 00D0 */ 0x14, 0xD4, 0xD0, 0x3D, 0xAD, 0x93, 0xF2, 0x44, // ...=...D
/* 00D8 */ 0x23, 0x1E, 0x94, 0x61, 0x12, 0x78, 0x14, 0x0C, // #..a.x..
/* 00E0 */ 0x8D, 0x13, 0x94, 0x05, 0x21, 0x07, 0x03, 0x45, // ....!..E
/* 00E8 */ 0x01, 0x9E, 0x84, 0xE7, 0x58, 0xBC, 0x00, 0xE1, // ....X...
/* 00F0 */ 0x33, 0x26, 0x47, 0x81, 0x18, 0x09, 0x7C, 0x24, // 3&G...|$
/* 00F8 */ 0xF0, 0x68, 0x8E, 0x19, 0x0B, 0x14, 0x2E, 0xE0, // .h......
/* 0100 */ 0xF9, 0x1C, 0x43, 0xE4, 0xB8, 0x87, 0x1A, 0xE3, // ..C.....
/* 0108 */ 0x28, 0x22, 0x27, 0x78, 0x07, 0x88, 0x62, 0xB4, // ("'x..b.
/* 0110 */ 0x82, 0xE6, 0x2D, 0xC4, 0x60, 0xD1, 0x0C, 0xD6, // ..-.`...
/* 0118 */ 0x33, 0x38, 0x19, 0x74, 0x82, 0xFF, 0xFF, 0x11, // 38.t....
/* 0120 */ 0x70, 0x19, 0x10, 0xF2, 0x28, 0xC0, 0xEA, 0xA0, // p...(...
/* 0128 */ 0x34, 0x0D, 0x13, 0x74, 0x2F, 0xC0, 0x9A, 0x00, // 4..t/...
/* 0130 */ 0x63, 0x02, 0x34, 0x62, 0x48, 0x99, 0x00, 0x67, // c.4bH..g
/* 0138 */ 0xF7, 0x05, 0xCD, 0xA8, 0x2D, 0x01, 0xE6, 0x04, // ....-...
/* 0140 */ 0x68, 0x13, 0xE0, 0x0D, 0x41, 0x28, 0xE7, 0x19, // h...A(..
/* 0148 */ 0xE5, 0x58, 0x4E, 0x31, 0xCA, 0xC3, 0x40, 0xCC, // .XN1..@.
/* 0150 */ 0x97, 0x81, 0xA0, 0x51, 0x62, 0xC4, 0x3C, 0x97, // ...Qb.<.
/* 0158 */ 0xB8, 0x86, 0x8D, 0x10, 0x23, 0xE4, 0x29, 0x04, // ....#.).
/* 0160 */ 0x8A, 0xDB, 0xFE, 0x20, 0xC8, 0xA0, 0x71, 0xA3, // ... ..q.
/* 0168 */ 0xF7, 0x69, 0xE1, 0xAC, 0x4E, 0xE0, 0xE8, 0x9F, // .i..N...
/* 0170 */ 0x14, 0x4C, 0xE0, 0x29, 0x1F, 0xD8, 0xB3, 0xC1, // .L.)....
/* 0178 */ 0x09, 0x1C, 0x6B, 0xD4, 0x18, 0xA7, 0x92, 0xC0, // ..k.....
/* 0180 */ 0xB1, 0x1F, 0x10, 0xD2, 0x00, 0xA2, 0x48, 0xF0, // ......H.
/* 0188 */ 0xA8, 0xD3, 0x82, 0xCF, 0x05, 0x1E, 0xDA, 0x41, // .......A
/* 0190 */ 0x7B, 0x8E, 0x27, 0x10, 0xE4, 0x10, 0x8E, 0xE0, // {.'.....
/* 0198 */ 0x89, 0xE1, 0x81, 0xC0, 0x63, 0x60, 0x37, 0x05, // ....c`7.
/* 01A0 */ 0x1F, 0x01, 0x7C, 0x42, 0xC0, 0xBB, 0x06, 0xD4, // ..|B....
/* 01A8 */ 0xD5, 0xE0, 0xC1, 0x80, 0x0D, 0x3A, 0x1C, 0x66, // .....:.f
/* 01B0 */ 0xBC, 0x1E, 0x7E, 0xB8, 0x13, 0x38, 0xC9, 0x07, // ..~..8..
/* 01B8 */ 0x0C, 0x7E, 0xD8, 0xF0, 0xE0, 0x70, 0xF3, 0x3C, // .~...p.<
/* 01C0 */ 0x99, 0x23, 0x2B, 0x55, 0x80, 0xD9, 0xC3, 0x81, // .#+U....
/* 01C8 */ 0x0E, 0x12, 0x3E, 0x6D, 0xB0, 0x33, 0x00, 0x46, // ..>m.3.F
/* 01D0 */ 0xFE, 0x20, 0x50, 0x23, 0x33, 0xB4, 0xC7, 0xFD, // . P#3...
/* 01D8 */ 0xD2, 0x61, 0xC8, 0xE7, 0x84, 0xC3, 0x62, 0x62, // .a....bb
/* 01E0 */ 0x4F, 0x1D, 0x74, 0x3C, 0xE0, 0xBF, 0x8C, 0x3C, // O.t<...<
/* 01E8 */ 0x67, 0x78, 0xFA, 0x9E, 0xAF, 0x09, 0x86, 0x1D, // gx......
/* 01F0 */ 0x38, 0x7A, 0x20, 0x86, 0x7E, 0xD8, 0x38, 0x8C, // 8z .~.8.
/* 01F8 */ 0xD3, 0xF0, 0xFD, 0xC3, 0xE7, 0x05, 0x18, 0xA7, // ........
/* 0200 */ 0x00, 0x8F, 0xDC, 0xFF, 0xFF, 0x43, 0x8A, 0x4F, // .....C.O
/* 0208 */ 0x13, 0xFC, 0x68, 0xE1, 0xD3, 0x04, 0xBB, 0x1E, // ..h.....
/* 0210 */ 0x9C, 0xC6, 0x73, 0x80, 0x87, 0x73, 0x56, 0x3E, // ..s..sV>
/* 0218 */ 0x4C, 0x80, 0xED, 0x7E, 0xC2, 0x46, 0xF4, 0x6E, // L..~.F.n
/* 0220 */ 0xE1, 0xD1, 0x60, 0x4F, 0x01, 0xE0, 0x3B, 0xBF, // ..`O..;.
/* 0228 */ 0x80, 0xF3, 0xAE, 0xC1, 0x06, 0x0B, 0xE3, 0xFC, // ........
/* 0230 */ 0x02, 0x3C, 0x4E, 0x08, 0x1E, 0x02, 0x3F, 0x48, // .<N...?H
/* 0238 */ 0x78, 0x08, 0x7C, 0x00, 0xCF, 0x1F, 0x67, 0x68, // x.|...gh
/* 0240 */ 0xA5, 0xF3, 0x42, 0x0E, 0x0C, 0xDE, 0x39, 0x07, // ..B...9.
/* 0248 */ 0xC6, 0x28, 0x78, 0x9E, 0xC7, 0x86, 0x09, 0x14, // .(x.....
/* 0250 */ 0xE4, 0x35, 0xA0, 0x50, 0xCF, 0x02, 0x0A, 0xE3, // .5.P....
/* 0258 */ 0x53, 0x0D, 0xF0, 0xFA, 0xFF, 0x9F, 0x6A, 0x80, // S.....j.
/* 0260 */ 0xCB, 0xE1, 0x00, 0x77, 0x72, 0x80, 0x7B, 0x2F, // ...wr.{/
/* 0268 */ 0x60, 0x17, 0x87, 0xE7, 0x1A, 0xB8, 0xA2, 0xCF, // `.......
/* 0270 */ 0x35, 0x50, 0xEF, 0x2D, 0xC5, 0x8D, 0x51, 0xD7, // 5P.-..Q.
/* 0278 */ 0x98, 0x20, 0x8F, 0x02, 0x8F, 0x34, 0x51, 0x9E, // . ...4Q.
/* 0280 */ 0x67, 0xDE, 0x65, 0x22, 0x3C, 0xDB, 0xF8, 0x5A, // g.e"<..Z
/* 0288 */ 0xE3, 0x29, 0xC4, 0xF1, 0xB5, 0xC6, 0x88, 0x2F, // .)...../
/* 0290 */ 0x13, 0xEF, 0x36, 0xC6, 0x3D, 0xB8, 0xC7, 0x9A, // ..6.=...
/* 0298 */ 0x87, 0x1C, 0x83, 0x1C, 0x4D, 0x84, 0x17, 0x83, // ....M...
/* 02A0 */ 0x80, 0x8F, 0x37, 0x3E, 0xD6, 0x80, 0x57, 0xCC, // ..7>..W.
/* 02A8 */ 0x0B, 0x45, 0x16, 0x8E, 0x35, 0x80, 0xC6, 0xFF, // .E..5...
/* 02B0 */ 0xFF, 0xB1, 0x06, 0xB8, 0x61, 0x3D, 0xA0, 0x80, // ....a=..
/* 02B8 */ 0xEF, 0xC8, 0xC0, 0x6E, 0x28, 0xF0, 0x4E, 0x28, // ...n(.N(
/* 02C0 */ 0x80, 0x9F, 0xC4, 0x2F, 0x00, 0x1D, 0x39, 0x9C, // .../..9.
/* 02C8 */ 0x16, 0x44, 0x36, 0xDE, 0x00, 0x3E, 0x05, 0x50, // .D6..>.P
/* 02D0 */ 0x35, 0x40, 0x9A, 0x26, 0x6C, 0x82, 0xE9, 0xC9, // 5@.&l...
/* 02D8 */ 0x05, 0xEF, 0x23, 0x81, 0x73, 0x93, 0x28, 0xF9, // ..#.s.(.
/* 02E0 */ 0xB0, 0x28, 0x9C, 0xB3, 0x1E, 0x44, 0x28, 0x88, // .(...D(.
/* 02E8 */ 0x01, 0x1D, 0xE4, 0x38, 0x81, 0x3E, 0xA3, 0xF8, // ...8.>..
/* 02F0 */ 0x20, 0x72, 0xA2, 0x4F, 0x84, 0x1E, 0x94, 0x87, // r.O....
/* 02F8 */ 0xF1, 0x8E, 0xC2, 0x4E, 0x20, 0x3E, 0x4C, 0x78, // ...N >Lx
/* 0300 */ 0xEC, 0x3E, 0x26, 0xF0, 0x7F, 0x8C, 0x67, 0x63, // .>&...gc
/* 0308 */ 0x74, 0xAB, 0xC1, 0xD0, 0xFF, 0xFF, 0x9C, 0xC2, // t.......
/* 0310 */ 0xC1, 0x7C, 0x10, 0xE1, 0x04, 0x75, 0xDD, 0x24, // .|...u.$
/* 0318 */ 0x40, 0xA6, 0xEF, 0xA8, 0x00, 0x0A, 0x20, 0xDF, // @..... .
/* 0320 */ 0x0B, 0x7C, 0x0E, 0x78, 0x36, 0x60, 0x63, 0x78, // .|.x6`cx
/* 0328 */ 0x14, 0x30, 0x9A, 0xD1, 0x79, 0xF8, 0xC9, 0xA2, // .0..y...
/* 0330 */ 0xE2, 0x4E, 0x96, 0x82, 0x78, 0xB2, 0x8E, 0x32, // .N..x..2
/* 0338 */ 0x59, 0xF4, 0x4C, 0x7C, 0xAF, 0xF0, 0x8C, 0xDE, // Y.L|....
/* 0340 */ 0xB4, 0x3C, 0x47, 0x4F, 0xD8, 0xF7, 0x10, 0x58, // .<GO...X
/* 0348 */ 0x87, 0x81, 0x90, 0x0F, 0x06, 0x9E, 0x86, 0xE1, // ........
/* 0350 */ 0x3C, 0x59, 0x0E, 0xE7, 0xC9, 0xF2, 0xB1, 0xF8, // <Y......
/* 0358 */ 0x1A, 0x02, 0x3E, 0x81, 0xB3, 0x05, 0x39, 0x3C, // ..>...9<
/* 0360 */ 0x26, 0xD6, 0xA8, 0xE8, 0x55, 0xC8, 0xC3, 0xE3, // &...U...
/* 0368 */ 0x97, 0x03, 0xCF, 0xE7, 0x19, 0xE1, 0x28, 0x9F, // ......(.
/* 0370 */ 0x24, 0x70, 0x18, 0xCF, 0x24, 0x1E, 0xA2, 0x6F, // $p..$..o
/* 0378 */ 0x45, 0xB0, 0x26, 0x72, 0xD2, 0xBE, 0x2D, 0x9C, // E.&r..-.
/* 0380 */ 0x6C, 0xD0, 0xD7, 0x33, 0xCC, 0xAD, 0x08, 0xF6, // l..3....
/* 0388 */ 0xFF, 0xFF, 0x56, 0x04, 0xE7, 0x82, 0x06, 0x33, // ..V....3
/* 0390 */ 0xD3, 0xBD, 0x0A, 0x15, 0xEB, 0x5E, 0x05, 0x88, // .....^..
/* 0398 */ 0x1D, 0xD6, 0x6B, 0x8F, 0x0F, 0x56, 0x70, 0xEF, // ..k..Vp.
/* 03A0 */ 0x55, 0x70, 0x2F, 0x55, 0xCF, 0x0A, 0xC7, 0x18, // Up/U....
/* 03A8 */ 0xFE, 0x61, 0x2A, 0xC6, 0x29, 0xBD, 0x76, 0x1A, // .a*.).v.
/* 03B0 */ 0x28, 0x4C, 0x94, 0x78, 0xEF, 0x55, 0x1E, 0xE3, // (L.x.U..
/* 03B8 */ 0x7B, 0x15, 0xBB, 0x42, 0x85, 0x89, 0xF5, 0x72, // {..B...r
/* 03C0 */ 0x65, 0xD4, 0xD7, 0x89, 0x70, 0x81, 0x82, 0x44, // e...p..D
/* 03C8 */ 0x7A, 0xB5, 0x8A, 0x12, 0x39, 0xBE, 0x21, 0xDF, // z...9.!.
/* 03D0 */ 0xAB, 0xC0, 0x2B, 0xE7, 0x5E, 0x05, 0xB2, 0xFF, // ..+.^...
/* 03D8 */ 0xFF, 0xBD, 0x0A, 0x30, 0x8F, 0xF6, 0x5E, 0x05, // ...0..^.
/* 03E0 */ 0xC6, 0x6B, 0x03, 0xBB, 0x21, 0xC1, 0x02, 0x7A, // .k..!..z
/* 03E8 */ 0xB1, 0x02, 0x0C, 0x65, 0xBE, 0x58, 0xD1, 0xBC, // ...e.X..
/* 03F0 */ 0x17, 0x2B, 0xC4, 0xFF, 0xFF, 0x5C, 0xC2, 0xF4, // .+...\..
/* 03F8 */ 0x5C, 0xAC, 0xC8, 0x3C, 0xE1, 0xDF, 0xAC, 0x00, // \..<....
/* 0400 */ 0x4E, 0xFF, 0xFF, 0x6F, 0x56, 0x80, 0xB1, 0x7B, // N..oV..{
/* 0408 */ 0x11, 0xE6, 0x68, 0x05, 0x2F, 0xE5, 0xCD, 0x8A, // ..h./...
/* 0410 */ 0xC6, 0x59, 0x86, 0x02, 0x2E, 0x88, 0xC2, 0xF8, // .Y......
/* 0418 */ 0x66, 0x05, 0x38, 0xBA, 0xAE, 0xE0, 0x86, 0x0C, // f.8.....
/* 0420 */ 0x17, 0x2C, 0x4A, 0x30, 0x1F, 0x42, 0x3C, 0x9D, // .,J0.B<.
/* 0428 */ 0x23, 0x7E, 0x48, 0x78, 0x09, 0x78, 0xCC, 0xF1, // #~Hx.x..
/* 0430 */ 0x80, 0x1F, 0x08, 0x7C, 0xB9, 0x02, 0xD3, 0xFF, // ...|....
/* 0438 */ 0x9F, 0xC0, 0x27, 0xDF, 0xB3, 0x7C, 0x9B, 0x7A, // ..'..|.z
/* 0440 */ 0xEF, 0xE5, 0x07, 0xAC, 0xF7, 0x2A, 0x1F, 0x7E, // .....*.~
/* 0448 */ 0x63, 0xBD, 0x33, 0xBC, 0x5C, 0x79, 0x24, 0x51, // c.3.\y$Q
/* 0450 */ 0x4E, 0x22, 0x94, 0xEF, 0x56, 0xEF, 0x55, 0x46, // N"..V.UF
/* 0458 */ 0x89, 0xF8, 0x42, 0xEC, 0x53, 0xB0, 0xA1, 0x8D, // ..B.S...
/* 0460 */ 0xF2, 0x54, 0x11, 0xDD, 0x78, 0x2F, 0x57, 0xE0, // .T..x/W.
/* 0468 */ 0x95, 0x74, 0xB9, 0x02, 0x68, 0x32, 0xFC, 0x97, // .t..h2..
/* 0470 */ 0x2B, 0xF0, 0xDD, 0x1C, 0xB0, 0xD7, 0x24, 0x38, // +.....$8
/* 0478 */ 0xFF, 0xFF, 0x6B, 0x12, 0xBF, 0x5E, 0x01, 0x7E, // ..k..^.~
/* 0480 */ 0xB2, 0x5F, 0xAF, 0x68, 0xEE, 0xEB, 0x15, 0x4A, // ._.h...J
/* 0488 */ 0x14, 0x84, 0x14, 0x01, 0x69, 0xA6, 0xE0, 0xB9, // ....i...
/* 0490 */ 0x5F, 0x01, 0x9C, 0xF8, 0xFF, 0xDF, 0xAF, 0x00, // _.......
/* 0498 */ 0xCB, 0xE1, 0xEE, 0x57, 0x40, 0xEF, 0x76, 0x04, // ...W@.v.
/* 04A0 */ 0x5E, 0x94, 0xB7, 0x23, 0xEC, 0x15, 0x0B, 0x9F, // ^..#....
/* 04A8 */ 0xF1, 0x8A, 0x45, 0xC3, 0xAC, 0x44, 0xF1, 0xD6, // ..E..D..
/* 04B0 */ 0x44, 0x61, 0x7C, 0xC5, 0x02, 0x26, 0xFF, 0xFF, // Da|..&..
/* 04B8 */ 0x2B, 0x16, 0x30, 0x3B, 0x88, 0xE2, 0x46, 0x0D, // +.0;..F.
/* 04C0 */ 0xF7, 0xE2, 0xE4, 0x5B, 0x8F, 0xE7, 0x1B, 0xD1, // ...[....
/* 04C8 */ 0x77, 0x18, 0xCC, 0x09, 0x0B, 0xC6, 0x0D, 0x0B, // w.......
/* 04D0 */ 0xFE, 0x90, 0x1E, 0x86, 0x7D, 0x92, 0x78, 0xC7, // ....}.x.
/* 04D8 */ 0xF2, 0xD1, 0xCA, 0x20, 0x6F, 0xC0, 0x4F, 0x56, // ... o.OV
/* 04E0 */ 0x0F, 0x56, 0x51, 0x8C, 0x10, 0xF0, 0x78, 0xDE, // .VQ...x.
/* 04E8 */ 0x85, 0x7D, 0xB4, 0x7A, 0xD3, 0x32, 0x4A, 0xEC, // .}.z.2J.
/* 04F0 */ 0x58, 0xBE, 0x50, 0x3D, 0x6B, 0xF9, 0x9A, 0x65, // X.P=k..e
/* 04F8 */ 0x88, 0xB8, 0x0F, 0xC4, 0xBE, 0x61, 0x01, 0xB6, // .....a..
/* 0500 */ 0xFF, 0xFF, 0x37, 0x2C, 0xC0, 0xD1, 0xC5, 0x81, // ..7,....
/* 0508 */ 0x1F, 0x1C, 0xB0, 0x37, 0x2C, 0xC0, 0xE7, 0x4C, // ...7,..L
/* 0510 */ 0xC1, 0x73, 0xC3, 0x02, 0x36, 0xFF, 0xFF, 0x1B, // .s..6...
/* 0518 */ 0x16, 0xC0, 0xFF, 0xFF, 0xFF, 0x0D, 0x0B, 0x38, // .......8
/* 0520 */ 0xDC, 0xAE, 0xB0, 0xB7, 0x2C, 0xEC, 0xED, 0x85, // ....,...
/* 0528 */ 0xAC, 0x82, 0x86, 0x5A, 0x89, 0x82, 0x7F, 0xAF, // ...Z....
/* 0530 */ 0x0C, 0x43, 0x6F, 0x58, 0x80, 0xA3, 0x71, 0x7B, // .CoX..q{
/* 0538 */ 0xD4, 0xE0, 0x38, 0x1B, 0x3C, 0x49, 0x60, 0xCE, // ..8.<I`.
/* 0540 */ 0xD5, 0xB8, 0xD9, 0x1C, 0x5C, 0xE0, 0x08, 0xBD, // ....\...
/* 0548 */ 0x83, 0x6A, 0xEE, 0xEC, 0x92, 0x02, 0xE3, 0x96, // .j......
/* 0550 */ 0x05, 0xF7, 0x52, 0xF5, 0xD0, 0x10, 0xE5, 0x20, // ..R....
/* 0558 */ 0x5E, 0x85, 0x1F, 0xAC, 0x1E, 0xA5, 0x8E, 0xEC, // ^.......
/* 0560 */ 0xF1, 0xEA, 0x69, 0xD8, 0xC7, 0x2C, 0xDF, 0xB2, // ..i..,..
/* 0568 */ 0x0C, 0x15, 0xE1, 0x2D, 0x8B, 0x9D, 0x21, 0xE2, // ...-..!.
/* 0570 */ 0xC5, 0x8A, 0x12, 0xE2, 0xBD, 0x22, 0xB4, 0xEF, // ....."..
/* 0578 */ 0x5C, 0x06, 0x7F, 0x34, 0x36, 0x6A, 0xD0, 0x97, // \..46j..
/* 0580 */ 0xE3, 0xB7, 0x2C, 0x78, 0xFF, 0xFF, 0x5B, 0x16, // ..,x..[.
/* 0588 */ 0x7C, 0x91, 0x7F, 0x15, 0x9D, 0x08, 0x7C, 0xCB, // |.....|.
/* 0590 */ 0x02, 0xF8, 0x11, 0x0C, 0x42, 0x4E, 0x06, 0x8E, // ....BN..
/* 0598 */ 0x3E, 0x2F, 0xE0, 0x07, 0xF0, 0x30, 0xE2, 0x21, // >/...0.!
/* 05A0 */ 0xB1, 0x00, 0x03, 0xA7, 0xF7, 0x25, 0x9F, 0x29, // .....%.)
/* 05A8 */ 0xF8, 0x01, 0xC3, 0x67, 0x0A, 0x76, 0x3D, 0x88, // ...g.v=.
/* 05B0 */ 0xFE, 0x18, 0xE0, 0x73, 0x09, 0x66, 0x70, 0xE0, // ...s.fp.
/* 05B8 */ 0xBF, 0x56, 0x1C, 0xBA, 0x47, 0xF1, 0xFA, 0x60, // .V..G..`
/* 05C0 */ 0x02, 0x0F, 0x8E, 0xFF, 0xFF, 0x07, 0x07, 0xF7, // ........
/* 05C8 */ 0xCE, 0x70, 0x44, 0xBE, 0xC3, 0x78, 0x70, 0x60, // .pD..xp`
/* 05D0 */ 0x3B, 0x08, 0x00, 0x87, 0xC1, 0xE1, 0x43, 0x0D, // ;.....C.
/* 05D8 */ 0x0E, 0x3D, 0x1E, 0x03, 0x87, 0xF4, 0x79, 0x8C, // .=....y.
/* 05E0 */ 0x5D, 0x18, 0x1E, 0x72, 0x3C, 0x34, 0xB0, 0x01, // ]..r<4..
/* 05E8 */ 0x7A, 0x68, 0xC0, 0x72, 0x12, 0x4F, 0x21, 0x87, // zh.r.O!.
/* 05F0 */ 0x06, 0x66, 0x09, 0x43, 0x03, 0x4A, 0xF1, 0x86, // .f.C.J..
/* 05F8 */ 0x46, 0xFF, 0xFF, 0x43, 0xE3, 0x43, 0xF2, 0x61, // F..C.C.a
/* 0600 */ 0x21, 0xE6, 0x53, 0x4E, 0x84, 0xF7, 0x05, 0x9F, // !.SN....
/* 0608 */ 0xA0, 0x18, 0xFA, 0x6B, 0x8A, 0x6F, 0x17, 0xBE, // ...k.o..
/* 0610 */ 0x09, 0xE2, 0xC6, 0x07, 0xAE, 0x4B, 0xA7, 0xC7, // .....K..
/* 0618 */ 0x07, 0x7C, 0x8E, 0x5C, 0x1E, 0x1F, 0xEE, 0xE8, // .|.\....
/* 0620 */ 0xE4, 0xF1, 0xC1, 0x70, 0x79, 0x95, 0x21, 0x47, // ...py.!G
/* 0628 */ 0x13, 0x1F, 0xAD, 0xD8, 0xF0, 0xC0, 0x76, 0xD3, // ......v.
/* 0630 */ 0xF3, 0xF0, 0x80, 0xCF, 0x75, 0x13, 0x8C, 0x57, // ....u..W
/* 0638 */ 0x48, 0x7E, 0x2D, 0x81, 0x71, 0x82, 0xC2, 0x5F, // H~-.q.._
/* 0640 */ 0x37, 0xC1, 0xFB, 0xFF, 0xBF, 0x6E, 0x02, 0xCF, // 7....n..
/* 0648 */ 0x51, 0x70, 0xAD, 0x97, 0x6C, 0x1A, 0xE4, 0x95, // Qp..l...
/* 0650 */ 0xA3, 0x58, 0x2F, 0x02, 0x0A, 0xE3, 0x33, 0x1B, // .X/...3.
/* 0658 */ 0xE0, 0x68, 0xAC, 0xCF, 0x6C, 0x60, 0xB9, 0x17, // .h..l`..
/* 0660 */ 0xB0, 0x1B, 0x1B, 0xDC, 0xD3, 0x1A, 0xEC, 0xBB, // ........
/* 0668 */ 0xC3, 0xC3, 0xD9, 0x63, 0xDA, 0xA3, 0xDA, 0x03, // ...c....
/* 0670 */ 0x9A, 0x8F, 0xD8, 0x31, 0xDE, 0xD2, 0x82, 0xC4, // ...1....
/* 0678 */ 0x89, 0xF0, 0x3A, 0xF0, 0xB4, 0xE6, 0x4B, 0x46, // ..:...KF
/* 0680 */ 0xBC, 0x40, 0x4F, 0x6B, 0xC6, 0x88, 0xF3, 0xD2, // .@Ok....
/* 0688 */ 0x66, 0xC4, 0x57, 0x8A, 0x10, 0x0F, 0x6B, 0x3E, // f.W...k>
/* 0690 */ 0xB9, 0x19, 0xEF, 0x61, 0x22, 0x5C, 0x98, 0x17, // ...a"\..
/* 0698 */ 0xB6, 0xA7, 0x35, 0x70, 0xFC, 0xFF, 0x4F, 0x6B, // ..5p..Ok
/* 06A0 */ 0x70, 0xE4, 0x5C, 0xB1, 0x01, 0x9A, 0x5C, 0xF4, // p.\...\.
/* 06A8 */ 0x71, 0x87, 0x14, 0xB0, 0x5C, 0x1B, 0xD8, 0x2D, // q...\..-
/* 06B0 */ 0x05, 0xDE, 0x05, 0x1B, 0x38, 0xFF, 0xFF, 0x8F, // ....8...
/* 06B8 */ 0x28, 0xE0, 0xCB, 0x72, 0xC1, 0xA6, 0x39, 0x2E, // (..r..9.
/* 06C0 */ 0xD8, 0x28, 0x0E, 0xAB, 0x01, 0xD2, 0x3C, 0xE1, // .(....<.
/* 06C8 */ 0x5F, 0xAF, 0xC1, 0x3F, 0x09, 0x5F, 0xAF, 0x01, // _..?._..
/* 06D0 */ 0xDB, 0xB7, 0x58, 0xDC, 0xF5, 0x1A, 0x58, 0xFD, // ..X...X.
/* 06D8 */ 0xFF, 0xAF, 0xD7, 0xC0, 0x52, 0xF0, 0x48, 0xE9, // ....R.H.
/* 06E0 */ 0x9D, 0x1A, 0x5C, 0x37, 0x6D, 0x3C, 0xE8, 0x9B, // ..\7m<..
/* 06E8 */ 0x36, 0x4C, 0xC1, 0xB7, 0x28, 0x1A, 0x85, 0x5C, // 6L..(..\
/* 06F0 */ 0xD1, 0x16, 0x42, 0x61, 0x7C, 0x8B, 0x02, 0x1C, // ..Ba|...
/* 06F8 */ 0x61, 0xBF, 0x45, 0x81, 0xE5, 0xE2, 0xF4, 0x16, // a.E.....
/* 0700 */ 0x85, 0x9F, 0x81, 0x07, 0xED, 0xBB, 0x0E, 0xC3, // ........
/* 0708 */ 0xF4, 0x1D, 0x1A, 0xFE, 0xA9, 0xE9, 0xB9, 0xE9, // ........
/* 0710 */ 0xC1, 0xE9, 0xA1, 0xD9, 0x07, 0x29, 0x1F, 0x0E, // .....)..
/* 0718 */ 0x9E, 0x9F, 0xFE, 0xFF, 0x31, 0xDE, 0xEB, 0x7C, // ....1..|
/* 0720 */ 0x93, 0x7A, 0x8D, 0xF2, 0x05, 0xE6, 0x18, 0x22, // .z....."
/* 0728 */ 0x46, 0x79, 0x99, 0x36, 0x44, 0x3C, 0x9F, 0x9A, // Fy.6D<..
/* 0730 */ 0x7C, 0x56, 0x88, 0x1B, 0xE2, 0x21, 0xDA, 0x08, // |V...!..
/* 0738 */ 0x51, 0x9F, 0xA7, 0x3D, 0xA1, 0xD7, 0x28, 0xF0, // Q..=..(.
/* 0740 */ 0x0A, 0xBA, 0x46, 0x01, 0x34, 0xB9, 0x1F, 0xE1, // ..F.4...
/* 0748 */ 0xAE, 0x51, 0x60, 0xB9, 0x37, 0xB0, 0xF3, 0x10, // .Q`.7...
/* 0750 */ 0xBF, 0x12, 0xF9, 0xDA, 0x00, 0xE3, 0x1E, 0x05, // ........
/* 0758 */ 0xE7, 0xFF, 0x7F, 0x8F, 0x02, 0x6C, 0x84, 0xB9, // .....l..
/* 0760 */ 0x47, 0xD1, 0x20, 0xF7, 0x28, 0xD4, 0xC9, 0xC4, // G. .(...
/* 0768 */ 0x97, 0x3A, 0x4F, 0x14, 0x1C, 0xE1, 0x2F, 0x52, // .:O.../R
/* 0770 */ 0xA8, 0xD8, 0x24, 0x0A, 0x7D, 0x18, 0x42, 0xC5, // ..$.}.B.
/* 0778 */ 0x3C, 0x8C, 0x50, 0x10, 0x03, 0x3A, 0xC3, 0x89, // <.P..:..
/* 0780 */ 0x02, 0xAD, 0xE2, 0x44, 0x41, 0x6E, 0x31, 0x9E, // ...DAn1.
/* 0788 */ 0xD4, 0x63, 0x14, 0xE0, 0x6B, 0x99, 0x1E, 0x2A, // .c..k..*
/* 0790 */ 0x8F, 0x3C, 0x54, 0x0A, 0xE2, 0xA1, 0x3A, 0xCE, // .<T...:.
/* 0798 */ 0x50, 0xD1, 0x93, 0xF4, 0xFC, 0x31, 0xFF, 0xFF, // P....1..
/* 07A0 */ 0x83, 0x03, 0xF6, 0x20, 0x05, 0xF0, 0x42, 0xF5, // ... ..B.
/* 07A8 */ 0x41, 0x8A, 0x86, 0x21, 0x57, 0xB8, 0x85, 0x50, // A..!W..P
/* 07B0 */ 0x18, 0x1F, 0xA4, 0x00, 0x47, 0x37, 0x4B, 0xDC, // ....G7K.
/* 07B8 */ 0x41, 0x0A, 0xC6, 0xFF, 0xFF, 0x20, 0x85, 0x19, // A.... ..
/* 07C0 */ 0x01, 0x7B, 0x8D, 0x3C, 0x47, 0xC5, 0x7A, 0x5A, // .{.<G.zZ
/* 07C8 */ 0x67, 0xA0, 0x71, 0xDE, 0x8A, 0x7C, 0x16, 0x64, // g.q..|.d
/* 07D0 */ 0x17, 0x16, 0x1F, 0x8B, 0x4C, 0xE0, 0x93, 0x14, // ....L...
/* 07D8 */ 0x5C, 0x8C, 0xA7, 0x5B, 0x1F, 0x6A, 0x0D, 0xF2, // \..[.j..
/* 07E0 */ 0xF0, 0xF4, 0x74, 0xEB, 0xB3, 0xD4, 0xFB, 0x53, // ..t....S
/* 07E8 */ 0xA0, 0x43, 0x7D, 0x88, 0xB2, 0xB8, 0x11, 0x90, // .C}.....
/* 07F0 */ 0xFB, 0xAD, 0xAF, 0x53, 0xCF, 0xB6, 0x46, 0x79, // ...S..Fy
/* 07F8 */ 0x7A, 0x08, 0x1A, 0x27, 0x62, 0xB4, 0x98, 0x86, // z..'b...
/* 0800 */ 0x0A, 0x14, 0xE5, 0xCD, 0xCA, 0x27, 0x29, 0x80, // .....').
/* 0808 */ 0x65, 0xFF, 0xFF, 0x93, 0x14, 0xB8, 0x2E, 0x0E, // e.......
/* 0810 */ 0xEC, 0xE0, 0x80, 0xBB, 0x37, 0xC0, 0x39, 0x49, // ....7.9I
/* 0818 */ 0x01, 0x7E, 0xF2, 0x9C, 0xA4, 0xE8, 0x15, 0xD7, // .~......
/* 0820 */ 0x27, 0x29, 0x2E, 0x0A, 0x42, 0x8A, 0x80, 0x34, // ')..B..4
/* 0828 */ 0x51, 0xB0, 0x5C, 0x71, 0x01, 0x97, 0xFF, 0xFF, // Q.\q....
/* 0830 */ 0x2B, 0x2E, 0xC0, 0xC7, 0x58, 0x12, 0xEE, 0xB7, // +...X...
/* 0838 */ 0x98, 0x20, 0x30, 0xA8, 0xAB, 0x14, 0xF0, 0xFA, // . 0.....
/* 0840 */ 0xFF, 0x5F, 0xA5, 0x80, 0xCB, 0x15, 0xE0, 0x55, // ._.....U
/* 0848 */ 0x0A, 0x2C, 0x87, 0xA5, 0x27, 0x85, 0x07, 0x22, // .,..'.."
/* 0850 */ 0x23, 0xF1, 0x17, 0xC9, 0x7B, 0x83, 0x8D, 0x63, // #...{..c
/* 0858 */ 0x09, 0xD8, 0x37, 0x13, 0x36, 0xEF, 0x17, 0x29, // ..7.6..)
/* 0860 */ 0x98, 0xEE, 0x8F, 0xB8, 0x04, 0xE2, 0x89, 0x21, // .......!
/* 0868 */ 0xF0, 0x5B, 0xCE, 0x91, 0xBE, 0x41, 0x19, 0xE7, // .[...A..
/* 0870 */ 0xF9, 0xD6, 0x58, 0x4F, 0xB7, 0xEC, 0xCA, 0x74, // ..XO...t
/* 0878 */ 0x1E, 0x51, 0x62, 0x84, 0x7B, 0x86, 0x8A, 0x11, // .Qb.{...
/* 0880 */ 0x25, 0xC6, 0x2B, 0x55, 0x90, 0x80, 0x21, 0x9E, // %.+U..!.
/* 0888 */ 0xA9, 0x42, 0x3E, 0xED, 0x7A, 0xB2, 0x2F, 0x53, // .B>.z./S
/* 0890 */ 0xB6, 0x7F, 0x93, 0x02, 0x71, 0xFC, 0x17, 0x83, // ....q...
/* 0898 */ 0x6E, 0x24, 0xBE, 0x49, 0x01, 0xFE, 0xFE, 0xFF, // n$.I....
/* 08A0 */ 0x37, 0x29, 0xE0, 0x17, 0x78, 0xE0, 0xE8, 0x81, // 7)..x...
/* 08A8 */ 0x18, 0xFA, 0x91, 0xC5, 0xD3, 0xF0, 0x79, 0xC3, // ......y.
/* 08B0 */ 0x67, 0x4A, 0x63, 0x1C, 0x93, 0x07, 0xC7, 0x63, // gJc....c
/* 08B8 */ 0x8D, 0x9C, 0xDE, 0x8A, 0x7C, 0x9E, 0xE0, 0x87, // ....|...
/* 08C0 */ 0x0B, 0x9F, 0x27, 0xD8, 0x89, 0xE1, 0x34, 0x9E, // ..'...4.
/* 08C8 */ 0x03, 0x7C, 0x10, 0xC1, 0x1C, 0x27, 0x80, 0xCB, // .|...'..
/* 08D0 */ 0x39, 0x00, 0x7C, 0xF7, 0x40, 0xDC, 0x0D, 0x0C, // 9.|.@...
/* 08D8 */ 0x2C, 0x33, 0xC2, 0x8F, 0x08, 0xC6, 0x05, 0x0C, // ,3......
/* 08E0 */ 0xB8, 0xFE, 0xFF, 0x2F, 0x60, 0xE0, 0x1C, 0x05, // .../`...
/* 08E8 */ 0xCF, 0x77, 0xEB, 0x04, 0x14, 0xDF, 0x2B, 0xD8, // .w....+.
/* 08F0 */ 0xD5, 0xE1, 0xF9, 0x01, 0x1C, 0xB7, 0x4E, 0xB8, // ......N.
/* 08F8 */ 0x07, 0x1B, 0x5F, 0x5F, 0xCE, 0xF2, 0x4C, 0x5F, // ..__..L_
/* 0900 */ 0x68, 0x9E, 0x6A, 0x18, 0xCC, 0xE3, 0x4D, 0x84, // h.j...M.
/* 0908 */ 0x38, 0x51, 0x8C, 0x77, 0x96, 0x46, 0x79, 0xFF, // 8Q.w.Fy.
/* 0910 */ 0x88, 0xF1, 0x6A, 0x13, 0x23, 0x4A, 0xA0, 0x48, // ..j.#J.H
/* 0918 */ 0x06, 0x36, 0x50, 0xE0, 0xB7, 0x8A, 0x27, 0x12, // .6P...'.
/* 0920 */ 0x83, 0xFA, 0xD6, 0x09, 0x7C, 0xFE, 0xFF, 0xB7, // ....|...
/* 0928 */ 0x4E, 0x80, 0x41, 0x17, 0x07, 0x76, 0x4B, 0x81, // N.A..vK.
/* 0930 */ 0x7F, 0x4A, 0x01, 0xBC, 0xFC, 0xFF, 0x4F, 0x29, // .J....O)
/* 0938 */ 0x3C, 0xF9, 0xAD, 0x93, 0xA6, 0xBE, 0x75, 0x42, // <.....uB
/* 0940 */ 0x99, 0x28, 0x58, 0x6E, 0x9D, 0xC0, 0xE0, 0x38, // .(Xn...8
/* 0948 */ 0xF2, 0xD6, 0x09, 0xF8, 0xBE, 0x5B, 0xF8, 0xD6, // .....[..
/* 0950 */ 0x09, 0xEC, 0xFF, 0xFF, 0xB7, 0x4E, 0x60, 0x11, // .....N`.
/* 0958 */ 0x6D, 0x54, 0xF4, 0xAA, 0x89, 0x9F, 0xCF, 0xAB, // mT......
/* 0960 */ 0x26, 0xCC, 0x0B, 0x28, 0xB8, 0xEE, 0x46, 0xC0, // &..(..F.
/* 0968 */ 0x29, 0xD7, 0xFD, 0x8A, 0xDE, 0x43, 0x1D, 0x6C, // )....C.l
/* 0970 */ 0x49, 0xF4, 0x2A, 0x0A, 0x78, 0xC2, 0x3E, 0x68, // I.*.x.>h
/* 0978 */ 0xB0, 0x1D, 0x57, 0x38, 0xCA, 0xBB, 0x20, 0x16, // ..W8.. .
/* 0980 */ 0xE8, 0xFF, 0x7F, 0x20, 0xBE, 0x5E, 0xC1, 0x3E, // ... .^.>
/* 0988 */ 0x7B, 0x9E, 0xE3, 0xEB, 0xC2, 0x6B, 0x44, 0x84, // {....kD.
/* 0990 */ 0x47, 0xAA, 0xC7, 0x86, 0x08, 0xCF, 0x55, 0xC1, // G.....U.
/* 0998 */ 0x9E, 0xAA, 0xE2, 0xBC, 0x5E, 0xB1, 0x69, 0x3C, // ....^.i<
/* 09A0 */ 0x61, 0xC5, 0x79, 0x16, 0xF5, 0x14, 0xA2, 0x3C, // a.y....<
/* 09A8 */ 0x58, 0x45, 0x79, 0x10, 0x35, 0xE2, 0x0B, 0x41, // XEy.5..A
/* 09B0 */ 0xE8, 0xC0, 0xF1, 0x82, 0x45, 0x37, 0x42, 0xAC, // ....E7B.
/* 09B8 */ 0xD7, 0x2B, 0xF0, 0xCA, 0xB9, 0x5E, 0x01, 0x34, // .+...^.4
/* 09C0 */ 0xB9, 0x52, 0x82, 0xF1, 0xCC, 0xE0, 0xFF, 0xFF, // .R......
/* 09C8 */ 0xB4, 0x9E, 0x1B, 0xF8, 0xB5, 0x01, 0x7B, 0x6C, // ......{l
/* 09D0 */ 0x60, 0xB7, 0x2B, 0xC0, 0xCF, 0xDD, 0xCA, 0x87, // `.+.....
/* 09D8 */ 0x0E, 0x27, 0xBE, 0x5D, 0xA1, 0x0E, 0x26, 0xD6, // .'.]..&.
/* 09E0 */ 0x73, 0xBB, 0x42, 0xCC, 0x13, 0xEE, 0xE5, 0x0A, // s.B.....
/* 09E8 */ 0xE0, 0xC0, 0xFF, 0xFF, 0x72, 0x05, 0x78, 0x0F, // ....r.x.
/* 09F0 */ 0x76, 0xB9, 0x02, 0x7A, 0x17, 0x23, 0x30, 0xC2, // v..z.#0.
/* 09F8 */ 0xF7, 0x89, 0x23, 0x94, 0x47, 0x25, 0x5F, 0x8C, // ..#.G%_.
/* 0A00 */ 0x60, 0x9C, 0x85, 0x81, 0xD7, 0xFF, 0xFF, 0x2C, // `......,
/* 0A08 */ 0x0C, 0xD8, 0x18, 0xD6, 0x9B, 0x8F, 0x0F, 0x57, // .......W
/* 0A10 */ 0x60, 0xB8, 0x5C, 0xC1, 0x3E, 0x33, 0xBC, 0x57, // `.\.>3.W
/* 0A18 */ 0x19, 0xE2, 0x89, 0xEA, 0x81, 0xCA, 0x50, 0x2F, // ......P/
/* 0A20 */ 0x57, 0x86, 0x89, 0x14, 0xE2, 0x6D, 0x98, 0xA1, // W....m..
/* 0A28 */ 0x85, 0x88, 0x12, 0x2E, 0x88, 0x51, 0x7C, 0xBE, // .....Q|.
/* 0A30 */ 0x32, 0x5C, 0xEC, 0xA7, 0x29, 0x9F, 0xAF, 0x82, // 2\..)...
/* 0A38 */ 0x3D, 0x64, 0x85, 0x8D, 0x10, 0xE5, 0x59, 0x18, // =d....Y.
/* 0A40 */ 0x70, 0xFC, 0xFF, 0x3F, 0x0B, 0x03, 0xBE, 0x2E, // p..?....
/* 0A48 */ 0x0E, 0xEC, 0x96, 0x04, 0xEB, 0xE2, 0xE4, 0xDB, // ........
/* 0A50 */ 0x15, 0xE0, 0xE8, 0x2C, 0x0C, 0x7B, 0xA2, 0xE0, // ...,.{..
/* 0A58 */ 0xB8, 0x5E, 0x01, 0x93, 0xFF, 0xFF, 0x59, 0x18, // .^....Y.
/* 0A60 */ 0xE0, 0xFF, 0xFF, 0xFF, 0x2C, 0x0C, 0xEE, 0xBB, // ....,...
/* 0A68 */ 0x11, 0xE6, 0x7C, 0x05, 0xFB, 0x60, 0xA8, 0xFB, // ..|..`..
/* 0A70 */ 0x15, 0x8D, 0xB4, 0x10, 0xC5, 0x5C, 0x12, 0x85, // .....\..
/* 0A78 */ 0xF1, 0xFD, 0x0A, 0x70, 0x24, 0x78, 0xD0, 0xA0, // ...p$x..
/* 0A80 */ 0x01, 0x8B, 0x12, 0xCC, 0xC7, 0x10, 0x4F, 0xE7, // ......O.
/* 0A88 */ 0x78, 0x1F, 0x13, 0x5E, 0x03, 0x1E, 0x75, 0x3C, // x..^..u<
/* 0A90 */ 0xE4, 0x47, 0x02, 0x5F, 0xB1, 0xC0, 0x7A, 0x88, // .G._..z.
/* 0A98 */ 0x7A, 0xC1, 0xF2, 0xD5, 0xC6, 0x18, 0x11, 0x5E, // z......^
/* 0AA0 */ 0x86, 0x0D, 0xF3, 0x5E, 0x15, 0xE2, 0x1D, 0xF8, // ...^....
/* 0AA8 */ 0x15, 0xCB, 0x17, 0x8A, 0x60, 0x11, 0xA2, 0x3C, // ....`..<
/* 0AB0 */ 0x0A, 0xBF, 0x0C, 0x1B, 0xCF, 0x90, 0x0F, 0x5A, // .......Z
/* 0AB8 */ 0x06, 0x0A, 0x6B, 0xC8, 0x77, 0xE2, 0x18, 0x27, // ..k.w..'
/* 0AC0 */ 0xE0, 0x3B, 0x85, 0xAF, 0x58, 0xF0, 0xFE, 0xFF, // .;..X...
/* 0AC8 */ 0x57, 0x2C, 0xD8, 0xA2, 0xAE, 0x58, 0x00, 0x4D, // W,...X.M
/* 0AD0 */ 0x4E, 0x0E, 0xB8, 0x2B, 0x16, 0x58, 0xEE, 0x0E, // N..+.X..
/* 0AD8 */ 0xD8, 0xBB, 0x12, 0xFC, 0x4B, 0x16, 0x30, 0xFB, // ....K.0.
/* 0AE0 */ 0xFF, 0x5F, 0xB2, 0x80, 0x85, 0x82, 0xB7, 0x82, // ._......
/* 0AE8 */ 0xCE, 0x1E, 0x4E, 0x7F, 0xC9, 0x42, 0x9D, 0x44, // ..N..B.D
/* 0AF0 */ 0xAC, 0x09, 0x48, 0x53, 0x05, 0xD7, 0x2D, 0x0B, // ..HS..-.
/* 0AF8 */ 0x60, 0xDC, 0xFF, 0xFF, 0x96, 0x05, 0x78, 0x08, // `.....x.
/* 0B00 */ 0x78, 0xCB, 0x02, 0x7A, 0x37, 0x24, 0xF0, 0xA2, // x..z7$..
/* 0B08 */ 0xBC, 0x21, 0x61, 0x2F, 0x5A, 0xF0, 0x92, 0x5E, // .!a/Z..^
/* 0B10 */ 0xB4, 0x68, 0x9C, 0xB5, 0x28, 0xE2, 0xAA, 0x28, // .h..(..(
/* 0B18 */ 0x8C, 0x2F, 0x5A, 0x80, 0x9F, 0xFF, 0xFF, 0xB8, // ./Z.....
/* 0B20 */ 0x7D, 0x6B, 0xC1, 0x8D, 0x1B, 0xEE, 0xE5, 0xC9, // }k......
/* 0B28 */ 0x37, 0x1F, 0xCF, 0x36, 0xA2, 0xAF, 0x31, 0x98, // 7..6..1.
/* 0B30 */ 0x73, 0x16, 0xBC, 0x6B, 0x16, 0xEC, 0x9B, 0xD5, // s..k....
/* 0B38 */ 0x8B, 0xD5, 0x69, 0x3E, 0x59, 0x05, 0x79, 0xB8, // ..i>Y.y.
/* 0B40 */ 0xF2, 0xF9, 0x2A, 0xF4, 0x1B, 0x56, 0x84, 0xF7, // ..*..V..
/* 0B48 */ 0xAC, 0xD7, 0x2C, 0xDF, 0x89, 0xA3, 0xC4, 0x78, // ..,....x
/* 0B50 */ 0x32, 0x36, 0x46, 0x94, 0x80, 0x51, 0x82, 0x45, // 26F..Q.E
/* 0B58 */ 0x0D, 0xFC, 0x00, 0x11, 0x27, 0xC6, 0x8B, 0x56, // ....'..V
/* 0B60 */ 0x98, 0x33, 0x78, 0xEA, 0xF2, 0x4D, 0xE2, 0x35, // .3x..M.5
/* 0B68 */ 0x0B, 0xE0, 0xCF, 0xFF, 0xFF, 0x9A, 0x05, 0x8C, // ........
/* 0B70 */ 0x6E, 0x0E, 0xFC, 0xE4, 0x80, 0xBD, 0x66, 0x01, // n.....f.
/* 0B78 */ 0xDE, 0x2E, 0x59, 0x3E, 0x79, 0xF8, 0x74, 0xEC, // ..Y>y.t.
/* 0B80 */ 0x6B, 0x16, 0x7E, 0xAA, 0xE0, 0xBA, 0x66, 0x01, // k.~...f.
/* 0B88 */ 0x5E, 0xFE, 0xFF, 0xD7, 0x2C, 0x80, 0x61, 0xE1, // ^...,.a.
/* 0B90 */ 0xAE, 0x59, 0x40, 0xEF, 0x7E, 0x04, 0xF6, 0xFF, // .Y@.~...
/* 0B98 */ 0xFF, 0xFD, 0x08, 0xA6, 0xE6, 0x4B, 0x16, 0x0D, // .....K..
/* 0BA0 */ 0xB3, 0x12, 0x85, 0x5B, 0x13, 0x85, 0xF1, 0x25, // ...[...%
/* 0BA8 */ 0x0B, 0x70, 0x74, 0xC2, 0x06, 0xD3, 0x74, 0x7D, // .pt...t}
/* 0BB0 */ 0xC1, 0xC6, 0x0D, 0xE6, 0xD4, 0xA2, 0x46, 0xE8, // ......F.
/* 0BB8 */ 0x1D, 0x51, 0x17, 0x36, 0x76, 0x34, 0x06, 0xC7, // .Q.6v4..
/* 0BC0 */ 0x15, 0xCB, 0x17, 0xAB, 0xF7, 0x2B, 0x1F, 0x87, // .....+..
/* 0BC8 */ 0x7D, 0x66, 0x78, 0xBD, 0x32, 0xDA, 0x9B, 0xD5, // }fx.2...
/* 0BD0 */ 0xB3, 0xC3, 0x3B, 0x96, 0xB1, 0x22, 0xF8, 0x68, // ..;..".h
/* 0BD8 */ 0xEC, 0xC3, 0x96, 0xCF, 0x59, 0x51, 0x1E, 0x8E, // ....YQ..
/* 0BE0 */ 0x8D, 0xF9, 0x88, 0x15, 0xE8, 0x3C, 0x02, 0x87, // .....<..
/* 0BE8 */ 0x88, 0x16, 0x2B, 0x6C, 0x88, 0x77, 0x2C, 0xF0, // ..+l.w,.
/* 0BF0 */ 0x0A, 0xBA, 0x63, 0x81, 0xF8, 0xFF, 0x7F, 0xC7, // ..c.....
/* 0BF8 */ 0x02, 0x6C, 0x9F, 0x3D, 0x70, 0x77, 0x2C, 0xB0, // .l.=pw,.
/* 0C00 */ 0x5C, 0x1C, 0xD8, 0xC1, 0x89, 0xDF, 0x1B, 0xF0, // \.......
/* 0C08 */ 0x37, 0x2C, 0xC0, 0x53, 0x9A, 0x1B, 0x16, 0x4D, // 7,.S...M
/* 0C10 */ 0x72, 0xC3, 0x42, 0x1D, 0x4D, 0xAC, 0x47, 0xC1, // r.B.M.G.
/* 0C18 */ 0xFF, 0xFF, 0xC4, 0xC1, 0x27, 0x0A, 0xFB, 0x7E, // ....'..~
/* 0C20 */ 0x05, 0xFE, 0x59, 0xF8, 0x7E, 0x05, 0xD8, 0xC6, // ..Y.~...
/* 0C28 */ 0x7F, 0xBF, 0x02, 0x2C, 0xFD, 0xFF, 0xEF, 0x57, // ...,...W
/* 0C30 */ 0xF0, 0x0F, 0x8C, 0x1E, 0xA9, 0x2F, 0x55, 0xE0, // ...../U.
/* 0C38 */ 0xBA, 0x6A, 0xE1, 0x41, 0x5F, 0xB5, 0x60, 0xE6, // .j.A_.`.
/* 0C40 */ 0x3C, 0xFE, 0xA2, 0x02, 0x1E, 0x7F, 0x01, 0xAD, // <.......
/* 0C48 */ 0x37, 0x29, 0x7E, 0x50, 0x7A, 0x56, 0x78, 0x22, // 7)~PzVx"
/* 0C50 */ 0x32, 0x1A, 0x47, 0x7A, 0x73, 0xB0, 0x71, 0x2C, // 2.Gzs.q,
/* 0C58 */ 0x81, 0x1B, 0xD1, 0xC7, 0x5F, 0x30, 0x8C, 0xE0, // ...._0..
/* 0C60 */ 0xE1, 0xE9, 0x99, 0xE1, 0x35, 0xCA, 0xD7, 0x27, // ....5..'
/* 0C68 */ 0xDF, 0xA5, 0x9E, 0xA1, 0x82, 0x3D, 0x4D, 0xF9, // .....=M.
/* 0C70 */ 0x02, 0xEC, 0xAB, 0x94, 0x71, 0xDE, 0xA2, 0xA2, // ....q...
/* 0C78 */ 0xC4, 0x79, 0x8A, 0x32, 0x66, 0x94, 0x70, 0x11, // .y.2f.p.
/* 0C80 */ 0x22, 0x3D, 0x53, 0x19, 0x22, 0x7C, 0x84, 0x68, // "=S."|.h
/* 0C88 */ 0xCF, 0x53, 0x8F, 0x53, 0xBE, 0x4A, 0xF1, 0xFF, // .S.S.J..
/* 0C90 */ 0xFF, 0x55, 0x0A, 0x7C, 0x92, 0xAE, 0x52, 0x00, // .U.|..R.
/* 0C98 */ 0x4D, 0x86, 0xFF, 0x2A, 0x05, 0xD6, 0x93, 0x03, // M..*....
/* 0CA0 */ 0xFE, 0xE2, 0x80, 0x3D, 0x38, 0xB0, 0xBB, 0x14, // ...=8...
/* 0CA8 */ 0x70, 0xF9, 0xFF, 0x9F, 0x7E, 0x81, 0xEF, 0x4C, // p...~..L
/* 0CB0 */ 0xC1, 0x74, 0xFA, 0x05, 0x58, 0xF6, 0xFF, 0x3F, // .t..X..?
/* 0CB8 */ 0xFD, 0x02, 0xEC, 0xB8, 0x1E, 0x81, 0x2F, 0xF9, // ....../.
/* 0CC0 */ 0x1D, 0x8B, 0x46, 0x5A, 0x89, 0xA2, 0xAE, 0x89, // ..FZ....
/* 0CC8 */ 0xC2, 0xF8, 0x8E, 0x05, 0x98, 0xF9, 0xFF, 0xDF, // ........
/* 0CD0 */ 0xB1, 0x30, 0x57, 0x35, 0x8F, 0x1A, 0x2C, 0xC3, // .0W5..,.
/* 0CD8 */ 0x7A, 0xFF, 0xF1, 0x68, 0xDF, 0x12, 0x0E, 0xF8, // z..h....
/* 0CE0 */ 0x7C, 0x0D, 0x76, 0x16, 0x6F, 0xD1, 0xF0, 0x6F, // |.v.o..o
/* 0CE8 */ 0x59, 0xB0, 0xA7, 0xF0, 0x60, 0xF5, 0x10, 0xF3, // Y...`...
/* 0CF0 */ 0x26, 0x70, 0xA4, 0x6F, 0x52, 0x2F, 0xBE, 0x6C, // &p.oR/.l
/* 0CF8 */ 0x64, 0x11, 0x7C, 0xA0, 0x78, 0xCB, 0x32, 0x50, // d.|.x.2P
/* 0D00 */ 0xCC, 0xB7, 0xAB, 0xA7, 0x60, 0x63, 0x44, 0x88, // ....`cD.
/* 0D08 */ 0xF5, 0x0A, 0xEC, 0xF3, 0x43, 0xD0, 0x30, 0x91, // ....C.0.
/* 0D10 */ 0x18, 0x66, 0x74, 0x1F, 0xB3, 0x7C, 0xCB, 0x02, // .ft..|..
/* 0D18 */ 0xAF, 0xB0, 0x5B, 0x16, 0x20, 0xFE, 0xFF, 0x7F, // ..[. ...
/* 0D20 */ 0xCB, 0x02, 0xDB, 0x09, 0x01, 0x77, 0xCB, 0x02, // .....w..
/* 0D28 */ 0xCF, 0xDD, 0x81, 0x9D, 0x1D, 0x70, 0x57, 0x07, // .....pW.
/* 0D30 */ 0xEC, 0xD1, 0x01, 0x0B, 0xF9, 0x10, 0x0C, 0x38, // .......8
/* 0D38 */ 0x52, 0xF1, 0x5A, 0xD0, 0xB5, 0x8A, 0x80, 0xE8, // R.Z.....
/* 0D40 */ 0xA2, 0xC5, 0x8F, 0x13, 0xD6, 0x75, 0xD1, 0x22, // .....u."
/* 0D48 */ 0x93, 0x05, 0xE3, 0x55, 0x0B, 0x98, 0xFF, 0xFF, // ...U....
/* 0D50 */ 0xAF, 0x5A, 0x00, 0xFF, 0x02, 0x5E, 0xB5, 0x80, // .Z...^..
/* 0D58 */ 0xDE, 0x2D, 0x09, 0xFE, 0xFF, 0xFF, 0x96, 0x04, // .-......
/* 0D60 */ 0xFE, 0xCB, 0x16, 0xE0, 0xF8, 0x02, 0xE5, 0xDB, // ........
/* 0D68 */ 0x8F, 0x2F, 0x5B, 0xC0, 0xE5, 0x72, 0x1C, 0xE1, // ./[..r..
/* 0D70 */ 0x40, 0x9F, 0xB0, 0x5E, 0x8E, 0x1F, 0x92, 0x0D, // @..^....
/* 0D78 */ 0xF5, 0x94, 0x15, 0xE4, 0x05, 0xEB, 0x9D, 0xEA, // ........
/* 0D80 */ 0xFD, 0xD8, 0x60, 0x07, 0x17, 0x2D, 0x50, 0x94, // ..`..-P.
/* 0D88 */ 0xC7, 0x87, 0xF7, 0xE3, 0xE7, 0xAC, 0x37, 0x2E, // ......7.
/* 0D90 */ 0x83, 0x18, 0xEB, 0x55, 0xD9, 0x57, 0x2F, 0x1F, // ...U.W/.
/* 0D98 */ 0xB8, 0x42, 0x1C, 0xD3, 0x23, 0xB3, 0x2F, 0x5B, // .B..#./[
/* 0DA0 */ 0xE0, 0xFF, 0xFF, 0x5F, 0xB6, 0x00, 0x46, 0xDD, // ..._..F.
/* 0DA8 */ 0x1D, 0xF8, 0x65, 0x0B, 0xB0, 0xF4, 0xFF, 0xBF, // ..e.....
/* 0DB0 */ 0x6C, 0x01, 0x87, 0xC9, 0x82, 0xF3, 0xB2, 0x05, // l.......
/* 0DB8 */ 0xF0, 0xF0, 0xFF, 0x7F, 0xD9, 0x02, 0xCC, 0xDF, // ........
/* 0DC0 */ 0x92, 0xC0, 0x9B, 0xFF, 0xB2, 0x45, 0x43, 0xAD, // .....EC.
/* 0DC8 */ 0x45, 0x61, 0x57, 0x45, 0x61, 0x7C, 0xD9, 0x02, // EaWEa|..
/* 0DD0 */ 0x1C, 0x8D, 0xDC, 0xE3, 0xC6, 0xFE, 0xFF, 0xC7, // ........
/* 0DD8 */ 0x0D, 0xFF, 0x36, 0x15, 0xE4, 0x55, 0xC8, 0x40, // ..6..U.@
/* 0DE0 */ 0x21, 0x0F, 0xEE, 0xBC, 0xC1, 0x70, 0xDB, 0x82, // !....p..
/* 0DE8 */ 0x7D, 0xBC, 0x7A, 0x9F, 0x7A, 0xD4, 0xF2, 0xD9, // }.z.z...
/* 0DF0 */ 0xD8, 0x67, 0xAC, 0x08, 0x2F, 0x5A, 0x46, 0x0B, // .g../ZF.
/* 0DF8 */ 0xF5, 0x9E, 0xEC, 0xF1, 0x86, 0x8A, 0xE5, 0x7B, // .......{
/* 0E00 */ 0xB2, 0xCF, 0x15, 0x91, 0xDE, 0x98, 0x8D, 0xF7, // ........
/* 0E08 */ 0xA2, 0x6C, 0xAC, 0x37, 0xAF, 0x60, 0xA1, 0xC2, // .l.7.`..
/* 0E10 */ 0x18, 0xF6, 0x09, 0xCB, 0xB7, 0x2D, 0x80, 0x49, // .....-.I
/* 0E18 */ 0xFF, 0xFF, 0xDB, 0x16, 0xF0, 0x39, 0x3C, 0x60, // .....9<`
/* 0E20 */ 0x6F, 0x4C, 0xF0, 0x6F, 0x5B, 0x80, 0x1F, 0x25, // oL.o[..%
/* 0E28 */ 0xB7, 0x2D, 0x7A, 0xDF, 0xF2, 0x6D, 0x8B, 0xDF, // .-z..m..
/* 0E30 */ 0x2B, 0x12, 0x54, 0x76, 0xDB, 0x42, 0x4D, 0x16, // +.Tv.BM.
/* 0E38 */ 0x6C, 0xD7, 0x2D, 0xC0, 0xC7, 0xFF, 0xFF, 0xBA, // l.-.....
/* 0E40 */ 0x05, 0x70, 0x2D, 0xE2, 0x75, 0x0B, 0xE8, 0xDD, // .p-.u...
/* 0E48 */ 0x93, 0xC0, 0xF9, 0xFF, 0xBF, 0x27, 0x81, 0x4F, // .....'.O
/* 0E50 */ 0xC5, 0x4F, 0xCB, 0x04, 0x8A, 0xB5, 0x18, 0x05, // .O......
/* 0E58 */ 0x5E, 0x16, 0x85, 0xF1, 0x7D, 0x0B, 0x70, 0x74, // ^...}.pt
/* 0E60 */ 0xCB, 0xC1, 0x9D, 0xB9, 0x81, 0x11, 0xD0, 0xD9, // ........
/* 0E68 */ 0xF8, 0xC2, 0x05, 0x7F, 0xA4, 0x0F, 0x0E, 0x0F, // ........
/* 0E70 */ 0x55, 0xBE, 0x20, 0xFB, 0x7E, 0xFC, 0xA4, 0xE5, // U. .~...
/* 0E78 */ 0x53, 0xB2, 0x4F, 0x5D, 0xBE, 0x70, 0xB1, 0xE3, // S.O].p..
/* 0E80 */ 0x16, 0x3F, 0x7A, 0x19, 0x23, 0x4A, 0xCC, 0x28, // .?z.#J.(
/* 0E88 */ 0x91, 0x62, 0x44, 0xF3, 0x8D, 0x2B, 0x72, 0x90, // .bD..+r.
/* 0E90 */ 0x03, 0x30, 0xC4, 0x0B, 0x17, 0x78, 0xA5, 0x5D, // .0...x.]
/* 0E98 */ 0xB8, 0xD0, 0xFF, 0xFF, 0x0B, 0x17, 0xC0, 0x0B, // ........
/* 0EA0 */ 0x94, 0x17, 0x2E, 0xF0, 0xDD, 0x1E, 0xF8, 0x8D, // ........
/* 0EA8 */ 0x17, 0x4C, 0x87, 0x07, 0x7E, 0xE3, 0x02, 0xEE, // .L..~...
/* 0EB0 */ 0xFF, 0xFF, 0x1B, 0x17, 0x38, 0xB4, 0xDC, 0xB8, // ....8...
/* 0EB8 */ 0xA8, 0x8E, 0x1B, 0x17, 0x94, 0xD9, 0x82, 0xF7, // ........
/* 0EC0 */ 0xC6, 0x05, 0xF0, 0xF0, 0xFF, 0x7F, 0xE3, 0x02, // ........
/* 0EC8 */ 0xC6, 0x21, 0x6F, 0x5C, 0x40, 0xEF, 0xA6, 0x04, // .!o\@...
/* 0ED0 */ 0x3C, 0xAF, 0x5C, 0x80, 0xC5, 0xFF, 0xFF, 0xC9, // <.\.....
/* 0ED8 */ 0x1B, 0x38, 0x5D, 0xB9, 0xC0, 0x72, 0xC8, 0x7A, // .8]..r.z
/* 0EE0 */ 0xC7, 0x3A, 0x8B, 0xB7, 0xAA, 0x38, 0xAF, 0xCC, // .:...8..
/* 0EE8 */ 0xBE, 0x53, 0x3C, 0x6B, 0xF9, 0x9E, 0x15, 0x29, // .S<k...)
/* 0EF0 */ 0xC2, 0x2B, 0x97, 0xAF, 0xCA, 0x3E, 0x6C, 0x45, // .+...>lE
/* 0EF8 */ 0x89, 0x11, 0x28, 0xE8, 0x7B, 0x17, 0x9B, 0xC5, // ..(.{...
/* 0F00 */ 0x53, 0xD7, 0x33, 0xD7, 0x23, 0xB3, 0xD1, 0x82, // S.3.#...
/* 0F08 */ 0x85, 0x0D, 0x13, 0x3E, 0xC6, 0x2B, 0x17, 0xC0, // ...>.+..
/* 0F10 */ 0x9E, 0xFF, 0xFF, 0x95, 0x0B, 0x38, 0xDD, 0x1E, // .....8..
/* 0F18 */ 0xF8, 0x95, 0x0B, 0xB0, 0x3D, 0x5B, 0xF0, 0x5E, // ....=[.^
/* 0F20 */ 0xB9, 0x80, 0xFD, 0xFF, 0xFF, 0xCA, 0x05, 0xF0, // ........
/* 0F28 */ 0xFF, 0xFF, 0x7F, 0x53, 0x02, 0x0E, 0x3A, 0xAE, // ...S..:.
/* 0F30 */ 0x5C, 0x80, 0xEC, 0xD3, 0x37, 0xD8, 0x66, 0xCE, // \...7.f.
/* 0F38 */ 0xAF, 0x5C, 0x70, 0x6F, 0x03, 0x4F, 0x39, 0x3E, // .\po.O9>
/* 0F40 */ 0x65, 0x3D, 0x63, 0x3D, 0x70, 0xF9, 0xB6, 0xCC, // e=c=p...
/* 0F48 */ 0x86, 0x1B, 0xEE, 0x5D, 0xEB, 0x6D, 0xCB, 0x07, // ...].m..
/* 0F50 */ 0x66, 0x43, 0x3C, 0x35, 0xFB, 0xC8, 0x15, 0x2A, // fC<5...*
/* 0F58 */ 0x8A, 0x31, 0xA2, 0xBC, 0x3C, 0x1B, 0x29, 0x44, // .1..<.)D
/* 0F60 */ 0xD4, 0x78, 0x31, 0x82, 0x47, 0x7A, 0xA4, 0xF1, // .x1.Gz..
/* 0F68 */ 0x95, 0x0B, 0x8C, 0xFF, 0xFF, 0x2B, 0x17, 0xC0, // .....+..
/* 0F70 */ 0xB2, 0xD3, 0x03, 0xF6, 0xD6, 0x04, 0x8E, 0x2B, // .......+
/* 0F78 */ 0x17, 0xF0, 0xFC, 0xFF, 0x5F, 0xB9, 0xC0, 0xAB, // ...._...
/* 0F80 */ 0xE6, 0xCA, 0x45, 0x95, 0x5C, 0xB9, 0x50, 0xF2, // ..E.\.P.
/* 0F88 */ 0x20, 0xA4, 0xED, 0xCA, 0x85, 0x9A, 0x2D, 0x18, // .....-.
/* 0F90 */ 0xEF, 0x5C, 0x00, 0xE3, 0xFE, 0xFF, 0x77, 0x2E, // .\....w.
/* 0F98 */ 0x80, 0x1B, 0x57, 0x25, 0xB0, 0x2A, 0xB4, 0xE9, // ..W%.*..
/* 0FA0 */ 0x53, 0xA3, 0x51, 0xAB, 0x06, 0x65, 0x6A, 0x94, // S.Q..ej.
/* 0FA8 */ 0x69, 0x50, 0xAB, 0x4F, 0xA5, 0xC6, 0x8C, 0xD5, // iP.O....
/* 0FB0 */ 0xB9, 0x08, 0xF9, 0x96, 0x41, 0xC5, 0xAC, 0x4D, // ....A..M
/* 0FB8 */ 0x83, 0x73, 0x14, 0x10, 0x2A, 0x5B, 0x02, 0x08, // .s..*[..
/* 0FC0 */ 0x0B, 0xF9, 0x1F, 0x12, 0xA0, 0x83, 0x7D, 0xBE, // ......}.
/* 0FC8 */ 0x34, 0x62, 0xB2, 0x34, 0x81, 0x38, 0xBE, 0x09, // 4b.4.8..
/* 0FD0 */ 0x88, 0x46, 0x8E, 0x93, 0x56, 0x01, 0xC4, 0x72, // .F..V..r
/* 0FD8 */ 0x83, 0x08, 0xC8, 0x2A, 0x16, 0x2E, 0x20, 0x6B, // ...*.. k
/* 0FE0 */ 0xFE, 0xE5, 0x08, 0xDC, 0x3A, 0x75, 0x00, 0xB1, // ....:u..
/* 0FE8 */ 0x94, 0x20, 0x34, 0xD1, 0x93, 0x40, 0xA0, 0x8E, // . 4..@..
/* 0FF0 */ 0x07, 0xA2, 0xC1, 0x10, 0x1A, 0x01, 0x39, 0x18, // ......9.
/* 0FF8 */ 0x85, 0x80, 0x2C, 0xC3, 0x09, 0x38, 0x13, 0x60, // ..,..8.`
/* 1000 */ 0xE5, 0xFF, 0x0F, 0xC4, 0xE4, 0x83, 0x50, 0xC1, // ......P.
/* 1008 */ 0x5E, 0x40, 0x99, 0x7A, 0x10, 0x01, 0x59, 0xE9, // ^@.z..Y.
/* 1010 */ 0xD2, 0x05, 0x64, 0xDD, 0x20, 0x02, 0x72, 0x56, // ..d. .rV
/* 1018 */ 0x33, 0xE0, 0x2C, 0xA3, 0x1B, 0x20, 0xA6, 0xF0, // 3.,.. ..
/* 1020 */ 0x09, 0x21, 0x10, 0x6B, 0xD2, 0x03, 0xCA, 0x04, // .!.k....
/* 1028 */ 0x82, 0xE8, 0x2A, 0x42, 0xFC, 0x00, 0x31, 0x69, // ..*B..1i
/* 1030 */ 0x20, 0x02, 0x72, 0x9C, 0x8B, 0x8B, 0xC0, 0x1D, // .r.....
/* 1038 */ 0x47, 0x11, 0x20, 0x75, 0x34, 0x5C, 0x0A, 0x42, // G. u4\.B
/* 1040 */ 0xC5, 0x7F, 0xD9, 0x04, 0x62, 0x41, 0x96, 0xC0, // ....bA..
/* 1048 */ 0x28, 0x08, 0x8D, 0xA0, 0x09, 0x84, 0xC9, 0xF3, // (.......
/* 1050 */ 0x04, 0xC2, 0x42, 0x89, 0x1A, 0x02, 0x0B, 0xA2, // ..B.....
/* 1058 */ 0x6A, 0x88, 0xD4, 0x15, 0x08, 0x0B, 0xFC, 0x64, // j......d
/* 1060 */ 0xD0, 0x60, 0x9C, 0x1E, 0x44, 0x40, 0x4E, 0xFA, // .`..D@N.
/* 1068 */ 0xF2, 0x0A, 0x44, 0x72, 0x83, 0x08, 0xC8, 0xF9, // ..Dr....
/* 1070 */ 0x9F, 0x28, 0x02, 0x77, 0xEA, 0x77, 0x86, 0x86, // .(.w.w..
/* 1078 */ 0x4F, 0x3E, 0x5F, 0x41, 0x88, 0xB8, 0x1F, 0x58, // O>_A...X
/* 1080 */ 0x50, 0xA2, 0x14, 0x44, 0x40, 0x56, 0xF6, 0xFF, // P..D@V..
/* 1088 */ 0x12, 0x90, 0x75, 0x82, 0x08, 0xC8, 0x7A, 0x9F, // ..u...z.
/* 1090 */ 0xD5, 0x0F, 0x02, 0xEC, 0x1F, 0xF6, 0x20, 0xC0, // ...... .
/* 1098 */ 0x40, 0x68, 0xAA, 0xE7, 0x97, 0x40, 0x1D, 0x11, // @h...@..
/* 10A0 */ 0x44, 0x03, 0x25, 0xEA, 0x80, 0x58, 0x38, 0x10, // D.%..X8.
/* 10A8 */ 0x0D, 0x90, 0xB8, 0x03, 0x67, 0xD1, 0xEC, 0x01, // ....g...
/* 10B0 */ 0x31, 0x61, 0xDF, 0x16, 0x81, 0x58, 0x88, 0x3F, // 1a...X.?
/* 10B8 */ 0x10, 0x26, 0xFD, 0xF5, 0x21, 0x40, 0x4B, 0x7E, // .&..!@K~
/* 10C0 */ 0x08, 0x1D, 0x20, 0x03, 0xA1, 0x01, 0x7F, 0x24, // .. ....$
/* 10C8 */ 0x1A, 0x82, 0xD3, 0x82, 0x08, 0xC8, 0xC9, 0x1E, // ........
/* 10D0 */ 0x23, 0x02, 0x72, 0x4E, 0x10, 0x0D, 0x8C, 0xFC, // #.rN....
/* 10D8 */ 0xDE, 0x82, 0x13, 0x3D, 0x1F, 0x40, 0x01, 0x39, // ...=.@.9
/* 10E0 */ 0x0D, 0x08, 0x55, 0xEE, 0x12, 0x94, 0xC5, 0x00, // ..U.....
/* 10E8 */ 0x11, 0x90, 0x25, 0xBF, 0x30, 0x02, 0x91, 0x00, // ..%.0...
/* 10F0 */ 0x20, 0x1A, 0x08, 0xF9, 0x74, 0x04, 0x27, 0x41, // ...t.'A
/* 10F8 */ 0x7D, 0x02, 0x31, 0x99, 0x6F, 0x92, 0x47, 0x09, // }.1.o.G.
/* 1100 */ 0xA6, 0xF4, 0xFF, 0x0F, 0xCA, 0x34, 0x82, 0x08, // .....4..
/* 1108 */ 0xC8, 0x7A, 0x3E, 0x25, 0x02, 0xB2, 0x3A, 0x10, // .z>%..:.
/* 1110 */ 0x01, 0x39, 0xCF, 0xD3, 0x24, 0x38, 0x49, 0xA3, // .9..$8I.
/* 1118 */ 0x15, 0x88, 0x69, 0x79, 0x88, 0x04, 0x21, 0x0A, // ..iy..!.
/* 1120 */ 0xDE, 0x2C, 0x41, 0x89, 0x1C, 0x10, 0x01, 0x39, // .,A....9
/* 1128 */ 0x3A, 0x10, 0x15, 0xA2, 0x16, 0x88, 0x05, 0x70, // :......p
/* 1130 */ 0x0B, 0xCE, 0xA4, 0xDB, 0x05, 0x62, 0xC1, 0x41, // .....b.A
/* 1138 */ 0x68, 0xDC, 0x1F, 0x4B, 0x50, 0x92, 0x1D, 0x44, // h..KP..D
/* 1140 */ 0x40, 0xCE, 0x29, 0x18, 0x88, 0xA5, 0x06, 0xD1, // @.).....
/* 1148 */ 0x61, 0x82, 0x7C, 0xC6, 0x82, 0x13, 0x85, 0xAF, // a.|.....
/* 1150 */ 0x13, 0x01, 0x39, 0x1F, 0x08, 0x4D, 0xF3, 0x1B, // ..9..M..
/* 1158 */ 0x09, 0x4A, 0xA2, 0x81, 0x08, 0xC8, 0x31, 0xBE, // .J....1.
/* 1160 */ 0x33, 0x02, 0x72, 0x28, 0x10, 0x01, 0x39, 0xDC, // 3.r(..9.
/* 1168 */ 0x3B, 0x45, 0xE0, 0x8E, 0xA5, 0x1A, 0x88, 0x89, // ;E......
/* 1170 */ 0xFA, 0xD0, 0x3D, 0x0C, 0xB0, 0x3F, 0x4B, 0x50, // ..=..?KP
/* 1178 */ 0xA2, 0x0A, 0x44, 0xC3, 0x23, 0x0F, 0x15, 0x01, // ..D.#...
/* 1180 */ 0x59, 0x0F, 0x88, 0x80, 0x9C, 0xE1, 0x9B, 0x12, // Y.......
/* 1188 */ 0x9C, 0x24, 0x30, 0x7E, 0x74, 0xA0, 0x20, 0x34, // .$0~t. 4
/* 1190 */ 0xFD, 0xB3, 0x25, 0x28, 0x91, 0xF2, 0xF8, 0x11, // ..%(....
/* 1198 */ 0x90, 0x63, 0x83, 0x08, 0xC8, 0x22, 0xBE, 0x2B, // .c...".+
/* 11A0 */ 0x0F, 0x17, 0xEC, 0x27, 0xA9, 0x81, 0x92, 0xC7, // ...'....
/* 11A8 */ 0x8A, 0x06, 0x4A, 0x40, 0x68, 0x6C, 0xF5, 0xA0, // ..J@hl..
/* 11B0 */ 0x4C, 0x83, 0x7B, 0x20, 0x96, 0x17, 0x44, 0xC7, // L.{ ..D.
/* 11B8 */ 0x0A, 0x02, 0x44, 0x55, 0xDB, 0x07, 0x67, 0xAA, // ..DU..g.
/* 11C0 */ 0xFD, 0x03, 0xB1, 0xCC, 0x20, 0xBC, 0x00, 0x28, // .... ..(
/* 11C8 */ 0x5B, 0x52, 0x20, 0x16, 0x16, 0x44, 0x40, 0x8E, // [R ..D@.
/* 11D0 */ 0x0E, 0x44, 0x45, 0x47, 0x00, 0x67, 0xB2, 0x33, // .DEG.g.3
/* 11D8 */ 0x00, 0xB1, 0xD0, 0x20, 0x34, 0x76, 0x88, 0xC1, // ... 4v..
/* 11E0 */ 0xD0, 0x12, 0x83, 0xA1, 0x20, 0x1A, 0x0C, 0x01, // .... ...
/* 11E8 */ 0xA2, 0xCA, 0x5B, 0x80, 0x33, 0xED, 0x35, 0x80, // ..[.3.5.
/* 11F0 */ 0x58, 0x72, 0x10, 0x9A, 0xBD, 0xC7, 0xE1, 0x80, // Xr......
/* 11F8 */ 0x06, 0xF9, 0xFF, 0x0F, 0x82, 0x82, 0x08, 0xC8, // ........
/* 1200 */ 0x12, 0x8A, 0x1C, 0x5A, 0x68, 0x12, 0x70, 0x16, // ...Zh.p.
/* 1208 */ 0xE0, 0x31, 0xA5, 0x23, 0x0D, 0x01, 0xA1, 0x12, // .1.#....
/* 1210 */ 0xBA, 0x1C, 0x00, 0x28, 0x88, 0x86, 0x40, 0x80, // ...(..@.
/* 1218 */ 0xA8, 0x92, 0x30, 0x40, 0xEC, 0xFF, 0x0F // ..0@...
})
}
Device (WMI2)
{
Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
Name (_UID, 0x02) // _UID: Unique ID
Name (_WDG, Buffer (0x78)
{
/* 0000 */ 0xF1, 0x24, 0xB4, 0xFC, 0x5A, 0x07, 0x0E, 0x4E, // .$..Z..N
/* 0008 */ 0xBF, 0xC4, 0x62, 0xF3, 0xE7, 0x17, 0x71, 0xFA, // ..b...q.
/* 0010 */ 0x41, 0x37, 0x01, 0x01, 0xE3, 0x5E, 0xBE, 0xE2, // A7...^..
/* 0018 */ 0xDA, 0x42, 0xDB, 0x49, 0x83, 0x78, 0x1F, 0x52, // .B.I.x.R
/* 0020 */ 0x47, 0x38, 0x82, 0x02, 0x41, 0x38, 0x01, 0x02, // G8..A8..
/* 0028 */ 0x9A, 0x01, 0x30, 0x74, 0xE9, 0xDC, 0x48, 0x45, // ..0t..HE
/* 0030 */ 0xBA, 0xB0, 0x9F, 0xDE, 0x09, 0x35, 0xCA, 0xFF, // .....5..
/* 0038 */ 0x41, 0x39, 0x14, 0x05, 0x03, 0x70, 0xF4, 0x7F, // A9...p..
/* 0040 */ 0x6C, 0x3B, 0x5E, 0x4E, 0xA2, 0x27, 0xE9, 0x79, // l;^N.'.y
/* 0048 */ 0x82, 0x4A, 0x85, 0xD1, 0x41, 0x41, 0x01, 0x06, // .J..AA..
/* 0050 */ 0x20, 0x63, 0x11, 0x91, 0x7E, 0x59, 0x98, 0x45, // c..~Y.E
/* 0058 */ 0xA1, 0x02, 0x4A, 0xEC, 0x83, 0x75, 0xC6, 0x49, // ..J..u.I
/* 0060 */ 0x46, 0x39, 0x01, 0x06, 0x21, 0x12, 0x90, 0x05, // F9..!...
/* 0068 */ 0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0, // f.......
/* 0070 */ 0xC9, 0x06, 0x29, 0x10, 0x42, 0x42, 0x01, 0x00 // ..).BB..
})
Name (PREL, Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
Method (WQA7, 1, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
WMIS (0x07, 0x00)
PREL [0x00] = WLS0 /* \WLS0 */
PREL [0x01] = WLS1 /* \WLS1 */
PREL [0x02] = WLS2 /* \WLS2 */
PREL [0x03] = WLS3 /* \WLS3 */
PREL [0x04] = WLS4 /* \WLS4 */
PREL [0x05] = WLS5 /* \WLS5 */
PREL [0x06] = WLS6 /* \WLS6 */
PREL [0x07] = WLS7 /* \WLS7 */
Release (^^WMI1.MWMI)
Return (PREL) /* \_SB_.WMI2.PREL */
}
Method (WMA8, 3, NotSerialized)
{
CreateByteField (Arg2, 0x00, PRE0)
CreateByteField (Arg2, 0x01, PRE1)
CreateByteField (Arg2, 0x02, PRE2)
CreateByteField (Arg2, 0x03, PRE3)
CreateByteField (Arg2, 0x04, PRE4)
CreateByteField (Arg2, 0x05, PRE5)
CreateByteField (Arg2, 0x06, PRE6)
CreateByteField (Arg2, 0x07, PRE7)
Acquire (^^WMI1.MWMI, 0xFFFF)
WLS0 = PRE0 /* \_SB_.WMI2.WMA8.PRE0 */
WLS1 = PRE1 /* \_SB_.WMI2.WMA8.PRE1 */
WLS2 = PRE2 /* \_SB_.WMI2.WMA8.PRE2 */
WLS3 = PRE3 /* \_SB_.WMI2.WMA8.PRE3 */
WLS4 = PRE4 /* \_SB_.WMI2.WMA8.PRE4 */
WLS5 = PRE5 /* \_SB_.WMI2.WMA8.PRE5 */
WLS6 = PRE6 /* \_SB_.WMI2.WMA8.PRE6 */
WLS7 = PRE7 /* \_SB_.WMI2.WMA8.PRE7 */
WMIS (0x08, 0x00)
Release (^^WMI1.MWMI)
}
Name (ITEM, Package (0x0F)
{
Package (0x02)
{
0x00,
"InhibitEnteringThinkPadSetup"
},
Package (0x02)
{
0x03,
"MTMSerialConcatenation"
},
Package (0x02)
{
0x00,
"SwapProductName"
},
Package (0x02)
{
0x00,
"ComputraceMsgDisable"
},
Package (0x02)
{
0x00,
"CpuDebugEnable"
},
Package (0x02)
{
0x00,
"PasswordAfterBootDeviceList"
},
Package (0x02)
{
0x02,
"SpecialCharForPassword"
},
Package (0x02)
{
0x00,
"CustomPasswordMode"
},
Package (0x02)
{
0x00,
"AbsoluteFree"
},
Package (0x02)
{
0x00,
"ShutdownByBottomCoverTamper"
},
Package (0x02)
{
0x00,
"TpmClearByBottomCoverTamper"
},
Package (0x02)
{
0x00,
"CustomPowerOffSetting"
},
Package (0x02)
{
0x00,
"ShutdownByCoverTamper"
},
Package (0x02)
{
0x00,
"TpmClearByCoverTamper"
},
Package (0x02)
{
0x00,
"PowerOnByAcWol"
}
})
Name (VSEL, Package (0x05)
{
Package (0x02)
{
"Disable",
"Enable"
},
Package (0x02)
{
"Off",
"On"
},
Package (0x26)
{
"409",
"c0c",
"1009",
"80a",
"416",
"813",
"406",
"40a",
"40c",
"407",
"40e",
"40f",
"410",
"414",
"816",
"424",
"40b",
"807",
"41f",
"809",
"411",
"412",
"404",
"841f",
"425",
"8406",
"405",
"401",
"402",
"408",
"40d",
"419",
"8409",
"41e",
"4009",
"9009",
"422",
"481"
},
Package (0x06)
{
"Disable",
"Enable",
"Default",
"MTMSN",
"1SMTMSN",
"MTSN"
},
Package (0x08)
{
"0x00",
"0x01",
"0x02",
"0x03",
"0x04",
"0x05",
"0x06",
"0x07"
}
})
Method (WQA9, 1, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
If ((WMIS (0x09, Arg0) != 0x00))
{
Release (^^WMI1.MWMI)
Return ("")
}
Local0 = DerefOf (ITEM [WITM])
Local1 = DerefOf (Local0 [0x00])
Local2 = DerefOf (Local0 [0x01])
Concatenate (Local2, ",", Local6)
Local3 = DerefOf (VSEL [Local1])
Concatenate (Local6, DerefOf (Local3 [WSEL]), Local7)
Release (^^WMI1.MWMI)
Return (Local7)
}
Method (WMAA, 3, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
If ((SizeOf (Arg2) == 0x00))
{
Local0 = 0x02
}
Else
{
Local0 = ^^WMI1.CARG (Arg2)
If ((Local0 == 0x00))
{
Local0 = ^^WMI1.WSET (ITEM, VSEL)
If ((Local0 == 0x00))
{
Local0 = WMIS (0x0A, 0x00)
}
}
}
Release (^^WMI1.MWMI)
Return (DerefOf (^^WMI1.RETN [Local0]))
}
Method (WMF9, 3, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
WEXF = 0x01
If ((SizeOf (Arg2) == 0x00))
{
Local0 = 0x02
}
Else
{
Local0 = ^^WMI1.CARG (Arg2)
If ((Local0 == 0x00))
{
CBFF = 0x00
CBFF = ^^WMI1.IBUF /* \_SB_.WMI1.IBUF */
Local0 = ^^WMI1.WSET (ITEM, VSEL)
If ((Local0 == 0x00))
{
Local0 = WMIS (0x0A, 0x00)
}
CBFF = 0x00
}
}
WEXF = 0x00
Release (^^WMI1.MWMI)
Return (DerefOf (^^WMI1.RETN [Local0]))
}
Name (WQBB, Buffer (0x05DD)
{
/* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB....
/* 0008 */ 0xCD, 0x05, 0x00, 0x00, 0xBC, 0x1F, 0x00, 0x00, // ........
/* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T
/* 0018 */ 0x18, 0x54, 0x8F, 0x00, 0x01, 0x06, 0x18, 0x42, // .T.....B
/* 0020 */ 0x10, 0x0F, 0x10, 0x8A, 0x0D, 0x21, 0x02, 0x0B, // .....!..
/* 0028 */ 0x83, 0x50, 0x50, 0x18, 0x14, 0xA0, 0x45, 0x41, // .PP...EA
/* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, // .....!..
/* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, // ..p.@...
/* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, // (r."....
/* 0048 */ 0x31, 0x10, 0x88, 0x14, 0x40, 0x48, 0x28, 0x84, // 1...@H(.
/* 0050 */ 0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F, // D.S!p.._
/* 0058 */ 0x01, 0x08, 0x1D, 0x0A, 0x90, 0x29, 0xC0, 0xA0, // .....)..
/* 0060 */ 0x00, 0xA7, 0x08, 0x22, 0x88, 0xD2, 0xB2, 0x00, // ..."....
/* 0068 */ 0xDD, 0x02, 0x7C, 0x0B, 0xD0, 0x0E, 0x21, 0xB4, // ..|...!.
/* 0070 */ 0xC8, 0x95, 0x0A, 0xB0, 0x08, 0x25, 0x9F, 0x80, // .....%..
/* 0078 */ 0x92, 0x88, 0x22, 0xD9, 0x78, 0xB2, 0x8D, 0x48, // ..".x..H
/* 0080 */ 0xE6, 0x61, 0x91, 0x83, 0x40, 0x89, 0x19, 0x04, // .a..@...
/* 0088 */ 0x4A, 0x27, 0xAE, 0x6C, 0xE2, 0x6A, 0x10, 0x07, // J'.l.j..
/* 0090 */ 0x10, 0xE5, 0x3C, 0xA2, 0x24, 0x38, 0xAA, 0x83, // ..<.$8..
/* 0098 */ 0x88, 0x10, 0xBB, 0x5C, 0x01, 0x92, 0x07, 0x20, // ...\...
/* 00A0 */ 0xCD, 0x13, 0x93, 0xF5, 0x39, 0x68, 0x64, 0x6C, // ....9hdl
/* 00A8 */ 0x04, 0x3C, 0x98, 0x04, 0x10, 0x16, 0x65, 0x9D, // .<....e.
/* 00B0 */ 0x8A, 0x02, 0x83, 0x1A, 0xB2, 0xE5, 0x8C, 0x15, // ........
/* 00B8 */ 0x05, 0x6C, 0xAF, 0x13, 0x91, 0xC9, 0x81, 0x52, // .l.....R
/* 00C0 */ 0x49, 0x70, 0xA8, 0x61, 0x7A, 0x6A, 0xCD, 0x4F, // Ip.azj.O
/* 00C8 */ 0x4C, 0x13, 0x39, 0xB5, 0xA6, 0x87, 0x2C, 0x48, // L.9...,H
/* 00D0 */ 0x26, 0x6D, 0x28, 0xA8, 0xB1, 0x7B, 0x5A, 0x27, // &m(..{Z'
/* 00D8 */ 0xE5, 0x99, 0x46, 0x3C, 0x28, 0xC3, 0x24, 0xF0, // ..F<(.$.
/* 00E0 */ 0x28, 0x18, 0x1A, 0x27, 0x28, 0x0B, 0x42, 0x0E, // (..'(.B.
/* 00E8 */ 0x06, 0x8A, 0x02, 0x3C, 0x09, 0xCF, 0xB1, 0x78, // ...<...x
/* 00F0 */ 0x01, 0xC2, 0x47, 0x4C, 0xCE, 0x02, 0x31, 0x12, // ..GL..1.
/* 00F8 */ 0xF8, 0x4C, 0xE0, 0x91, 0x1F, 0x33, 0x76, 0x44, // .L...3vD
/* 0100 */ 0xE1, 0x02, 0x9E, 0xCF, 0x31, 0x44, 0x8E, 0x7B, // ....1D.{
/* 0108 */ 0xA8, 0x31, 0x8E, 0x22, 0xF2, 0xE1, 0x30, 0xB4, // .1."..0.
/* 0110 */ 0xD3, 0x8D, 0x73, 0x60, 0xA7, 0x53, 0x10, 0xB8, // ..s`.S..
/* 0118 */ 0x40, 0x82, 0xF5, 0x3C, 0x67, 0x81, 0xFC, 0xFF, // @..<g...
/* 0120 */ 0x63, 0x1C, 0x04, 0xC3, 0x3B, 0x06, 0x8C, 0x0C, // c...;...
/* 0128 */ 0x08, 0x79, 0x14, 0x60, 0x75, 0x58, 0x9A, 0x44, // .y.`uX.D
/* 0130 */ 0x02, 0xBB, 0x17, 0xA0, 0xF1, 0x12, 0x20, 0x85, // ...... .
/* 0138 */ 0x83, 0x94, 0x32, 0x08, 0xC1, 0x34, 0x26, 0xC0, // ..2..4&.
/* 0140 */ 0xD6, 0xA1, 0x41, 0xDE, 0x04, 0x58, 0xBB, 0x0A, // ..A..X..
/* 0148 */ 0x08, 0x25, 0xD2, 0x09, 0xC4, 0x09, 0x11, 0x25, // .%.....%
/* 0150 */ 0x62, 0x50, 0x03, 0x45, 0xA9, 0x0D, 0x55, 0x30, // bP.E..U0
/* 0158 */ 0x9D, 0x0D, 0x4F, 0x98, 0x71, 0x43, 0xC4, 0x30, // ..O.qC.0
/* 0160 */ 0x50, 0xDC, 0xF6, 0x07, 0x41, 0x86, 0x8D, 0x1B, // P...A...
/* 0168 */ 0xBF, 0x07, 0x75, 0x5A, 0x67, 0x77, 0x4C, 0xAF, // ..uZgwL.
/* 0170 */ 0x0A, 0x26, 0xF0, 0xA4, 0xDF, 0x10, 0x9E, 0x0E, // .&......
/* 0178 */ 0x8E, 0xE2, 0x68, 0xA3, 0xC6, 0x68, 0x8E, 0x94, // ..h..h..
/* 0180 */ 0xAD, 0x5A, 0x1A, 0x38, 0x14, 0x09, 0x1E, 0x75, // .Z.8...u
/* 0188 */ 0x5E, 0xF0, 0xC9, 0xC0, 0x43, 0x3B, 0x6C, 0x0F, // ^...C;l.
/* 0190 */ 0xF6, 0x2C, 0x3D, 0x84, 0x23, 0x78, 0x66, 0x78, // .,=.#xfx
/* 0198 */ 0x24, 0xF0, 0x18, 0xD8, 0x5D, 0xC1, 0x87, 0x00, // $...]...
/* 01A0 */ 0x9F, 0x11, 0xF0, 0xAE, 0x01, 0x75, 0x39, 0x78, // .....u9x
/* 01A8 */ 0x34, 0x60, 0x93, 0x0E, 0x87, 0x19, 0xAF, 0xE7, // 4`......
/* 01B0 */ 0xEE, 0xA9, 0xFB, 0x8C, 0xC1, 0xCF, 0x1B, 0x1E, // ........
/* 01B8 */ 0x1C, 0x6E, 0xA4, 0x27, 0x73, 0x64, 0xA5, 0x0A, // .n.'sd..
/* 01C0 */ 0x30, 0x7B, 0x0D, 0xD0, 0x51, 0xC2, 0x07, 0x0E, // 0{..Q...
/* 01C8 */ 0x76, 0x17, 0x78, 0x0A, 0x30, 0x81, 0xE5, 0x0F, // v.x.0...
/* 01D0 */ 0x02, 0x35, 0x32, 0x43, 0x7B, 0xBC, 0xEF, 0x1D, // .52C{...
/* 01D8 */ 0x86, 0x7C, 0x52, 0x38, 0x2C, 0x26, 0xF6, 0xE0, // .|R8,&..
/* 01E0 */ 0x41, 0xC7, 0x03, 0xFE, 0xFB, 0xC8, 0x93, 0x86, // A.......
/* 01E8 */ 0xA7, 0xEF, 0xF9, 0x9A, 0x60, 0x60, 0x08, 0x59, // ....``.Y
/* 01F0 */ 0x19, 0x0F, 0x6A, 0x20, 0x86, 0x7E, 0x55, 0x38, // ..j .~U8
/* 01F8 */ 0x8C, 0xD3, 0xF0, 0x09, 0xC4, 0xE7, 0x80, 0x20, // .......
/* 0200 */ 0x31, 0x8E, 0xC9, 0x83, 0xF3, 0xFF, 0x9F, 0xC0, // 1.......
/* 0208 */ 0xB1, 0x46, 0x4E, 0xCF, 0x29, 0x3E, 0x4F, 0xF0, // .FN.)>O.
/* 0210 */ 0xC3, 0x85, 0xCF, 0x13, 0xEC, 0xC4, 0x70, 0x1A, // ......p.
/* 0218 */ 0xCF, 0x01, 0x1E, 0xCE, 0x59, 0xF9, 0x38, 0x01, // ....Y.8.
/* 0220 */ 0x2C, 0x20, 0x5E, 0x27, 0xF8, 0x40, 0xE1, 0xC3, // , ^'.@..
/* 0228 */ 0x1E, 0x9A, 0x47, 0xF1, 0x12, 0xF1, 0xF6, 0x60, // ..G....`
/* 0230 */ 0x82, 0x68, 0x0F, 0x31, 0x60, 0x9C, 0x11, 0xEE, // .h.1`...
/* 0238 */ 0xBC, 0x01, 0xE7, 0x14, 0x03, 0x3C, 0xA0, 0x0E, // .....<..
/* 0240 */ 0x01, 0x73, 0x98, 0xF0, 0x10, 0xF8, 0x00, 0x9E, // .s......
/* 0248 */ 0x41, 0xCE, 0xD1, 0xC7, 0x9C, 0x33, 0xC3, 0x1D, // A....3..
/* 0250 */ 0x77, 0xC0, 0x36, 0x0C, 0x1E, 0xD9, 0x02, 0x08, // w.6.....
/* 0258 */ 0x8B, 0xF3, 0x24, 0x50, 0xC0, 0xB7, 0x01, 0x85, // ..$P....
/* 0260 */ 0xF1, 0xE1, 0x06, 0xBC, 0xFF, 0xFF, 0xC3, 0x0D, // ........
/* 0268 */ 0x70, 0x3D, 0x1F, 0xE0, 0x8E, 0x0F, 0x70, 0x2F, // p=....p/
/* 0270 */ 0x16, 0xEC, 0xF0, 0xF0, 0x78, 0x03, 0x0C, 0x86, // ....x...
/* 0278 */ 0xF4, 0x48, 0xF3, 0x56, 0x13, 0xE3, 0xD5, 0x26, // .H.V...&
/* 0280 */ 0x44, 0x84, 0x87, 0x9A, 0x77, 0x1B, 0x23, 0xC5, // D...w.#.
/* 0288 */ 0x7B, 0xBC, 0x61, 0xD7, 0x98, 0xB3, 0x78, 0x00, // {.a...x.
/* 0290 */ 0x89, 0x52, 0x1C, 0x9A, 0x2E, 0x36, 0x31, 0xA2, // .R...61.
/* 0298 */ 0xBC, 0xD9, 0x18, 0xF6, 0x4D, 0xC7, 0x40, 0xA1, // ....M.@.
/* 02A0 */ 0x22, 0x45, 0x08, 0xF3, 0x62, 0x11, 0xE2, 0xF1, // "E..b...
/* 02A8 */ 0x06, 0xCC, 0x92, 0x5E, 0x2A, 0xFA, 0x1C, 0xF8, // ...^*...
/* 02B0 */ 0x78, 0x03, 0x78, 0xF9, 0xFF, 0x1F, 0x6F, 0x00, // x.x...o.
/* 02B8 */ 0x0F, 0xC3, 0xF0, 0x31, 0x05, 0x6C, 0x37, 0x07, // ...1.l7.
/* 02C0 */ 0x76, 0x4F, 0x81, 0x7F, 0x4E, 0x01, 0x1C, 0x09, // vO..N...
/* 02C8 */ 0x79, 0x04, 0xE8, 0xE0, 0x61, 0x11, 0x20, 0xB2, // y...a. .
/* 02D0 */ 0xF1, 0x0C, 0xF0, 0x99, 0x88, 0x0A, 0xA4, 0xD2, // ........
/* 02D8 */ 0x4C, 0xC1, 0x32, 0x4E, 0xC1, 0xEA, 0x84, 0xC8, // L.2N....
/* 02E0 */ 0x65, 0x50, 0x48, 0x04, 0x84, 0x46, 0x66, 0x38, // ePH..Ff8
/* 02E8 */ 0x1F, 0x12, 0x0D, 0x66, 0x10, 0x9F, 0x0F, 0x7C, // ...f...|
/* 02F0 */ 0xA6, 0xF0, 0xC9, 0x89, 0xFF, 0xFF, 0x4F, 0x4E, // ......ON
/* 02F8 */ 0xE0, 0x39, 0x98, 0x3C, 0x54, 0xC0, 0x42, 0xF4, // .9.<T.B.
/* 0300 */ 0x69, 0x81, 0xC3, 0xF9, 0xCC, 0xC2, 0xE1, 0x7C, // i......|
/* 0308 */ 0x24, 0xE1, 0x07, 0x48, 0x7E, 0x54, 0x02, 0x97, // $..H~T..
/* 0310 */ 0xC0, 0x43, 0x03, 0x28, 0x80, 0x7C, 0x3F, 0xF0, // .C.(.|?.
/* 0318 */ 0x39, 0xE0, 0x19, 0x81, 0xCD, 0xE1, 0x91, 0xC0, // 9.......
/* 0320 */ 0x07, 0x02, 0x06, 0xCF, 0xA3, 0x8D, 0x8A, 0x1E, // ........
/* 0328 */ 0x6D, 0x3C, 0x3C, 0x7E, 0x64, 0xF0, 0x7C, 0x1E, // m<<~d.|.
/* 0330 */ 0x08, 0x8E, 0xF2, 0x91, 0x00, 0x87, 0xF1, 0x7E, // .......~
/* 0338 */ 0xE1, 0x21, 0xFA, 0x94, 0x03, 0x6B, 0x22, 0x47, // .!...k"G
/* 0340 */ 0x6D, 0xD1, 0x27, 0x02, 0x81, 0x3E, 0x73, 0x61, // m.'..>sa
/* 0348 */ 0x4E, 0x39, 0xC0, 0x29, 0xF8, 0xE8, 0x51, 0x51, // N9.)..QQ
/* 0350 */ 0x0F, 0xA4, 0xA0, 0x3D, 0x29, 0xF8, 0xAC, 0xE0, // ...=)...
/* 0358 */ 0xC3, 0x17, 0xFC, 0xFF, 0xFF, 0xE1, 0x0B, 0xCE, // ........
/* 0360 */ 0xBC, 0x5E, 0xD6, 0x7C, 0xE0, 0x88, 0x73, 0x16, // .^.|..s.
/* 0368 */ 0xA7, 0xFB, 0x6E, 0x81, 0x3F, 0x91, 0x02, 0xB3, // ..n.?...
/* 0370 */ 0x20, 0x27, 0x52, 0x14, 0x8C, 0x4F, 0xA4, 0x80, // 'R..O..
/* 0378 */ 0xCD, 0x5B, 0x00, 0xF6, 0xBA, 0xF0, 0x24, 0x02, // .[....$.
/* 0380 */ 0xE3, 0x1C, 0xF1, 0x8C, 0x05, 0xF3, 0x50, 0x75, // ......Pu
/* 0388 */ 0x8A, 0x2F, 0x55, 0x6F, 0x0C, 0x11, 0x9E, 0xAC, // ./Uo....
/* 0390 */ 0x5E, 0xA3, 0x1E, 0xB0, 0x0C, 0xF6, 0x22, 0x60, // ^....."`
/* 0398 */ 0x98, 0x57, 0x2C, 0x9F, 0xAE, 0x42, 0x3C, 0x60, // .W,..B<`
/* 03A0 */ 0xF9, 0xAC, 0x15, 0x2D, 0x44, 0xC8, 0x28, 0xC1, // ...-D.(.
/* 03A8 */ 0x5E, 0xB1, 0x5E, 0x65, 0x7C, 0xA4, 0x32, 0x78, // ^.^e|.2x
/* 03B0 */ 0xC0, 0xB0, 0xD1, 0x22, 0x45, 0x78, 0xC4, 0xC2, // ..."Ex..
/* 03B8 */ 0xFF, 0xFF, 0x8F, 0x58, 0xE0, 0x91, 0x70, 0x20, // ...X..p
/* 03C0 */ 0x05, 0xA8, 0x32, 0x70, 0xDC, 0x81, 0x14, 0xD8, // ..2p....
/* 03C8 */ 0x9F, 0x26, 0xF0, 0xD7, 0x0B, 0x8F, 0x07, 0xFB, // .&......
/* 03D0 */ 0xFF, 0x3F, 0x07, 0x80, 0xEF, 0x10, 0x03, 0x0C, // .?......
/* 03D8 */ 0x06, 0x0C, 0xE3, 0x10, 0x03, 0x3C, 0x04, 0x9F, // .....<..
/* 03E0 */ 0xCC, 0x40, 0x7F, 0xDC, 0x81, 0x3F, 0x0E, 0x9E, // .@...?..
/* 03E8 */ 0xF1, 0xC9, 0x61, 0x02, 0x85, 0x39, 0x91, 0xA2, // ..a..9..
/* 03F0 */ 0x60, 0x7C, 0x22, 0x05, 0x9C, 0xFD, 0xFF, 0x0F, // `|".....
/* 03F8 */ 0x57, 0x60, 0x38, 0xDE, 0x80, 0xFF, 0x36, 0xE3, // W`8...6.
/* 0400 */ 0x43, 0xA8, 0xCF, 0x37, 0xBE, 0x90, 0x1A, 0xE2, // C..7....
/* 0408 */ 0xC5, 0xE6, 0x4D, 0xED, 0x95, 0xE0, 0xF5, 0x9D, // ..M.....
/* 0410 */ 0x5D, 0x6B, 0x5E, 0xDF, 0x7D, 0x2A, 0x78, 0x12, // ]k^.}*x.
/* 0418 */ 0x8D, 0x10, 0x32, 0xCA, 0x4B, 0x8E, 0x41, 0x42, // ..2.K.AB
/* 0420 */ 0xBC, 0x8E, 0x1A, 0x30, 0x58, 0x90, 0x88, 0xA7, // ...0X...
/* 0428 */ 0xF0, 0xB4, 0xF3, 0x78, 0x03, 0x5E, 0x51, 0x07, // ...x.^Q.
/* 0430 */ 0x52, 0x80, 0x1E, 0xFF, 0xFF, 0x03, 0x29, 0x30, // R.....)0
/* 0438 */ 0xB8, 0xA7, 0xC0, 0x3E, 0xA7, 0x00, 0x9E, 0x92, // ...>....
/* 0440 */ 0x9F, 0x48, 0x69, 0xEA, 0x13, 0x29, 0x5A, 0x11, // .Hi..)Z.
/* 0448 */ 0x90, 0xA6, 0x0A, 0x16, 0x82, 0xE9, 0x4F, 0xA4, // ......O.
/* 0450 */ 0xF4, 0x60, 0xE0, 0xDC, 0x24, 0x4A, 0x3E, 0x34, // .`..$J>4
/* 0458 */ 0x0A, 0xE7, 0xAC, 0x07, 0x12, 0x0A, 0x62, 0x40, // ......b@
/* 0460 */ 0x07, 0x39, 0x54, 0xA0, 0xCF, 0x2A, 0x3E, 0x90, // .9T..*>.
/* 0468 */ 0x1C, 0xC8, 0x23, 0xA2, 0x87, 0xE5, 0x43, 0xA5, // ..#...C.
/* 0470 */ 0xEF, 0x2A, 0x3E, 0x87, 0xF8, 0x48, 0xE1, 0xF1, // .*>..H..
/* 0478 */ 0xFB, 0xB0, 0xC0, 0xFF, 0x33, 0x3E, 0x8E, 0x32, // ....3>.2
/* 0480 */ 0xF0, 0x6A, 0xCE, 0x2B, 0x28, 0x30, 0x9F, 0x46, // .j.+(0.F
/* 0488 */ 0x31, 0xBA, 0xEE, 0x13, 0x20, 0xF9, 0xFF, 0xCF, // 1... ...
/* 0490 */ 0x8F, 0xEB, 0x3B, 0x8C, 0x82, 0x1C, 0x9D, 0x87, // ..;.....
/* 0498 */ 0x9F, 0x2C, 0x2A, 0xEE, 0x64, 0x29, 0x88, 0x27, // .,*.d).'
/* 04A0 */ 0xEB, 0x28, 0x93, 0x45, 0xCF, 0xC4, 0xB7, 0x0B, // .(.E....
/* 04A8 */ 0xCF, 0xE8, 0xBD, 0xCB, 0x37, 0x58, 0x76, 0x93, // ....7Xv.
/* 04B0 */ 0x85, 0x77, 0x19, 0x08, 0xF9, 0x68, 0xE0, 0x9B, // .w...h..
/* 04B8 */ 0x2C, 0xDC, 0xB1, 0xF8, 0x32, 0x02, 0xBE, 0x9B, // ,...2...
/* 04C0 */ 0x2C, 0xE0, 0x75, 0x34, 0x3E, 0x5B, 0xB0, 0x53, // ,.u4>[.S
/* 04C8 */ 0x88, 0xAF, 0x6B, 0xB0, 0xB2, 0xDE, 0xB0, 0xC8, // ..k.....
/* 04D0 */ 0xFF, 0x9F, 0x60, 0x9C, 0x85, 0x28, 0xE4, 0x92, // ..`..(..
/* 04D8 */ 0x28, 0x8C, 0x6F, 0x58, 0x80, 0xA3, 0xBB, 0x0D, // (.oX....
/* 04E0 */ 0xEE, 0x86, 0x05, 0x1C, 0x80, 0x0E, 0xC5, 0x57, // .......W
/* 04E8 */ 0x2C, 0xD8, 0x87, 0xA8, 0x37, 0xAA, 0x08, 0x3E, // ,...7..>
/* 04F0 */ 0x5F, 0xBD, 0x60, 0x3D, 0x57, 0x3D, 0x89, 0xFA, // _.`=W=..
/* 04F8 */ 0x5A, 0xF5, 0x6C, 0x65, 0xF4, 0x17, 0x52, 0x76, // Z.le..Rv
/* 0500 */ 0xBA, 0xF2, 0x15, 0xCB, 0x88, 0xE1, 0x02, 0x86, // ........
/* 0508 */ 0x32, 0x4C, 0xB8, 0x57, 0x88, 0x58, 0x81, 0x63, // 2L.W.X.c
/* 0510 */ 0xBE, 0x90, 0xFA, 0x9C, 0xED, 0x5B, 0x15, 0xBB, // .....[..
/* 0518 */ 0x62, 0x81, 0x53, 0xD6, 0x15, 0x0B, 0x48, 0xFD, // b.S...H.
/* 0520 */ 0xFF, 0xAF, 0x58, 0x80, 0xD1, 0xE1, 0xBF, 0x62, // ..X....b
/* 0528 */ 0x01, 0xA7, 0x83, 0x03, 0xBB, 0x63, 0x01, 0x9E, // .....c..
/* 0530 */ 0xD2, 0xDF, 0xB1, 0xE8, 0x2D, 0xCB, 0x77, 0x2C, // ....-.w,
/* 0538 */ 0x7E, 0x10, 0xB1, 0xA6, 0x3B, 0x16, 0x84, 0xFF, // ~...;...
/* 0540 */ 0xFF, 0x5C, 0xE1, 0x5E, 0xB2, 0x00, 0x8E, 0xFF, // .\.^....
/* 0548 */ 0xFF, 0x2F, 0x59, 0xF0, 0xC2, 0x5D, 0xB2, 0x80, // ./Y..]..
/* 0550 */ 0xDE, 0x05, 0x09, 0x7C, 0x97, 0x2C, 0xF8, 0x17, // ...|.,..
/* 0558 */ 0x24, 0xAE, 0xD0, 0xA6, 0x4F, 0x8D, 0x46, 0xAD, // $...O.F.
/* 0560 */ 0x1A, 0x94, 0xA9, 0x51, 0xA6, 0x41, 0xAD, 0x3E, // ...Q.A.>
/* 0568 */ 0x95, 0x1A, 0x33, 0xE6, 0x06, 0x4A, 0xE2, 0x6E, // ..3..J.n
/* 0570 */ 0x18, 0x54, 0xD2, 0xBA, 0x34, 0x30, 0x07, 0x02, // .T..40..
/* 0578 */ 0xA1, 0x01, 0x24, 0x80, 0xB0, 0xD0, 0xBF, 0x20, // ..$....
/* 0580 */ 0x1D, 0x13, 0xC8, 0x77, 0x4B, 0x40, 0x16, 0xBB, // ...wK@..
/* 0588 */ 0x2C, 0x81, 0x58, 0xA6, 0x0A, 0x88, 0x46, 0x2E, // ,.X...F.
/* 0590 */ 0x17, 0x06, 0x11, 0x90, 0xE3, 0xFD, 0x6B, 0x04, // ......k.
/* 0598 */ 0xEA, 0x48, 0x3A, 0x80, 0x98, 0x20, 0x1F, 0x83, // .H:.. ..
/* 05A0 */ 0xA5, 0x4F, 0x01, 0x81, 0x58, 0x36, 0xAD, 0x00, // .O..X6..
/* 05A8 */ 0x2D, 0xD7, 0x09, 0x10, 0x0B, 0x0B, 0x42, 0x03, // -.....B.
/* 05B0 */ 0x5A, 0x19, 0x02, 0x4B, 0x0B, 0x22, 0x20, 0x27, // Z..K." '
/* 05B8 */ 0xD3, 0x02, 0xC4, 0x72, 0x82, 0x08, 0xC8, 0xCA, // ...r....
/* 05C0 */ 0x16, 0x2C, 0x70, 0x6B, 0xFA, 0x6E, 0x08, 0xC8, // .,pk.n..
/* 05C8 */ 0x89, 0x40, 0x68, 0x92, 0x67, 0x83, 0x40, 0x1D, // .@h.g.@.
/* 05D0 */ 0x0B, 0x44, 0x40, 0x8E, 0x60, 0x07, 0x88, 0x05, // .D@.`...
/* 05D8 */ 0x02, 0x11, 0x90, 0xFF, 0xFF // .....
})
}
Device (WMI3)
{
Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
Name (_UID, 0x03) // _UID: Unique ID
Name (_WDG, /**** Is ResourceTemplate, but EndTag not at buffer end ****/ Buffer (0x3C)
{
/* 0000 */ 0x79, 0x36, 0x4D, 0x8F, 0x9E, 0x74, 0x79, 0x44, // y6M..tyD
/* 0008 */ 0x9B, 0x16, 0xC6, 0x26, 0x01, 0xFD, 0x25, 0xF0, // ...&..%.
/* 0010 */ 0x41, 0x42, 0x01, 0x02, 0x69, 0xE8, 0xD2, 0x85, // AB..i...
/* 0018 */ 0x5A, 0x36, 0xCE, 0x4A, 0xA4, 0xD3, 0xCD, 0x69, // Z6.J...i
/* 0020 */ 0x2B, 0x16, 0x98, 0xA0, 0x41, 0x43, 0x01, 0x02, // +...AC..
/* 0028 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, // !...f...
/* 0030 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, // ......).
/* 0038 */ 0x42, 0x43, 0x01, 0x00 // BC..
})
Method (WMAB, 3, NotSerialized)
{
CreateByteField (Arg2, 0x00, ASS0)
CreateWordField (Arg2, 0x01, ASS1)
CreateByteField (Arg2, 0x03, ASS2)
Acquire (^^WMI1.MWMI, 0xFFFF)
WASB = ASS0 /* \_SB_.WMI3.WMAB.ASS0 */
WASI = ASS1 /* \_SB_.WMI3.WMAB.ASS1 */
WASD = ASS2 /* \_SB_.WMI3.WMAB.ASS2 */
WMIS (0x0B, 0x00)
Local0 = WASS /* \WASS */
Release (^^WMI1.MWMI)
Return (Local0)
}
Method (WMAC, 3, NotSerialized)
{
CreateByteField (Arg2, 0x00, ASS0)
CreateWordField (Arg2, 0x01, ASS1)
Acquire (^^WMI1.MWMI, 0xFFFF)
WASB = ASS0 /* \_SB_.WMI3.WMAC.ASS0 */
WASI = ASS1 /* \_SB_.WMI3.WMAC.ASS1 */
WMIS (0x0C, Arg1)
Local0 = WASS /* \WASS */
Release (^^WMI1.MWMI)
Return (Local0)
}
Name (WQBC, Buffer (0x040A)
{
/* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB....
/* 0008 */ 0xFA, 0x03, 0x00, 0x00, 0x32, 0x12, 0x00, 0x00, // ....2...
/* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T
/* 0018 */ 0x98, 0xC3, 0x88, 0x00, 0x01, 0x06, 0x18, 0x42, // .......B
/* 0020 */ 0x10, 0x07, 0x10, 0x8A, 0x0D, 0x21, 0x02, 0x0B, // .....!..
/* 0028 */ 0x83, 0x50, 0x50, 0x18, 0x14, 0xA0, 0x45, 0x41, // .PP...EA
/* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, // .....!..
/* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, // ..p.@...
/* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, // (r."....
/* 0048 */ 0x31, 0x10, 0x88, 0x14, 0x40, 0x48, 0x28, 0x84, // 1...@H(.
/* 0050 */ 0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F, // D.S!p.._
/* 0058 */ 0x01, 0x08, 0x1D, 0x0A, 0x90, 0x29, 0xC0, 0xA0, // .....)..
/* 0060 */ 0x00, 0xA7, 0x08, 0x22, 0x88, 0xD2, 0xB2, 0x00, // ..."....
/* 0068 */ 0xDD, 0x02, 0x7C, 0x0B, 0xD0, 0x0E, 0x21, 0xB4, // ..|...!.
/* 0070 */ 0x58, 0x07, 0x11, 0x21, 0xD2, 0x31, 0x34, 0x29, // X..!.14)
/* 0078 */ 0x40, 0xA2, 0x00, 0x8B, 0x02, 0x64, 0xC3, 0xC8, // @....d..
/* 0080 */ 0x36, 0x22, 0x99, 0x87, 0x45, 0x0E, 0x02, 0x25, // 6"..E..%
/* 0088 */ 0x66, 0x10, 0x28, 0x9D, 0xE0, 0xB2, 0x89, 0xAB, // f.(.....
/* 0090 */ 0x41, 0x9C, 0x4C, 0x94, 0xF3, 0x88, 0x92, 0xE0, // A.L.....
/* 0098 */ 0xA8, 0x0E, 0x22, 0x42, 0xEC, 0x72, 0x05, 0x48, // .."B.r.H
/* 00A0 */ 0x1E, 0x80, 0x34, 0x4F, 0x4C, 0xD6, 0xE7, 0xA0, // ..4OL...
/* 00A8 */ 0x91, 0xB1, 0x11, 0xF0, 0x94, 0x1A, 0x40, 0x58, // ......@X
/* 00B0 */ 0xA0, 0x75, 0x2A, 0xE0, 0x7A, 0x0D, 0x43, 0x3D, // .u*.z.C=
/* 00B8 */ 0x80, 0x48, 0xCE, 0x58, 0x51, 0xC0, 0xF6, 0x3A, // .H.XQ..:
/* 00C0 */ 0x11, 0x8D, 0xEA, 0x40, 0x99, 0x24, 0x38, 0xD4, // ...@.$8.
/* 00C8 */ 0x30, 0x3D, 0xB5, 0xE6, 0x27, 0xA6, 0x89, 0x9C, // 0=..'...
/* 00D0 */ 0x5A, 0xD3, 0x43, 0x16, 0x24, 0x93, 0x36, 0x14, // Z.C.$.6.
/* 00D8 */ 0xD4, 0xD8, 0x3D, 0xAD, 0x93, 0xF2, 0x4C, 0x23, // ..=...L#
/* 00E0 */ 0x1E, 0x94, 0x61, 0x12, 0x78, 0x14, 0x0C, 0x8D, // ..a.x...
/* 00E8 */ 0x13, 0x94, 0x75, 0x22, 0xA0, 0x03, 0xE5, 0x80, // ..u"....
/* 00F0 */ 0x27, 0xE1, 0x39, 0x16, 0x2F, 0x40, 0xF8, 0x88, // '.9./@..
/* 00F8 */ 0xC9, 0xB4, 0x4D, 0xE0, 0x33, 0x81, 0x87, 0x79, // ..M.3..y
/* 0100 */ 0xCC, 0xD8, 0x11, 0x85, 0x0B, 0x78, 0x3E, 0xC7, // .....x>.
/* 0108 */ 0x10, 0x39, 0xEE, 0xA1, 0xC6, 0x38, 0x8A, 0xC8, // .9...8..
/* 0110 */ 0x47, 0x60, 0x24, 0x03, 0xC5, 0x2B, 0x08, 0x89, // G`$..+..
/* 0118 */ 0x80, 0xF8, 0x76, 0x70, 0x70, 0x91, 0xFC, 0xFF, // ..vpp...
/* 0120 */ 0x47, 0x89, 0x11, 0x2A, 0xC6, 0xDB, 0x00, 0x6E, // G..*...n
/* 0128 */ 0x5E, 0x09, 0x8A, 0x1E, 0x07, 0x4A, 0x06, 0x84, // ^....J..
/* 0130 */ 0x3C, 0x0A, 0xB0, 0x7A, 0x28, 0x20, 0x04, 0x16, // <..z( ..
/* 0138 */ 0x27, 0x40, 0xE3, 0x38, 0x05, 0xD3, 0x99, 0x00, // '@.8....
/* 0140 */ 0x6D, 0x02, 0xBC, 0x09, 0x30, 0x27, 0xC0, 0x16, // m...0'..
/* 0148 */ 0x86, 0x80, 0x82, 0x9C, 0x59, 0x94, 0x20, 0x11, // ....Y. .
/* 0150 */ 0x42, 0x31, 0x88, 0x0A, 0x05, 0x18, 0x43, 0x14, // B1....C.
/* 0158 */ 0xCA, 0x3B, 0x41, 0x8C, 0xCA, 0x20, 0x74, 0x82, // .;A.. t.
/* 0160 */ 0x08, 0x14, 0x3D, 0x78, 0x98, 0xD6, 0x40, 0x74, // ..=x..@t
/* 0168 */ 0x89, 0xF0, 0xC8, 0xB1, 0x47, 0x00, 0x9F, 0x19, // ....G...
/* 0170 */ 0xCE, 0xE9, 0x04, 0x1F, 0x01, 0xDE, 0x16, 0x4C, // .......L
/* 0178 */ 0xE0, 0x79, 0xBF, 0x24, 0x1C, 0x6A, 0xD8, 0x03, // .y.$.j..
/* 0180 */ 0x8E, 0x1A, 0xE3, 0x28, 0x12, 0x58, 0xD0, 0x33, // ...(.X.3
/* 0188 */ 0x42, 0x16, 0x40, 0x14, 0x09, 0x1E, 0x75, 0x64, // B.@...ud
/* 0190 */ 0xF0, 0xE1, 0xC0, 0x23, 0x3B, 0x72, 0xCF, 0xF0, // ...#;r..
/* 0198 */ 0x04, 0x82, 0x1C, 0xC2, 0x11, 0x3C, 0x36, 0x3C, // .....<6<
/* 01A0 */ 0x15, 0x78, 0x0C, 0xEC, 0xBA, 0xE0, 0x73, 0x80, // .x....s.
/* 01A8 */ 0x8F, 0x09, 0x78, 0xD7, 0x80, 0x9A, 0xF3, 0xD3, // ..x.....
/* 01B0 */ 0x01, 0x9B, 0x72, 0x38, 0xCC, 0x70, 0x3D, 0xFD, // ..r8.p=.
/* 01B8 */ 0x70, 0x27, 0x70, 0xD2, 0x06, 0x64, 0xB3, 0xF3, // p'p..d..
/* 01C0 */ 0xE0, 0x70, 0xE3, 0x3C, 0x99, 0x23, 0x2B, 0x55, // .p.<.#+U
/* 01C8 */ 0x80, 0xD9, 0x13, 0x82, 0x4E, 0x13, 0x3E, 0x73, // ....N.>s
/* 01D0 */ 0xB0, 0xBB, 0xC0, 0xF9, 0xF4, 0x0C, 0x49, 0xE4, // ......I.
/* 01D8 */ 0x0F, 0x02, 0x35, 0x32, 0x43, 0xFB, 0x2C, 0xF0, // ..52C.,.
/* 01E0 */ 0xEA, 0x61, 0xC8, 0x87, 0x85, 0xC3, 0x62, 0x62, // .a....bb
/* 01E8 */ 0xCF, 0x1E, 0x74, 0x3C, 0xE0, 0x3F, 0x25, 0x3C, // ..t<.?%<
/* 01F0 */ 0x6C, 0x78, 0xFA, 0x9E, 0xAF, 0x09, 0xA2, 0x3D, // lx.....=
/* 01F8 */ 0x8F, 0x80, 0xE1, 0xFF, 0x7F, 0x1E, 0x81, 0x39, // .......9
/* 0200 */ 0x9C, 0x07, 0x84, 0x27, 0x07, 0x76, 0x80, 0xC0, // ...'.v..
/* 0208 */ 0x1C, 0x48, 0x80, 0xC9, 0xF9, 0x02, 0x77, 0x28, // .H....w(
/* 0210 */ 0xF0, 0x10, 0xF8, 0x00, 0x1E, 0x25, 0xCE, 0xD1, // .....%..
/* 0218 */ 0x4A, 0x67, 0x86, 0x3C, 0xB9, 0x80, 0x2D, 0xFB, // Jg.<..-.
/* 0220 */ 0x1B, 0x40, 0x07, 0x0F, 0xE7, 0x06, 0x91, 0x8D, // .@......
/* 0228 */ 0x57, 0x80, 0x09, 0x74, 0x38, 0xB1, 0x1E, 0x20, // W..t8..
/* 0230 */ 0x4D, 0x14, 0x0C, 0x04, 0xD3, 0xD3, 0x6B, 0x00, // M.....k.
/* 0238 */ 0x3E, 0x15, 0x38, 0x37, 0x89, 0x92, 0x0F, 0x8C, // >.87....
/* 0240 */ 0xC2, 0x39, 0xEB, 0x79, 0x84, 0x82, 0x18, 0xD0, // .9.y....
/* 0248 */ 0x41, 0x20, 0xE4, 0xE4, 0xA0, 0x80, 0x3A, 0xAA, // A ....:.
/* 0250 */ 0xF8, 0x3C, 0x72, 0xAA, 0x0F, 0x3D, 0x9E, 0x94, // .<r..=..
/* 0258 */ 0x47, 0xE1, 0xAB, 0x8A, 0x0F, 0x21, 0x3E, 0x4F, // G....!>O
/* 0260 */ 0x78, 0xF4, 0x3E, 0x29, 0xF0, 0xEF, 0x8C, 0xAF, // x.>)....
/* 0268 */ 0x0E, 0x46, 0xB7, 0x9A, 0xE3, 0x0A, 0x0A, 0xCC, // .F......
/* 0270 */ 0x67, 0x11, 0x4E, 0x50, 0xD7, 0x6D, 0x01, 0xFA, // g.NP.m..
/* 0278 */ 0x29, 0xE0, 0x08, 0x3C, 0x94, 0x77, 0x92, 0xC7, // )..<.w..
/* 0280 */ 0x90, 0x04, 0xF5, 0x9D, 0x16, 0x40, 0x01, 0xE4, // .....@..
/* 0288 */ 0x9B, 0x81, 0x4F, 0x02, 0x21, 0xFE, 0xFF, 0x4F, // ..O.!..O
/* 0290 */ 0x07, 0x1E, 0xC3, 0xC3, 0x80, 0xD1, 0x8C, 0xCE, // ........
/* 0298 */ 0xC3, 0x4F, 0x16, 0x15, 0x77, 0xB2, 0x14, 0xC4, // .O..w...
/* 02A0 */ 0x93, 0x75, 0x94, 0xC9, 0xA2, 0x67, 0xE2, 0xAB, // .u...g..
/* 02A8 */ 0x85, 0x27, 0x74, 0x4A, 0x41, 0xCE, 0xD1, 0x13, // .'tJA...
/* 02B0 */ 0xF6, 0x55, 0x04, 0xD6, 0xF9, 0x20, 0xE4, 0x8B, // .U... ..
/* 02B8 */ 0x81, 0xA7, 0x61, 0x38, 0x4F, 0x96, 0xC3, 0x79, // ..a8O..y
/* 02C0 */ 0xB2, 0x7C, 0x2C, 0xBE, 0x6A, 0xC0, 0x1F, 0x2D, // .|,.j..-
/* 02C8 */ 0x96, 0xA0, 0xC0, 0xD9, 0x82, 0x1C, 0x1E, 0x13, // ........
/* 02D0 */ 0x6F, 0x54, 0xF4, 0x46, 0xE4, 0xE1, 0xF1, 0xCB, // oT.F....
/* 02D8 */ 0x81, 0xE7, 0xF3, 0x8C, 0x70, 0x94, 0x6F, 0x12, // ....p.o.
/* 02E0 */ 0x38, 0x8C, 0xC7, 0x12, 0x0F, 0xD1, 0x97, 0x23, // 8......#
/* 02E8 */ 0x58, 0x13, 0x39, 0x69, 0xDF, 0x16, 0x4E, 0x36, // X.9i..N6
/* 02F0 */ 0xE8, 0x4B, 0x10, 0xBB, 0x1C, 0x01, 0xBF, 0x88, // .K......
/* 02F8 */ 0x26, 0x86, 0xC1, 0x22, 0x2D, 0x45, 0x11, 0x17, // &.."-E..
/* 0300 */ 0x45, 0x61, 0x7C, 0xC5, 0x82, 0xFD, 0xFF, 0xBF, // Ea|.....
/* 0308 */ 0x62, 0x01, 0x16, 0x04, 0x0F, 0x1B, 0x34, 0x87, // b.....4.
/* 0310 */ 0x83, 0x97, 0x1E, 0x36, 0x6B, 0x38, 0x07, 0x99, // ...6k8..
/* 0318 */ 0xD3, 0xF1, 0x48, 0x4E, 0x1B, 0xC6, 0x1D, 0x0B, // ..HN....
/* 0320 */ 0xFE, 0x9D, 0xEA, 0xA9, 0xCA, 0xD3, 0x8A, 0xF2, // ........
/* 0328 */ 0x64, 0xF5, 0x7A, 0xE5, 0x63, 0x96, 0xA1, 0xCE, // d.z.c...
/* 0330 */ 0xE0, 0x1D, 0xCB, 0xB7, 0x3C, 0x4F, 0x21, 0x4A, // ....<O!J
/* 0338 */ 0x9C, 0x97, 0x2D, 0x76, 0xC7, 0x32, 0x48, 0x50, // ..-v.2HP
/* 0340 */ 0x23, 0x3F, 0x68, 0x31, 0x94, 0xE0, 0xF1, 0xDE, // #?h1....
/* 0348 */ 0xB1, 0x00, 0x6F, 0xFF, 0xFF, 0x3B, 0x16, 0x60, // ..o..;.`
/* 0350 */ 0xFC, 0x04, 0xC1, 0x09, 0x7C, 0xC7, 0x02, 0x1C, // ....|...
/* 0358 */ 0xC5, 0x7E, 0x37, 0xE8, 0x4A, 0x45, 0xEE, 0x58, // .~7.JE.X
/* 0360 */ 0x28, 0x0E, 0xAB, 0xB9, 0x63, 0x41, 0x9C, 0x28, // (...cA.(
/* 0368 */ 0xE6, 0x8A, 0x05, 0x86, 0xFF, 0xFF, 0x15, 0x0B, // ........
/* 0370 */ 0xE0, 0x75, 0xC0, 0x2B, 0x16, 0x68, 0xFE, 0xFF, // .u.+.h..
/* 0378 */ 0x57, 0x2C, 0xF0, 0x5E, 0x8E, 0x80, 0xDF, 0x09, // W,.^....
/* 0380 */ 0xD1, 0x77, 0x0D, 0x7E, 0x9A, 0xB6, 0xA2, 0xBB, // .w.~....
/* 0388 */ 0x06, 0x94, 0x19, 0xBE, 0x07, 0xF9, 0xB0, 0x13, // ........
/* 0390 */ 0x2C, 0xD2, 0xA3, 0x8D, 0x6F, 0x49, 0xE1, 0x7C, // ,...oI.|
/* 0398 */ 0xDB, 0x00, 0xD8, 0xF2, 0xFF, 0xBF, 0x6D, 0x00, // ......m.
/* 03A0 */ 0x4C, 0x19, 0xBF, 0x6F, 0x1B, 0xC0, 0x4F, 0xA1, // L..o..O.
/* 03A8 */ 0x4D, 0x9F, 0x1A, 0x8D, 0x5A, 0x35, 0x28, 0x53, // M...Z5(S
/* 03B0 */ 0xA3, 0x4C, 0x83, 0x5A, 0x7D, 0x2A, 0x35, 0x66, // .L.Z}*5f
/* 03B8 */ 0x4C, 0xC9, 0xC1, 0xCE, 0x77, 0x0C, 0x2A, 0x6C, // L...w.*l
/* 03C0 */ 0x65, 0x1A, 0x9A, 0x63, 0x81, 0xD0, 0x10, 0xC7, // e..c....
/* 03C8 */ 0x26, 0x19, 0x01, 0x51, 0x22, 0x10, 0x01, 0x59, // &..Q"..Y
/* 03D0 */ 0xFD, 0x6F, 0x42, 0x40, 0xCE, 0x02, 0x22, 0x20, // .oB@.."
/* 03D8 */ 0x2B, 0x58, 0x9A, 0xC0, 0x9D, 0xFF, 0xD8, 0x28, // +X.....(
/* 03E0 */ 0x40, 0xA2, 0x02, 0x84, 0x29, 0x7D, 0x93, 0x09, // @...)}..
/* 03E8 */ 0xD4, 0xB2, 0x41, 0x04, 0xF4, 0xFF, 0x3F, 0x42, // ..A...?B
/* 03F0 */ 0xD9, 0x00, 0x62, 0x82, 0x41, 0x04, 0x64, 0x91, // ..b.A.d.
/* 03F8 */ 0x3E, 0x80, 0x98, 0x62, 0x10, 0x01, 0x59, 0xDD, // >..b..Y.
/* 0400 */ 0xA3, 0x40, 0x40, 0xD6, 0x0A, 0x22, 0x20, 0xFF, // .@@.." .
/* 0408 */ 0xFF, 0x01 // ..
})
}
Device (WMI4)
{
Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
Name (_UID, 0x04) // _UID: Unique ID
Name (_WDG, Buffer (0x28)
{
/* 0000 */ 0x57, 0xBB, 0x84, 0x85, 0x31, 0x5E, 0xC4, 0x46, // W...1^.F
/* 0008 */ 0xBC, 0x8E, 0x5E, 0x94, 0x56, 0x3A, 0xE4, 0x15, // ..^.V:..
/* 0010 */ 0x41, 0x44, 0x01, 0x06, 0x21, 0x12, 0x90, 0x05, // AD..!...
/* 0018 */ 0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0, // f.......
/* 0020 */ 0xC9, 0x06, 0x29, 0x10, 0x42, 0x44, 0x01, 0x00 // ..).BD..
})
Name (TDRV, Package (0x08)
{
"Drv1",
"Drv2",
"Drv3",
"Drv4",
"Drv5",
"Drv6",
"Drv7",
"Drv8"
})
Name (PTYP, Package (0x07)
{
"POP",
"SVP",
"SMP",
"UHDP",
"MHDP",
"UDRP",
"ADRP"
})
Name (EMTH, Package (0x0E)
{
"ATAN",
"ATAC",
"DOD",
"SPZ",
"USNAF",
"CCI6",
"BHI5",
"GV",
"RGP1",
"RGP4",
"RTOII",
"OPALPASS",
"NVMEU",
"NVMEC"
})
Method (WMAD, 3, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
If ((SizeOf (Arg2) == 0x00))
{
Local0 = 0x02
}
Else
{
Local0 = ^^WMI1.CARG (Arg2)
If ((Local0 == 0x00))
{
If ((^^WMI1.ILEN != 0x00))
{
^^WMI1.CLRP ()
Local0 = SWIP (^^WMI1.IBUF)
If ((Local0 == 0x00))
{
Local0 = WMIS (0x0D, 0x00)
}
^^WMI1.CLRP ()
}
}
}
Release (^^WMI1.MWMI)
Return (DerefOf (^^WMI1.RETN [Local0]))
}
Method (SWIP, 1, NotSerialized)
{
Local6 = ^^WMI1.GSEL (TDRV, Arg0, 0x00, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WDRV = Local6
Local0 = ^^WMI1.SLEN (TDRV, Local6)
If ((DerefOf (Arg0 [Local0]) != 0x2C))
{
Return (0x02)
}
Local0++
Local6 = ^^WMI1.GSEL (EMTH, Arg0, Local0, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WMTH = Local6
Local0 += ^^WMI1.SLEN (EMTH, Local6)
If ((DerefOf (Arg0 [Local0]) != 0x2C))
{
Return (0x02)
}
Local0++
Local6 = ^^WMI1.GSEL (PTYP, Arg0, Local0, 0x00)
If ((Local6 == Ones))
{
Return (0x02)
}
WPTY = Local6
Local0 += ^^WMI1.SLEN (PTYP, Local6)
If ((DerefOf (Arg0 [Local0]) != 0x2C))
{
Return (0x02)
}
Local0++
Local1 = ^^WMI1.GPAS (Arg0, Local0)
If (((Local1 == Ones) || (Local1 == 0x00)))
{
Return (0x02)
}
WPAS = ^^WMI1.PSTR /* \_SB_.WMI1.PSTR */
Return (0x00)
}
Name (WQBD, Buffer (0x0322)
{
/* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB....
/* 0008 */ 0x12, 0x03, 0x00, 0x00, 0x36, 0x08, 0x00, 0x00, // ....6...
/* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T
/* 0018 */ 0x98, 0xDA, 0x83, 0x00, 0x01, 0x06, 0x18, 0x42, // .......B
/* 0020 */ 0x10, 0x05, 0x10, 0x8A, 0x0E, 0x21, 0x02, 0x0B, // .....!..
/* 0028 */ 0x83, 0x50, 0x58, 0x18, 0x14, 0xA0, 0x45, 0x41, // .PX...EA
/* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, // .....!..
/* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, // ..p.@...
/* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, // (r."....
/* 0048 */ 0x31, 0xD4, 0x18, 0xA8, 0x58, 0x08, 0x89, 0x00, // 1...X...
/* 0050 */ 0xA6, 0x42, 0xE0, 0x08, 0x41, 0xBF, 0x02, 0x10, // .B..A...
/* 0058 */ 0x3A, 0x14, 0x20, 0x53, 0x80, 0x41, 0x01, 0x4E, // :. S.A.N
/* 0060 */ 0x11, 0x44, 0x10, 0xA5, 0x65, 0x01, 0xBA, 0x05, // .D..e...
/* 0068 */ 0xF8, 0x16, 0xA0, 0x1D, 0x42, 0x68, 0x91, 0xE2, // ....Bh..
/* 0070 */ 0x9C, 0x42, 0xEB, 0x93, 0x10, 0x48, 0xAF, 0x02, // .B...H..
/* 0078 */ 0x4C, 0x0B, 0x10, 0x0E, 0x22, 0x8B, 0x02, 0x64, // L..."..d
/* 0080 */ 0x63, 0xC8, 0x36, 0x28, 0x19, 0x09, 0x13, 0x39, // c.6(...9
/* 0088 */ 0x0C, 0x94, 0x98, 0x61, 0xA0, 0x74, 0xCE, 0x42, // ...a.t.B
/* 0090 */ 0x36, 0x81, 0x35, 0x83, 0x42, 0x51, 0x34, 0x93, // 6.5.BQ4.
/* 0098 */ 0x28, 0x09, 0x4E, 0xE1, 0x30, 0x22, 0x04, 0x2F, // (.N.0"./
/* 00A0 */ 0x57, 0x80, 0xE4, 0x09, 0x48, 0xF3, 0xD4, 0x34, // W...H..4
/* 00A8 */ 0x8F, 0x83, 0x38, 0x04, 0x36, 0x02, 0x9E, 0x58, // ..8.6..X
/* 00B0 */ 0x03, 0x08, 0x8B, 0xB5, 0x52, 0x05, 0x75, 0x00, // ....R.u.
/* 00B8 */ 0x83, 0xD9, 0xB6, 0x04, 0xC8, 0x19, 0x2D, 0x0A, // ......-.
/* 00C0 */ 0xD8, 0xB3, 0x3A, 0x91, 0x26, 0x87, 0x4A, 0x25, // ..:.&.J%
/* 00C8 */ 0xC1, 0xA1, 0x06, 0x6A, 0x89, 0x02, 0xCC, 0x8F, // ...j....
/* 00D0 */ 0x4C, 0x13, 0x39, 0xB6, 0xD3, 0x3B, 0xC3, 0x90, // L.9..;..
/* 00D8 */ 0x4C, 0xDA, 0x50, 0x50, 0xA3, 0xF7, 0xB4, 0x4E, // L.PP...N
/* 00E0 */ 0xCA, 0x73, 0x8D, 0x78, 0x50, 0x86, 0x49, 0xE0, // .s.xP.I.
/* 00E8 */ 0x51, 0x30, 0x34, 0x4E, 0x50, 0x16, 0x84, 0x76, // Q04NP..v
/* 00F0 */ 0x44, 0x07, 0x4A, 0x00, 0x4F, 0xC2, 0x73, 0x2C, // D.J.O.s,
/* 00F8 */ 0x7E, 0xD0, 0x64, 0x22, 0x4F, 0x03, 0x31, 0x12, // ~.d"O.1.
/* 0100 */ 0xF8, 0x54, 0x60, 0xD1, 0x63, 0x46, 0x8F, 0x28, // .T`.cF.(
/* 0108 */ 0x5C, 0xC0, 0xF3, 0x39, 0x86, 0xF3, 0xF7, 0x50, // \..9...P
/* 0110 */ 0x63, 0x1C, 0x45, 0xE4, 0x04, 0xF1, 0x7D, 0x0E, // c.E...}.
/* 0118 */ 0x60, 0x50, 0x41, 0x0A, 0x12, 0x20, 0x15, 0x5D, // `PA.. .]
/* 0120 */ 0xFF, 0x7F, 0xB8, 0x68, 0x5D, 0xCF, 0x5D, 0x28, // ...h].](
/* 0128 */ 0x86, 0x3A, 0xEB, 0x93, 0x0A, 0x76, 0x1C, 0xBE, // .:...v..
/* 0130 */ 0x10, 0x70, 0x9C, 0xDE, 0x4F, 0x04, 0x74, 0x28, // .p..O.t(
/* 0138 */ 0x58, 0x19, 0x10, 0xF2, 0x28, 0xC0, 0xEA, 0xE8, // X...(...
/* 0140 */ 0x34, 0x97, 0x04, 0x16, 0x27, 0xC0, 0x1A, 0x84, // 4...'...
/* 0148 */ 0xA6, 0x5A, 0x21, 0x82, 0x50, 0x7A, 0x13, 0x60, // .Z!.Pz.`
/* 0150 */ 0x0B, 0x43, 0x83, 0xE9, 0x4C, 0x80, 0x31, 0x14, // .C..L.1.
/* 0158 */ 0x61, 0xD5, 0x76, 0x25, 0x10, 0x46, 0x94, 0x70, // a.v%.F.p
/* 0160 */ 0x41, 0x62, 0x06, 0x8B, 0xC7, 0xCC, 0x41, 0x09, // Ab....A.
/* 0168 */ 0x24, 0x5C, 0xCC, 0x57, 0x83, 0x38, 0x61, 0xC2, // $\.W.8a.
/* 0170 */ 0xC6, 0x49, 0xE0, 0xC1, 0xE3, 0x4E, 0x01, 0x3E, // .I...N.>
/* 0178 */ 0x38, 0x1C, 0xE0, 0x41, 0x3D, 0x05, 0x3C, 0x31, // 8..A=.<1
/* 0180 */ 0x98, 0xC0, 0x53, 0x3F, 0xB8, 0x67, 0x84, 0x97, // ..S?.g..
/* 0188 */ 0x8A, 0x73, 0x8C, 0x1A, 0xE3, 0x0C, 0x12, 0x58, // .s.....X
/* 0190 */ 0xD2, 0x5B, 0x42, 0x16, 0x40, 0x14, 0x09, 0x1E, // .[B.@...
/* 0198 */ 0x75, 0x6A, 0xF0, 0xF9, 0xC0, 0x23, 0x3B, 0x78, // uj...#;x
/* 01A0 */ 0x8F, 0xF6, 0x04, 0x82, 0x1C, 0xC2, 0x11, 0x3C, // .......<
/* 01A8 */ 0x39, 0x3C, 0x18, 0x78, 0x0C, 0xEC, 0xC6, 0xE0, // 9<.x....
/* 01B0 */ 0xA3, 0x80, 0x4F, 0x0A, 0xF8, 0x51, 0x07, 0x7C, // ..O..Q.|
/* 01B8 */ 0x45, 0x78, 0x40, 0x60, 0x23, 0x0E, 0x87, 0x19, // Ex@`#...
/* 01C0 */ 0xAE, 0x87, 0xED, 0x09, 0x9C, 0xFA, 0xB3, 0x06, // ........
/* 01C8 */ 0x3F, 0x77, 0x78, 0x70, 0xB8, 0x91, 0x9E, 0xCC, // ?wxp....
/* 01D0 */ 0x91, 0xBD, 0x07, 0x34, 0x7B, 0x48, 0xD0, 0x81, // ...4{H..
/* 01D8 */ 0xC2, 0x07, 0x0F, 0x76, 0x15, 0xB0, 0x67, 0x48, // ...v..gH
/* 01E0 */ 0x22, 0x7F, 0x10, 0xA8, 0x91, 0x19, 0xDA, 0x13, // ".......
/* 01E8 */ 0x7E, 0xFF, 0x30, 0xE4, 0xF3, 0xC2, 0x61, 0xB1, // ~.0...a.
/* 01F0 */ 0xE3, 0x87, 0x0F, 0x20, 0x1E, 0x0F, 0xF8, 0xEF, // ... ....
/* 01F8 */ 0x25, 0xCF, 0x1B, 0x9E, 0xBE, 0xE7, 0xEB, 0xF3, // %.......
/* 0200 */ 0x84, 0x81, 0xB1, 0xFF, 0xFF, 0x43, 0x09, 0x18, // .....C..
/* 0208 */ 0x6E, 0x0F, 0xFC, 0x58, 0x02, 0xE7, 0x48, 0x02, // n..X..H.
/* 0210 */ 0x4C, 0x26, 0xE9, 0x21, 0xF0, 0x33, 0x81, 0x87, // L&.!.3..
/* 0218 */ 0xC0, 0x07, 0xF0, 0x24, 0x71, 0x8A, 0x56, 0x3A, // ...$q.V:
/* 0220 */ 0x31, 0xE4, 0xE9, 0x05, 0xAC, 0xF9, 0x1F, 0x01, // 1.......
/* 0228 */ 0x3A, 0x7C, 0x38, 0x3B, 0x88, 0x6C, 0x3C, 0x03, // :|8;.l<.
/* 0230 */ 0x7C, 0x10, 0xA0, 0x6A, 0x80, 0x34, 0x53, 0xD8, // |..j.4S.
/* 0238 */ 0x04, 0xD3, 0x93, 0xEB, 0xE0, 0xC3, 0x73, 0x93, // ......s.
/* 0240 */ 0x28, 0xF9, 0xC8, 0x28, 0x9C, 0xB3, 0x1E, 0x49, // (..(...I
/* 0248 */ 0x28, 0x88, 0x01, 0x1D, 0xE4, 0x44, 0x81, 0x3E, // (....D.>
/* 0250 */ 0xAD, 0x78, 0x08, 0xE7, 0xFA, 0xE4, 0xE3, 0x41, // .x.....A
/* 0258 */ 0xF9, 0x3E, 0xE2, 0xDB, 0x8A, 0x0F, 0x21, 0x3E, // .>....!>
/* 0260 */ 0x4F, 0x78, 0xF8, 0x3E, 0x29, 0xF0, 0x1F, 0x8D, // Ox.>)...
/* 0268 */ 0xAF, 0x0E, 0x46, 0xB7, 0x9A, 0x13, 0x0B, 0x0A, // ..F.....
/* 0270 */ 0xCC, 0x67, 0x11, 0x4E, 0x50, 0xD7, 0x65, 0x02, // .g.NP.e.
/* 0278 */ 0x64, 0xFA, 0x4E, 0x0B, 0x50, 0xFF, 0xFF, 0x97, // d.N.P...
/* 0280 */ 0x00, 0x0E, 0xE4, 0xAB, 0x81, 0x8F, 0x02, 0x8F, // ........
/* 0288 */ 0x07, 0x6C, 0x0C, 0x4F, 0x03, 0x46, 0x33, 0x3A, // .l.O.F3:
/* 0290 */ 0x0F, 0x3F, 0x59, 0x54, 0xDC, 0xC9, 0x52, 0x10, // .?YT..R.
/* 0298 */ 0x4F, 0xD6, 0x51, 0x26, 0x8B, 0x9E, 0x89, 0x2F, // O.Q&.../
/* 02A0 */ 0x00, 0x9E, 0xD1, 0x2B, 0x80, 0xE7, 0xE8, 0x09, // ...+....
/* 02A8 */ 0xFB, 0x2A, 0x02, 0xEB, 0x80, 0xF0, 0x50, 0xE3, // .*....P.
/* 02B0 */ 0x3B, 0x06, 0x83, 0xF3, 0x64, 0x39, 0x9C, 0x27, // ;...d9.'
/* 02B8 */ 0xCB, 0xC7, 0xE2, 0x9B, 0x08, 0xF8, 0x04, 0xCE, // ........
/* 02C0 */ 0x16, 0xE4, 0xF0, 0x98, 0x90, 0xA3, 0xA2, 0x97, // ........
/* 02C8 */ 0x22, 0x0F, 0x8F, 0x5F, 0x0E, 0x3C, 0x9F, 0x67, // ".._.<.g
/* 02D0 */ 0x84, 0xA3, 0x7C, 0x92, 0xC0, 0x61, 0xBC, 0x61, // ..|..a.a
/* 02D8 */ 0x78, 0x88, 0xBE, 0x1F, 0xC1, 0x9A, 0xC8, 0x49, // x......I
/* 02E0 */ 0xFB, 0xB6, 0x70, 0xB2, 0x41, 0xE3, 0x87, 0xF5, // ..p.A...
/* 02E8 */ 0xFD, 0x08, 0xB8, 0x2A, 0xB4, 0xE9, 0x53, 0xA3, // ...*..S.
/* 02F0 */ 0x51, 0xAB, 0x06, 0x65, 0x6A, 0x94, 0x69, 0x50, // Q..ej.iP
/* 02F8 */ 0xAB, 0x4F, 0xA5, 0xC6, 0x8C, 0x5D, 0xB3, 0x2C, // .O...].,
/* 0300 */ 0xD0, 0xC0, 0xFF, 0x7F, 0x44, 0x4C, 0xE2, 0xDA, // ....DL..
/* 0308 */ 0x34, 0x38, 0x07, 0x04, 0xA1, 0x71, 0xBE, 0x40, // 48...q.@
/* 0310 */ 0x32, 0x02, 0xA2, 0x6C, 0x20, 0x02, 0x72, 0x8E, // 2..l .r.
/* 0318 */ 0xFF, 0x84, 0x80, 0x9C, 0x0A, 0x44, 0x40, 0xFE, // .....D@.
/* 0320 */ 0xFF, 0x03 // ..
})
}
Device (WMI5)
{
Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
Name (_UID, 0x05) // _UID: Unique ID
Name (_WDG, Buffer (0xDC)
{
/* 0000 */ 0xBF, 0xEF, 0x42, 0x20, 0xF9, 0x9A, 0xDF, 0x47, // ..B ...G
/* 0008 */ 0xB7, 0x1A, 0x28, 0x7C, 0x03, 0x0C, 0x91, 0xCF, // ..(|....
/* 0010 */ 0x47, 0x4E, 0x01, 0x01, 0x5E, 0xB4, 0x9E, 0xB7, // GN..^...
/* 0018 */ 0xB3, 0x85, 0xD5, 0x41, 0xA9, 0x65, 0xCC, 0x17, // ...A.e..
/* 0020 */ 0xD2, 0x2A, 0x6D, 0x8B, 0x47, 0x4D, 0x01, 0x01, // .*m.GM..
/* 0028 */ 0x77, 0x80, 0x92, 0x02, 0x0A, 0xAD, 0xC7, 0x4C, // w......L
/* 0030 */ 0x96, 0xB4, 0x2B, 0x89, 0x83, 0xC4, 0x38, 0x04, // ..+...8.
/* 0038 */ 0x53, 0x43, 0x01, 0x02, 0x61, 0x57, 0x50, 0x1F, // SC..aWP.
/* 0040 */ 0x4A, 0x1F, 0x78, 0x4B, 0x8B, 0xD7, 0xBB, 0x52, // J.xK...R
/* 0048 */ 0xFA, 0x7E, 0x4F, 0x37, 0x47, 0x43, 0x01, 0x02, // .~O7GC..
/* 0050 */ 0x84, 0xC2, 0x95, 0x28, 0x84, 0x00, 0x9E, 0x41, // ...(...A
/* 0058 */ 0xAE, 0xF6, 0x8D, 0xCB, 0xBB, 0x55, 0xB0, 0xB1, // .....U..
/* 0060 */ 0x45, 0x43, 0x01, 0x01, 0xCF, 0xB4, 0x31, 0xD9, // EC....1.
/* 0068 */ 0x4E, 0xF5, 0x07, 0x4D, 0x94, 0x20, 0x42, 0x85, // N..M. B.
/* 0070 */ 0x8C, 0xC6, 0xA2, 0x34, 0x4E, 0x53, 0x01, 0x01, // ...4NS..
/* 0078 */ 0xCC, 0xAD, 0x11, 0xBE, 0x23, 0x99, 0xAD, 0x45, // ....#..E
/* 0080 */ 0x9E, 0x74, 0xCB, 0x5F, 0xB1, 0x04, 0xBE, 0x9D, // .t._....
/* 0088 */ 0x57, 0x44, 0x01, 0x02, 0xC2, 0x81, 0xE0, 0x48, // WD.....H
/* 0090 */ 0x7E, 0x18, 0xE1, 0x43, 0x8B, 0xB1, 0x62, 0xF4, // ~..C..b.
/* 0098 */ 0x82, 0xCC, 0x66, 0x9C, 0x52, 0x44, 0x01, 0x02, // ..f.RD..
/* 00A0 */ 0xB8, 0xE2, 0x02, 0xE7, 0x12, 0x41, 0x76, 0x47, // .....AvG
/* 00A8 */ 0x98, 0xB3, 0xCC, 0x1B, 0x0C, 0x73, 0x92, 0xB4, // .....s..
/* 00B0 */ 0x57, 0x50, 0x01, 0x02, 0xED, 0xD2, 0x94, 0x2B, // WP.....+
/* 00B8 */ 0x48, 0x25, 0xDE, 0x4F, 0xAC, 0x72, 0x96, 0xCA, // H%.O.r..
/* 00C0 */ 0x99, 0xC6, 0xBF, 0xE6, 0x52, 0x50, 0x01, 0x01, // ....RP..
/* 00C8 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, // !...f...
/* 00D0 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, // ......).
/* 00D8 */ 0x42, 0x45, 0x01, 0x00 // BE..
})
Name (RETN, Package (0x0A)
{
"SUCCESS",
"ERROR: NOT_SUPPORTED",
"ERROR: INVALID_PARAMETER",
"ERROR: ACCESS_DENIED",
"ERROR: SYSTEM_BUSY",
"ERROR: OUT_OF_RESOURCES",
"ERROR: NOT_FOUND",
"ERROR: SECURITY_VIORATION",
"ERROR: ABORTED",
"ERROR: BUFFERTOOSMALL"
})
Method (CARU, 2, NotSerialized)
{
Local0 = Arg1
If ((Local0 == 0x00))
{
^^WMI1.IBUF = 0x00
^^WMI1.ILEN = 0x00
Return (0x00)
}
Local1 = SizeOf (^^WMI1.IBUF)
Local1--
If ((Local0 >= Local1))
{
Return (0x02)
}
^^WMI1.IBUF = 0x00
Local2 = 0x00
While ((Local2 < Local0))
{
Local3 = (Local2 * 0x02)
^^WMI1.IBUF [Local2] = DerefOf (Arg0 [Local3])
Local2++
}
Local0--
Local1 = DerefOf (^^WMI1.IBUF [Local0])
If (((Local1 == 0x3B) || (Local1 == 0x2A)))
{
^^WMI1.IBUF [Local0] = 0x00
^^WMI1.ILEN = Local0
}
Else
{
^^WMI1.ILEN = Arg1
}
Return (0x00)
}
Method (WQGN, 1, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
WMIS (0x0E, 0x00)
Release (^^WMI1.MWMI)
Return (SNMA) /* \SNMA */
}
Method (WQGM, 1, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
WMIS (0x0E, 0x01)
Release (^^WMI1.MWMI)
Return (SNMA) /* \SNMA */
}
Method (WMSC, 3, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
SCSB = Arg2
Local0 = SSPL /* \SSPL */
If ((Local0 == 0x00))
{
SSPB = 0x00
}
Else
{
Local0 /= 0x02
}
Local1 = CARU (SSPB, Local0)
SSPB = 0x00
SSPL = 0x00
If ((Local1 == 0x00))
{
If ((^^WMI1.ILEN != 0x00))
{
Local1 = ^^WMI1.CPAS (^^WMI1.IBUF, 0x00)
}
If ((Local1 == 0x00))
{
Local1 = WMIS (0x0E, 0x02)
}
}
If ((Local1 != 0x00))
{
SCSB = 0x00
^^WMI1.CLRP ()
}
Release (^^WMI1.MWMI)
Return (DerefOf (RETN [Local1]))
}
Method (WMGC, 3, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
SCSB = Arg2
Local0 = SGPL /* \SGPL */
If ((SGPL == 0x00))
{
SGPB = 0x00
}
Else
{
Local0 /= 0x02
}
Local1 = CARU (SGPB, Local0)
SGPB = 0x00
SGPL = 0x00
If ((Local1 == 0x00))
{
If ((^^WMI1.ILEN != 0x00))
{
Local1 = ^^WMI1.CPAS (^^WMI1.IBUF, 0x00)
}
If ((Local1 == 0x00))
{
Local1 = WMIS (0x0E, 0x03)
}
}
If ((Local1 != 0x00))
{
SCSB = 0x00
^^WMI1.CLRP ()
}
Release (^^WMI1.MWMI)
Return (SGSB) /* \SGSB */
}
Method (WQEC, 1, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
Local0 = WMIS (0x0E, 0x04)
If ((Local0 != 0x00))
{
SCSB = 0x00
}
Release (^^WMI1.MWMI)
Return (SEDL) /* \SEDL */
}
Method (WQNS, 1, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
Local0 = WMIS (0x0E, 0x04)
If ((Local0 != 0x00))
{
SCSB = 0x00
}
Release (^^WMI1.MWMI)
Return (SENS) /* \SENS */
}
Method (WMWD, 3, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
SCSB = Arg2
Local0 = SWAL /* \SWAL */
If ((Local0 == 0x00))
{
SWAB = 0x00
}
Else
{
Local0 /= 0x02
}
Local1 = CARU (SWAB, Local0)
SWAL = 0x00
SWAB = 0x00
If ((Local1 == 0x00))
{
If ((^^WMI1.ILEN != 0x00))
{
Local1 = ^^WMI1.CPAS (^^WMI1.IBUF, 0x00)
}
If ((Local1 == 0x00))
{
Local1 = WMIS (0x0E, 0x05)
}
}
If ((Local1 != 0x00))
{
SCSB = 0x00
^^WMI1.CLRP ()
}
Release (^^WMI1.MWMI)
Return (DerefOf (RETN [Local1]))
}
Method (WMRD, 3, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
SCSB = Arg2
Local1 = WMIS (0x0E, 0x08)
If ((Local1 != 0x00))
{
SCSB = 0x00
^^WMI1.CLRP ()
}
Release (^^WMI1.MWMI)
Return (GWMB) /* \GWMB */
}
Method (WMWP, 3, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
SCSB = Arg2
Local0 = WMIS (0x0E, 0x06)
If ((Local0 != 0x00))
{
SCSB = 0x00
^^WMI1.CLRP ()
}
Release (^^WMI1.MWMI)
Return (DerefOf (RETN [Local0]))
}
Method (WQRP, 1, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
Local0 = WMIS (0x0E, 0x07)
If ((Local0 != 0x00))
{
SCSB = 0x00
}
Release (^^WMI1.MWMI)
Return (GPMB) /* \GPMB */
}
Name (WQBE, Buffer (0x1019)
{
/* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB....
/* 0008 */ 0x09, 0x10, 0x00, 0x00, 0x0C, 0x5C, 0x00, 0x00, // .....\..
/* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T
/* 0018 */ 0x28, 0xC4, 0xAC, 0x00, 0x01, 0x06, 0x18, 0x42, // (......B
/* 0020 */ 0x10, 0x1B, 0x10, 0x92, 0x40, 0x62, 0x02, 0x09, // ....@b..
/* 0028 */ 0x83, 0x50, 0x68, 0x16, 0x06, 0x43, 0xB8, 0x2C, // .Ph..C.,
/* 0030 */ 0x0A, 0x42, 0x2E, 0xA0, 0xA8, 0x14, 0x08, 0x19, // .B......
/* 0038 */ 0x16, 0xA0, 0x58, 0x80, 0x73, 0x01, 0xD2, 0x05, // ..X.s...
/* 0040 */ 0x28, 0x47, 0x91, 0x63, 0x10, 0x11, 0xB8, 0x7F, // (G.c....
/* 0048 */ 0x7F, 0x88, 0xE1, 0x40, 0xA4, 0x00, 0x42, 0xA2, // ...@..B.
/* 0050 */ 0x21, 0x24, 0x02, 0x98, 0x0A, 0x81, 0x23, 0x04, // !$....#.
/* 0058 */ 0xFD, 0x0A, 0x40, 0xE8, 0x50, 0x80, 0x4C, 0x01, // ..@.P.L.
/* 0060 */ 0x06, 0x05, 0x38, 0x45, 0x10, 0x41, 0x94, 0x96, // ..8E.A..
/* 0068 */ 0x05, 0xE8, 0x16, 0xE0, 0x5B, 0x80, 0x76, 0x08, // ....[.v.
/* 0070 */ 0xA1, 0x19, 0xE7, 0x1C, 0x4E, 0xA1, 0x69, 0x01, // ....N.i.
/* 0078 */ 0x9A, 0x21, 0x34, 0x8A, 0xC3, 0x08, 0x13, 0x29, // .!4....)
/* 0080 */ 0x68, 0x8C, 0x78, 0x67, 0x62, 0xCF, 0x38, 0xB2, // h.xgb.8.
/* 0088 */ 0x28, 0x40, 0x36, 0x86, 0x6C, 0x83, 0x93, 0xD1, // (@6.l...
/* 0090 */ 0x30, 0x91, 0x43, 0x41, 0x89, 0x19, 0x0A, 0x4A, // 0.CA...J
/* 0098 */ 0xE7, 0x4C, 0x64, 0x13, 0x58, 0x03, 0x28, 0x14, // .Ld.X.(.
/* 00A0 */ 0x45, 0xE3, 0x88, 0x92, 0xE0, 0x0C, 0x4E, 0x21, // E.....N!
/* 00A8 */ 0x42, 0xF0, 0x72, 0x05, 0x48, 0x9E, 0x80, 0x66, // B.r.H..f
/* 00B0 */ 0x72, 0x14, 0xAD, 0x0F, 0x42, 0x43, 0x60, 0x23, // r...BC`#
/* 00B8 */ 0xE0, 0x92, 0x2D, 0x80, 0x30, 0x51, 0xAB, 0x95, // ..-.0Q..
/* 00C0 */ 0x48, 0x18, 0x94, 0x04, 0x10, 0xC9, 0x19, 0x31, // H......1
/* 00C8 */ 0x0A, 0xD8, 0x5E, 0x27, 0x22, 0x93, 0xC3, 0xA5, // ..^'"...
/* 00D0 */ 0xD2, 0x06, 0x8B, 0x1E, 0xE7, 0xA9, 0x1C, 0xA1, // ........
/* 00D8 */ 0x07, 0x67, 0x02, 0xA3, 0x9E, 0xD2, 0xE1, 0xBC, // .g......
/* 00E0 */ 0x03, 0x14, 0x8F, 0x2A, 0x8C, 0xE6, 0xA0, 0xC8, // ...*....
/* 00E8 */ 0xC8, 0x71, 0xE3, 0xB3, 0x44, 0x58, 0x9D, 0x02, // .q..DX..
/* 00F0 */ 0x62, 0x1F, 0xDA, 0x01, 0x17, 0x3E, 0x65, 0x32, // b....>e2
/* 00F8 */ 0x82, 0x43, 0x4D, 0x70, 0x7C, 0x31, 0x4E, 0xED, // .CMp|1N.
/* 0100 */ 0x6C, 0x3D, 0x64, 0xCF, 0xDA, 0x03, 0x2C, 0x08, // l=d...,.
/* 0108 */ 0x54, 0x83, 0x87, 0x03, 0x16, 0x2E, 0x8A, 0x21, // T......!
/* 0110 */ 0xA2, 0x1C, 0x43, 0xA0, 0xF3, 0xF4, 0x50, 0x70, // ..C...Pp
/* 0118 */ 0x32, 0x20, 0xE4, 0x51, 0x80, 0x55, 0x01, 0xFF, // 2 .Q.U..
/* 0120 */ 0xFF, 0xE1, 0x9D, 0x4B, 0x02, 0xCF, 0xC0, 0x93, // ...K....
/* 0128 */ 0x6A, 0x4C, 0x80, 0x32, 0x04, 0x89, 0x1B, 0x96, // jL.2....
/* 0130 */ 0x6C, 0x1D, 0x13, 0x34, 0xB0, 0xDA, 0x90, 0x84, // l..4....
/* 0138 */ 0x12, 0x2C, 0x50, 0x94, 0x60, 0x51, 0xA2, 0xC5, // .,P.`Q..
/* 0140 */ 0x8A, 0x74, 0x28, 0xA1, 0x0C, 0x6A, 0xAC, 0x40, // .t(..j.@
/* 0148 */ 0xAD, 0x41, 0x68, 0x2C, 0x31, 0x02, 0xC5, 0x78, // .Ah,1..x
/* 0150 */ 0x73, 0x30, 0x41, 0x41, 0x2B, 0x97, 0x86, 0x91, // s0AA+...
/* 0158 */ 0x78, 0xF0, 0x32, 0xB2, 0x9F, 0xA7, 0x06, 0x4A, // x.2....J
/* 0160 */ 0x70, 0x34, 0x6C, 0x82, 0x67, 0x16, 0x35, 0x81, // p4l.g.5.
/* 0168 */ 0x63, 0x43, 0x08, 0xD4, 0xA7, 0x08, 0x3B, 0x38, // cC....;8
/* 0170 */ 0x45, 0xA0, 0x0E, 0x01, 0x47, 0x1A, 0xF2, 0xB0, // E...G...
/* 0178 */ 0x0E, 0x90, 0x4D, 0x2C, 0xAE, 0xCF, 0x13, 0xDE, // ..M,....
/* 0180 */ 0x82, 0x8F, 0x03, 0x7C, 0x0C, 0x9E, 0xED, 0xD1, // ...|....
/* 0188 */ 0x05, 0x3C, 0x06, 0x76, 0x1E, 0x30, 0x20, 0xDE, // .<.v.0 .
/* 0190 */ 0xFB, 0x05, 0x80, 0xCC, 0xD9, 0xE7, 0x02, 0x18, // ........
/* 0198 */ 0x47, 0x01, 0xB8, 0x23, 0xC3, 0x9D, 0x15, 0x3C, // G..#...<
/* 01A0 */ 0x2E, 0x0E, 0xEF, 0x03, 0xC2, 0x1B, 0x44, 0xB1, // ......D.
/* 01A8 */ 0xE7, 0x04, 0x2A, 0xEB, 0xAC, 0x80, 0xBE, 0x47, // ..*....G
/* 01B0 */ 0x1C, 0x5B, 0xC0, 0x52, 0x05, 0xFC, 0x41, 0x9E, // .[.R..A.
/* 01B8 */ 0x25, 0x1E, 0x25, 0x3C, 0x03, 0x1F, 0x2C, 0x3C, // %.%<..,<
/* 01C0 */ 0xF4, 0x04, 0xA3, 0x43, 0xC8, 0x09, 0x2C, 0x1D, // ...C..,.
/* 01C8 */ 0x33, 0x47, 0x6D, 0x7E, 0x38, 0x3A, 0x36, 0xB0, // 3Gm~8:6.
/* 01D0 */ 0xA8, 0x10, 0xFA, 0x49, 0x78, 0xCC, 0xE0, 0x38, // ...Ix..8
/* 01D8 */ 0x86, 0x78, 0xCC, 0xC0, 0xE3, 0xFF, 0x3F, 0x66, // .x....?f
/* 01E0 */ 0xF8, 0x23, 0xC3, 0xDD, 0x13, 0x3C, 0x58, 0x70, // .#...<Xp
/* 01E8 */ 0x38, 0x3B, 0x33, 0x88, 0xC0, 0x47, 0x18, 0x8F, // 8;3..G..
/* 01F0 */ 0x16, 0x37, 0x48, 0x4F, 0x91, 0xDF, 0x38, 0xC2, // .7HO..8.
/* 01F8 */ 0x56, 0x3F, 0x0C, 0x1A, 0x77, 0xBC, 0xA0, 0x02, // V?..w...
/* 0200 */ 0xF4, 0x78, 0xC1, 0x2F, 0x6F, 0xBC, 0xA0, 0x19, // .x./o...
/* 0208 */ 0x1B, 0x9C, 0x11, 0x83, 0xEF, 0xEC, 0xE0, 0x03, // ........
/* 0210 */ 0x0F, 0x70, 0x18, 0x13, 0xE6, 0x8C, 0xC2, 0x0E, // .p......
/* 0218 */ 0x3B, 0xC0, 0xE3, 0xFF, 0x8F, 0xE1, 0x21, 0xF0, // ;.....!.
/* 0220 */ 0xB3, 0x86, 0x87, 0xC0, 0x07, 0xF0, 0xDC, 0x72, // .......r
/* 0228 */ 0x92, 0x56, 0x3A, 0x35, 0xE4, 0xD9, 0x08, 0x58, // .V:5...X
/* 0230 */ 0x0C, 0x86, 0x07, 0x7C, 0x03, 0x99, 0x40, 0x51, // ...|..@Q
/* 0238 */ 0x8E, 0x0E, 0x8A, 0x04, 0x83, 0xF2, 0x70, 0x12, // ......p.
/* 0240 */ 0x82, 0x2E, 0x09, 0x0E, 0x75, 0x0A, 0xF0, 0xB8, // ....u...
/* 0248 */ 0x9F, 0x2C, 0x8E, 0xE3, 0x5C, 0xDE, 0x1D, 0x3C, // .,..\..<
/* 0250 */ 0xA2, 0x07, 0x0D, 0x18, 0x67, 0x08, 0x8F, 0xF1, // ....g...
/* 0258 */ 0x8C, 0x3D, 0xBB, 0xC7, 0x14, 0x8F, 0xCE, 0x04, // .=......
/* 0260 */ 0x1E, 0x05, 0x43, 0xE3, 0x87, 0x14, 0x76, 0xA0, // ..C...v.
/* 0268 */ 0xE0, 0xA7, 0x00, 0x1F, 0x28, 0xD8, 0x00, 0x9F, // ....(...
/* 0270 */ 0x8D, 0x5E, 0x38, 0x3C, 0x91, 0x47, 0x20, 0x13, // .^8<.G .
/* 0278 */ 0xF8, 0x4C, 0x63, 0xEC, 0x67, 0x18, 0xF0, 0x1C, // .Lc.g...
/* 0280 */ 0x0E, 0x7C, 0xA9, 0x78, 0x3D, 0x62, 0x57, 0x9F, // .|.x=bW.
/* 0288 */ 0xE3, 0x31, 0x4E, 0xB8, 0x83, 0x7F, 0x2C, 0xF2, // .1N...,.
/* 0290 */ 0xB4, 0x1F, 0x0B, 0x0C, 0xF2, 0x5C, 0x04, 0xFB, // .....\..
/* 0298 */ 0x0A, 0xF1, 0x36, 0xF1, 0x30, 0xE4, 0xF3, 0x81, // ..6.0...
/* 02A0 */ 0x27, 0xF0, 0x3E, 0xE4, 0x43, 0xD1, 0xB9, 0x06, // '.>.C...
/* 02A8 */ 0x79, 0x33, 0x32, 0x58, 0x6F, 0x93, 0x14, 0x94, // y32Xo...
/* 02B0 */ 0xD1, 0xA2, 0x3C, 0x17, 0x05, 0x8B, 0xF2, 0x5A, // ..<....Z
/* 02B8 */ 0x64, 0x98, 0x63, 0x8A, 0xFD, 0x46, 0x11, 0x22, // d.c..F."
/* 02C0 */ 0x48, 0xD0, 0x60, 0x31, 0x42, 0x26, 0xF0, 0xC1, // H.`1B&..
/* 02C8 */ 0x0A, 0xFF, 0xFF, 0x3F, 0x58, 0x81, 0x43, 0xC8, // ...?X.C.
/* 02D0 */ 0xAA, 0x75, 0x34, 0x72, 0x24, 0x78, 0xD4, 0xD1, // .u4r$x..
/* 02D8 */ 0xC1, 0x27, 0x03, 0x8F, 0xEC, 0xB0, 0x7D, 0xAD, // .'....}.
/* 02E0 */ 0x30, 0xC8, 0x13, 0x94, 0x0F, 0x14, 0x8F, 0x04, // 0.......
/* 02E8 */ 0x1E, 0x03, 0xBB, 0x2B, 0xF8, 0x10, 0xE0, 0x33, // ...+...3
/* 02F0 */ 0x02, 0xDE, 0x35, 0xA0, 0x2E, 0x07, 0xCF, 0x26, // ..5....&
/* 02F8 */ 0xB0, 0xCE, 0x28, 0xF8, 0xC3, 0x08, 0xFC, 0xF3, // ..(.....
/* 0300 */ 0x1C, 0x3B, 0x8D, 0xF8, 0x2C, 0x91, 0xC0, 0xF2, // .;..,...
/* 0308 */ 0x07, 0x81, 0x1A, 0x99, 0xA1, 0x7D, 0xBF, 0x78, // .....}.x
/* 0310 */ 0xAD, 0x33, 0xE4, 0x93, 0xC2, 0x61, 0xB1, 0x53, // .3...a.S
/* 0318 */ 0x89, 0x4F, 0x40, 0xE0, 0x18, 0x0F, 0xFC, 0xCB, // .O@.....
/* 0320 */ 0xC0, 0x63, 0x88, 0xA7, 0xEF, 0xF9, 0x9A, 0x60, // .c.....`
/* 0328 */ 0xD8, 0x93, 0x12, 0x7A, 0xB8, 0x1E, 0xF4, 0xE3, // ...z....
/* 0330 */ 0x02, 0xC6, 0xE7, 0x89, 0x40, 0xF7, 0x80, 0xA7, // ....@...
/* 0338 */ 0x05, 0x4C, 0xA8, 0x81, 0xD3, 0x03, 0x17, 0x78, // .L.....x
/* 0340 */ 0x4E, 0x2B, 0xF8, 0xD3, 0x04, 0xBC, 0xD1, 0xE0, // N+......
/* 0348 */ 0xCE, 0x12, 0x70, 0x86, 0x89, 0xFB, 0xFF, 0x9F, // ..p.....
/* 0350 */ 0x70, 0xC0, 0x81, 0xF6, 0x84, 0x03, 0xBE, 0xDB, // p.......
/* 0358 */ 0x06, 0x1B, 0x2F, 0xDC, 0x03, 0x0E, 0xE0, 0x50, // ../....P
/* 0360 */ 0xC8, 0xB1, 0x91, 0xC6, 0x7A, 0x17, 0x28, 0xFA, // ....z.(.
/* 0368 */ 0x01, 0x87, 0xC2, 0xF8, 0x80, 0x03, 0x38, 0x3A, // ......8:
/* 0370 */ 0xCC, 0xF0, 0xFF, 0xFF, 0x01, 0x07, 0x3C, 0x53, // ......<S
/* 0378 */ 0x38, 0xB0, 0x43, 0x88, 0x15, 0xE4, 0x29, 0xC1, // 8.C...).
/* 0380 */ 0xB7, 0x49, 0x98, 0x63, 0xF7, 0x99, 0xC4, 0x38, // .I.c...8
/* 0388 */ 0x27, 0xE2, 0x63, 0x0E, 0xEC, 0xCB, 0x8D, 0x2F, // '.c..../
/* 0390 */ 0x32, 0x81, 0x83, 0x9C, 0xEB, 0x03, 0x64, 0x90, // 2.....d.
/* 0398 */ 0x07, 0x49, 0xDF, 0x21, 0x7D, 0x9C, 0x78, 0xCC, // .I.!}.x.
/* 03A0 */ 0xF1, 0xE9, 0xE6, 0x2D, 0xD2, 0x28, 0xA7, 0xF1, // ...-.(..
/* 03A8 */ 0x3E, 0x69, 0x14, 0xCF, 0x24, 0x42, 0xAC, 0x87, // >i..$B..
/* 03B0 */ 0x1D, 0xDF, 0x2C, 0x0D, 0x16, 0x2B, 0xCA, 0x4B, // ..,..+.K
/* 03B8 */ 0xA5, 0x8F, 0x39, 0xE0, 0x15, 0x79, 0xCC, 0x01, // ..9..y..
/* 03C0 */ 0x28, 0xF0, 0xFF, 0x3F, 0xE6, 0x80, 0xE3, 0xF1, // (..?....
/* 03C8 */ 0xE0, 0x63, 0x0E, 0xEE, 0x28, 0x61, 0xE0, 0x87, // .c..(a..
/* 03D0 */ 0x06, 0x1F, 0x40, 0x60, 0x9D, 0x44, 0xD8, 0x89, // ..@`.D..
/* 03D8 */ 0x01, 0x13, 0xF0, 0xA8, 0x03, 0x3A, 0xC1, 0xE7, // .....:..
/* 03E0 */ 0x0A, 0xD0, 0x8C, 0x88, 0x9D, 0x2A, 0xC0, 0x78, // .....*.x
/* 03E8 */ 0xE0, 0x01, 0xDF, 0xB0, 0x7C, 0xE0, 0x01, 0xE7, // ....|...
/* 03F0 */ 0xC8, 0xC1, 0x75, 0xE8, 0x01, 0xDE, 0xFF, 0xFF, // ..u.....
/* 03F8 */ 0x43, 0x0F, 0x70, 0xD1, 0x69, 0x02, 0x84, 0x05, // C.p.i...
/* 0400 */ 0x7B, 0x21, 0x28, 0xF2, 0x53, 0x81, 0xC2, 0xF8, // {!(.S...
/* 0408 */ 0xD0, 0x03, 0x38, 0x1A, 0xE5, 0xD3, 0x04, 0x58, // ..8....X
/* 0410 */ 0x0E, 0xA4, 0xEC, 0x16, 0xE6, 0x73, 0x98, 0xC7, // .....s..
/* 0418 */ 0xE3, 0x39, 0xFB, 0x28, 0xC1, 0xCE, 0xE2, 0xBE, // .9.(....
/* 0420 */ 0x93, 0xC3, 0x3F, 0xF5, 0xC0, 0x3F, 0x57, 0x3C, // ..?..?W<
/* 0428 */ 0x4D, 0xBC, 0xD7, 0xBC, 0x20, 0x1A, 0xE5, 0x55, // M... ..U
/* 0430 */ 0x27, 0xC2, 0x03, 0x8F, 0x8F, 0xE1, 0x3E, 0x26, // '.....>&
/* 0438 */ 0x7A, 0xC4, 0x2F, 0x3C, 0x86, 0xF2, 0xA5, 0xC7, // z./<....
/* 0440 */ 0xB7, 0x1F, 0x9F, 0x15, 0x0D, 0xF2, 0x70, 0x6E, // ......pn
/* 0448 */ 0x88, 0x77, 0x8B, 0x70, 0x91, 0x62, 0x44, 0xF7, // .w.p.bD.
/* 0450 */ 0xDC, 0x7D, 0xEA, 0x01, 0xCB, 0xFF, 0xFF, 0xD4, // .}......
/* 0458 */ 0x83, 0x97, 0xF6, 0x80, 0xD1, 0x2F, 0xCB, 0xA7, // ...../..
/* 0460 */ 0x1E, 0x80, 0x1F, 0x07, 0x56, 0xDC, 0xA9, 0x05, // ....V...
/* 0468 */ 0x2C, 0xD7, 0x07, 0x76, 0x11, 0x81, 0x75, 0x60, // ,..v..u`
/* 0470 */ 0x01, 0xE6, 0xFF, 0xFF, 0x03, 0x0B, 0x70, 0xD0, // ......p.
/* 0478 */ 0xFA, 0x78, 0xD0, 0x09, 0xC4, 0x3A, 0x41, 0x64, // .x...:Ad
/* 0480 */ 0xE3, 0x29, 0xE0, 0xC3, 0x00, 0xD5, 0x7D, 0xEA, // .)....}.
/* 0488 */ 0xD3, 0x6C, 0x61, 0x43, 0x0B, 0x52, 0xF0, 0x3E, // .laC.R.>
/* 0490 */ 0x19, 0x58, 0x21, 0x8C, 0x34, 0xBE, 0x20, 0x34, // .X!.4. 4
/* 0498 */ 0x3A, 0xC3, 0x59, 0x15, 0x8C, 0xE0, 0x0C, 0xE2, // :.Y.....
/* 04A0 */ 0xA3, 0x99, 0x03, 0x41, 0xC8, 0xC8, 0x40, 0x28, // ...A..@(
/* 04A8 */ 0xA4, 0x55, 0x9C, 0x3F, 0xC8, 0xDD, 0xC8, 0x47, // .U.?...G
/* 04B0 */ 0x04, 0x27, 0xB8, 0xCC, 0x7B, 0xFE, 0xF4, 0xAA, // .'..{...
/* 04B8 */ 0xC0, 0xB1, 0x7D, 0x78, 0x30, 0xB0, 0xE7, 0xEC, // ..}x0...
/* 04C0 */ 0x3B, 0x0B, 0x9F, 0xB8, 0x6F, 0x01, 0x67, 0xFC, // ;...o.g.
/* 04C8 */ 0xDE, 0xE0, 0xFB, 0x81, 0xD5, 0xC0, 0xA1, 0xA0, // ........
/* 04D0 */ 0x7D, 0x27, 0xE1, 0x27, 0x18, 0x76, 0x76, 0x02, // }'.'.vv.
/* 04D8 */ 0xC7, 0x6D, 0x24, 0xC1, 0x0C, 0x07, 0x56, 0xF4, // .m$...V.
/* 04E0 */ 0xC0, 0x8C, 0xFA, 0xBE, 0xF1, 0x2E, 0xE3, 0xDB, // ........
/* 04E8 */ 0x0A, 0x1B, 0x89, 0x07, 0x06, 0x6F, 0x44, 0xB0, // .....oD.
/* 04F0 */ 0x06, 0x6C, 0x5D, 0x87, 0x2B, 0x90, 0xE5, 0x98, // .l].+...
/* 04F8 */ 0x11, 0x5A, 0xC9, 0x15, 0x1F, 0xD2, 0x9C, 0xF8, // .Z......
/* 0500 */ 0xFF, 0x7F, 0x4E, 0x60, 0xBB, 0x19, 0x78, 0x4E, // ..N`..xN
/* 0508 */ 0x60, 0x3B, 0x1D, 0xC0, 0x99, 0x13, 0x3F, 0x1D, // `;....?.
/* 0510 */ 0x80, 0xF9, 0x83, 0xE2, 0x89, 0xC1, 0x42, 0xF2, // ......B.
/* 0518 */ 0xE9, 0x00, 0x5C, 0x41, 0x8E, 0x3A, 0xE8, 0x73, // ..\A.:.s
/* 0520 */ 0x14, 0x1B, 0xD7, 0xBB, 0x86, 0x4F, 0x1A, 0x3E, // .....O.>
/* 0528 */ 0x5A, 0xF8, 0x1E, 0xE5, 0xC1, 0x83, 0x75, 0x9C, // Z.....u.
/* 0530 */ 0x1E, 0x3C, 0xFC, 0x5B, 0x0E, 0x56, 0xDF, 0x31, // .<.[.V.1
/* 0538 */ 0x06, 0x14, 0x40, 0xBE, 0xB3, 0xF8, 0x8C, 0xF2, // ..@.....
/* 0540 */ 0xDC, 0xC2, 0xC6, 0xF0, 0x98, 0x62, 0x34, 0xA3, // .....b4.
/* 0548 */ 0xF3, 0xF0, 0xE8, 0x14, 0xC6, 0x71, 0x6F, 0x10, // .....qo.
/* 0550 */ 0x14, 0xC4, 0x07, 0x04, 0x47, 0x99, 0x2C, 0xF2, // ....G.,.
/* 0558 */ 0xFF, 0x7F, 0xFB, 0x61, 0x77, 0x1E, 0xCF, 0xE8, // ...aw...
/* 0560 */ 0xB0, 0x83, 0x3C, 0x2C, 0x92, 0xCB, 0x85, 0xEE, // ..<,....
/* 0568 */ 0x48, 0xB0, 0x6E, 0x2C, 0x21, 0x9F, 0x56, 0x3C, // H.n,!.V<
/* 0570 */ 0x0D, 0x9F, 0x0B, 0xF0, 0xA7, 0x0F, 0x7E, 0x7F, // ......~.
/* 0578 */ 0xF2, 0x15, 0x09, 0x7C, 0x02, 0x67, 0x0B, 0x72, // ...|.g.r
/* 0580 */ 0x78, 0x4C, 0xCC, 0x0B, 0x03, 0x6A, 0x78, 0xFC, // xL...jx.
/* 0588 */ 0x72, 0xE0, 0xF9, 0x3C, 0x23, 0x1C, 0xE5, 0xE3, // r..<#...
/* 0590 */ 0x0D, 0x0E, 0xE3, 0xE9, 0xC5, 0x43, 0xF4, 0xCD, // .....C..
/* 0598 */ 0x0D, 0xD6, 0x44, 0x4E, 0xDA, 0xB7, 0x85, 0x93, // ..DN....
/* 05A0 */ 0x0D, 0xFA, 0x5A, 0x89, 0xB9, 0xB9, 0x01, 0x57, // ..Z....W
/* 05A8 */ 0x4D, 0x4B, 0xA1, 0x81, 0x96, 0xA3, 0xA8, 0x0B, // MK......
/* 05B0 */ 0xA3, 0x30, 0xBE, 0x03, 0x02, 0x9B, 0xFF, 0xFF, // .0......
/* 05B8 */ 0x1D, 0x10, 0x58, 0x5D, 0xAB, 0x0E, 0x1D, 0x2C, // ..X]...,
/* 05C0 */ 0x07, 0x84, 0xC7, 0x09, 0xCC, 0xB4, 0xC1, 0x73, // .......s
/* 05C8 */ 0xFF, 0x83, 0x7B, 0x6F, 0x8E, 0xFD, 0xEA, 0xFC, // ..{o....
/* 05D0 */ 0x3E, 0x11, 0xE2, 0xCD, 0xEF, 0xC5, 0x2F, 0xCE, // >...../.
/* 05D8 */ 0x83, 0x5F, 0x24, 0xCF, 0xF5, 0xFD, 0x8F, 0x1D, // ._$.....
/* 05E0 */ 0xA6, 0x7D, 0x5A, 0x79, 0x93, 0x36, 0xCA, 0x41, // .}Zy.6.A
/* 05E8 */ 0x3C, 0x02, 0x1A, 0x24, 0x42, 0xD8, 0x47, 0x9B, // <..$B.G.
/* 05F0 */ 0x27, 0x30, 0x03, 0x1D, 0x4A, 0xC8, 0x28, 0x8F, // '0..J.(.
/* 05F8 */ 0x37, 0x51, 0xDE, 0xFF, 0x00, 0xD3, 0xFF, 0xFF, // 7Q......
/* 0600 */ 0xFB, 0x1F, 0xE0, 0xE9, 0x12, 0xCC, 0xEE, 0x7F, // ........
/* 0608 */ 0x80, 0x53, 0x7D, 0x17, 0x3E, 0xAA, 0x0D, 0x44, // .S}.>..D
/* 0610 */ 0xF7, 0x3F, 0x9C, 0xE6, 0x47, 0x83, 0x66, 0x0B, // .?..G.f.
/* 0618 */ 0xFB, 0xEE, 0xC7, 0xEE, 0x7F, 0x5C, 0x1D, 0x8C, // .....\..
/* 0620 */ 0x92, 0xD0, 0xE8, 0xB8, 0xC4, 0xB5, 0xC3, 0x08, // ........
/* 0628 */ 0xCE, 0x20, 0x3E, 0x47, 0xF8, 0xFE, 0x07, 0xEB, // . >G....
/* 0630 */ 0xFF, 0x7F, 0xFF, 0x03, 0x4C, 0x5C, 0xC9, 0x80, // ....L\..
/* 0638 */ 0xDD, 0x11, 0x10, 0x1C, 0x57, 0x32, 0xE0, 0x14, // ....W2..
/* 0640 */ 0xE9, 0x52, 0x80, 0x0A, 0x71, 0x29, 0xA0, 0x20, // .R..q).
/* 0648 */ 0x9E, 0x98, 0xC3, 0x5C, 0x0D, 0xD1, 0x93, 0xF5, // ...\....
/* 0650 */ 0xD5, 0x10, 0xC6, 0x9D, 0x0C, 0xEC, 0xD7, 0x06, // ........
/* 0658 */ 0xDF, 0x4B, 0xE0, 0xFE, 0xFF, 0x0F, 0xFB, 0x70, // .K.....p
/* 0660 */ 0x42, 0x5D, 0x1D, 0xD0, 0x97, 0x15, 0x9F, 0x0E, // B]......
/* 0668 */ 0x31, 0x03, 0xD4, 0xD9, 0x81, 0x0E, 0x0A, 0x5C, // 1......\
/* 0670 */ 0xD7, 0x43, 0xDC, 0xD8, 0xE0, 0x9D, 0x0F, 0xC1, // .C......
/* 0678 */ 0x77, 0x7B, 0x03, 0x1E, 0xF1, 0x6E, 0x6F, 0x40, // w{...no@
/* 0680 */ 0xEF, 0xCE, 0x05, 0xDC, 0x04, 0xFE, 0xA5, 0x4C, // .......L
/* 0688 */ 0xA0, 0x38, 0x4B, 0x91, 0x24, 0x18, 0xD4, 0xCD, // .8K.$...
/* 0690 */ 0x0D, 0x3C, 0xFF, 0xFF, 0x9B, 0x1B, 0x70, 0x3F, // .<....p?
/* 0698 */ 0x34, 0x78, 0xD8, 0xE0, 0xC0, 0x8F, 0x71, 0xD6, // 4x....q.
/* 06A0 */ 0x4F, 0x04, 0x3E, 0xB3, 0x78, 0xC2, 0x6C, 0xDA, // O.>.x.l.
/* 06A8 */ 0xB0, 0xF0, 0x13, 0xF8, 0xE2, 0x06, 0xF7, 0xA2, // ........
/* 06B0 */ 0xF1, 0xEE, 0xEF, 0xD3, 0x5A, 0xE4, 0x28, 0x9E, // ....Z.(.
/* 06B8 */ 0xE8, 0x13, 0xDB, 0x7B, 0x47, 0x84, 0x28, 0x0C, // ...{G.(.
/* 06C0 */ 0xE2, 0xDD, 0x2D, 0xDC, 0x19, 0x44, 0x39, 0x87, // ..-..D9.
/* 06C8 */ 0xD7, 0x26, 0x5F, 0xE0, 0x9E, 0xDD, 0x3C, 0xD6, // .&_...<.
/* 06D0 */ 0xB0, 0x8F, 0x6E, 0xBE, 0xBA, 0x19, 0x21, 0x46, // ..n...!F
/* 06D8 */ 0xDC, 0x10, 0x41, 0x5F, 0xDC, 0xC0, 0x1B, 0xE2, // ..A_....
/* 06E0 */ 0x8C, 0x4D, 0x2F, 0x6E, 0x80, 0x87, 0xFF, 0xFF, // .M/n....
/* 06E8 */ 0xC5, 0x0D, 0xF0, 0x22, 0xF1, 0xE1, 0xA0, 0x3B, // ..."...;
/* 06F0 */ 0x17, 0x1F, 0x8F, 0x45, 0x41, 0x93, 0xD3, 0x02, // ...EA...
/* 06F8 */ 0x9C, 0xCB, 0x0F, 0xE6, 0xFE, 0xE1, 0x0B, 0x83, // ........
/* 0700 */ 0x45, 0xC0, 0xEB, 0x60, 0x63, 0x68, 0x9F, 0x29, // E..`ch.)
/* 0708 */ 0xF8, 0x01, 0xC3, 0x67, 0x0A, 0x06, 0xCC, 0x0F, // ...g....
/* 0710 */ 0x26, 0x98, 0x23, 0x05, 0xF0, 0x3A, 0xF1, 0xC0, // &.#..:..
/* 0718 */ 0x1B, 0x97, 0xC7, 0xE3, 0x41, 0xC3, 0x9D, 0xCC, // ....A...
/* 0720 */ 0x49, 0x57, 0x3D, 0x05, 0xDD, 0x05, 0xAC, 0xEE, // IW=.....
/* 0728 */ 0x28, 0x07, 0x92, 0x21, 0x63, 0x09, 0x2C, 0xF8, // (..!c.,.
/* 0730 */ 0xE0, 0x03, 0x8A, 0xFF, 0xFF, 0x34, 0xB0, 0x13, // .....4..
/* 0738 */ 0x85, 0x31, 0x16, 0x58, 0x03, 0x65, 0xB7, 0x41, // .1.X.e.A
/* 0740 */ 0xC0, 0xDD, 0x60, 0xB8, 0x84, 0xD3, 0x0F, 0x2A, // ..`....*
/* 0748 */ 0xF4, 0xB3, 0xC0, 0x07, 0x20, 0x40, 0xF7, 0xFF, // .... @..
/* 0750 */ 0xFF, 0x00, 0x04, 0xBE, 0xE9, 0x3D, 0xE2, 0x3C, // .....=.<
/* 0758 */ 0xBA, 0x3D, 0xF0, 0xBC, 0x57, 0x9C, 0x67, 0xEC, // .=..W.g.
/* 0760 */ 0xF0, 0x2F, 0x3E, 0x2F, 0xC3, 0x86, 0x79, 0xFB, // ./>/..y.
/* 0768 */ 0x31, 0x46, 0xBC, 0x47, 0x95, 0xC7, 0x60, 0x43, // 1F.G..`C
/* 0770 */ 0x86, 0x79, 0x10, 0x0A, 0x13, 0xCA, 0x47, 0x21, // .y....G!
/* 0778 */ 0x23, 0x86, 0x88, 0x1B, 0xE1, 0x25, 0xE8, 0x50, // #....%.P
/* 0780 */ 0x02, 0x1D, 0xC0, 0x69, 0xFB, 0x00, 0x04, 0x56, // ...i...V
/* 0788 */ 0x99, 0x07, 0x20, 0x80, 0x26, 0x0F, 0x07, 0x9F, // .. .&...
/* 0790 */ 0x23, 0x71, 0x03, 0xF0, 0xA0, 0xDF, 0x18, 0x8C, // #q......
/* 0798 */ 0xFA, 0xBA, 0x60, 0x9F, 0xC7, 0x03, 0x8D, 0xE9, // ..`.....
/* 07A0 */ 0x8C, 0xFE, 0xFF, 0x71, 0x8F, 0x29, 0x76, 0x8C, // ...q.)v.
/* 07A8 */ 0x58, 0xE1, 0x7D, 0x18, 0x88, 0xF1, 0x66, 0xE2, // X.}...f.
/* 07B0 */ 0x23, 0x03, 0x3B, 0xF6, 0xF1, 0x23, 0x10, 0x78, // #.;..#.x
/* 07B8 */ 0x8E, 0x7A, 0xE0, 0x19, 0x12, 0xEE, 0xE4, 0xEF, // .z......
/* 07C0 */ 0x29, 0xBD, 0xEB, 0x79, 0x4C, 0x78, 0xA8, 0xF0, // )..yLx..
/* 07C8 */ 0xE7, 0x84, 0x39, 0x61, 0x82, 0xEF, 0x84, 0x81, // ..9a....
/* 07D0 */ 0xBB, 0x48, 0x83, 0x6B, 0xE4, 0xE0, 0x3B, 0xF1, // .H.k..;.
/* 07D8 */ 0x00, 0xFE, 0xFE, 0xFF, 0x04, 0x8E, 0xA5, 0x03, // ........
/* 07E0 */ 0x84, 0x49, 0x7B, 0x21, 0x28, 0x08, 0x0C, 0xEA, // .I{!(...
/* 07E8 */ 0xA4, 0x0A, 0xE7, 0xC4, 0x83, 0x3B, 0xA0, 0x80, // .....;..
/* 07F0 */ 0x73, 0xA8, 0xB8, 0x93, 0x03, 0xDC, 0xA1, 0x1C, // s.......
/* 07F8 */ 0x23, 0xBB, 0x31, 0xC4, 0x3A, 0x7C, 0xC3, 0xF8, // #.1.:|..
/* 0800 */ 0xD6, 0xC0, 0x8E, 0x0A, 0xC6, 0x39, 0x4C, 0x8F, // .....9L.
/* 0808 */ 0xF1, 0x50, 0x8D, 0xCC, 0x4E, 0x9D, 0x98, 0xE3, // .P..N...
/* 0810 */ 0x83, 0x8F, 0x24, 0x3E, 0x07, 0xBC, 0x8A, 0xF8, // ..$>....
/* 0818 */ 0x90, 0x03, 0xFF, 0x92, 0xEA, 0x5B, 0xCD, 0x79, // .....[.y
/* 0820 */ 0x3D, 0x36, 0xB2, 0x1B, 0xA3, 0x0F, 0x38, 0x91, // =6....8.
/* 0828 */ 0x82, 0x3C, 0x34, 0x62, 0xC0, 0x1E, 0x72, 0x7C, // .<4b..r|
/* 0830 */ 0x8C, 0x78, 0xC2, 0x79, 0xC8, 0x31, 0x6C, 0xD4, // .x.y.1l.
/* 0838 */ 0xF7, 0x1D, 0xE3, 0x9C, 0xCA, 0xB3, 0x84, 0x21, // .......!
/* 0840 */ 0x62, 0xBD, 0xEF, 0x98, 0xC0, 0x72, 0x6D, 0x40, // b....rm@
/* 0848 */ 0xDC, 0xBF, 0x65, 0x8C, 0x5F, 0x07, 0x60, 0xFC, // ..e._.`.
/* 0850 */ 0xF1, 0xC0, 0xA3, 0xE1, 0xB1, 0xAF, 0xD5, 0xF4, // ........
/* 0858 */ 0x18, 0x02, 0x9E, 0x73, 0x0B, 0x7C, 0x40, 0xBC, // ...s.|@.
/* 0860 */ 0xF7, 0x3B, 0x00, 0x39, 0xB9, 0xB3, 0xA3, 0x01, // .;.9....
/* 0868 */ 0xFE, 0x34, 0x80, 0xFF, 0xFF, 0x9F, 0x06, 0x70, // .4.....p
/* 0870 */ 0x23, 0xC3, 0x9D, 0xEF, 0xE0, 0x19, 0x3A, 0x19, // #.....:.
/* 0878 */ 0x83, 0x4E, 0xC8, 0x98, 0x7D, 0x34, 0x42, 0x5F, // .N..}4B_
/* 0880 */ 0xEC, 0x3C, 0x9F, 0x47, 0x5D, 0xCF, 0xCC, 0xF7, // .<.G]...
/* 0888 */ 0xA1, 0xE8, 0x21, 0xDE, 0xB3, 0x4C, 0xE0, 0xC0, // ..!..L..
/* 0890 */ 0x10, 0xFA, 0x94, 0x79, 0xDC, 0xE0, 0x38, 0xFE, // ...y..8.
/* 0898 */ 0x80, 0x63, 0xDC, 0xF0, 0xE7, 0xEA, 0x71, 0x83, // .c....q.
/* 08A0 */ 0x65, 0x74, 0x30, 0x07, 0x0D, 0x7E, 0xC8, 0x93, // et0..~..
/* 08A8 */ 0x3B, 0x86, 0x07, 0x81, 0xF7, 0x6F, 0x9F, 0x2D, // ;....o.-
/* 08B0 */ 0x9E, 0xA0, 0x71, 0x83, 0x06, 0x1B, 0xA0, 0x07, // ..q.....
/* 08B8 */ 0x0D, 0xBE, 0xFF, 0xFF, 0xA0, 0xC1, 0x3B, 0x3A, // ......;:
/* 08C0 */ 0xB8, 0x83, 0x06, 0x97, 0xA0, 0x41, 0xA3, 0x8F, // .....A..
/* 08C8 */ 0x81, 0x1E, 0x07, 0xBB, 0x0C, 0xB0, 0x89, 0xC0, // ........
/* 08D0 */ 0x3A, 0x1B, 0x6A, 0xD8, 0xA0, 0x3A, 0xE2, 0x78, // :.j..:.x
/* 08D8 */ 0xD8, 0xE0, 0x3F, 0xE7, 0x1C, 0x36, 0xB8, 0xC6, // ..?..6..
/* 08E0 */ 0x07, 0x7B, 0xE0, 0xE0, 0x3A, 0xE3, 0x7A, 0xE0, // .{..:.z.
/* 08E8 */ 0xB8, 0xF1, 0x78, 0x1E, 0x6F, 0x42, 0x46, 0x3C, // ..x.oBF<
/* 08F0 */ 0x90, 0x10, 0x6F, 0x14, 0x27, 0x1B, 0xE6, 0x05, // ..o.'...
/* 08F8 */ 0xCF, 0x04, 0xE3, 0x8E, 0x1A, 0x54, 0xA0, 0x1E, // .....T..
/* 0900 */ 0xAD, 0xFF, 0xFF, 0xA3, 0x06, 0xB7, 0xC0, 0xF3, // ........
/* 0908 */ 0x07, 0x88, 0x06, 0x07, 0x6B, 0xC8, 0xE0, 0x92, // ....k...
/* 0910 */ 0x74, 0x0A, 0x42, 0x0F, 0xC6, 0x67, 0x01, 0x36, // t.B..g.6
/* 0918 */ 0x48, 0x9F, 0xB2, 0xD8, 0xB5, 0x84, 0x11, 0x0C, // H.......
/* 0920 */ 0x7F, 0x10, 0x02, 0x15, 0xA8, 0x87, 0x0C, 0x3C, // .......<
/* 0928 */ 0x07, 0x07, 0xEF, 0x2C, 0x04, 0xCF, 0xCA, 0xC8, // ...,....
/* 0930 */ 0x81, 0x02, 0xF0, 0xD1, 0xBC, 0xB7, 0xF1, 0xE3, // ........
/* 0938 */ 0x56, 0x5C, 0x0F, 0x93, 0x8D, 0x9C, 0xFF, 0xFF, // V\......
/* 0940 */ 0x47, 0x0E, 0x8E, 0x33, 0xAF, 0x47, 0x0E, 0x3C, // G..3.G.<
/* 0948 */ 0x07, 0x07, 0x6F, 0xE4, 0xF0, 0x46, 0xED, 0x91, // ..o..F..
/* 0950 */ 0x83, 0xEB, 0x98, 0xE7, 0x91, 0xE3, 0x58, 0x0C, // ......X.
/* 0958 */ 0xFC, 0x1A, 0x17, 0xF1, 0xA9, 0x80, 0x8D, 0x07, // ........
/* 0960 */ 0xCE, 0x8B, 0xCC, 0x63, 0x07, 0xCF, 0x90, 0x3C, // ...c...<
/* 0968 */ 0x76, 0xF0, 0x9F, 0x22, 0xF1, 0x63, 0x87, 0x39, // v..".c.9
/* 0970 */ 0x3C, 0xD8, 0xA3, 0x07, 0xC7, 0xFF, 0x7F, 0xF4, // <.......
/* 0978 */ 0xE0, 0x90, 0x35, 0x7A, 0xF4, 0x30, 0x3C, 0x1E, // ..5z.0<.
/* 0980 */ 0x1C, 0x72, 0x97, 0xC3, 0x41, 0xC6, 0x3F, 0x47, // .r..A.?G
/* 0988 */ 0x80, 0xCA, 0xC4, 0xE9, 0x0A, 0xA8, 0x8E, 0x0E, // ........
/* 0990 */ 0xEE, 0xD8, 0x81, 0xC7, 0xD1, 0x06, 0x26, 0xEC, // ......&.
/* 0998 */ 0xE1, 0x1D, 0xCB, 0x13, 0x09, 0x78, 0x55, 0x9C, // .....xU.
/* 09A0 */ 0x48, 0x80, 0xD6, 0xFF, 0xFF, 0x68, 0x03, 0x73, // H....h.s
/* 09A8 */ 0x70, 0x30, 0x46, 0x0E, 0xDC, 0x30, 0x4F, 0xE9, // p0F..0O.
/* 09B0 */ 0x99, 0xFC, 0xC8, 0xC1, 0x3E, 0x5E, 0x8F, 0x1C, // ....>^..
/* 09B8 */ 0x78, 0x0E, 0x0E, 0xDE, 0xC8, 0x81, 0x07, 0xD6, // x.......
/* 09C0 */ 0x03, 0x36, 0xF8, 0x2E, 0xBF, 0x7C, 0x0C, 0x0F, // .6...|..
/* 09C8 */ 0xBF, 0xB8, 0x53, 0xBF, 0xEF, 0xBE, 0x3E, 0x5B, // ..S...>[
/* 09D0 */ 0xC3, 0xFB, 0xFF, 0x9F, 0xAD, 0x01, 0x5F, 0x09, // ......_.
/* 09D8 */ 0x1E, 0x2F, 0x26, 0x50, 0xC8, 0x13, 0x84, 0xC2, // ./&P....
/* 09E0 */ 0x3F, 0x05, 0x28, 0x8C, 0x4F, 0x56, 0x3E, 0x5B, // ?.(.OV>[
/* 09E8 */ 0xC3, 0x3D, 0x46, 0x1A, 0x8E, 0x1F, 0x02, 0x7C, // .=F....|
/* 09F0 */ 0x4C, 0x78, 0x1D, 0x3B, 0x8E, 0x73, 0x79, 0x83, // Lx.;.sy.
/* 09F8 */ 0xF0, 0x88, 0x1E, 0x7D, 0x61, 0x9C, 0x24, 0x7C, // ...}a.$|
/* 0A00 */ 0x05, 0x60, 0xB3, 0x7B, 0x4E, 0xF0, 0xE8, 0x4C, // .`.{N..L
/* 0A08 */ 0xE0, 0x51, 0x30, 0x34, 0x7E, 0x4A, 0x60, 0x87, // .Q04~J`.
/* 0A10 */ 0x05, 0x7E, 0x0A, 0xF0, 0xB1, 0x82, 0x0D, 0xF0, // .~......
/* 0A18 */ 0x69, 0xFB, 0xBD, 0xD5, 0x13, 0x79, 0x73, 0x78, // i....ysx
/* 0A20 */ 0x72, 0x65, 0x47, 0x64, 0x47, 0x38, 0xCB, 0x82, // reGdG8..
/* 0A28 */ 0x0A, 0xE7, 0xA9, 0xDF, 0x10, 0x8F, 0xDC, 0x98, // ........
/* 0A30 */ 0xE1, 0xC3, 0x41, 0x66, 0xBE, 0x06, 0x45, 0x60, // ..Af..E`
/* 0A38 */ 0x5E, 0xED, 0x7D, 0x06, 0xF0, 0x35, 0x27, 0xC4, // ^.}..5'.
/* 0A40 */ 0x79, 0xC6, 0x32, 0xD0, 0x81, 0x44, 0x78, 0xB2, // y.2..Dx.
/* 0A48 */ 0x78, 0x0D, 0xF0, 0xC1, 0x82, 0x9D, 0xB9, 0xF1, // x.......
/* 0A50 */ 0xFF, 0xFF, 0x33, 0x37, 0xEE, 0xB6, 0xEF, 0x73, // ..37...s
/* 0A58 */ 0x76, 0x84, 0x87, 0x0F, 0x0F, 0x24, 0xC2, 0xE3, // v....$..
/* 0A60 */ 0xB6, 0x11, 0x9E, 0xB4, 0x7D, 0xE6, 0xF6, 0x65, // ....}..e
/* 0A68 */ 0xDB, 0x60, 0xA1, 0x8C, 0xF9, 0xE4, 0xFD, 0xE0, // .`......
/* 0A70 */ 0x6D, 0xC4, 0x47, 0x6E, 0xCF, 0x29, 0x46, 0xE8, // m.Gn.)F.
/* 0A78 */ 0x37, 0x6E, 0x0F, 0xC0, 0x78, 0x87, 0xC2, 0xCE, // 7n..x...
/* 0A80 */ 0xED, 0xE0, 0x14, 0xF6, 0x48, 0xD6, 0xB1, 0xD2, // ....H...
/* 0A88 */ 0x91, 0xE0, 0x51, 0x87, 0x29, 0x7E, 0xC4, 0xF0, // ..Q.)~..
/* 0A90 */ 0x31, 0xDD, 0x47, 0x48, 0x0F, 0xE1, 0x08, 0x9E, // 1.GH....
/* 0A98 */ 0x2E, 0x9E, 0x0F, 0x3C, 0x06, 0x76, 0x71, 0xF0, // ...<.vq.
/* 0AA0 */ 0x89, 0xC0, 0x07, 0x06, 0xFC, 0xC1, 0xE4, 0x90, // ........
/* 0AA8 */ 0x7D, 0x5C, 0x81, 0x75, 0x6C, 0xC1, 0x8F, 0xE8, // }\.ul...
/* 0AB0 */ 0xB9, 0x04, 0xF6, 0x29, 0x9E, 0x1D, 0x4C, 0x7C, // ...)..L|
/* 0AB8 */ 0xB0, 0x48, 0x60, 0xF9, 0x83, 0x40, 0x8D, 0xCC, // .H`..@..
/* 0AC0 */ 0xD0, 0xBE, 0x6C, 0xBC, 0xCC, 0xFB, 0x48, 0xE0, // ..l...H.
/* 0AC8 */ 0x61, 0xB1, 0xE3, 0x8A, 0x4F, 0xD6, 0xE0, 0x18, // a...O...
/* 0AD0 */ 0x0F, 0xFC, 0x63, 0xC0, 0x33, 0x89, 0xA7, 0xEF, // ..c.3...
/* 0AD8 */ 0xF9, 0xFA, 0x4C, 0x8B, 0x3D, 0xB7, 0x80, 0xE5, // ..L.=...
/* 0AE0 */ 0x12, 0xC1, 0xCE, 0x10, 0xFC, 0xF6, 0xC3, 0x09, // ........
/* 0AE8 */ 0xFC, 0xFF, 0x3F, 0xB5, 0x00, 0xEE, 0xB4, 0xBF, // ..?.....
/* 0AF0 */ 0x1D, 0x74, 0x0C, 0xB1, 0x6E, 0x10, 0xD9, 0x38, // .t..n..8
/* 0AF8 */ 0x44, 0xD1, 0x11, 0x5A, 0xFB, 0x63, 0x59, 0x93, // D..Z.cY.
/* 0B00 */ 0x85, 0xA7, 0x17, 0x4E, 0xD0, 0x3E, 0x16, 0x58, // ...N.>.X
/* 0B08 */ 0x29, 0x8C, 0xB4, 0x3E, 0x1F, 0x34, 0x36, 0xC3, // )..>.46.
/* 0B10 */ 0x5B, 0x1D, 0x8C, 0xE0, 0x0C, 0xE2, 0xD3, 0x94, // [.......
/* 0B18 */ 0x03, 0x41, 0xE8, 0x68, 0x85, 0x3B, 0x91, 0xF9, // .A.h.;..
/* 0B20 */ 0xAC, 0x84, 0x49, 0x70, 0x8D, 0xA6, 0x93, 0xF1, // ..Ip....
/* 0B28 */ 0x3D, 0x81, 0x63, 0xFB, 0xE4, 0x60, 0x60, 0x5F, // =.c..``_
/* 0B30 */ 0x99, 0xE0, 0xAA, 0x81, 0x43, 0x41, 0xFB, 0x42, // ....CA.B
/* 0B38 */ 0xC2, 0x4F, 0x4E, 0x60, 0xCB, 0x02, 0x21, 0x27, // .ON`..!'
/* 0B40 */ 0x27, 0x0A, 0xD4, 0x2C, 0x3C, 0x59, 0xFC, 0xD1, // '..,<Y..
/* 0B48 */ 0x1E, 0x73, 0x5D, 0xF1, 0x68, 0x3C, 0x38, 0xEC, // .s].h<8.
/* 0B50 */ 0xFF, 0x7F, 0x70, 0x98, 0x51, 0xC1, 0x1A, 0xB4, // ..p.Q...
/* 0B58 */ 0x75, 0x8D, 0x0A, 0x34, 0x47, 0x97, 0x67, 0x97, // u..4G.g.
/* 0B60 */ 0x04, 0x73, 0xCC, 0x0A, 0xAD, 0xE4, 0xAA, 0x43, // .s.....C
/* 0B68 */ 0xE6, 0xC4, 0x6E, 0x05, 0x51, 0xAB, 0x9F, 0x13, // ..n.Q...
/* 0B70 */ 0xA8, 0x6F, 0x07, 0x9E, 0x13, 0xD8, 0x4E, 0x08, // .o....N.
/* 0B78 */ 0x70, 0xEE, 0x0C, 0x98, 0x13, 0x02, 0x78, 0x83, // p.....x.
/* 0B80 */ 0xD9, 0x39, 0x21, 0xC0, 0x43, 0xF2, 0x09, 0x01, // .9!.C...
/* 0B88 */ 0x5C, 0x41, 0xCE, 0x3A, 0xE8, 0xE3, 0x14, 0x1B, // \A.:....
/* 0B90 */ 0xD7, 0xDB, 0x86, 0xCF, 0x1A, 0x3E, 0x72, 0xF8, // .....>r.
/* 0B98 */ 0x3A, 0xE5, 0xC1, 0x83, 0x75, 0x9C, 0x1E, 0x3C, // :...u..<
/* 0BA0 */ 0xEC, 0xFF, 0xFF, 0x35, 0x07, 0xAF, 0xEF, 0x1C, // ...5....
/* 0BA8 */ 0x03, 0x0A, 0x20, 0xDF, 0x5A, 0x7C, 0x4A, 0x79, // .. .Z|Jy
/* 0BB0 */ 0x72, 0x61, 0x63, 0x78, 0x50, 0x31, 0x9A, 0xD1, // racxP1..
/* 0BB8 */ 0xF9, 0xED, 0xD0, 0xB7, 0x10, 0x7E, 0xAB, 0xF7, // .....~..
/* 0BC0 */ 0x0D, 0xC2, 0x20, 0x3E, 0x20, 0x38, 0xCA, 0x64, // .. > 8.d
/* 0BC8 */ 0xD1, 0x33, 0xF1, 0xA5, 0xC7, 0x33, 0x3A, 0xEC, // .3...3:.
/* 0BD0 */ 0x20, 0xE7, 0x68, 0x82, 0x97, 0x8B, 0x97, 0x24, // .h....$
/* 0BD8 */ 0x58, 0x77, 0x96, 0x90, 0xCF, 0x2B, 0x9E, 0x86, // Xw...+..
/* 0BE0 */ 0xCF, 0x05, 0xF8, 0x13, 0x08, 0xBF, 0x40, 0xF9, // ......@.
/* 0BE8 */ 0x8E, 0x04, 0xBE, 0xDB, 0x22, 0x6E, 0xB6, 0x60, // ...."n.`
/* 0BF0 */ 0x84, 0xC7, 0x44, 0xBE, 0x30, 0xA0, 0x86, 0xC7, // ..D.0...
/* 0BF8 */ 0x2F, 0x07, 0x9E, 0xCF, 0x33, 0xC2, 0x51, 0x3E, // /...3.Q>
/* 0C00 */ 0xE0, 0xE0, 0x30, 0x9E, 0x60, 0x3C, 0x44, 0x5F, // ..0.`<D_
/* 0C08 */ 0xE0, 0x60, 0x4D, 0xE4, 0xA4, 0x7D, 0x5B, 0x38, // .`M..}[8
/* 0C10 */ 0xD9, 0xA0, 0xEF, 0x99, 0xEC, 0x02, 0x07, 0xAC, // ........
/* 0C18 */ 0xFE, 0xFF, 0x17, 0x38, 0x30, 0x2A, 0x5D, 0x10, // ...80*].
/* 0C20 */ 0x8D, 0xB6, 0x28, 0x45, 0x5E, 0x1E, 0x85, 0xF1, // ..(E^...
/* 0C28 */ 0x85, 0x10, 0x70, 0x74, 0x8C, 0xF0, 0x01, 0x00, // ..pt....
/* 0C30 */ 0x1C, 0x37, 0xA5, 0x07, 0x00, 0x58, 0xD7, 0x85, // .7...X..
/* 0C38 */ 0xA3, 0x7E, 0x83, 0xC6, 0x9D, 0x02, 0xE0, 0xDE, // .~......
/* 0C40 */ 0x05, 0xE1, 0x8F, 0xF5, 0x81, 0x25, 0xFC, 0xAB, // .....%..
/* 0C48 */ 0x45, 0x8C, 0xF7, 0xBF, 0xE0, 0xCF, 0x36, 0x0F, // E.....6.
/* 0C50 */ 0x81, 0x41, 0xC2, 0xBC, 0x06, 0x86, 0x7A, 0x17, // .A....z.
/* 0C58 */ 0xF4, 0xFD, 0xE6, 0x99, 0xD0, 0x28, 0x91, 0xDE, // .....(..
/* 0C60 */ 0xD7, 0x1E, 0x04, 0x8D, 0x52, 0x1B, 0xA4, 0x46, // ....R..F
/* 0C68 */ 0x12, 0xDB, 0x20, 0xEF, 0x85, 0x06, 0x8A, 0xF0, // .. .....
/* 0C70 */ 0xF8, 0x77, 0xFA, 0xBE, 0x0B, 0x82, 0xFB, 0xFF, // .w......
/* 0C78 */ 0x7F, 0x17, 0x04, 0x38, 0x75, 0x7F, 0x60, 0x77, // ...8u.`w
/* 0C80 */ 0x41, 0xC0, 0xD2, 0xFF, 0xFF, 0x2E, 0x08, 0x26, // A......&
/* 0C88 */ 0xB5, 0xD7, 0x3F, 0x7A, 0xFB, 0xF3, 0x5D, 0x10, // ..?z..].
/* 0C90 */ 0xA7, 0xFB, 0xCD, 0xA0, 0xC9, 0xC2, 0xBB, 0x07, // ........
/* 0C98 */ 0xFA, 0x2E, 0xC8, 0x55, 0xC2, 0x48, 0x01, 0x8D, // ...U.H..
/* 0CA0 */ 0x8E, 0x4D, 0x3C, 0xF3, 0xA9, 0x84, 0x82, 0x18, // .M<.....
/* 0CA8 */ 0xD0, 0x77, 0x41, 0xC0, 0xCF, 0xB5, 0x0B, 0x58, // .wA....X
/* 0CB0 */ 0x48, 0xDC, 0xAA, 0x26, 0xCC, 0x45, 0xC1, 0x68, // H..&.E.h
/* 0CB8 */ 0xC2, 0x06, 0xF1, 0x38, 0x3D, 0x61, 0x5F, 0xFF, // ...8=a_.
/* 0CC0 */ 0x70, 0xA3, 0xF4, 0x21, 0x11, 0xE6, 0xCD, 0x0B, // p..!....
/* 0CC8 */ 0xEC, 0xC3, 0xF1, 0x95, 0xC3, 0xFF, 0xFF, 0x2B, // .......+
/* 0CD0 */ 0x20, 0x98, 0x08, 0x86, 0x19, 0x18, 0xFA, 0x62, // ......b
/* 0CD8 */ 0xE4, 0x6B, 0x22, 0x8C, 0x61, 0x81, 0xFD, 0xCA, // .k".a...
/* 0CE0 */ 0xE0, 0x61, 0x81, 0x2F, 0xD4, 0xF5, 0x01, 0x7D, // .a./...}
/* 0CE8 */ 0x5B, 0xF1, 0x6D, 0x04, 0x17, 0xE2, 0xFC, 0x40, // [.m....@
/* 0CF0 */ 0x07, 0x05, 0xAE, 0xAB, 0x22, 0x6E, 0x6C, 0xF0, // ...."nl.
/* 0CF8 */ 0xCE, 0x8A, 0xE0, 0xBB, 0xC9, 0x01, 0x8F, 0xA0, // ........
/* 0D00 */ 0x37, 0x39, 0xA0, 0xF2, 0xFF, 0xBF, 0xC9, 0xC1, // 79......
/* 0D08 */ 0xB9, 0x79, 0x01, 0xDF, 0xF8, 0xAF, 0x12, 0x5F, // .y....._
/* 0D10 */ 0x1B, 0xBD, 0x1E, 0x85, 0x5C, 0x19, 0x85, 0xF1, // ....\...
/* 0D18 */ 0x25, 0x0E, 0x70, 0x84, 0xFD, 0x52, 0x08, 0xEE, // %.p..R..
/* 0D20 */ 0xD1, 0x30, 0x18, 0x5F, 0xCD, 0xF8, 0xE5, 0x0D, // .0._....
/* 0D28 */ 0x2E, 0xE2, 0x7B, 0xDB, 0x73, 0xC7, 0xD3, 0x46, // ..{.s..F
/* 0D30 */ 0x90, 0x10, 0x6F, 0x56, 0x2F, 0x11, 0x8F, 0x6E, // ..oV/..n
/* 0D38 */ 0xBE, 0xB6, 0x45, 0x78, 0x7E, 0x33, 0x4A, 0xB8, // ..Ex~3J.
/* 0D40 */ 0x08, 0x2F, 0x6D, 0x51, 0xDE, 0xD3, 0x9E, 0xDE, // ./mQ....
/* 0D48 */ 0x7C, 0xEE, 0x88, 0xF2, 0xE6, 0x66, 0xBC, 0x30, // |....f.0
/* 0D50 */ 0xA1, 0x83, 0x84, 0x8B, 0x14, 0x2D, 0xB8, 0x27, // .....-.'
/* 0D58 */ 0xED, 0x61, 0x63, 0xFE, 0xFF, 0x97, 0x37, 0x70, // .ac...7p
/* 0D60 */ 0x49, 0xBB, 0xBC, 0x01, 0x34, 0x39, 0x35, 0xE0, // I...495.
/* 0D68 */ 0x2E, 0x6F, 0x60, 0xB9, 0xDB, 0x63, 0x6F, 0x0D, // .o`..co.
/* 0D70 */ 0xF8, 0xDB, 0x1B, 0x70, 0xFB, 0xFF, 0xDF, 0xDE, // ...p....
/* 0D78 */ 0x80, 0x9F, 0xA0, 0x0B, 0x1B, 0x15, 0x03, 0xA2, // ........
/* 0D80 */ 0xDB, 0x1B, 0xE7, 0xB0, 0xD4, 0xE7, 0x80, 0x66, // .......f
/* 0D88 */ 0x0B, 0xFB, 0x30, 0xC1, 0xEE, 0x6F, 0xFC, 0xE4, // ..0..o..
/* 0D90 */ 0x65, 0x59, 0xF7, 0x37, 0x94, 0x10, 0x18, 0xC1, // eY.7....
/* 0D98 */ 0x19, 0xC4, 0x80, 0x4E, 0x09, 0x21, 0x1B, 0x87, // ...N.!..
/* 0DA0 */ 0x05, 0xD4, 0x48, 0x3C, 0x0D, 0x58, 0x57, 0x0B, // ..H<.XW.
/* 0DA8 */ 0xC3, 0x04, 0x4A, 0x30, 0xCB, 0x29, 0x1C, 0xA4, // ..J0.)..
/* 0DB0 */ 0x04, 0xBE, 0x07, 0xBC, 0x34, 0xC0, 0x9E, 0xC7, // ....4...
/* 0DB8 */ 0x53, 0x43, 0xD5, 0x63, 0xD1, 0x61, 0xC2, 0xEA, // SC.c.a..
/* 0DC0 */ 0x8E, 0x00, 0xE8, 0x59, 0xC1, 0xBF, 0x90, 0x03, // ...Y....
/* 0DC8 */ 0xDB, 0xFF, 0xFF, 0x85, 0x1C, 0x38, 0x9D, 0xE3, // .....8..
/* 0DD0 */ 0xC0, 0x71, 0x21, 0x07, 0x5E, 0xC1, 0xCE, 0x5D, // .q!.^..]
/* 0DD8 */ 0x40, 0xEF, 0xB0, 0x04, 0x7C, 0x82, 0x3C, 0x82, // @...|.<.
/* 0DE0 */ 0x4C, 0xA0, 0xA8, 0xEB, 0x90, 0x74, 0x18, 0xD4, // L....t..
/* 0DE8 */ 0x79, 0x0B, 0x78, 0xFE, 0xFF, 0xCF, 0x5B, 0xE0, // y.x...[.
/* 0DF0 */ 0x0E, 0x72, 0x74, 0x03, 0xE5, 0x00, 0x0C, 0x13, // .rt.....
/* 0DF8 */ 0x23, 0xCA, 0x21, 0x7B, 0xDC, 0x30, 0x81, 0x9E, // #.!{.0..
/* 0E00 */ 0x07, 0x7C, 0x92, 0x31, 0x4A, 0xA4, 0xC0, 0xBE, // .|.1J...
/* 0E08 */ 0x3C, 0xF8, 0x2A, 0xE3, 0xE3, 0x81, 0xA1, 0x3C, // <.*....<
/* 0E10 */ 0x8D, 0x50, 0x9E, 0x6D, 0x30, 0xDF, 0x12, 0x7C, // .P.m0..|
/* 0E18 */ 0xFE, 0x82, 0x7D, 0xDD, 0xF2, 0x0D, 0xEB, 0xA4, // ..}.....
/* 0E20 */ 0xC3, 0x3F, 0x80, 0x19, 0xE3, 0xBD, 0x2B, 0x48, // .?....+H
/* 0E28 */ 0x6B, 0x77, 0x70, 0x72, 0xFE, 0xF2, 0x6C, 0x4E, // kwpr..lN
/* 0E30 */ 0xDA, 0x28, 0x07, 0xF3, 0xEA, 0xE5, 0x43, 0x98, // .(....C.
/* 0E38 */ 0x61, 0x9F, 0xC1, 0x9E, 0x74, 0x0C, 0xF2, 0x24, // a...t..$
/* 0E40 */ 0x6E, 0x98, 0xF8, 0x21, 0x23, 0x06, 0x79, 0xFE, // n..!#.y.
/* 0E48 */ 0x02, 0x6F, 0xA0, 0x57, 0x80, 0x4E, 0x30, 0x3E, // .o.W.N0>
/* 0E50 */ 0x7F, 0x01, 0x3E, 0xFE, 0xFF, 0xE7, 0x2F, 0xC0, // ..>.../.
/* 0E58 */ 0x87, 0xEC, 0x67, 0x84, 0x8E, 0x4E, 0xFC, 0x88, // ..g..N..
/* 0E60 */ 0x04, 0x1E, 0x71, 0xD0, 0x3A, 0xA8, 0x5A, 0xD4, // ..q.:.Z.
/* 0E68 */ 0xF9, 0x02, 0x75, 0xD8, 0xF0, 0xF9, 0x82, 0x5D, // ..u....]
/* 0E70 */ 0x59, 0xF9, 0x09, 0x05, 0x73, 0xBC, 0x00, 0x7C, // Y...s..|
/* 0E78 */ 0x9C, 0x67, 0xE1, 0xFD, 0x59, 0x7C, 0x95, 0x02, // .g..Y|..
/* 0E80 */ 0x6E, 0x67, 0x1C, 0xFF, 0xFF, 0xAF, 0xF9, 0xE0, // ng......
/* 0E88 */ 0x3E, 0xDA, 0x01, 0x2E, 0x07, 0xC3, 0x15, 0xDA, // >.......
/* 0E90 */ 0xF4, 0xA9, 0xD1, 0xA8, 0x55, 0x83, 0x32, 0x35, // ....U.25
/* 0E98 */ 0xCA, 0x34, 0xA8, 0xD5, 0xA7, 0x52, 0x63, 0xC6, // .4...Rc.
/* 0EA0 */ 0xEC, 0x42, 0x49, 0xDE, 0xBB, 0x40, 0xA7, 0x28, // .BI..@.(
/* 0EA8 */ 0xF2, 0x92, 0x10, 0x88, 0x85, 0x3D, 0x0B, 0x04, // .....=..
/* 0EB0 */ 0xE2, 0x68, 0x8F, 0x14, 0x1D, 0x22, 0x1C, 0x88, // .h..."..
/* 0EB8 */ 0x5E, 0x27, 0x13, 0x62, 0x02, 0x84, 0x45, 0x07, // ^'.b..E.
/* 0EC0 */ 0xA1, 0xD2, 0x9F, 0x1D, 0x02, 0xB4, 0xF8, 0x67, // .......g
/* 0EC8 */ 0x9D, 0xC0, 0x08, 0x08, 0xD7, 0x01, 0xC2, 0x22, // ......."
/* 0ED0 */ 0xBC, 0x06, 0x04, 0xE8, 0x18, 0x4A, 0x80, 0x98, // .....J..
/* 0ED8 */ 0x88, 0x77, 0xB8, 0x40, 0xAC, 0xC1, 0xCA, 0x21, // .w.@...!
/* 0EE0 */ 0x5B, 0xE7, 0x10, 0x83, 0x08, 0xC8, 0x29, 0x80, // [.....).
/* 0EE8 */ 0x68, 0x24, 0x20, 0x2A, 0x46, 0x0B, 0x10, 0x53, // h$ *F..S
/* 0EF0 */ 0x06, 0x22, 0x20, 0xA7, 0x03, 0xA2, 0x51, 0x81, // ." ...Q.
/* 0EF8 */ 0xA8, 0x48, 0x2F, 0x40, 0x4C, 0x31, 0x88, 0x80, // .H/@L1..
/* 0F00 */ 0xAC, 0xEE, 0x4D, 0x20, 0x20, 0x6B, 0x05, 0x11, // ..M k..
/* 0F08 */ 0x90, 0x93, 0x9A, 0x19, 0x0E, 0x4B, 0xE9, 0x06, // .....K..
/* 0F10 */ 0xE2, 0xFF, 0x1F, 0xC8, 0x1A, 0x5F, 0x02, 0x02, // ....._..
/* 0F18 */ 0xB1, 0x44, 0x3D, 0xA0, 0x4C, 0x2F, 0x88, 0x40, // .D=.L/.@
/* 0F20 */ 0x09, 0x10, 0x8D, 0x0D, 0x44, 0x43, 0xFA, 0x01, // ....DC..
/* 0F28 */ 0x62, 0x91, 0x41, 0x34, 0x50, 0xF2, 0x2E, 0x11, // b.A4P...
/* 0F30 */ 0x90, 0x83, 0x80, 0x08, 0xC8, 0xE1, 0x0D, 0x0D, // ........
/* 0F38 */ 0x83, 0xC5, 0x76, 0x04, 0xC4, 0x44, 0xBF, 0xAC, // ..v..D..
/* 0F40 */ 0x04, 0x62, 0xF1, 0x96, 0x40, 0x98, 0x38, 0x4F, // .b..@.8O
/* 0F48 */ 0x80, 0x4C, 0x96, 0x29, 0x20, 0x16, 0x0A, 0x84, // .L.) ...
/* 0F50 */ 0xAB, 0x02, 0x61, 0xD2, 0x74, 0x0D, 0x89, 0xFE, // ..a.t...
/* 0F58 */ 0x9F, 0x83, 0x10, 0xA9, 0xEF, 0x17, 0x0D, 0x85, // ........
/* 0F60 */ 0xBC, 0x70, 0x83, 0x10, 0xF9, 0x7F, 0x75, 0x81, // .p....u.
/* 0F68 */ 0x38, 0xD0, 0x17, 0x37, 0x08, 0x89, 0xF8, 0x24, // 8..7...$
/* 0F70 */ 0xD2, 0x70, 0xC8, 0x13, 0x29, 0x08, 0x91, 0xF4, // .p..)...
/* 0F78 */ 0x3D, 0x3A, 0x60, 0xF6, 0x16, 0x17, 0x88, 0x65, // =:`....e
/* 0F80 */ 0x7F, 0x87, 0x04, 0xE2, 0xD0, 0xCF, 0x8E, 0xC3, // ........
/* 0F88 */ 0x21, 0x22, 0xEC, 0x1D, 0x07, 0x28, 0x08, 0xD5, // !"...(..
/* 0F90 */ 0xEE, 0x6F, 0x80, 0x14, 0x44, 0x40, 0x56, 0xF1, // .o..D@V.
/* 0F98 */ 0xA2, 0x13, 0x90, 0x25, 0x81, 0x08, 0xC8, 0x61, // ...%...a
/* 0FA0 */ 0x80, 0x68, 0x32, 0x20, 0xAA, 0xEE, 0x33, 0x11, // .h2 ..3.
/* 0FA8 */ 0x88, 0x48, 0x05, 0xD1, 0xA0, 0x09, 0x10, 0x4D, // .H.....M
/* 0FB0 */ 0x0C, 0x44, 0xD3, 0x29, 0x04, 0x62, 0x59, 0x41, // .D.).bYA
/* 0FB8 */ 0x04, 0x64, 0xD5, 0xDF, 0x29, 0x0D, 0xC7, 0xDA, // .d..)...
/* 0FC0 */ 0x35, 0x02, 0xB1, 0xE4, 0x20, 0x34, 0xF2, 0xD3, // 5... 4..
/* 0FC8 */ 0x43, 0xA0, 0xCE, 0x0F, 0x22, 0x20, 0x07, 0x7E, // C..." .~
/* 0FD0 */ 0xA5, 0x09, 0xC8, 0xF1, 0x41, 0x34, 0x78, 0xA2, // ....A4x.
/* 0FD8 */ 0x12, 0x88, 0x45, 0x01, 0xD1, 0x30, 0x89, 0x4B, // ..E..0.K
/* 0FE0 */ 0x20, 0x26, 0x10, 0x44, 0x40, 0x8E, 0xF7, 0xD8, // &.D@...
/* 0FE8 */ 0x38, 0x0C, 0x12, 0xEA, 0x19, 0x12, 0x90, 0xF9, // 8.......
/* 0FF0 */ 0x3C, 0x50, 0x50, 0xA3, 0xA0, 0x4C, 0x1B, 0x88, // <PP..L..
/* 0FF8 */ 0x80, 0x2C, 0xEF, 0xE9, 0x11, 0x88, 0x88, 0x05, // .,......
/* 1000 */ 0x11, 0x90, 0xC3, 0xFD, 0x3D, 0x04, 0xEE, 0xC8, // ....=...
/* 1008 */ 0x3F, 0x90, 0x40, 0x44, 0xB0, 0x56, 0x88, 0xFF, // ?.@D.V..
/* 1010 */ 0xFF, 0x43, 0x00, 0x79, 0xA4, 0x04, 0x21, 0xFF, // .C.y..!.
/* 1018 */ 0x7F // .
})
}
Device (WMI6)
{
Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
Name (_UID, 0x06) // _UID: Unique ID
Name (_WDG, Buffer (0x78)
{
/* 0000 */ 0x9F, 0x1C, 0x86, 0x26, 0xE9, 0x47, 0xC4, 0x44, // ...&.G.D
/* 0008 */ 0xBD, 0x8B, 0xDF, 0xE7, 0xFA, 0x26, 0x10, 0xFE, // .....&..
/* 0010 */ 0x44, 0x30, 0x01, 0x06, 0x0A, 0x18, 0xA3, 0x9A, // D0......
/* 0018 */ 0x50, 0x97, 0xF7, 0x41, 0xB9, 0xF7, 0xD5, 0xD3, // P..A....
/* 0020 */ 0xB1, 0xBA, 0xC3, 0xCE, 0x44, 0x31, 0x01, 0x06, // ....D1..
/* 0028 */ 0xA7, 0x39, 0xBC, 0xB2, 0xDD, 0x78, 0x71, 0x4D, // .9...xqM
/* 0030 */ 0xB0, 0x59, 0xA5, 0x10, 0xDE, 0xC4, 0x48, 0x90, // .Y....H.
/* 0038 */ 0x44, 0x32, 0x01, 0x06, 0x0D, 0x59, 0xE8, 0x0D, // D2...Y..
/* 0040 */ 0x10, 0x55, 0x44, 0x40, 0x96, 0x21, 0x77, 0xC2, // .UD@.!w.
/* 0048 */ 0x27, 0xF5, 0xA7, 0x0D, 0x44, 0x33, 0x01, 0x06, // '...D3..
/* 0050 */ 0xED, 0x19, 0x91, 0xC5, 0x0D, 0x1C, 0x06, 0x48, // .......H
/* 0058 */ 0xA8, 0xE9, 0x59, 0xAA, 0x31, 0x81, 0x76, 0xC4, // ..Y.1.v.
/* 0060 */ 0x44, 0x34, 0x01, 0x06, 0x21, 0x12, 0x90, 0x05, // D4..!...
/* 0068 */ 0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0, // f.......
/* 0070 */ 0xC9, 0x06, 0x29, 0x10, 0x42, 0x46, 0x01, 0x00 // ..).BF..
})
Method (WMD0, 3, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
Local0 = CARC (Arg2)
If ((Local0 == 0x00))
{
Local0 = 0x02
Local0 = WMIS (0x12, 0x00)
}
Release (^^WMI1.MWMI)
Return (DerefOf (^^WMI1.RETN [Local0]))
}
Method (WMD1, 3, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
Local0 = CARC (Arg2)
If ((Local0 == 0x00))
{
Local0 = 0x02
Local0 = WMIS (0x12, 0x01)
}
Release (^^WMI1.MWMI)
Return (DerefOf (^^WMI1.RETN [Local0]))
}
Method (WMD2, 3, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
Local0 = CARC (Arg2)
If ((Local0 == 0x00))
{
Local0 = 0x02
Local0 = WMIS (0x12, 0x02)
}
Release (^^WMI1.MWMI)
Return (DerefOf (^^WMI1.RETN [Local0]))
}
Method (WMD3, 3, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
Local0 = CARC (Arg2)
If ((Local0 == 0x00))
{
Local0 = 0x02
Local0 = WMIS (0x12, 0x03)
}
Release (^^WMI1.MWMI)
Return (DerefOf (^^WMI1.RETN [Local0]))
}
Method (WMD4, 3, NotSerialized)
{
Name (ITEM, Package (0x03)
{
Package (0x02)
{
0x00,
"Sha1"
},
Package (0x02)
{
0x01,
"Sha256"
},
Package (0x02)
{
0x02,
"Md5"
}
})
Acquire (^^WMI1.MWMI, 0xFFFF)
Local0 = CARC (Arg2)
If ((Local0 == 0x00))
{
Local1 = ^^WMI1.GITM (CBFF, ITEM)
If ((Local1 == Ones))
{
Local0 = 0x02
}
Else
{
CBFF = 0x00
Local0 = WMIS (0x12, 0x04)
If ((Local0 == 0x00))
{
If ((Local1 == 0x00))
{
Local2 = GETS (CBFF, 0x00, 0x14)
}
ElseIf ((Local1 == 0x01))
{
Local2 = GETS (CBFF, 0x14, 0x20)
}
ElseIf ((Local1 == 0x02))
{
Local2 = GETS (CBFF, 0x34, 0x10)
}
}
}
}
If ((Local0 == 0x00))
{
Release (^^WMI1.MWMI)
Return (Local2)
}
Else
{
Release (^^WMI1.MWMI)
Return (DerefOf (^^WMI1.RETN [Local0]))
}
}
Method (CARC, 1, NotSerialized)
{
CBFF = 0x00
Local0 = SizeOf (Arg0)
If ((Local0 == 0x00))
{
Return (0x02)
}
If ((ObjectType (Arg0) != 0x02))
{
Return (0x02)
}
If ((Local0 >= 0x1000))
{
Return (0x02)
}
CBFF = Arg0
Return (0x00)
}
Method (GETS, 3, NotSerialized)
{
Local0 = Arg1
Local1 = GETB (Arg0, Local0)
Local3 = GETC (Local1)
Local4 = (Local0 + Arg2)
Local0++
While ((Local0 < Local4))
{
Local1 = GETB (Arg0, Local0)
Local2 = GETC (Local1)
Concatenate (Local3, Local2, Local3)
Local0++
}
Return (Local3)
}
Method (GETB, 2, NotSerialized)
{
CreateByteField (Arg0, Arg1, TMPB)
Return (TMPB) /* \_SB_.WMI6.GETB.TMPB */
}
Method (GETC, 1, NotSerialized)
{
Name (RETB, Buffer (0x08)
{
0x00 // .
})
CreateWordField (RETB, 0x00, RTB0)
CreateWordField (RETB, 0x01, RTB1)
Name (ASCI, Package (0x10)
{
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"A",
"B",
"C",
"D",
"E",
"F"
})
Name (TMPW, 0x00)
TMPW = Arg0
RTB0 = DerefOf (ASCI [((TMPW >> 0x04) & 0x0F)]
)
RTB1 = DerefOf (ASCI [(TMPW & 0x0F)])
Return (ToString (RETB, Ones))
}
Name (WQBF, Buffer (0x05D7)
{
/* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB....
/* 0008 */ 0xC7, 0x05, 0x00, 0x00, 0x1A, 0x25, 0x00, 0x00, // .....%..
/* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T
/* 0018 */ 0x98, 0xDB, 0x91, 0x00, 0x01, 0x06, 0x18, 0x42, // .......B
/* 0020 */ 0x10, 0x0D, 0x10, 0x8A, 0x0F, 0x21, 0x02, 0x0B, // .....!..
/* 0028 */ 0x83, 0x50, 0x60, 0x18, 0x14, 0xA0, 0x45, 0x41, // .P`...EA
/* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, // .....!..
/* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, // ..p.@...
/* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, // (r."....
/* 0048 */ 0x31, 0x18, 0x88, 0x14, 0x40, 0x48, 0x30, 0x84, // 1...@H0.
/* 0050 */ 0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F, // D.S!p.._
/* 0058 */ 0x01, 0x08, 0x1D, 0x0A, 0x90, 0x29, 0xC0, 0xA0, // .....)..
/* 0060 */ 0x00, 0xA7, 0x08, 0x22, 0x88, 0xD2, 0xB2, 0x00, // ..."....
/* 0068 */ 0xDD, 0x02, 0x7C, 0x0B, 0xD0, 0x0E, 0x21, 0xB4, // ..|...!.
/* 0070 */ 0x0A, 0x05, 0x98, 0x14, 0xE0, 0x13, 0x4C, 0x88, // ......L.
/* 0078 */ 0xB1, 0xCE, 0xE2, 0x24, 0x9A, 0x16, 0xA0, 0x19, // ...$....
/* 0080 */ 0x42, 0xE3, 0x38, 0x90, 0x30, 0x91, 0x5A, 0x14, // B.8.0.Z.
/* 0088 */ 0x20, 0x1B, 0x43, 0xB6, 0x91, 0xC9, 0x5C, 0x2C, // .C...\,
/* 0090 */ 0x72, 0x20, 0x28, 0x31, 0x03, 0x41, 0xE9, 0x9C, // r (1.A..
/* 0098 */ 0x87, 0x6C, 0xE2, 0x6A, 0x08, 0x85, 0xA2, 0x68, // .l.j...h
/* 00A0 */ 0x0C, 0x51, 0x12, 0x9C, 0xC3, 0x81, 0x44, 0x88, // .Q....D.
/* 00A8 */ 0x5D, 0xAE, 0x00, 0xC9, 0x03, 0xD0, 0x2C, 0x4E, // ].....,N
/* 00B0 */ 0xA2, 0xF5, 0x39, 0x68, 0x74, 0x6C, 0x04, 0x3C, // ..9htl.<
/* 00B8 */ 0xE9, 0x82, 0x4D, 0xA0, 0x30, 0x6B, 0x55, 0x4C, // ..M.0kUL
/* 00C0 */ 0x07, 0x30, 0x18, 0x0F, 0x20, 0x92, 0x33, 0x5E, // .0.. .3^
/* 00C8 */ 0x14, 0xB0, 0xBD, 0x4E, 0x44, 0x63, 0x3B, 0x58, // ...NDc;X
/* 00D0 */ 0x26, 0x09, 0x0E, 0x35, 0x54, 0x4B, 0x14, 0x60, // &..5TK.`
/* 00D8 */ 0x7E, 0x62, 0x9A, 0xC8, 0xA9, 0x1D, 0x9F, 0x21, // ~b.....!
/* 00E0 */ 0x99, 0xB4, 0xA1, 0xA0, 0xC6, 0xEF, 0x69, 0x9D, // ......i.
/* 00E8 */ 0x94, 0x67, 0x1B, 0xF1, 0xA0, 0x0C, 0x93, 0xC0, // .g......
/* 00F0 */ 0xA3, 0x60, 0x68, 0x9C, 0xA0, 0x2C, 0x08, 0xED, // .`h..,..
/* 00F8 */ 0x88, 0x0E, 0x94, 0x00, 0x9E, 0x84, 0xE7, 0x58, // .......X
/* 0100 */ 0xBC, 0x00, 0xE1, 0x23, 0x26, 0xE7, 0x81, 0x18, // ...#&...
/* 0108 */ 0x09, 0x7C, 0x2E, 0xB0, 0xD4, 0x31, 0xA3, 0x47, // .|...1.G
/* 0110 */ 0x14, 0x2E, 0xE0, 0xF9, 0x1C, 0x43, 0xE4, 0xB8, // .....C..
/* 0118 */ 0xAF, 0x00, 0x1E, 0x45, 0xE4, 0x04, 0x47, 0x1D, // ...E..G.
/* 0120 */ 0x2C, 0x4E, 0x41, 0x57, 0x01, 0xF2, 0xFF, 0xBF, // ,NAW....
/* 0128 */ 0x0A, 0x18, 0xE5, 0x59, 0x00, 0x16, 0x81, 0x45, // ...Y...E
/* 0130 */ 0x8F, 0x02, 0x25, 0x03, 0x42, 0x1E, 0x05, 0x58, // ..%.B..X
/* 0138 */ 0xC5, 0xD6, 0x34, 0x12, 0x58, 0x99, 0x00, 0x6D, // ..4.X..m
/* 0140 */ 0x02, 0xC4, 0x41, 0xC8, 0xD8, 0x00, 0x64, 0x4E, // ..A...dN
/* 0148 */ 0x80, 0x46, 0x01, 0xB6, 0x26, 0x2A, 0x6F, 0xE3, // .F..&*o.
/* 0150 */ 0x12, 0x4C, 0x14, 0x23, 0xC4, 0x0A, 0x11, 0xE5, // .L.#....
/* 0158 */ 0x4C, 0xE2, 0xC6, 0x8C, 0x11, 0x25, 0x48, 0xC8, // L....%H.
/* 0160 */ 0x78, 0x11, 0x63, 0xBC, 0x14, 0x84, 0x37, 0xF8, // x.c...7.
/* 0168 */ 0x5B, 0x44, 0x24, 0x13, 0x78, 0xDC, 0xB8, 0x03, // [D$.x...
/* 0170 */ 0x80, 0x4F, 0x0D, 0xC7, 0x76, 0x48, 0xBE, 0x2B, // .O..vH.+
/* 0178 */ 0x98, 0xC0, 0xB3, 0x3E, 0xB4, 0xC7, 0x83, 0xC0, // ...>....
/* 0180 */ 0x87, 0x1B, 0x35, 0xC6, 0x89, 0x84, 0x26, 0x0F, // ..5...&.
/* 0188 */ 0x09, 0x59, 0x00, 0x51, 0x24, 0x78, 0xD4, 0x81, // .Y.Q$x..
/* 0190 */ 0xC1, 0x47, 0x03, 0x8F, 0xEC, 0xB8, 0x3D, 0xC3, // .G....=.
/* 0198 */ 0x13, 0x08, 0x72, 0x08, 0x47, 0xF0, 0xD0, 0xF0, // ..r.G...
/* 01A0 */ 0x4C, 0xE0, 0x31, 0xB0, 0xCB, 0x82, 0x4F, 0x01, // L.1...O.
/* 01A8 */ 0x3E, 0x24, 0xE0, 0x5D, 0x03, 0xEA, 0x76, 0xF0, // >$.]..v.
/* 01B0 */ 0x6C, 0xC0, 0x46, 0x1D, 0x0E, 0x33, 0x5C, 0xCF, // l.F..3\.
/* 01B8 */ 0x3B, 0xDC, 0x09, 0x3C, 0x1A, 0x3C, 0x68, 0xF0, // ;..<.<h.
/* 01C0 */ 0x43, 0x87, 0x07, 0x87, 0x1B, 0xEB, 0xC9, 0x1C, // C.......
/* 01C8 */ 0xD9, 0x0B, 0x41, 0xB3, 0xE7, 0x03, 0x4D, 0xD2, // ..A...M.
/* 01D0 */ 0xA7, 0x0E, 0x76, 0x06, 0x38, 0x9F, 0x9E, 0x21, // ..v.8..!
/* 01D8 */ 0x89, 0xFC, 0x41, 0xA0, 0x46, 0x66, 0x68, 0xCF, // ..A.Ffh.
/* 01E0 */ 0xF8, 0xE5, 0xC3, 0x90, 0x8F, 0x0A, 0x87, 0xC5, // ........
/* 01E8 */ 0xC4, 0x9E, 0x3E, 0xE8, 0x78, 0xC0, 0x7F, 0x29, // ..>.x..)
/* 01F0 */ 0x79, 0xD4, 0xF0, 0xF4, 0x3D, 0x5F, 0x0F, 0x83, // y...=_..
/* 01F8 */ 0x9D, 0x48, 0xE0, 0xFD, 0xFF, 0x4F, 0x24, 0xB0, // .H...O$.
/* 0200 */ 0x2E, 0x0E, 0xEC, 0x74, 0xF0, 0xF2, 0xE0, 0x29, // ...t...)
/* 0208 */ 0xBE, 0x37, 0xC0, 0x3B, 0x8F, 0x00, 0x0F, 0x90, // .7.;....
/* 0210 */ 0x43, 0xC0, 0x9C, 0x0A, 0x3C, 0x04, 0x3E, 0x80, // C...<.>.
/* 0218 */ 0x67, 0x89, 0x93, 0xB4, 0xD2, 0xA9, 0x21, 0x0F, // g.....!.
/* 0220 */ 0x2F, 0x30, 0x66, 0x06, 0xF7, 0xF0, 0x82, 0x4F, // /0f....O
/* 0228 */ 0xFE, 0x10, 0xD0, 0xD9, 0xC3, 0xA9, 0x41, 0x64, // ......Ad
/* 0230 */ 0xE3, 0x29, 0xE0, 0x53, 0x0E, 0x55, 0x04, 0xA4, // .).S.U..
/* 0238 */ 0xD9, 0x82, 0x85, 0x60, 0xFA, 0x05, 0x68, 0x04, // ...`..h.
/* 0240 */ 0x3E, 0x1B, 0x38, 0x37, 0x89, 0x92, 0x8F, 0x8E, // >.87....
/* 0248 */ 0xC2, 0x39, 0xEB, 0x99, 0x84, 0x82, 0x18, 0xD0, // .9......
/* 0250 */ 0x41, 0xCE, 0x15, 0xE8, 0xE3, 0x8A, 0xCF, 0x24, // A......$
/* 0258 */ 0xC7, 0xF0, 0xF0, 0xE3, 0x59, 0x79, 0x14, 0xBE, // ....Yy..
/* 0260 */ 0xAE, 0xF8, 0x28, 0xE2, 0x53, 0x85, 0x8F, 0x00, // ..(.S...
/* 0268 */ 0x3E, 0x2F, 0xF0, 0x2F, 0x8D, 0x2F, 0x10, 0x46, // >/././.F
/* 0270 */ 0xB7, 0x9A, 0x23, 0x0B, 0x0A, 0xCC, 0x27, 0x12, // ..#...'.
/* 0278 */ 0x4E, 0x50, 0xD7, 0x95, 0x02, 0x64, 0xFA, 0x70, // NP...d.p
/* 0280 */ 0xD1, 0xFF, 0xFF, 0x33, 0x03, 0x1C, 0x20, 0x5F, // ...3.. _
/* 0288 */ 0x0F, 0x7C, 0x1C, 0x78, 0x44, 0x60, 0x63, 0x78, // .|.xD`cx
/* 0290 */ 0x22, 0x30, 0x9A, 0xD1, 0x79, 0xF8, 0xC9, 0xA2, // "0..y...
/* 0298 */ 0xE2, 0x4E, 0x96, 0x82, 0x78, 0xB2, 0x8E, 0x32, // .N..x..2
/* 02A0 */ 0x59, 0xF4, 0x4C, 0x7C, 0xC1, 0xF0, 0x8C, 0x5E, // Y.L|...^
/* 02A8 */ 0x16, 0x82, 0x9C, 0xA3, 0x27, 0xEC, 0x0B, 0x09, // ....'...
/* 02B0 */ 0xAC, 0xE3, 0x40, 0xC8, 0x37, 0x03, 0x4F, 0xC3, // ..@.7.O.
/* 02B8 */ 0x70, 0x9E, 0x2C, 0x87, 0xF3, 0x64, 0xF9, 0x58, // p.,..d.X
/* 02C0 */ 0x7C, 0x1F, 0x01, 0x9F, 0xC0, 0xD9, 0x82, 0x1C, // |.......
/* 02C8 */ 0x1E, 0x13, 0x6D, 0x54, 0xF4, 0x56, 0xE4, 0xE1, // ..mT.V..
/* 02D0 */ 0xF1, 0xCB, 0x81, 0xE7, 0xF3, 0x8C, 0x70, 0x94, // ......p.
/* 02D8 */ 0xAF, 0x12, 0x38, 0x8C, 0x87, 0x13, 0x0F, 0xD1, // ..8.....
/* 02E0 */ 0x17, 0x24, 0x58, 0x13, 0x39, 0x69, 0xDF, 0x16, // .$X.9i..
/* 02E8 */ 0x4E, 0x36, 0x68, 0xFC, 0xB0, 0xBE, 0x20, 0x01, // N6h... .
/* 02F0 */ 0xAF, 0xCC, 0x97, 0x2C, 0x1A, 0x67, 0x21, 0x0A, // ...,.g!.
/* 02F8 */ 0xBB, 0x24, 0x0A, 0xE3, 0x4B, 0x16, 0xFB, 0xFF, // .$..K...
/* 0300 */ 0x5F, 0xB2, 0x00, 0x3B, 0xD7, 0x1B, 0xDC, 0xA0, // _..;....
/* 0308 */ 0xE1, 0x1E, 0x5D, 0xE2, 0x9C, 0xCC, 0xD1, 0xB2, // ..].....
/* 0310 */ 0x59, 0x83, 0xE3, 0x96, 0x05, 0xF7, 0x1C, 0xF5, // Y.......
/* 0318 */ 0xC0, 0x10, 0xA1, 0xB3, 0x7B, 0x95, 0x6E, 0x57, // ....{.nW
/* 0320 */ 0x8F, 0x12, 0x51, 0x1E, 0xAF, 0x22, 0x3D, 0x5D, // ..Q.."=]
/* 0328 */ 0xB5, 0x06, 0xA3, 0x5B, 0x96, 0xB1, 0x5E, 0xAE, // ...[..^.
/* 0330 */ 0xE2, 0xBC, 0x65, 0xF9, 0xB2, 0x65, 0x14, 0x63, // ..e..e.c
/* 0338 */ 0x87, 0x0B, 0x11, 0x38, 0x52, 0xB8, 0x10, 0x0F, // ...8R...
/* 0340 */ 0x3B, 0x86, 0x79, 0xDA, 0x61, 0xB7, 0x2C, 0xB0, // ;.y.a.,.
/* 0348 */ 0xCA, 0xBB, 0x65, 0x01, 0xD9, 0xFF, 0xFF, 0x2D, // ..e....-
/* 0350 */ 0x0B, 0x30, 0x77, 0x8D, 0x04, 0xE3, 0xCD, 0x01, // .0w.....
/* 0358 */ 0x77, 0x53, 0x02, 0xC3, 0x3D, 0x0B, 0x70, 0x96, // wS..=.p.
/* 0360 */ 0xFE, 0x9E, 0x45, 0x6F, 0x5A, 0xBE, 0x67, 0xF1, // ..EoZ.g.
/* 0368 */ 0xC3, 0x88, 0x35, 0x01, 0x69, 0xBE, 0xB0, 0xFE, // ..5.i...
/* 0370 */ 0xFF, 0xF3, 0x85, 0x75, 0xD1, 0x02, 0x98, 0xFE, // ...u....
/* 0378 */ 0xFF, 0xBF, 0x68, 0xE1, 0xC3, 0x5D, 0xB4, 0x80, // ..h..]..
/* 0380 */ 0xDE, 0x25, 0x09, 0x78, 0x25, 0xBE, 0x69, 0xA1, // .%.x%.i.
/* 0388 */ 0xA2, 0xDE, 0xB4, 0x00, 0xAD, 0xE3, 0x7D, 0xDF, // ......}.
/* 0390 */ 0x61, 0x60, 0xCF, 0xC7, 0xC0, 0x60, 0x00, 0x2F, // a`...`./
/* 0398 */ 0xC4, 0x21, 0xC2, 0xFF, 0xFF, 0x9F, 0xAD, 0x1E, // .!......
/* 03A0 */ 0xB6, 0x7C, 0xC4, 0x32, 0xC4, 0xC3, 0x56, 0xB8, // .|.2..V.
/* 03A8 */ 0x08, 0x6F, 0x5A, 0xC6, 0x88, 0xF3, 0x8E, 0xF5, // .oZ.....
/* 03B0 */ 0xA6, 0xE5, 0x23, 0xC5, 0x7B, 0xD6, 0x43, 0xB2, // ..#.{.C.
/* 03B8 */ 0x21, 0x83, 0x3C, 0x1C, 0x1B, 0xED, 0x08, 0x1F, // !.<.....
/* 03C0 */ 0x93, 0x8D, 0x10, 0x37, 0xD8, 0x9B, 0x85, 0x6F, // ...7...o
/* 03C8 */ 0x5A, 0x60, 0x15, 0x77, 0xD3, 0x02, 0x68, 0x32, // Z`.w..h2
/* 03D0 */ 0xFC, 0x37, 0x2D, 0xF0, 0xDD, 0x1C, 0x30, 0x07, // .7-...0.
/* 03D8 */ 0x64, 0x70, 0xFC, 0xFF, 0x2F, 0x5A, 0x80, 0xCB, // dp../Z..
/* 03E0 */ 0xE9, 0x82, 0xE9, 0xA2, 0x05, 0x30, 0xE1, 0xFF, // .....0..
/* 03E8 */ 0x7F, 0xD1, 0x02, 0x98, 0x77, 0x47, 0x02, 0x9F, // ....wG..
/* 03F0 */ 0xBE, 0x2F, 0x96, 0x4F, 0xD4, 0x5E, 0x89, 0x24, // ./.O.^.$
/* 03F8 */ 0x48, 0x80, 0xC1, 0x5C, 0xB4, 0xC0, 0xFE, 0xFF, // H..\....
/* 0400 */ 0xBF, 0x68, 0x01, 0xCB, 0xB3, 0x83, 0x47, 0x0D, // .h....G.
/* 0408 */ 0x96, 0x3B, 0xC0, 0xE3, 0x8E, 0x2F, 0x0B, 0x6F, // .;.../.o
/* 0410 */ 0x6B, 0xEC, 0x86, 0xC2, 0x66, 0x0D, 0x0F, 0x2C, // k...f..,
/* 0418 */ 0x46, 0xC0, 0x18, 0x47, 0x15, 0x28, 0x66, 0x84, // F..G.(f.
/* 0420 */ 0xDE, 0x71, 0x84, 0xF9, 0x48, 0xE0, 0xEB, 0x16, // .q..H...
/* 0428 */ 0xDC, 0x13, 0x16, 0xBB, 0x5F, 0x3D, 0x66, 0x19, // ...._=f.
/* 0430 */ 0xC6, 0xE7, 0xAC, 0x28, 0xCF, 0x59, 0xEC, 0xBA, // ...(.Y..
/* 0438 */ 0x65, 0x8C, 0xE7, 0x2C, 0x9F, 0x96, 0xAD, 0xED, // e..,....
/* 0440 */ 0xE2, 0xA5, 0x13, 0x97, 0xAF, 0x5C, 0x11, 0x0E, // .....\..
/* 0448 */ 0x28, 0x4C, 0x84, 0x20, 0x2F, 0xCB, 0x51, 0xDF, // (L. /.Q.
/* 0450 */ 0xBD, 0x0C, 0xEE, 0xEB, 0x16, 0x78, 0x85, 0x5E, // .....x.^
/* 0458 */ 0xB7, 0x00, 0x19, 0xFF, 0xFF, 0xEB, 0x16, 0x60, // .......`
/* 0460 */ 0x66, 0xB0, 0xBE, 0x6E, 0x81, 0xEF, 0xFE, 0x80, // f..n....
/* 0468 */ 0xB9, 0x30, 0xC1, 0x9E, 0x4D, 0xB8, 0xB7, 0x07, // .0..M...
/* 0470 */ 0x18, 0x97, 0x2E, 0xC0, 0x9A, 0xA6, 0x57, 0x83, // ......W.
/* 0478 */ 0x4E, 0x22, 0xD6, 0x03, 0xA2, 0x4B, 0x17, 0x3F, // N"...K.?
/* 0480 */ 0xFB, 0x58, 0xDD, 0xA5, 0x8B, 0x4C, 0x1A, 0xFE, // .X...L..
/* 0488 */ 0xFF, 0x7F, 0xD2, 0xB0, 0x6F, 0x5E, 0x00, 0xC3, // ....o^..
/* 0490 */ 0xFF, 0xFF, 0x37, 0x2F, 0x78, 0x41, 0x6F, 0x5E, // ..7/xAo^
/* 0498 */ 0x40, 0xEF, 0xD2, 0x04, 0xBC, 0x8E, 0x18, 0xBE, // @.......
/* 04A0 */ 0x34, 0xC1, 0xD1, 0x70, 0xFF, 0xA2, 0x91, 0xD6, // 4..p....
/* 04A8 */ 0xA3, 0xD0, 0x2B, 0xA3, 0x30, 0xBE, 0x7F, 0x01, // ..+.0...
/* 04B0 */ 0x8E, 0x04, 0x8F, 0x1D, 0x34, 0x37, 0x38, 0xF8, // ....478.
/* 04B8 */ 0xF3, 0xF6, 0x1D, 0xE0, 0x71, 0xE2, 0x54, 0x9E, // ....q.T.
/* 04C0 */ 0x85, 0x82, 0xBF, 0x3D, 0xB0, 0xFF, 0xFF, 0x89, // ...=....
/* 04C8 */ 0xC2, 0x77, 0x2F, 0xB8, 0x53, 0x78, 0xF4, 0xF2, // .w/.Sx..
/* 04D0 */ 0x91, 0x2B, 0x42, 0x8C, 0xF3, 0x7A, 0xF7, 0x32, // .+B..z.2
/* 04D8 */ 0x4A, 0xA8, 0xC7, 0x2F, 0x76, 0x62, 0x36, 0xCA, // J../vb6.
/* 04E0 */ 0xA3, 0xD7, 0x7B, 0xB3, 0x51, 0xE2, 0x3D, 0x3A, // ..{.Q.=:
/* 04E8 */ 0x1B, 0xD7, 0x38, 0x11, 0x1E, 0xA3, 0x83, 0x86, // ..8.....
/* 04F0 */ 0x0A, 0xF1, 0xEC, 0x15, 0xF0, 0xE1, 0xD9, 0x77, // .......w
/* 04F8 */ 0x2F, 0xF0, 0x4A, 0xBC, 0x7B, 0x01, 0x34, 0x39, // /.J.{.49
/* 0500 */ 0x21, 0xE0, 0xEE, 0x5E, 0x60, 0x39, 0x83, 0xB0, // !..^`9..
/* 0508 */ 0xFF, 0xFF, 0xA1, 0x09, 0xE6, 0xD5, 0x01, 0xCE, // ........
/* 0510 */ 0xC5, 0x0B, 0xB0, 0xA6, 0xE2, 0xE2, 0x45, 0x15, // ......E.
/* 0518 */ 0x5C, 0xBC, 0x50, 0x67, 0x0A, 0xEB, 0x7A, 0x12, // \.Pg..z.
/* 0520 */ 0x68, 0xC6, 0xE0, 0xBC, 0x75, 0x01, 0x2E, 0xFF, // h...u...
/* 0528 */ 0xFF, 0xB7, 0x2E, 0x80, 0x2D, 0x01, 0x6F, 0x5D, // ....-.o]
/* 0530 */ 0x40, 0xEF, 0xAA, 0x04, 0xFC, 0x14, 0xDA, 0xF4, // @.......
/* 0538 */ 0xA9, 0xD1, 0xA8, 0x55, 0x83, 0x32, 0x35, 0xCA, // ...U.25.
/* 0540 */ 0x34, 0xA8, 0xD5, 0xA7, 0x52, 0x63, 0xC6, 0x1C, // 4...Rc..
/* 0548 */ 0x09, 0xF8, 0xFF, 0x5F, 0x52, 0x74, 0xC7, 0xA0, // ..._Rt..
/* 0550 */ 0xE2, 0x56, 0xA6, 0xA1, 0x39, 0x1A, 0x08, 0x0D, // .V..9...
/* 0558 */ 0xF5, 0x1B, 0x92, 0x11, 0x10, 0x25, 0x04, 0x11, // .....%..
/* 0560 */ 0x90, 0xD3, 0xFC, 0x26, 0x04, 0xE4, 0x6C, 0x20, // ...&..l
/* 0568 */ 0x02, 0xB2, 0x9A, 0xA5, 0x09, 0xDC, 0x3A, 0x54, // ......:T
/* 0570 */ 0x00, 0xB1, 0x14, 0x20, 0xFC, 0x8F, 0x23, 0x50, // ... ..#P
/* 0578 */ 0x47, 0x02, 0x11, 0x90, 0xE5, 0xDB, 0x00, 0x62, // G......b
/* 0580 */ 0x61, 0x40, 0x34, 0x64, 0xE2, 0x03, 0x9C, 0x45, // a@4d...E
/* 0588 */ 0x7F, 0x12, 0x08, 0xC8, 0xC2, 0xE9, 0x04, 0x62, // .......b
/* 0590 */ 0xD9, 0x4E, 0x40, 0x59, 0x06, 0x10, 0x01, 0x59, // .N@Y...Y
/* 0598 */ 0xEF, 0xD7, 0x43, 0x40, 0x56, 0x0F, 0x22, 0x20, // ..C@V."
/* 05A0 */ 0x27, 0xB6, 0x02, 0xCE, 0x72, 0x7B, 0x01, 0x62, // '...r{.b
/* 05A8 */ 0xAA, 0x17, 0x2E, 0x10, 0x27, 0xF9, 0x76, 0x08, // ....'.v.
/* 05B0 */ 0xD4, 0xB1, 0x40, 0x04, 0xE4, 0x08, 0x6E, 0x80, // ..@...n.
/* 05B8 */ 0x58, 0x20, 0x10, 0x01, 0x59, 0x90, 0x1D, 0x70, // X ..Y..p
/* 05C0 */ 0x26, 0xC7, 0x0F, 0x10, 0x0B, 0x03, 0x42, 0x43, // &.....BC
/* 05C8 */ 0x19, 0x1A, 0x28, 0x05, 0xD1, 0x40, 0x89, 0xA2, // ..(..@..
/* 05D0 */ 0x81, 0x52, 0x10, 0x01, 0xF9, 0xFF, 0x0F // .R.....
})
}
Device (WMI7)
{
Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
Name (_UID, 0x07) // _UID: Unique ID
Name (_WDG, Buffer (0x28)
{
/* 0000 */ 0x24, 0xD8, 0x06, 0x0F, 0x18, 0xF9, 0x8A, 0x43, // $......C
/* 0008 */ 0xA6, 0x70, 0x84, 0x35, 0x1E, 0x08, 0xDC, 0xC6, // .p.5....
/* 0010 */ 0x43, 0x30, 0x01, 0x05, 0x21, 0x12, 0x90, 0x05, // C0..!...
/* 0018 */ 0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0, // f.......
/* 0020 */ 0xC9, 0x06, 0x29, 0x10, 0x43, 0x31, 0x01, 0x00 // ..).C1..
})
Name (VSEL, Package (0x02)
{
"Disable",
"Enable"
})
Method (WQC0, 1, NotSerialized)
{
Acquire (^^WMI1.MWMI, 0xFFFF)
Local0 = DerefOf (VSEL [SDBM])
Release (^^WMI1.MWMI)
Return (Local0)
}
Name (WQC1, Buffer (0x027E)
{
/* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB....
/* 0008 */ 0x6E, 0x02, 0x00, 0x00, 0x14, 0x06, 0x00, 0x00, // n.......
/* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T
/* 0018 */ 0x18, 0xD8, 0x82, 0x00, 0x01, 0x06, 0x18, 0x42, // .......B
/* 0020 */ 0x10, 0x05, 0x10, 0x0A, 0x0D, 0x21, 0x02, 0x0B, // .....!..
/* 0028 */ 0x83, 0x50, 0x4C, 0x18, 0x14, 0xA0, 0x45, 0x41, // .PL...EA
/* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, // .....!..
/* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, // ..p.@...
/* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, // (r."....
/* 0048 */ 0x31, 0xCE, 0x18, 0xA8, 0x4C, 0x08, 0x89, 0x00, // 1...L...
/* 0050 */ 0xA6, 0x42, 0xE0, 0x08, 0x41, 0xBF, 0x02, 0x10, // .B..A...
/* 0058 */ 0x3A, 0x44, 0x93, 0x41, 0x01, 0x4E, 0x11, 0x04, // :D.A.N..
/* 0060 */ 0x69, 0xCB, 0x02, 0x74, 0x0B, 0xF0, 0x2D, 0x40, // i..t..-@
/* 0068 */ 0x3B, 0x84, 0xD0, 0x22, 0x95, 0x28, 0x40, 0xA1, // ;..".(@.
/* 0070 */ 0x00, 0x9B, 0x02, 0x2C, 0x0A, 0x90, 0x0D, 0x26, // ...,...&
/* 0078 */ 0xDB, 0x70, 0x64, 0x18, 0x4C, 0xE4, 0x18, 0x50, // .pd.L..P
/* 0080 */ 0x62, 0xC6, 0x80, 0xD2, 0x39, 0x05, 0x01, 0x1B, // b...9...
/* 0088 */ 0xBD, 0x50, 0x14, 0x4D, 0x23, 0x4A, 0x82, 0x83, // .P.M#J..
/* 0090 */ 0x3A, 0x86, 0x08, 0xC1, 0xCB, 0x15, 0x20, 0x79, // :..... y
/* 0098 */ 0x02, 0xD2, 0x3C, 0x2F, 0x59, 0x1F, 0x84, 0x86, // ..</Y...
/* 00A0 */ 0xC0, 0x46, 0xC0, 0x23, 0x4B, 0x00, 0x61, 0xA1, // .F.#K.a.
/* 00A8 */ 0x96, 0xA9, 0x90, 0x30, 0x28, 0x0F, 0x20, 0x92, // ...0(. .
/* 00B0 */ 0x33, 0x54, 0x14, 0xB0, 0xBD, 0x4E, 0x44, 0x26, // 3T...ND&
/* 00B8 */ 0xC7, 0x49, 0x25, 0xC1, 0xA1, 0x46, 0xE9, 0xC1, // .I%..F..
/* 00C0 */ 0x35, 0x3F, 0x32, 0x4D, 0xE4, 0xD8, 0x9A, 0x1E, // 5?2M....
/* 00C8 */ 0xB1, 0x20, 0x99, 0xB4, 0xA1, 0xA0, 0x86, 0xEE, // . ......
/* 00D0 */ 0x69, 0x9D, 0x94, 0x27, 0x1A, 0xF1, 0xA0, 0x0C, // i..'....
/* 00D8 */ 0x93, 0xC0, 0xA3, 0x60, 0x68, 0x9C, 0xA0, 0x2C, // ...`h..,
/* 00E0 */ 0x08, 0x39, 0x18, 0x28, 0x0A, 0xF0, 0x24, 0x3C, // .9.(..$<
/* 00E8 */ 0xC7, 0xE2, 0x05, 0x08, 0x9F, 0x31, 0x39, 0x0A, // .....19.
/* 00F0 */ 0xC4, 0x48, 0xE0, 0x23, 0x81, 0x05, 0x8F, 0x19, // .H.#....
/* 00F8 */ 0x3D, 0xA2, 0x70, 0x01, 0xCF, 0xE7, 0x18, 0x22, // =.p...."
/* 0100 */ 0xC7, 0x3D, 0xD4, 0x18, 0x47, 0x11, 0x39, 0xC1, // .=..G.9.
/* 0108 */ 0x51, 0x1F, 0xD7, 0x83, 0x81, 0xAF, 0x00, 0x16, // Q.......
/* 0110 */ 0x84, 0x49, 0xF0, 0x0E, 0x39, 0x5C, 0xAC, 0xD7, // .I..9\..
/* 0118 */ 0x00, 0xF6, 0xFF, 0x47, 0x8B, 0xF5, 0x2E, 0x70, // ...G...p
/* 0120 */ 0xEC, 0x0C, 0xE5, 0xA0, 0x82, 0x1C, 0x98, 0x09, // ........
/* 0128 */ 0x42, 0x1E, 0x08, 0x46, 0x06, 0x84, 0x3C, 0x0A, // B..F..<.
/* 0130 */ 0xB0, 0x3A, 0x36, 0x0D, 0x20, 0x81, 0xDD, 0xDF, // .:6. ...
/* 0138 */ 0x19, 0xA4, 0x11, 0x42, 0xDA, 0x80, 0x24, 0x4E, // ...B..$N
/* 0140 */ 0x80, 0xB2, 0xB1, 0xCA, 0x16, 0x90, 0xCC, 0x09, // ........
/* 0148 */ 0x30, 0x86, 0x23, 0x94, 0x38, 0x9D, 0x81, 0xE8, // 0.#.8...
/* 0150 */ 0x48, 0x10, 0x25, 0x44, 0xC4, 0xDE, 0x40, 0x85, // H.%D..@.
/* 0158 */ 0x12, 0x28, 0x96, 0xAD, 0x21, 0x6A, 0x8E, 0x81, // .(..!j..
/* 0160 */ 0xE2, 0x04, 0x7F, 0x33, 0x88, 0x10, 0xAF, 0xFD, // ...3....
/* 0168 */ 0x41, 0x90, 0xB1, 0xE3, 0x0E, 0x01, 0x3E, 0x34, // A.....>4
/* 0170 */ 0x9C, 0xD1, 0x29, 0x3E, 0x04, 0x3C, 0x30, 0x98, // ..)>.<0.
/* 0178 */ 0xC0, 0xB3, 0x3A, 0xC3, 0x47, 0x84, 0xE0, 0x87, // ..:.G...
/* 0180 */ 0x1C, 0x35, 0xC6, 0xA1, 0x24, 0xB0, 0xA0, 0xA5, // .5..$...
/* 0188 */ 0x4B, 0x03, 0x88, 0x22, 0xC1, 0xA3, 0x0E, 0x0D, // K.."....
/* 0190 */ 0x3E, 0x1E, 0x78, 0x68, 0xC7, 0xEE, 0x41, 0x9E, // >.xh..A.
/* 0198 */ 0x40, 0x90, 0x43, 0x38, 0x82, 0x07, 0x87, 0xE7, // @.C8....
/* 01A0 */ 0x02, 0x8F, 0x81, 0x5D, 0x18, 0x7C, 0x12, 0xF0, // ...].|..
/* 01A8 */ 0x41, 0x01, 0xEF, 0x1A, 0x50, 0xA3, 0x7E, 0x3E, // A...P.~>
/* 01B0 */ 0x60, 0x43, 0x0E, 0x87, 0x19, 0xAF, 0x4F, 0x01, // `C....O.
/* 01B8 */ 0xE1, 0x4E, 0xE0, 0xB0, 0x9F, 0x33, 0xF8, 0x99, // .N...3..
/* 01C0 */ 0xC3, 0x83, 0xC3, 0x4D, 0xF1, 0x64, 0x8E, 0xAC, // ...M.d..
/* 01C8 */ 0x54, 0x01, 0x66, 0xCF, 0x08, 0x3A, 0x4F, 0xF8, // T.f..:O.
/* 01D0 */ 0xD0, 0xC1, 0x2E, 0x04, 0xE7, 0xD3, 0x33, 0x24, // ......3$
/* 01D8 */ 0x91, 0x3F, 0x08, 0xD4, 0xC8, 0x0C, 0xED, 0x71, // .?.....q
/* 01E0 */ 0xBF, 0x7B, 0x18, 0xF2, 0x71, 0xE1, 0xB0, 0x98, // .{..q...
/* 01E8 */ 0xD8, 0xC3, 0x07, 0x1D, 0x0F, 0xF8, 0xEF, 0x24, // .......$
/* 01F0 */ 0xCF, 0x08, 0x9E, 0xBE, 0xE7, 0x6B, 0x82, 0xD1, // .....k..
/* 01F8 */ 0x07, 0x8E, 0x1E, 0x88, 0xA1, 0x9F, 0x39, 0x0E, // ......9.
/* 0200 */ 0xE3, 0x34, 0x8C, 0xF8, 0xFF, 0x3F, 0xA2, 0xE7, // .4...?..
/* 0208 */ 0x80, 0x20, 0x31, 0x8E, 0xC9, 0x83, 0xE3, 0x01, // . 1.....
/* 0210 */ 0x47, 0x4E, 0xCF, 0x2A, 0x3E, 0x54, 0xF0, 0x13, // GN.*>T..
/* 0218 */ 0x86, 0x0F, 0x15, 0xEC, 0x7C, 0x70, 0x1A, 0xCF, // ....|p..
/* 0220 */ 0x01, 0x1E, 0xCE, 0x59, 0xF9, 0x4C, 0x01, 0x1C, // ...Y.L..
/* 0228 */ 0x0F, 0x03, 0xE0, 0x1B, 0x96, 0x4F, 0x33, 0xE0, // .....O3.
/* 0230 */ 0x9B, 0x16, 0x66, 0x58, 0x70, 0x66, 0xC5, 0x47, // ..fXpf.G
/* 0238 */ 0x85, 0x39, 0xD3, 0x00, 0x8F, 0xE3, 0x82, 0x87, // .9......
/* 0240 */ 0xC0, 0x4F, 0x15, 0x1E, 0x02, 0x1F, 0xC0, 0xC3, // .O......
/* 0248 */ 0xC8, 0x79, 0x5A, 0xE9, 0xEC, 0x90, 0x67, 0x1F, // .yZ...g.
/* 0250 */ 0x30, 0x8D, 0x82, 0x2B, 0xB4, 0xE9, 0x53, 0xA3, // 0..+..S.
/* 0258 */ 0x51, 0xAB, 0x06, 0x65, 0x6A, 0x94, 0x69, 0x50, // Q..ej.iP
/* 0260 */ 0xAB, 0x4F, 0xA5, 0xC6, 0x8C, 0xFD, 0x74, 0x2C, // .O....t,
/* 0268 */ 0xED, 0x75, 0xA0, 0xE3, 0x81, 0xA5, 0xBD, 0x13, // .u......
/* 0270 */ 0xF4, 0xFF, 0x3F, 0x28, 0x38, 0x18, 0x08, 0x8D, // ..?(8...
/* 0278 */ 0x44, 0x27, 0x10, 0xFF, 0xFF, 0x01 // D'....
})
}
Method (WFRT, 3, Serialized)
{
If ((Arg0 == 0x00))
{
WFIO (0x03, 0x01)
Sleep (0x32)
Sleep (Arg1)
Notify (^PCI0.GPP2.WWAN, 0x01) // Device Check
WFIO (0x03, 0x00)
Sleep (Arg2)
Notify (^PCI0.GPP2.WWAN, 0x01) // Device Check
}
Else
{
WFIO (0x06, 0x00)
Sleep (0x14)
WFIO (0x03, 0x01)
Sleep (0x0A)
WFIO (0x28, 0x00)
Sleep (0x01F4)
Sleep (Arg1)
Notify (^PCI0.GPP2.WWAN, 0x01) // Device Check
WFIO (0x28, 0x01)
Sleep (0x14)
WFIO (0x03, 0x00)
Sleep (0x50)
WFIO (0x06, 0x01)
Sleep (Arg2)
Notify (^PCI0.GPP2.WWAN, 0x01) // Device Check
}
If (CondRefOf (\_SB.PCI0.GPP2.WWAN.DOSV))
{
^PCI0.GPP2.WWAN.DOSV ()
}
}
Device (MFFD)
{
Name (_HID, "INTC1073") // _HID: Hardware ID
Name (_STR, Unicode ("Modem Firmware Flash Device")) // _STR: Description String
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((^^PCI0.LPC0.EC0.WWDT == 0x0E))
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("0f3d57aa-6046-47b2-8a9a-88f1021d3865") /* Unknown UUID */))
{
If ((Arg2 == Zero))
{
If ((Arg1 == Zero))
{
Return (Buffer (0x01)
{
0x07 // .
})
}
Else
{
Return (Buffer (0x01)
{
0x00 // .
})
}
}
If ((Arg2 == One))
{
WFRT (0x00, DerefOf (Arg3 [0x00]), DerefOf (Arg3 [0x01]))
Return (Buffer (0x01)
{
0x00 // .
})
}
If ((Arg2 == 0x02))
{
WFRT (0x01, DerefOf (Arg3 [0x00]), DerefOf (Arg3 [0x01]))
Return (Buffer (0x01)
{
0x00 // .
})
}
Return (0x00)
}
Else
{
Return (Buffer (0x01)
{
0x00 // .
})
}
}
}
}
Scope (_SB.PCI0.LPC0.EC0)
{
Mutex (MCPU, 0x00)
Mutex (LIDQ, 0x00)
Method (_Q1F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x01, 0x00020000))
{
If ((PKLI & 0x0C00))
{
^HKEY.MHKQ (0x1012)
}
}
SCMS (0x0E)
SCMS (0x20)
}
Method (_Q16, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x01, 0x40))
{
^HKEY.MHKQ (0x1007)
}
}
Method (_Q1C, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x01, 0x01000000))
{
^HKEY.MHKQ (0x1019)
}
}
Method (_Q1D, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x01, 0x02000000))
{
^HKEY.MHKQ (0x101A)
}
}
Method (_Q13, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.DHKC)
{
^HKEY.MHKQ (0x1004)
}
Else
{
Notify (SLPB, 0x80) // Status Change
}
}
Method (_Q64, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x01, 0x10))
{
^HKEY.MHKQ (0x1005)
}
}
Method (_Q62, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x03, 0x00010000))
{
^HKEY.MHKQ (0x1311)
}
}
Method (_Q6B, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x03, 0x4000))
{
^HKEY.TSSS ()
}
}
Method (_Q76, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x03, 0x00040000))
{
^HKEY.MHKQ (0x1313)
}
}
Method (_Q78, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x03, 0x00400000))
{
^HKEY.MHKQ (0x1317)
}
}
Method (_Q79, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x03, 0x00800000))
{
^HKEY.MHKQ (0x1318)
}
}
Method (_Q7A, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x03, 0x01000000))
{
^HKEY.MHKQ (0x1319)
}
}
Method (_Q65, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x03, 0x00020000))
{
^HKEY.MHKQ (0x1312)
}
}
Method (_Q6C, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
^HKEY.MHKQ (0x131A)
}
Method (_Q3C, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If ((CQLS == 0x01))
{
^HKEY.DYTC (0x001F1001)
}
ElseIf ((CQLS == 0x00))
{
^HKEY.DYTC (0x000F1001)
}
DPRS ()
}
Method (_Q6D, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (CondRefOf (\_SB.PCI0.LPC0.EC0.HKEY.MSCB))
{
If ((^HKEY.MSCB == 0x00))
{
^HKEY.DYTC (0x0017D001)
}
}
Else
{
^HKEY.DYTC (0x0017D001)
}
}
Method (_Q6E, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (CondRefOf (\_SB.PCI0.LPC0.EC0.HKEY.MSCB))
{
If ((^HKEY.MSCB == 0x00))
{
^HKEY.DYTC (0x0015D001)
}
}
Else
{
^HKEY.DYTC (0x0015D001)
}
}
Method (_Q6F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (CondRefOf (\_SB.PCI0.LPC0.EC0.HKEY.MSCB))
{
If ((^HKEY.MSCB == 0x00))
{
^HKEY.DYTC (0x0013D001)
}
}
Else
{
^HKEY.DYTC (0x0013D001)
}
}
Method (_Q26, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If ((Acquire (UCCI, 0xA000) == 0x00))
{
SCMS (0x12)
^HKEY.DYTC (0x000FA001)
Sleep (0x01F4)
Notify (AC, 0x80) // Status Change
Notify (\_TZ.THM0, 0x80) // Thermal Status Change
If (WXPF)
{
Acquire (MCPU, 0xFFFF)
}
If (WXPF)
{
Sleep (0x64)
}
If (WXPF)
{
Release (MCPU)
}
^HKEY.MHKQ (0x6040)
ATMC ()
Release (UCCI)
}
}
Method (_Q27, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If ((Acquire (UCCI, 0xA000) == 0x00))
{
SCMS (0x12)
If ((^^^^LID._LID () == 0x00))
{
^HKEY.DYTC (0x001FA001)
}
Sleep (0x01F4)
Notify (AC, 0x80) // Status Change
Notify (\_TZ.THM0, 0x80) // Thermal Status Change
If (WXPF)
{
Acquire (MCPU, 0xFFFF)
}
If (WXPF)
{
Sleep (0x64)
}
If (WXPF)
{
Release (MCPU)
}
^HKEY.MHKQ (0x6040)
ATMC ()
Release (UCCI)
}
}
Method (_Q2A, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If ((Acquire (LIDQ, 0xA000) == 0x00))
{
VCMS (0x01, ^^^^LID._LID ())
SCMS (0x21)
^HKEY.DYTC (0x000FA001)
If ((ILNF == 0x00))
{
If (IOST)
{
If (!ISOC (0x00))
{
IOST = 0x00
^HKEY.MHKQ (0x60D0)
}
}
^HKEY.MHKQ (0x5002)
If ((PLUX == 0x00))
{
Notify (LID, 0x80) // Status Change
}
}
Release (LIDQ)
}
}
Method (_Q2B, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If ((Acquire (LIDQ, 0xA000) == 0x00))
{
SCMS (0x0D)
VCMS (0x01, ^^^^LID._LID ())
If ((^AC._PSR () == 0x00))
{
^HKEY.DYTC (0x001FA001)
}
If ((ILNF == 0x00))
{
If ((IOEN && !IOST))
{
If (!ISOC (0x01))
{
IOST = 0x01
^HKEY.MHKQ (0x60D0)
}
}
^HKEY.MHKQ (0x5001)
If ((PLUX == 0x00))
{
Notify (LID, 0x80) // Status Change
}
}
Release (LIDQ)
}
}
Method (_Q3D, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
}
Method (_Q48, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
}
Method (_Q49, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
}
Method (_Q46, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
^HKEY.MHKQ (0x6012)
}
Method (_Q3B, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If ((WLAC == 0x02)) {}
ElseIf ((ELNK && (WLAC == 0x01)))
{
DCWL = 0x00
}
Else
{
DCWL = 0x01
}
}
Method (_Q4F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (CondRefOf (\_SB.UBTC.NTFY))
{
^^^^UBTC.NTFY ()
}
}
Method (_Q2F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
BFCC ()
}
Method (_Q71, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
^HKEY.MHKQ (0x1316)
}
Method (_Q20, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
^HKEY.MHKQ (0x8036)
}
Method (_Q75, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
^HKEY.MHKQ (0x131C)
}
Method (_Q5D, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
^HKEY.SCPF (TIDX)
}
Method (LIDO, 0, NotSerialized)
{
If ((Acquire (LIDQ, 0xA000) == 0x00))
{
VCMS (0x01, ^^^^LID._LID ())
^HKEY.DYTC (0x000FA001)
If ((ILNF == 0x00))
{
If (IOST)
{
If (!ISOC (0x00))
{
IOST = 0x00
^HKEY.MHKQ (0x60D0)
}
}
^HKEY.MHKQ (0x5002)
If ((PLUX == 0x00))
{
Notify (LID, 0x80) // Status Change
}
}
Release (LIDQ)
}
}
Method (LIDC, 0, NotSerialized)
{
HAM6 = 0x00
SCMS (0x0D)
VCMS (0x01, ^^^^LID._LID ())
If ((^AC._PSR () == 0x00))
{
^HKEY.DYTC (0x001FA001)
}
If ((ILNF == 0x00))
{
If ((IOEN && !IOST))
{
If (!ISOC (0x01))
{
IOST = 0x01
^HKEY.MHKQ (0x60D0)
}
}
^HKEY.MHKQ (0x5001)
If ((PLUX == 0x00))
{
Notify (LID, 0x80) // Status Change
}
}
}
Method (ACIN, 0, NotSerialized)
{
If ((Acquire (UCCI, 0xA000) == 0x00))
{
SCMS (0x12)
^HKEY.DYTC (0x000FA001)
Sleep (0x01F4)
Notify (AC, 0x80) // Status Change
Notify (\_TZ.THM0, 0x80) // Thermal Status Change
If (WXPF)
{
Acquire (MCPU, 0xFFFF)
}
If (WXPF)
{
Sleep (0x64)
}
If (WXPF)
{
Release (MCPU)
}
^HKEY.MHKQ (0x6040)
ATMC ()
Release (UCCI)
}
}
Method (ACOU, 0, NotSerialized)
{
If ((Acquire (UCCI, 0xA000) == 0x00))
{
SCMS (0x12)
If ((^^^^LID._LID () == 0x00))
{
^HKEY.DYTC (0x001FA001)
}
Sleep (0x01F4)
Notify (AC, 0x80) // Status Change
Notify (\_TZ.THM0, 0x80) // Thermal Status Change
If (WXPF)
{
Acquire (MCPU, 0xFFFF)
}
If (WXPF)
{
Sleep (0x64)
}
If (WXPF)
{
Release (MCPU)
}
^HKEY.MHKQ (0x6040)
ATMC ()
Release (UCCI)
}
}
Scope (\_SB.PCI0.LPC0.EC0)
{
Method (_Q6A, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (HDMC)
{
Noop
}
ElseIf (^HKEY.MHKK (0x01, 0x04000000))
{
^HKEY.MHKQ (0x101B)
}
}
}
Scope (HKEY)
{
Method (MMTG, 0, NotSerialized)
{
Local0 = 0x0101
If (HDMC)
{
Local0 |= 0x00010000
}
Return (Local0)
}
Method (MMTS, 1, NotSerialized)
{
If (HDMC)
{
Noop
}
ElseIf ((Arg0 == 0x02))
{
LED (0x0E, 0x80)
}
ElseIf ((Arg0 == 0x03))
{
LED (0x0E, 0xC0)
}
Else
{
LED (0x0E, 0x00)
}
}
}
Scope (\_SB.PCI0.LPC0.EC0)
{
Method (_Q3F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
^HKEY.MHKQ (0x6000)
}
Method (_Q74, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
^HKEY.MHKQ (0x6060)
}
}
Scope (HKEY)
{
}
Scope (\_SB.PCI0.LPC0.EC0)
{
Name (BRTW, Package (0x12)
{
0x64,
0x64,
0x05,
0x0A,
0x14,
0x19,
0x1E,
0x23,
0x28,
0x2D,
0x32,
0x37,
0x3C,
0x41,
0x46,
0x50,
0x5A,
0x64
})
Name (BRTB, Package (0x01)
{
Package (0x16)
{
0x1E,
0x04,
0x04,
0x07,
0x0A,
0x0E,
0x11,
0x16,
0x1B,
0x21,
0x29,
0x32,
0x3C,
0x46,
0x64,
0x8C,
0xB4,
0xFF,
0x04E2,
0x04E2,
0x04,
0x04
}
})
Method (_Q14, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x01, 0x8000))
{
^HKEY.MHKQ (0x1010)
}
Notify (^^^GP17.VGA.LCD, 0x86) // Device-Specific
}
Method (_Q15, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x01, 0x00010000))
{
^HKEY.MHKQ (0x1011)
}
Notify (^^^GP17.VGA.LCD, 0x87) // Device-Specific
}
Method (BRNS, 0, NotSerialized)
{
Local0 = (BRLV + 0x02)
Local3 = BNTN /* \BNTN */
If (CondRefOf (AFN7))
{
Local2 = DerefOf (DerefOf (BRTB [Local3]) [Local0])
AFN7 (Local2)
}
}
Method (BFRQ, 0, NotSerialized)
{
Local0 = 0x80000100
Local1 = DerefOf (DerefOf (BRTB [BNTN]) [0x13])
Local0 |= (Local1 << 0x09)
Local1 = DerefOf (DerefOf (BRTB [BNTN]) [0x15])
Local0 |= Local1
Return (Local0)
}
}
Scope (\_SB.PCI0.LPC0.EC0)
{
Method (_Q43, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
SCMS (0x18)
}
Method (SAUM, 1, NotSerialized)
{
If ((Arg0 > 0x03))
{
Noop
}
ElseIf (H8DR)
{
HAUM = Arg0
}
Else
{
MBEC (0x03, 0x9F, (Arg0 << 0x05))
}
}
}
Scope (HKEY)
{
Method (GSMS, 1, NotSerialized)
{
Return (AUDC (0x00, 0x00))
}
Method (SSMS, 1, NotSerialized)
{
Return (AUDC (0x01, (Arg0 & 0x01)))
}
Method (SHDA, 1, NotSerialized)
{
Local0 = Arg0
Local0 = 0x02
Return (AUDC (0x02, (Local0 & 0x03)))
}
}
Scope (\_SB.PCI0.LPC0.EC0)
{
Method (_Q19, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x01, 0x00800000))
{
^HKEY.MHKQ (0x1018)
}
SCMS (0x03)
}
}
Scope (\_SB.PCI0.LPC0.EC0)
{
Method (_Q63, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
If (^HKEY.MHKK (0x01, 0x00080000))
{
^HKEY.MHKQ (0x1014)
}
SCMS (0x0B)
}
}
Scope (\_SB.PCI0.LPC0.EC0)
{
Method (_Q70, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
FNST ()
}
Method (_Q72, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
FNST ()
}
Method (_Q73, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
FNST ()
}
Method (FNST, 0, NotSerialized)
{
If (H8DR)
{
Local0 = HFNS /* \_SB_.PCI0.LPC0.EC0_.HFNS */
Local1 = HFNE /* \_SB_.PCI0.LPC0.EC0_.HFNE */
}
Else
{
Local0 = (RBEC (0x0E) & 0x03)
Local1 = (RBEC (0x00) & 0x08)
}
If (Local1)
{
If ((Local0 == 0x00))
{
SCMS (0x11)
}
If ((Local0 == 0x01))
{
SCMS (0x0F)
}
If ((Local0 == 0x02))
{
SCMS (0x10)
}
^HKEY.MHKQ (0x6005)
}
}
}
Scope (HKEY)
{
Method (GHSL, 1, NotSerialized)
{
Return (FNSC (0x00, 0x00))
}
Method (SHSL, 1, NotSerialized)
{
Return (FNSC (0x01, (Arg0 & 0x00010001)))
}
}
Scope (HKEY)
{
Name (INDV, 0x00)
Method (MHQI, 0, NotSerialized)
{
Return (0x00)
}
Method (MHGI, 1, NotSerialized)
{
Name (RETB, Buffer (0x10) {})
CreateByteField (RETB, 0x00, MHGS)
Local0 = (0x01 << Arg0)
If ((INDV & Local0))
{
If ((Arg0 == 0x00))
{
CreateField (RETB, 0x08, 0x78, BRBU)
BRBU = IPMB /* \IPMB */
MHGS = 0x10
}
ElseIf ((Arg0 == 0x01))
{
CreateField (RETB, 0x08, 0x18, RRBU)
RRBU = IPMR /* \IPMR */
MHGS = 0x04
}
ElseIf ((Arg0 == 0x08))
{
CreateField (RETB, 0x10, 0x18, ODBU)
CreateByteField (RETB, 0x01, MHGZ)
ODBU = IPMO /* \IPMO */
MHGS = 0x05
}
ElseIf ((Arg0 == 0x09))
{
CreateField (RETB, 0x10, 0x08, AUBU)
AUBU = IPMA /* \IPMA */
RETB [0x01] = 0x01
MHGS = 0x03
}
ElseIf ((Arg0 == 0x02))
{
Local1 = VDYN (0x00, 0x00)
RETB [0x02] = (Local1 & 0x0F)
Local1 >>= 0x04
RETB [0x01] = (Local1 & 0x0F)
MHGS = 0x03
}
}
Return (RETB) /* \_SB_.PCI0.LPC0.EC0_.HKEY.MHGI.RETB */
}
Method (MHSI, 2, NotSerialized)
{
Local0 = (0x01 << Arg0)
If ((INDV & Local0))
{
If ((Arg0 == 0x08))
{
If (Arg1)
{
If (H8DR)
{
Local1 = HPBU /* \_SB_.PCI0.LPC0.EC0_.HPBU */
}
Else
{
Local1 = (RBEC (0x47) & 0x01)
}
}
}
ElseIf ((Arg0 == 0x02))
{
VDYN (0x01, Arg1)
}
}
}
}
Scope (HKEY)
{
Method (PWMC, 0, NotSerialized)
{
Return (0x00)
}
Method (PWMG, 0, NotSerialized)
{
Local0 = PWMH /* \_SB_.PCI0.LPC0.EC0_.PWMH */
Local0 <<= 0x08
Local0 |= PWML /* \_SB_.PCI0.LPC0.EC0_.PWML */
Return (Local0)
}
}
Scope (HKEY)
{
Name (WGFL, 0x00)
Method (WSIF, 0, NotSerialized)
{
Return (0x00)
}
Method (WLSW, 0, NotSerialized)
{
Return (0x10010001)
}
Method (GWAN, 0, NotSerialized)
{
Local0 = 0x00
If ((WGFL & 0x01))
{
Local0 |= 0x01
}
If ((WGFL & 0x08))
{
Return (Local0)
}
If (WPWS ())
{
Local0 |= 0x02
}
Local0 |= 0x04
Return (Local0)
}
Method (SWAN, 1, NotSerialized)
{
If ((Arg0 & 0x02))
{
WPWC (0x01)
}
Else
{
WPWC (0x00)
}
}
Method (GBDC, 0, NotSerialized)
{
Local0 = 0x00
If ((WGFL & 0x10))
{
Local0 |= 0x01
}
If ((WGFL & 0x80))
{
Return (Local0)
}
If (BPWS ())
{
Local0 |= 0x02
}
Local0 |= 0x04
Return (Local0)
}
Method (SBDC, 1, NotSerialized)
{
If ((Arg0 & 0x02))
{
BPWC (0x01)
}
Else
{
BPWC (0x00)
}
}
Method (WPWS, 0, NotSerialized)
{
If (H8DR)
{
Local0 = DCWW /* \_SB_.PCI0.LPC0.EC0_.DCWW */
}
Else
{
Local0 = ((RBEC (0x3A) & 0x40) >> 0x06)
}
Return (Local0)
}
Method (WPWC, 1, NotSerialized)
{
If ((Arg0 && ((WGFL & 0x01) && !(WGFL & 0x08
))))
{
If (H8DR)
{
DCWW = One
}
Else
{
MBEC (0x3A, 0xFF, 0x40)
}
WGFL |= 0x02
}
Else
{
If (H8DR)
{
DCWW = Zero
}
Else
{
MBEC (0x3A, 0xBF, 0x00)
}
WGFL &= 0xFFFFFFFFFFFFFFFD
}
}
Method (BPWS, 0, NotSerialized)
{
If (H8DR)
{
Local0 = DCBD /* \_SB_.PCI0.LPC0.EC0_.DCBD */
}
Else
{
Local0 = ((RBEC (0x3A) & 0x10) >> 0x04)
}
Return (Local0)
}
Method (BPWC, 1, NotSerialized)
{
If ((Arg0 && ((WGFL & 0x10) && !(WGFL & 0x80
))))
{
If (H8DR)
{
DCBD = One
}
Else
{
MBEC (0x3A, 0xFF, 0x10)
}
WGFL |= 0x20
}
Else
{
If (H8DR)
{
DCBD = Zero
}
Else
{
MBEC (0x3A, 0xEF, 0x00)
}
WGFL &= 0xFFFFFFFFFFFFFFDF
}
}
Method (WGIN, 0, NotSerialized)
{
WGFL = 0x00
WGFL = WGSV (0x01)
If (WIN8)
{
If ((WGFL && 0x10))
{
BPWC (0x01)
}
}
If (WPWS ())
{
WGFL |= 0x02
}
If (BPWS ())
{
WGFL |= 0x20
}
}
Method (WGPS, 1, NotSerialized)
{
If ((Arg0 >= 0x04))
{
BLTH (0x05)
}
}
Method (WGWK, 1, NotSerialized)
{
Noop
}
}
Scope (\_SB.PCI0.LPC0.EC0)
{
Method (_Q41, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
^HKEY.MHKQ (0x7000)
}
}
Scope (HKEY)
{
Mutex (BFWM, 0x00)
Method (MHCF, 1, NotSerialized)
{
Local0 = BFWC (Arg0)
Return (Local0)
}
Method (MHPF, 1, NotSerialized)
{
Name (RETB, Buffer (0x25) {})
Acquire (BFWM, 0xFFFF)
If ((SizeOf (Arg0) <= 0x25))
{
BFWB = Arg0
Sleep (0x02)
If (BFWP ())
{
CHKS ()
BFWL ()
}
RETB = BFWB /* \BFWB */
}
Release (BFWM)
Return (RETB) /* \_SB_.PCI0.LPC0.EC0_.HKEY.MHPF.RETB */
}
Method (MHIF, 1, NotSerialized)
{
Name (RETB, Buffer (0x0A) {})
Acquire (BFWM, 0xFFFF)
BFWG (Arg0)
RETB = BFWB /* \BFWB */
Release (BFWM)
Return (RETB) /* \_SB_.PCI0.LPC0.EC0_.HKEY.MHIF.RETB */
}
Method (MHDM, 1, NotSerialized)
{
BDMC (Arg0)
}
}
Scope (HKEY)
{
Method (PSSG, 1, NotSerialized)
{
Return (PSIF (0x00, 0x00))
}
Method (PSSS, 1, NotSerialized)
{
Return (PSIF (0x01, Arg0))
}
Method (PSBS, 1, NotSerialized)
{
Return (PSIF (0x02, Arg0))
}
Method (BICG, 1, NotSerialized)
{
Return (PSIF (0x03, Arg0))
}
Method (BICS, 1, NotSerialized)
{
Return (PSIF (0x04, Arg0))
}
Method (BCTG, 1, NotSerialized)
{
Return (PSIF (0x05, Arg0))
}
Method (BCCS, 1, NotSerialized)
{
Return (PSIF (0x06, Arg0))
}
Method (BCSG, 1, NotSerialized)
{
Return (PSIF (0x07, Arg0))
}
Method (BCSS, 1, NotSerialized)
{
Return (PSIF (0x08, Arg0))
}
Method (BDSG, 1, NotSerialized)
{
Return (PSIF (0x09, Arg0))
}
Method (BDSS, 1, NotSerialized)
{
Return (PSIF (0x0A, Arg0))
}
}
Scope (HKEY)
{
Method (GILN, 0, NotSerialized)
{
Return ((0x02 | ILNF))
}
Method (SILN, 1, NotSerialized)
{
If ((0x01 == Arg0))
{
ILNF = 0x01
BBLS = 0x00
Return (0x00)
}
ElseIf ((0x02 == Arg0))
{
ILNF = 0x00
BBLS = 0x01
Return (0x00)
}
Else
{
Return (0x01)
}
}
Method (GLSI, 0, NotSerialized)
{
If (H8DR)
{
Return ((0x02 + HPLD))
}
ElseIf ((RBEC (0x46) & 0x04))
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
}
Scope (HKEY)
{
Method (GDLN, 0, NotSerialized)
{
Return ((0x02 | PLUX))
}
Method (SDLN, 1, NotSerialized)
{
If ((0x01 == Arg0))
{
PLUX = 0x01
Return (0x00)
}
ElseIf ((0x02 == Arg0))
{
PLUX = 0x00
Return (0x00)
}
Else
{
Return (0x01)
}
}
}
Method (DTR1, 0, NotSerialized)
{
If (PSST)
{
Return (0x01)
}
Return (0x00)
}
Method (DTR2, 0, NotSerialized)
{
Return (0x00)
}
Method (DTN1, 0, NotSerialized)
{
If ((RBEC (0x46) & 0x40))
{
Return (0x01)
}
Return (0x00)
}
Method (DTN2, 0, NotSerialized)
{
Return (0x00)
}
Method (DPS1, 0, NotSerialized)
{
If (H8DR)
{
Return (DTR1 ())
}
Else
{
Return (DTN1 ())
}
}
Method (DPS2, 0, NotSerialized)
{
If (H8DR)
{
Return (DTR2 ())
}
Else
{
Return (DTN2 ())
}
}
Method (LAPS, 0, NotSerialized)
{
If (CQLS)
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Scope (\_SB.PCI0.LPC0.EC0)
{
Method (WGPI, 0, NotSerialized)
{
Local0 = 0x01A0
WMEM (0xFED81500, Local0, 0x17, 0x01, 0x00)
}
Method (WGPO, 0, NotSerialized)
{
Local0 = 0x01A0
WMEM (0xFED81500, Local0, 0x17, 0x01, 0x01)
WMEM (0xFED81500, Local0, 0x16, 0x01, 0x00)
}
Method (DPRS, 0, Serialized)
{
Local0 = DPS1 ()
Local1 = LAPS ()
Local1 |= (Local0 << 0x01)
Switch (ToInteger (Local1))
{
Case (0x00)
{
WGPI ()
}
Case (0x01)
{
WGPI ()
}
Case (0x02)
{
WGPI ()
}
Case (0x03)
{
WGPO ()
}
}
}
Method (_Q4E, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
DPRS ()
}
}
Scope (HKEY)
{
Method (GPSS, 0, NotSerialized)
{
If (H8DR)
{
If ((DTR1 () || DTR2 ()))
{
Local1 = 0x01
}
Else
{
Local1 = 0x00
}
}
ElseIf ((DTN1 () || DTN2 ()))
{
Local1 = 0x01
}
Else
{
Local1 = 0x00
}
Local0 = 0x01
Local0 |= (Local1 << 0x01)
Local0 &= 0x03
Return (Local0)
}
}
Scope (HKEY)
{
Method (GSSS, 1, NotSerialized)
{
Local0 = 0x00
CreateByteField (VEDI, 0x66, EFB1)
If ((((SHDW & 0x80) == 0x00) && ((EFB1 & 0x80
) == 0x80)))
{
Local0 |= 0x00010000
If (((EPAO & 0x01) && (SHDW & 0x01)))
{
Local0 |= 0x00020000
}
}
If ((SHDW & 0x01))
{
Local0 |= 0x01
}
Local0 |= 0x32000000
Return (Local0)
}
Method (SSSS, 1, NotSerialized)
{
CreateByteField (VEDI, 0x66, EFB1)
If ((((SHDW & 0x80) == 0x00) && ((EFB1 & 0x80
) == 0x80)))
{
If (((EPAO & 0x01) == 0x00))
{
If ((Arg0 == 0x00))
{
If (((SHDW & 0x01) != 0x00))
{
SCMS (0x1E)
SHDW = (SHDW & 0xFFFFFFFFFFFFFFFE)
MHKQ (0x130F)
Return (0x00)
}
}
If ((Arg0 == 0x01))
{
If (((SHDW & 0x01) == 0x00))
{
SCMS (0x1F)
SHDW = (SHDW | 0x01)
MHKQ (0x130F)
Return (0x00)
}
}
}
If (((EPAO & 0x01) == 0x01))
{
Return (0x00)
}
}
Return (0x80000000)
}
Method (TSSS, 0, NotSerialized)
{
CreateByteField (VEDI, 0x66, EFB1)
If ((((SHDW & 0x80) == 0x00) && ((EFB1 & 0x80
) == 0x80)))
{
If (((SHDW & 0x01) != 0x00))
{
SSSS (0x00)
Return (0x00)
}
If (((SHDW & 0x01) == 0x00))
{
SSSS (0x01)
Return (0x00)
}
}
Return (0x80000000)
}
Method (CSSS, 0, NotSerialized)
{
If ((((SHDW & 0x80) == 0x00) && ((SHDW &
0x01) != 0x00)))
{
Return (SSSS (0x01))
}
Else
{
Return (SSSS (0x00))
}
}
}
Scope (HKEY)
{
Name (AM00, 0x00)
Name (AM01, 0x00)
Name (AM02, 0x00)
Name (AM03, 0x00)
Name (AM04, 0x00)
Name (AM05, 0x00)
Name (AM06, 0x00)
Name (AM07, 0x00)
Name (AM08, 0x00)
Name (AM09, 0x00)
Name (AM0A, 0x00)
Name (AM0B, 0x00)
Name (AM0C, 0x00)
Name (AM0D, 0x00)
Name (AM0E, 0x00)
Name (AM0F, 0x00)
Name (FNLB, 0x00)
Name (QCKB, 0x00)
Name (QCMS, 0x00)
Method (LQCC, 1, NotSerialized)
{
Local1 = (Arg0 & 0xFFFF)
Local0 = 0x00
If ((Local1 == 0x0100))
{
Local1 = 0x01
Return (Local1)
}
If ((Local1 == 0x0101))
{
If (((Arg0 & 0x00010000) == 0x00010000))
{
If ((QCMS == 0x00))
{
AM00 = (HAM0 & 0x00)
AM01 = (HAM1 & 0x00)
AM02 = (HAM2 & 0x78)
AM03 = (HAM3 & 0xB2)
AM04 = (HAM4 & 0x01)
AM05 = (HAM5 & 0x00)
AM06 = (HAM6 & 0x00)
AM07 = (HAM7 & 0x70)
AM08 = (HAM8 & 0x08)
AM09 = (HAM9 & 0x00)
AM0A = (HAMA & 0x00)
AM0B = (HAMB & 0x00)
AM0C = (HAMC & 0xFF)
AM0D = (HAMD & 0xFF)
AM0E = (HAME & 0x7D)
AM0F = (HAMF & 0x47)
HAM0 &= 0xFFFFFFFFFFFFFFFF
HAM1 &= 0xFFFFFFFFFFFFFFFF
HAM2 &= 0xFFFFFFFFFFFFFF87
HAM3 &= 0xFFFFFFFFFFFFFF4D
HAM4 &= 0xFFFFFFFFFFFFFFFE
HAM5 &= 0xFFFFFFFFFFFFFFFF
HAM6 &= 0xFFFFFFFFFFFFFFFF
HAM7 &= 0xFFFFFFFFFFFFFF8F
HAM8 &= 0xFFFFFFFFFFFFFFF7
HAM9 &= 0xFFFFFFFFFFFFFFFF
HAMA &= 0xFFFFFFFFFFFFFFFF
HAMB &= 0xFFFFFFFFFFFFFFFF
HAMC &= 0xFFFFFFFFFFFFFF00
HAMD &= 0xFFFFFFFFFFFFFF00
HAME &= 0xFFFFFFFFFFFFFF82
HAMF &= 0xFFFFFFFFFFFFFFB8
FNLB = ESFL /* \_SB_.PCI0.LPC0.EC0_.ESFL */
ESFL = 0x01
QCKB = QCON /* \_SB_.PCI0.LPC0.EC0_.QCON */
QCON = 0x01
QCMS = 0x01
Local0 = 0x00
}
Else
{
Local0 = 0x00
}
}
ElseIf ((QCMS == 0x01))
{
HAM0 |= AM00 /* \_SB_.PCI0.LPC0.EC0_.HAM0 */
HAM1 |= AM01 /* \_SB_.PCI0.LPC0.EC0_.HAM1 */
HAM2 |= AM02 /* \_SB_.PCI0.LPC0.EC0_.HAM2 */
HAM3 |= AM03 /* \_SB_.PCI0.LPC0.EC0_.HAM3 */
HAM4 |= AM04 /* \_SB_.PCI0.LPC0.EC0_.HAM4 */
HAM5 |= AM05 /* \_SB_.PCI0.LPC0.EC0_.HAM5 */
HAM6 |= AM06 /* \_SB_.PCI0.LPC0.EC0_.HAM6 */
HAM7 |= AM07 /* \_SB_.PCI0.LPC0.EC0_.HAM7 */
HAM8 |= AM08 /* \_SB_.PCI0.LPC0.EC0_.HAM8 */
HAM9 |= AM09 /* \_SB_.PCI0.LPC0.EC0_.HAM9 */
HAMA |= AM0A /* \_SB_.PCI0.LPC0.EC0_.HAMA */
HAMB |= AM0B /* \_SB_.PCI0.LPC0.EC0_.HAMB */
HAMC |= AM0C /* \_SB_.PCI0.LPC0.EC0_.HAMC */
HAMD |= AM0D /* \_SB_.PCI0.LPC0.EC0_.HAMD */
HAME |= AM0E /* \_SB_.PCI0.LPC0.EC0_.HAME */
HAMF |= AM0F /* \_SB_.PCI0.LPC0.EC0_.HAMF */
ESFL = FNLB /* \_SB_.PCI0.LPC0.EC0_.HKEY.FNLB */
QCON = QCKB /* \_SB_.PCI0.LPC0.EC0_.HKEY.QCKB */
QCMS = 0x00
Local0 = 0x00
}
Else
{
Local0 = 0x00
}
}
Return (Local0)
}
}
}
Scope (_SB)
{
Name (HIDG, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)
Method (HIDD, 5, Serialized)
{
If ((Arg0 == HIDG))
{
If ((Arg2 == Zero))
{
If ((Arg1 == One))
{
Return (Buffer (One)
{
0x03 // .
})
}
}
If ((Arg2 == One))
{
Return (Arg4)
}
}
Return (Buffer (0x01)
{
0x00 // .
})
}
Method (I2CM, 3, Serialized)
{
Switch (ToInteger (Arg0))
{
Case (0x00)
{
Name (IICA, ResourceTemplate ()
{
I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.I2CA",
0x00, ResourceConsumer, _Y1F, Exclusive,
)
})
CreateWordField (IICA, \_SB.I2CM._Y1F._ADR, DADA) // _ADR: Address
CreateDWordField (IICA, \_SB.I2CM._Y1F._SPE, DSPA) // _SPE: Speed
DADA = Arg1
DSPA = Arg2
Return (IICA) /* \_SB_.I2CM.IICA */
}
Case (0x01)
{
Name (IICB, ResourceTemplate ()
{
I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.I2CB",
0x00, ResourceConsumer, _Y20, Exclusive,
)
})
CreateWordField (IICB, \_SB.I2CM._Y20._ADR, DADB) // _ADR: Address
CreateDWordField (IICB, \_SB.I2CM._Y20._SPE, DSPB) // _SPE: Speed
DADB = Arg1
DSPB = Arg2
Return (IICB) /* \_SB_.I2CM.IICB */
}
Case (0x02)
{
Name (IICC, ResourceTemplate ()
{
I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.I2CC",
0x00, ResourceConsumer, _Y21, Exclusive,
)
})
CreateWordField (IICC, \_SB.I2CM._Y21._ADR, DADC) // _ADR: Address
CreateDWordField (IICC, \_SB.I2CM._Y21._SPE, DSPC) // _SPE: Speed
DADC = Arg1
DSPC = Arg2
Return (IICC) /* \_SB_.I2CM.IICC */
}
Case (0x03)
{
Name (IICD, ResourceTemplate ()
{
I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.I2CD",
0x00, ResourceConsumer, _Y22, Exclusive,
)
})
CreateWordField (IICD, \_SB.I2CM._Y22._ADR, DADD) // _ADR: Address
CreateDWordField (IICD, \_SB.I2CM._Y22._SPE, DSPD) // _SPE: Speed
DADD = Arg1
DSPD = Arg2
Return (IICD) /* \_SB_.I2CM.IICD */
}
Default
{
Return (0x00)
}
}
}
}
Scope (_SB.I2CA)
{
Name (I2CN, 0x00)
Name (I2CX, 0x00)
I2CN = IC0E /* \_SB_.IC0E */
I2CX = 0x00
}
Scope (_SB.I2CB)
{
Name (I2CN, 0x00)
Name (I2CX, 0x00)
I2CN = IC1E /* \_SB_.IC1E */
I2CX = 0x01
}
Scope (_SB.I2CC)
{
Name (I2CN, 0x00)
Name (I2CX, 0x00)
I2CN = IC2E /* \_SB_.IC2E */
I2CX = 0x02
}
Scope (_SB.I2CB)
{
Device (TPD0)
{
Name (HID2, 0x00)
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "NULL",
0x00, ResourceConsumer, _Y23, Exclusive,
)
})
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
CreateWordField (SBFB, \_SB.I2CB.TPD0._Y23._ADR, BADR) // _ADR: Address
CreateDWordField (SBFB, \_SB.I2CB.TPD0._Y23._SPE, SPED) // _SPE: Speed
CreateWordField (SBFG, 0x17, INT1)
Name (ITML, Package (0x08)
{
Package (0x06)
{
0x04F3,
0x3195,
0x15,
0x01,
0x01,
"ELAN0676"
},
Package (0x06)
{
0x04F3,
0x320B,
0x15,
0x01,
0x01,
"ELAN0688"
},
Package (0x06)
{
0x04F3,
0x3196,
0x15,
0x01,
0x01,
"ELAN0677"
},
Package (0x06)
{
0x04F3,
0x320C,
0x15,
0x01,
0x01,
"ELAN0689"
},
Package (0x06)
{
0x06CB,
0xCE67,
0x2C,
0x20,
0x01,
"SYNA8018"
},
Package (0x06)
{
0x06CB,
0xCE68,
0x2C,
0x20,
0x01,
"SYNA8019"
},
Package (0x06)
{
0x06CB,
0xCEC6,
0x2C,
0x20,
0x01,
"SYNA801A"
},
Package (0x06)
{
0x06CB,
0xCEC7,
0x2C,
0x20,
0x01,
"SYNA801B"
}
})
Method (UHMS, 0, NotSerialized)
{
Local0 = 0x00
Local1 = SizeOf (ITML)
While ((Local0 < Local1))
{
Local2 = DerefOf (ITML [Local0])
Local3 = DerefOf (Local2 [0x00])
Local4 = DerefOf (Local2 [0x01])
If ((TDVI == Local3))
{
If ((TDPI == Local4))
{
BADR = DerefOf (Local2 [0x02])
HID2 = DerefOf (Local2 [0x03])
Local5 = DerefOf (Local2 [0x04])
_HID = DerefOf (Local2 [0x05])
If ((Local5 == 0x00))
{
SPED = 0x000186A0
}
If ((Local5 == 0x01))
{
SPED = 0x00061A80
}
If ((Local5 == 0x02))
{
SPED = 0x000F4240
}
Return (0x01)
}
}
Local0++
}
Return (0x00)
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
INT1 = 0x08
UHMS ()
}
Name (_HID, "XXXX0000") // _HID: Hardware ID
Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == HIDG))
{
Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
}
Return (Buffer (0x01)
{
0x00 // .
})
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((TDVI == 0x00) && (TDPI == 0x00)))
{
Return (0x00)
}
Return (0x0F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
}
}
}
Scope (_SB.I2CA)
{
Device (TPNL)
{
Name (HID2, 0x00)
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "NULL",
0x00, ResourceConsumer, _Y24, Exclusive,
)
})
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, SharedAndWake, PullUp, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
CreateWordField (SBFB, \_SB.I2CA.TPNL._Y24._ADR, BADR) // _ADR: Address
CreateDWordField (SBFB, \_SB.I2CA.TPNL._Y24._SPE, SPED) // _SPE: Speed
CreateWordField (SBFG, 0x17, INT1)
Name (ITML, Package (0x09)
{
Package (0x06)
{
0x2A94,
0xA819,
0x10,
0x01,
0x01,
"GTCH7503"
},
Package (0x06)
{
0x04F3,
0x2EDA,
0x10,
0x01,
0x01,
"ELAN901C"
},
Package (0x06)
{
0x04F3,
0x2EA3,
0x10,
0x01,
0x01,
"ELAN901C"
},
Package (0x06)
{
0x04F3,
0x2EDE,
0x10,
0x01,
0x01,
"ELAN901C"
},
Package (0x06)
{
0x04F3,
0x4111,
0x10,
0x01,
0x01,
"ELAN901C"
},
Package (0x06)
{
0x04F3,
0x2F52,
0x10,
0x01,
0x01,
"ELAN901C"
},
Package (0x06)
{
0x29BD,
0x9902,
0x09,
0x01,
0x01,
"LXST2021"
},
Package (0x06)
{
0x04F3,
0x2EA4,
0x10,
0x01,
0x01,
"ELAN901C"
},
Package (0x06)
{
0x29BD,
0x9901,
0x09,
0x01,
0x01,
"LXST2021"
}
})
Method (UHMS, 0, NotSerialized)
{
Local0 = 0x00
Local1 = SizeOf (ITML)
While ((Local0 < Local1))
{
Local2 = DerefOf (ITML [Local0])
Local3 = DerefOf (Local2 [0x00])
Local4 = DerefOf (Local2 [0x01])
If ((TLVI == Local3))
{
If ((TLPI == Local4))
{
BADR = DerefOf (Local2 [0x02])
HID2 = DerefOf (Local2 [0x03])
Local5 = DerefOf (Local2 [0x04])
_HID = DerefOf (Local2 [0x05])
If ((Local5 == 0x00))
{
SPED = 0x000186A0
}
If ((Local5 == 0x01))
{
SPED = 0x00061A80
}
If ((Local5 == 0x02))
{
SPED = 0x000F4240
}
Return (0x01)
}
}
Local0++
}
Return (0x00)
}
Name (_HID, "XXXX0000") // _HID: Hardware ID
Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID
Name (_S0W, 0x03) // _S0W: S0 Device Wake State
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
INT1 = 0x20
UHMS ()
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == HIDG))
{
Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
}
Return (Buffer (0x01)
{
0x00 // .
})
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (((TLVI == 0x00) && (TLPI == 0x00)))
{
Return (0x00)
}
Return (0x0F)
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
}
}
}
Scope (_SB.I2CB)
{
Device (NFC1)
{
Name (_ADR, 0x00) // _ADR: Address
Name (_HID, "NXP1001") // _HID: Hardware ID
Name (_DDN, "NXP NFC For Win10") // _DDN: DOS Device Name
Name (_UID, 0x01) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0029, ControllerInitiated, 0x000186A0,
AddressingMode7Bit, "\\_SB.I2CB",
0x00, ResourceConsumer, , Exclusive,
)
GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0054
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x009D
}
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0090
}
})
Return (RBUF) /* \_SB_.I2CB.NFC1._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TPOS >= 0x60))
{
If (((RFIO (0x69) == 0x00) && (NFCF == 0x00)))
{
Return (0x0F)
}
}
Return (0x00)
}
}
}
Scope (_SB.PCI0.LPC0.EC0)
{
Device (LSSD)
{
Name (_HID, EisaId ("LEN0111")) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
}
}
Scope (_SB.PCI0.LPC0.EC0.HKEY)
{
Name (STTI, Package (0x15)
{
0x20,
0x21,
0x22,
0x23,
0x24,
0x25,
0x26,
0x27,
0x28,
0x29,
0x2A,
0x2B,
0x2C,
0x2D,
0x2E,
0x07,
0x13,
0x06,
0x08,
0x03,
0x32
})
Name (STTS, Package (0x34)
{
Package (0x1D)
{
0x00,
0x00,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x00,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x0185,
0x0330,
0x00,
0x00,
0x00,
0x00,
0xF92B,
0x00,
0x3A98,
0x5DC0,
0x00,
0x6D60,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x00,
0x04,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x08,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x01D4,
0x02FD,
0x00,
0x00,
0x00,
0x00,
0xF914,
0x00,
0x36B0,
0x36B0,
0x00,
0x36B0,
0x0A,
0x46,
0x00028C58
},
Package (0x1D)
{
0x00,
0x01,
0x01800000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x00,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x0185,
0x0330,
0x00,
0x00,
0x00,
0x00,
0xF92B,
0x00,
0x4650,
0x5DC0,
0x00,
0x6D60,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x00,
0x0A,
0x01800000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x24,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x0185,
0x0330,
0x00,
0x00,
0x00,
0x00,
0xF92B,
0x00,
0x4650,
0x5DC0,
0x00,
0x6D60,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x00,
0x0A,
0x00600000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x20,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x0185,
0x0330,
0x00,
0x00,
0x00,
0x00,
0xF92B,
0x00,
0x4650,
0x5DC0,
0x00,
0x6D60,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x00,
0x0A,
0x001C0000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x22,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x0185,
0x0330,
0x00,
0x00,
0x00,
0x00,
0xF92B,
0x00,
0x4650,
0x5DC0,
0x00,
0x6D60,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x00,
0x0D,
0x01800000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x04,
0x199A,
0x00,
0x2A80,
0x00,
0x42,
0x2666,
0x018A,
0x0221,
0x00,
0x00,
0x00,
0x00,
0x0138,
0x00,
0x59D8,
0x6D60,
0x00,
0x7D00,
0x1E,
0x60,
0x00028C58
},
Package (0x1D)
{
0x00,
0x0D,
0x00600000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x00,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x0185,
0x0330,
0x00,
0x00,
0x00,
0x00,
0xF92B,
0x00,
0x3A98,
0x5DC0,
0x00,
0x6D60,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x00,
0x0D,
0x001C0000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x02,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x01D4,
0x02FD,
0x00,
0x00,
0x00,
0x00,
0xF914,
0x00,
0x2EE0,
0x2EE0,
0x00,
0x2EE0,
0x0A,
0x46,
0x00028C58
},
Package (0x1D)
{
0x00,
0x07,
0x00600000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x00,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x01D4,
0x02FD,
0x00,
0x00,
0x00,
0x00,
0xF914,
0x00,
0x36B0,
0x3E80,
0x00,
0x4650,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x01,
0x00,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x34,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x018A,
0x0221,
0x00,
0x00,
0x00,
0x00,
0x0138,
0x00,
0x4650,
0x6590,
0x00,
0x7530,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x01,
0x04,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x38,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01D4,
0x02FD,
0x00,
0x00,
0x00,
0x00,
0xF914,
0x00,
0x3E80,
0x3E80,
0x00,
0x3E80,
0x0A,
0x46,
0x00028C58
},
Package (0x1D)
{
0x01,
0x01,
0x01800000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x34,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x018A,
0x0221,
0x00,
0x00,
0x00,
0x00,
0x0138,
0x00,
0x5208,
0x6590,
0x00,
0x7530,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x01,
0x01,
0x00610000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x34,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x018A,
0x0221,
0x00,
0x00,
0x00,
0x00,
0x0138,
0x00,
0x5208,
0x6590,
0x00,
0x7530,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x01,
0x0A,
0x01800000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x3C,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x018A,
0x0221,
0x00,
0x00,
0x00,
0x00,
0x0138,
0x00,
0x5208,
0x6590,
0x00,
0x7530,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x01,
0x0A,
0x00600000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x3B,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x018A,
0x0221,
0x00,
0x00,
0x00,
0x00,
0x0138,
0x00,
0x5208,
0x6590,
0x00,
0x7530,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x01,
0x0A,
0x001C0000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x3A,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x018A,
0x0221,
0x00,
0x00,
0x00,
0x00,
0x0138,
0x00,
0x5208,
0x6590,
0x00,
0x7530,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x01,
0x0D,
0x01800000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x35,
0x199A,
0x00,
0x2B00,
0x00,
0x42,
0x2666,
0x01D4,
0x029D,
0x00,
0x00,
0x00,
0x00,
0xF78D,
0x00,
0x5DC0,
0x7D00,
0x00,
0x8CA0,
0x1E,
0x60,
0x00028C58
},
Package (0x1D)
{
0x01,
0x0D,
0x00600000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x34,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x018A,
0x0221,
0x00,
0x00,
0x00,
0x00,
0x0138,
0x00,
0x4650,
0x6590,
0x00,
0x7530,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x01,
0x0D,
0x001C0000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x39,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01D4,
0x02FD,
0x00,
0x00,
0x00,
0x00,
0xF914,
0x00,
0x3A98,
0x3A98,
0x00,
0x3A98,
0x0A,
0x46,
0x00028C58
},
Package (0x1D)
{
0x01,
0x0D,
0x01810000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x36,
0x199A,
0x00,
0x2C80,
0x00,
0x42,
0x2666,
0x018A,
0x0221,
0x00,
0x00,
0x00,
0x00,
0x0138,
0x00,
0x6D60,
0x7D00,
0x00,
0x9C40,
0x1E,
0x60,
0x00028C58
},
Package (0x1D)
{
0x01,
0x0D,
0x00610000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x35,
0x199A,
0x00,
0x2B00,
0x00,
0x42,
0x2666,
0x01D4,
0x029D,
0x00,
0x00,
0x00,
0x00,
0xF78D,
0x00,
0x5DC0,
0x7D00,
0x00,
0x8CA0,
0x1E,
0x60,
0x00028C58
},
Package (0x1D)
{
0x01,
0x0D,
0x00190000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x34,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x018A,
0x0221,
0x00,
0x00,
0x00,
0x00,
0x0138,
0x00,
0x4650,
0x6590,
0x00,
0x7530,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x01,
0x0D,
0x00050000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x39,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01D4,
0x02FD,
0x00,
0x00,
0x00,
0x00,
0xF914,
0x00,
0x3A98,
0x3A98,
0x00,
0x3A98,
0x0A,
0x46,
0x00028C58
},
Package (0x1D)
{
0x01,
0x07,
0x00190000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x34,
0x199A,
0x00,
0x2900,
0x00,
0x42,
0x2666,
0x018A,
0x0221,
0x00,
0x00,
0x00,
0x00,
0x0138,
0x00,
0x4650,
0x61A8,
0x00,
0x7530,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x01,
0x07,
0x00600000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x34,
0x199A,
0x00,
0x2900,
0x00,
0x42,
0x2666,
0x018A,
0x0221,
0x00,
0x00,
0x00,
0x00,
0x0138,
0x00,
0x4650,
0x61A8,
0x00,
0x7530,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x02,
0x00,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x0A,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F3,
0x0298,
0x00,
0x00,
0x00,
0x00,
0xF63E,
0x00,
0x4650,
0x6978,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x02,
0x04,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x12,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x023C,
0x014F,
0x00,
0x00,
0x00,
0x00,
0xFDDE,
0x00,
0x3A98,
0x3A98,
0x00,
0x3A98,
0x0A,
0x46,
0x00028C58
},
Package (0x1D)
{
0x02,
0x01,
0x01800000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x0A,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F3,
0x0298,
0x00,
0x00,
0x00,
0x00,
0xF63E,
0x00,
0x4E20,
0x6978,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x02,
0x0A,
0x01800000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x2A,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F3,
0x0298,
0x00,
0x00,
0x00,
0x00,
0xF63E,
0x00,
0x4E20,
0x6978,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x02,
0x0A,
0x00600000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x26,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F3,
0x0298,
0x00,
0x00,
0x00,
0x00,
0xF63E,
0x00,
0x4E20,
0x6978,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x02,
0x0A,
0x001C0000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x28,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F3,
0x0298,
0x00,
0x00,
0x00,
0x00,
0xF63E,
0x00,
0x4E20,
0x6978,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x02,
0x0D,
0x01800000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x0E,
0x199A,
0x00,
0x2B00,
0x00,
0x42,
0x2666,
0x01C4,
0x03BC,
0x00,
0x00,
0x00,
0x00,
0xEEB2,
0x00,
0x61A8,
0x7D00,
0x00,
0x9088,
0x1E,
0x60,
0x00028C58
},
Package (0x1D)
{
0x02,
0x0D,
0x00600000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x0A,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F3,
0x0298,
0x00,
0x00,
0x00,
0x00,
0xF63E,
0x00,
0x4650,
0x6978,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x02,
0x0D,
0x001C0000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x0C,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x023C,
0x014F,
0x00,
0x00,
0x00,
0x00,
0xFDDE,
0x00,
0x32C8,
0x32C8,
0x00,
0x32C8,
0x0A,
0x46,
0x00028C58
},
Package (0x1D)
{
0x02,
0x07,
0x00600000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x0A,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x023C,
0x014F,
0x00,
0x00,
0x00,
0x00,
0xFDDE,
0x00,
0x3A98,
0x4650,
0x00,
0x4E20,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x03,
0x00,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x14,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F0,
0x0226,
0x00,
0x00,
0x00,
0x00,
0xFA1B,
0x00,
0x4650,
0x7530,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x03,
0x04,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x1C,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x020C,
0x02DD,
0x00,
0x00,
0x00,
0x00,
0xF381,
0x00,
0x4268,
0x4268,
0x00,
0x4268,
0x0A,
0x46,
0x00028C58
},
Package (0x1D)
{
0x03,
0x01,
0x01800000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x14,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F0,
0x0226,
0x00,
0x00,
0x00,
0x00,
0xFA1B,
0x00,
0x55F0,
0x7530,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x03,
0x01,
0x00610000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x14,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F0,
0x0226,
0x00,
0x00,
0x00,
0x00,
0xFA1B,
0x00,
0x55F0,
0x7530,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x03,
0x0A,
0x01800000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x30,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F0,
0x0226,
0x00,
0x00,
0x00,
0x00,
0xFA1B,
0x00,
0x55F0,
0x7530,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x03,
0x0A,
0x00600000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x2E,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F0,
0x0226,
0x00,
0x00,
0x00,
0x00,
0xFA1B,
0x00,
0x55F0,
0x7530,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x03,
0x0A,
0x001C0000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x2C,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F0,
0x0226,
0x00,
0x00,
0x00,
0x00,
0xFA1B,
0x00,
0x55F0,
0x7530,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x03,
0x0D,
0x01800000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x16,
0x199A,
0x00,
0x2B00,
0x00,
0x42,
0x2666,
0x01D4,
0x029D,
0x00,
0x00,
0x00,
0x00,
0xF78D,
0x00,
0x6D60,
0x8CA0,
0x00,
0x9C40,
0x1E,
0x60,
0x00028C58
},
Package (0x1D)
{
0x03,
0x0D,
0x00600000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x14,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F0,
0x0226,
0x00,
0x00,
0x00,
0x00,
0xFA1B,
0x00,
0x4650,
0x7530,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x03,
0x0D,
0x001C0000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x1E,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x020C,
0x02DD,
0x00,
0x00,
0x00,
0x00,
0xF381,
0x00,
0x3E80,
0x3E80,
0x00,
0x3E80,
0x0A,
0x46,
0x00028C58
},
Package (0x1D)
{
0x03,
0x0D,
0x01810000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x18,
0x199A,
0x00,
0x2D00,
0x00,
0x42,
0x2666,
0x01D4,
0x029D,
0x00,
0x00,
0x00,
0x00,
0xF78D,
0x00,
0x7918,
0xA028,
0x00,
0xC738,
0x1E,
0x60,
0x00028C58
},
Package (0x1D)
{
0x03,
0x0D,
0x00610000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x16,
0x199A,
0x00,
0x2B00,
0x00,
0x42,
0x2666,
0x01D4,
0x029D,
0x00,
0x00,
0x00,
0x00,
0xF78D,
0x00,
0x6D60,
0x8CA0,
0x00,
0x9C40,
0x1E,
0x60,
0x00028C58
},
Package (0x1D)
{
0x03,
0x0D,
0x00190000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x14,
0x199A,
0x00,
0x2800,
0x00,
0x42,
0x2666,
0x01F0,
0x0226,
0x00,
0x00,
0x00,
0x00,
0xFA1B,
0x00,
0x4650,
0x7530,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x03,
0x0D,
0x00050000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x1E,
0x199A,
0x00,
0x2700,
0x00,
0x42,
0x2666,
0x020C,
0x02DD,
0x00,
0x00,
0x00,
0x00,
0xF381,
0x00,
0x3E80,
0x3E80,
0x00,
0x3E80,
0x0A,
0x46,
0x00028C58
},
Package (0x1D)
{
0x03,
0x07,
0x00190000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x14,
0x199A,
0x00,
0x2980,
0x00,
0x42,
0x2666,
0x01F0,
0x0226,
0x00,
0x00,
0x00,
0x00,
0xFA1B,
0x00,
0x4650,
0x61A8,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
},
Package (0x1D)
{
0x03,
0x07,
0x00600000,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x14,
0x199A,
0x00,
0x2980,
0x00,
0x42,
0x2666,
0x01F0,
0x0226,
0x00,
0x00,
0x00,
0x00,
0xFA1B,
0x00,
0x4650,
0x61A8,
0x00,
0x7D00,
0x0A,
0x56,
0x00028C58
}
})
Name (PSDT, 0x00)
Method (SCPF, 1, Serialized)
{
CICF = Arg0
Local0 = 0x00
Local1 = SizeOf (STTI)
Local2 = SizeOf (STTS)
Name (CPSC, 0x00)
Name (CMMC, 0x00)
Name (CCQL, 0x00)
Name (CTMS, 0x00)
Name (GPUC, 0xFFFFFFFF)
Name (GPUB, 0x00)
Name (CADM, 0x00)
Name (TASR, 0x00)
Name (SDSR, 0x00)
Name (TMID, 0xFFFFFFFF)
Name (TICF, 0xFFFFFFFF)
Name (TICC, 0xFFFFFFFF)
Name (TCFM, 0xFFFFFFFF)
Name (TGCD, 0xFFFFFFFF)
Name (TGOF, 0xFFFFFFFF)
CPSC = (One << (SPSC + 0x10))
CADM = (One << (SADM + 0x18))
CMMC = (One << (SMMC + 0x07))
If ((VCQL == 0x01))
{
CCQL = 0x08
}
If ((VTMS == 0x01))
{
CTMS = 0x00010000
}
While ((Local0 < Local2))
{
Local3 = DerefOf (STTS [Local0])
TMID = DerefOf (Local3 [0x00])
TICF = DerefOf (Local3 [0x01])
TICC = DerefOf (Local3 [0x02])
TCFM = DerefOf (Local3 [0x03])
TGCD = DerefOf (Local3 [0x04])
TGOF = DerefOf (Local3 [0x05])
TASR = DerefOf (Local3 [0x06])
If (((TMID != 0xFFFFFFFF) && (MBID != TMID)))
{
Local0++
Continue
}
If (((TICF != 0xFFFFFFFF) && (Arg0 != TICF)))
{
Local0++
Continue
}
If ((TICC != 0xFFFFFFFF))
{
If (((TICC & 0x00020000) || ((TICC & 0x00040000) || (
(TICC & 0x00080000) || ((TICC & 0x00100000) || ((TICC & 0x00200000
) || ((TICC & 0x00400000) || ((TICC & 0x00800000) || (TICC &
0x01000000)))))))))
{
If (((TICC & CPSC) == 0x00))
{
Local0++
Continue
}
}
If (((TICC & 0x80) || ((TICC & 0x0100) || (
(TICC & 0x0200) || (TICC & 0x0400)))))
{
If (((TICC & CMMC) == 0x00))
{
Local0++
Continue
}
}
If ((TICC & 0x08))
{
If (((TICC & CCQL) == 0x00))
{
Local0++
Continue
}
}
If ((TICC & 0x00010000))
{
If (((TICC & CTMS) == 0x00))
{
Local0++
Continue
}
}
If (((TICC & 0x02000000) || ((TICC & 0x04000000) || (
(TICC & 0x08000000) || ((TICC & 0x10000000) || ((TICC & 0x20000000
) || ((TICC & 0x40000000) || (TICC & 0x80000000))))))))
{
If (((TICC & CADM) == 0x00))
{
Local0++
Continue
}
}
}
If (((TCFM != 0xFFFFFFFF) && (R357 != TCFM)))
{
Local0++
Continue
}
If ((TGOF != 0xFFFFFFFF))
{
If ((RFIO (0x54) == 0x01)) {}
Else
{
Local0++
Continue
}
}
If ((TASR != 0xFFFFFFFF))
{
Local4 = 0x32
If ((TASC == 0x01))
{
Local4 = TAST /* \_SB_.PCI0.LPC0.EC0_.TAST */
}
If (((TMP3 < Local4) & (TASR & 0x2000)))
{
Local0++
Continue
}
}
Local1 = DerefOf (Local3 [0x07])
If ((PSDT == 0x00))
{
FLPF (Local1)
SSTT (Local3)
}
Local0++
}
DEBN ()
}
Method (SSTT, 1, NotSerialized)
{
Local0 = 0x00
Local1 = SizeOf (STTI)
Local2 = SizeOf (Arg0)
Name (XX11, Buffer (0x07) {})
CreateWordField (XX11, 0x00, SSZE)
CreateByteField (XX11, 0x02, SMUF)
CreateDWordField (XX11, 0x03, SMUD)
SSZE = 0x07
Local0 = 0x00
While ((Local0 < SizeOf (STTI)))
{
Local3 = (Local0 + 0x08)
SMUF = DerefOf (STTI [Local0])
SMUD = DerefOf (Arg0 [Local3])
ALIB (0x0C, XX11)
Local0++
}
}
Method (DEBN, 0, NotSerialized)
{
OperationRegion (VARM, SystemMemory, 0xFED81500, 0x04)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VARR, 32
}
Local0 = VARR /* \_SB_.PCI0.LPC0.EC0_.HKEY.DEBN.VARR */
If (((0xFF & Local0) == 0x00))
{
VARR = (0x5F | Local0)
}
}
Name (MSCB, 0x00)
Name (ISMP, 0x00)
Method (DYTC, 1, Serialized)
{
Local0 = Arg0
Local1 = 0x00
Switch (ToInteger ((Local0 & 0x01FF)))
{
Case (0x00)
{
Local1 = 0x0100
Local1 |= 0x80000000
Local1 |= 0x00
Local1 |= 0x01
}
Case (0x01)
{
Local2 = ((Local0 >> 0x0C) & 0x0F)
Local3 = ((Local0 >> 0x10) & 0x0F)
Local4 = ((Local0 >> 0x14) & 0x01)
If ((ISMP == 0x01))
{
Local1 = 0x06
Return (Local1)
}
If ((((FCAP >> Local2) & 0x01) == 0x00))
{
Local1 = 0x02
Return (Local1)
}
Switch (ToInteger (Local2))
{
Case (0x01)
{
If ((Local3 != 0x0F))
{
Local1 = 0x0A
Return (Local1)
}
If ((Local4 == 0x00))
{
VCQL = 0x00
}
Else
{
VCQL = 0x01
}
}
Case (0x04)
{
If ((Local3 != 0x0F))
{
Local1 = 0x0A
Return (Local1)
}
If ((Local4 == 0x00))
{
VSTP = 0x00
}
Else
{
VSTP = 0x01
}
}
Case (0x07)
{
If (((Local3 <= 0x07) && (Local3 >= 0x01)))
{
If ((Local4 != 0x01))
{
Local1 = 0x0A
Return (Local1)
}
}
ElseIf ((Local3 == 0x0F))
{
If ((Local4 != 0x00))
{
Local1 = 0x0A
Return (Local1)
}
}
Else
{
Local1 = 0x0A
Return (Local1)
}
If ((Local4 == 0x00))
{
VADM = 0x00
SADM = 0x00
Name (XX11, Buffer (0x07) {})
CreateWordField (XX11, 0x00, SSZE)
CreateByteField (XX11, 0x02, SMUF)
CreateDWordField (XX11, 0x03, SMUD)
SSZE = 0x07
SMUF = 0x32
SMUD = 0x00028C58
ALIB (0x0C, XX11)
}
Else
{
VADM = 0x01
SADM = Local3
}
}
Case (0x09)
{
If ((Local3 != 0x0F))
{
Local1 = 0x0A
Return (Local1)
}
If ((Local4 == 0x00))
{
VTMS = 0x00
}
Else
{
VTMS = 0x01
}
}
Case (0x0A)
{
If ((Local3 != 0x0F))
{
Local1 = 0x0A
Return (Local1)
}
If ((Local4 == 0x00))
{
VDLS = 0x00
}
Else
{
VDLS = 0x01
}
}
Case (0x0D)
{
If (((Local3 <= 0x08) && (Local3 >= 0x01)))
{
If ((Local4 != 0x01))
{
Local1 = 0x0A
Return (Local1)
}
}
ElseIf ((Local3 == 0x0F))
{
If ((Local4 != 0x00))
{
Local1 = 0x0A
Return (Local1)
}
}
Else
{
Local1 = 0x0A
Return (Local1)
}
If ((Local4 == 0x00))
{
VPSC = 0x00
SPSC = 0x00
}
Else
{
VPSC = 0x01
SPSC = Local3
}
^^^^^FAN0.CRNF ()
}
Case (0x00)
{
If ((Local3 != 0x0F))
{
Local1 = 0x0A
Return (Local1)
}
}
Default
{
Local1 = 0x02
Return (Local1)
}
}
Local7 = 0x00
If ((VSTP == 0x01))
{
SCPF (0x04)
Local7 = 0x04
}
ElseIf ((VDLS == 0x01))
{
SCPF (0x0A)
Local7 = 0x0A
}
ElseIf ((VADM == 0x01))
{
SCPF (0x07)
Local7 = 0x07
}
ElseIf ((VCQL == 0x01))
{
SCPF (0x01)
Local7 = 0x01
}
ElseIf ((VPSC == 0x01))
{
SCPF (0x0D)
Local7 = 0x0D
}
Else
{
SCPF (0x00)
Local7 = 0x00
}
TIDX = Local7
Local5 = 0x01
Local5 |= (VCQL << 0x01)
Local5 |= (VTIO << 0x02)
Local5 |= (VMYH << 0x03)
Local5 |= (VSTP << 0x04)
Local5 |= (VLCM << 0x05)
Local5 |= (VDGM << 0x06)
Local5 |= (VADM << 0x07)
Local5 |= (VRPC << 0x08)
Local5 |= (VTMS << 0x09)
Local5 |= (VDLS << 0x0A)
Local5 |= (VMMC << 0x0B)
Local5 |= (VMSC << 0x0C)
Local5 |= (VPSC << 0x0D)
Local5 |= (VCSC << 0x0E)
Local5 |= (VAMT << 0x0F)
Local1 = (CICF << 0x08)
If ((CICF == 0x03))
{
CICM = SMYH /* \SMYH */
}
ElseIf ((CICF == 0x0B))
{
CICM = SMMC /* \SMMC */
}
ElseIf ((CICF == 0x0D))
{
CICM = SPSC /* \SPSC */
}
ElseIf ((CICF == 0x0F))
{
CICM = SAMT /* \SAMT */
}
ElseIf ((CICF == 0x07))
{
CICM = SADM /* \SADM */
}
ElseIf ((CICF == 0x08))
{
CICM = SRPC /* \SRPC */
}
Else
{
CICM = 0x0F
}
Local1 |= (CICM << 0x0C)
Local1 |= (Local5 << 0x10)
Local1 |= 0x01
If (DHKC)
{
MHKQ (0x6032)
}
Notify (\_TZ.THM0, 0x80) // Thermal Status Change
}
Case (0x07)
{
Local1 = ((Local0 >> 0x10) & 0xFF)
Local2 = ((Local0 >> 0x18) & 0xFF)
If ((CICF == 0x0F))
{
TTCI = Local1
If (((Local2 == 0x03) || (Local2 == 0x01)))
{
If (((TSTV == 0x00) || (TSTV == 0x01)))
{
MHKQ (0x8034)
TSTV = 0x02
}
}
ElseIf (((TSTV == 0x00) || (TSTV == 0x02)))
{
MHKQ (0x8035)
TSTV = 0x01
}
}
Else
{
Local1 = 0x00
}
Local1 = (Local1 << 0x10)
Local1 |= 0x01
}
Case (0x08)
{
Local1 = (VMMC << 0x08)
Local1 |= (SMMC << 0x0C)
Local1 |= 0x00
Local1 |= 0x01
}
Case (0x02)
{
Local2 = ((Local0 >> 0x0C) & 0x0F)
Local5 = 0x01
Local5 |= (VCQL << 0x01)
Local5 |= (VTIO << 0x02)
Local5 |= (VMYH << 0x03)
Local5 |= (VSTP << 0x04)
Local5 |= (VLCM << 0x05)
Local5 |= (VDGM << 0x06)
Local5 |= (VADM << 0x07)
Local5 |= (VRPC << 0x08)
Local5 |= (VTMS << 0x09)
Local5 |= (VDLS << 0x0A)
Local5 |= (VMMC << 0x0B)
Local5 |= (VMSC << 0x0C)
Local5 |= (VPSC << 0x0D)
Local5 |= (VCSC << 0x0E)
Local5 |= (VAMT << 0x0F)
Local1 = (CICF << 0x08)
If (((CICF == 0x0B) || (Local2 == 0x0B)))
{
CICM = SMMC /* \SMMC */
}
ElseIf (((CICF == 0x08) || (Local2 == 0x08)))
{
CICM = SRPC /* \SRPC */
}
ElseIf (((CICF == 0x07) || (Local2 == 0x07)))
{
CICM = SADM /* \SADM */
}
ElseIf (((CICF == 0x0D) || (Local2 == 0x0D)))
{
CICM = SPSC /* \SPSC */
}
ElseIf (((CICF == 0x03) || (Local2 == 0x03)))
{
CICM = SMYH /* \SMYH */
}
ElseIf (((CICF == 0x0F) || (Local2 == 0x0F)))
{
CICM = SAMT /* \SAMT */
}
Else
{
CICM = 0x0F
}
Local1 |= (CICM << 0x0C)
Local1 |= (Local5 << 0x10)
Local1 |= 0x01
}
Case (0x09)
{
MSCB = 0x01
Local1 = 0x00
Local1 |= 0x01
}
Case (0x0A)
{
If (CondRefOf (\UTPM))
{
Local1 = (UTPM << 0x08)
}
Else
{
Local1 = 0x00
}
Local1 |= 0x01
}
Case (0x03)
{
Local1 = (FCAP << 0x10)
Local1 |= 0x01
}
Case (0x04)
{
Local1 = (MYHC << 0x10)
Local1 |= 0x01
}
Case (0x06)
{
Local2 = ((Local0 >> 0x09) & 0x0F)
If ((Local2 != 0x01))
{
Local1 = (MMCC << 0x10)
}
Else
{
Local1 = 0x00
}
Local1 |= 0x01
}
Case (0x05)
{
If (0xFFFFFFFFFFFFFFFF)
{
Local1 = 0x0500
Local1 |= 0x10E00000
}
Local1 |= 0x01
}
Case (0x0B)
{
Local1 = (FADM << 0x08)
Local1 |= 0x01
}
Case (0x0100)
{
Local1 = 0x10010000
Local1 |= 0x01
}
Case (0x01FF)
{
VCQL = 0x00
VTIO = 0x00
VMYH = 0x00
VSTP = 0x00
VLCM = 0x00
VDGM = 0x00
VADM = 0x00
VRPC = 0x00
VTMS = 0x00
VDLS = 0x00
VMMC = 0x00
VMSC = 0x00
VPSC = 0x00
VCSC = 0x00
VAMT = 0x00
SMYH = 0x00
SMMC = 0x00
SPSC = 0x00
SAMT = 0x00
SADM = 0x00
CICF = 0x00
SCPF (0x00)
CICM = 0x0F
Local5 = VSTD /* \VSTD */
Local5 |= (VCQL << 0x01)
Local5 |= (VTIO << 0x02)
Local5 |= (VMYH << 0x03)
Local5 |= (VSTP << 0x04)
Local5 |= (VLCM << 0x05)
Local5 |= (VDGM << 0x06)
Local5 |= (VADM << 0x07)
Local5 |= (VRPC << 0x08)
Local5 |= (VTMS << 0x09)
Local5 |= (VDLS << 0x0A)
Local5 |= (VMMC << 0x0B)
Local5 |= (VMSC << 0x0C)
Local5 |= (VPSC << 0x0D)
Local5 |= (VCSC << 0x0E)
Local5 |= (VAMT << 0x0F)
Local1 = (CICF << 0x08)
Local1 |= (CICM << 0x0C)
Local1 |= (Local5 << 0x10)
Local1 |= 0x01
}
Default
{
Local1 = 0x04
}
}
Return (Local1)
}
}
Scope (_SB.PCI0.LPC0.EC0)
{
Method (ATMC, 0, NotSerialized)
{
If ((WNTF && TATC))
{
If (HPAC)
{
Local3 = (HPAC ^ ATMX) /* \_SB_.PCI0.LPC0.EC0_.ATMX */
ATMX = 0x01
If ((TCTA == 0x00))
{
TCRT = TCR0 /* \TCR0 */
TPSV = TPS0 /* \TPS0 */
}
ElseIf ((TCTA == 0x01))
{
TCRT = TCR1 /* \TCR1 */
TPSV = TPS1 /* \TPS1 */
}
Else
{
}
}
Else
{
Local3 = (HPAC ^ ATMX) /* \_SB_.PCI0.LPC0.EC0_.ATMX */
ATMX = 0x00
If ((TCTD == 0x00))
{
TCRT = TCR0 /* \TCR0 */
TPSV = TPS0 /* \TPS0 */
}
ElseIf ((TCTD == 0x01))
{
TCRT = TCR1 /* \TCR1 */
TPSV = TPS1 /* \TPS1 */
}
Else
{
}
}
If (Local3)
{
If (^HKEY.DHKC)
{
^HKEY.MHKQ (0x6030)
}
}
}
}
}
Scope (_SB.PCI0.LPC0.EC0)
{
Device (ITSD)
{
Name (_HID, EisaId ("LEN0100")) // _HID: Hardware ID
_HID = 0x0001AE30
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
}
}
Scope (_TZ)
{
ThermalZone (THM0)
{
Method (_CRT, 0, Serialized) // _CRT: Critical Temperature
{
Return (TCRT) /* \TCRT */
}
Method (_HOT, 0, Serialized) // _HOT: Hot Temperature
{
Return ((TCRT - 0x01))
}
Method (_TMP, 0, Serialized) // _TMP: Temperature
{
If (H8DR)
{
Local0 = \_SB.PCI0.LPC0.EC0.TMP0
Local1 = \_SB.PCI0.LPC0.EC0.TSL1
Local2 = \_SB.PCI0.LPC0.EC0.TSL2
Local3 = \_SB.PCI0.LPC0.EC0.TSL3
}
Else
{
Local0 = RBEC (0x78)
Local1 = (RBEC (0x89) & 0x7F)
Local2 = (RBEC (0x8A) & 0x7F)
Local3 = (RBEC (0x8B) & 0x7F)
}
If ((Local0 == 0x80))
{
Local0 = 0x30
}
If (Local3)
{
If ((CICF == 0x04))
{
HOTL ()
Return ((TCRT - 0x01))
}
TSDL ()
Return (TCRT) /* \TCRT */
}
If (Local2)
{
If (!\_SB.PCI0.LPC0.EC0.HKEY.DHKC)
{
TSDL ()
Return (TCRT) /* \TCRT */
}
}
If (Local1)
{
If ((CICF == 0x0C))
{
HOTL ()
Return ((TCRT - 0x01))
}
}
Return (TC2K (Local0))
}
}
Method (TC2K, 1, Serialized)
{
Local0 = ((Arg0 * 0x0A) + 0x0AAC)
If ((Local0 <= 0x0AAC))
{
Local0 = 0x0C8C
}
ElseIf ((Local0 > 0x0FAC))
{
Local0 = 0x0C8C
}
Return (Local0)
}
}
Scope (_SB.PCI0.LPC0.EC0)
{
Method (_Q40, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Notify (\_TZ.THM0, 0x80) // Thermal Status Change
If (H8DR)
{
Local0 = TSL0 /* \_SB_.PCI0.LPC0.EC0_.TSL0 */
Local1 = TSL1 /* \_SB_.PCI0.LPC0.EC0_.TSL1 */
Local2 = TSL2 /* \_SB_.PCI0.LPC0.EC0_.TSL2 */
}
Else
{
Local0 = (RBEC (0x88) & 0x7F)
Local1 = (RBEC (0x89) & 0x7F)
Local2 = (RBEC (0x8A) & 0x7F)
}
If ((Local1 & 0x77))
{
If ((CICF != 0x0C))
{
^HKEY.DYTC (0x001F4001)
}
}
Else
{
^HKEY.DYTC (0x000F4001)
}
If ((Local0 & 0x76))
{
^HKEY.DYTC (0x001FE001)
}
Else
{
^HKEY.DYTC (0x000FE001)
}
If ((^HKEY.DHKC && Local2))
{
^HKEY.MHKQ (0x6022)
}
If (!VIGD)
{
VTHR ()
}
}
}
Scope (_SI)
{
Method (_SST, 1, NotSerialized) // _SST: System Status
{
If ((Arg0 == 0x00))
{
\_SB.PCI0.LPC0.EC0.LED (0x00, 0x00)
\_SB.PCI0.LPC0.EC0.LED (0x0A, 0x00)
\_SB.PCI0.LPC0.EC0.LED (0x07, 0x00)
}
If ((Arg0 == 0x01))
{
If ((SPS || WNTF))
{
\_SB.PCI0.LPC0.EC0.BEEP (0x05)
}
\_SB.PCI0.LPC0.EC0.LED (0x00, 0x80)
\_SB.PCI0.LPC0.EC0.LED (0x0A, 0x80)
\_SB.PCI0.LPC0.EC0.LED (0x07, 0x00)
}
If ((Arg0 == 0x02))
{
\_SB.PCI0.LPC0.EC0.LED (0x00, 0x80)
\_SB.PCI0.LPC0.EC0.LED (0x0A, 0x80)
\_SB.PCI0.LPC0.EC0.LED (0x07, 0xC0)
}
If ((Arg0 == 0x03))
{
If ((SPS > 0x03))
{
\_SB.PCI0.LPC0.EC0.BEEP (0x07)
}
ElseIf ((SPS == 0x03))
{
\_SB.PCI0.LPC0.EC0.BEEP (0x03)
}
Else
{
\_SB.PCI0.LPC0.EC0.BEEP (0x04)
}
If ((SPS == 0x03)) {}
Else
{
\_SB.PCI0.LPC0.EC0.LED (0x00, 0x80)
\_SB.PCI0.LPC0.EC0.LED (0x0A, 0x80)
}
\_SB.PCI0.LPC0.EC0.LED (0x00, 0xC0)
Stall (0x64)
\_SB.PCI0.LPC0.EC0.LED (0x0A, 0xC0)
}
If ((Arg0 == 0x04))
{
\_SB.PCI0.LPC0.EC0.BEEP (0x03)
\_SB.PCI0.LPC0.EC0.LED (0x07, 0xC0)
\_SB.PCI0.LPC0.EC0.LED (0x00, 0xC0)
\_SB.PCI0.LPC0.EC0.LED (0x0A, 0xC0)
}
}
}
Scope (_SB.PCI0.GPP6)
{
Device (WLAN)
{
Name (_ADR, Zero) // _ADR: Address
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
Return (0x00)
}
OperationRegion (RPXX, PCI_Config, 0x00, 0x10)
Field (RPXX, AnyAcc, NoLock, Preserve)
{
VDID, 32
}
Method (CAPA, 0, Serialized)
{
Local0 = ToInteger (VDID)
If (((Local0 & 0xFFFF) == 0x14C3))
{
Local1 = 0x84
}
Else
{
Local1 = 0x44
}
Return (Local1)
}
OperationRegion (FLDR, PCI_Config, CAPA (), 0x06)
Field (FLDR, ByteAcc, NoLock, Preserve)
{
DCAP, 32,
DCTR, 16
}
Method (WIST, 0, Serialized)
{
If (CondRefOf (VDID))
{
Switch (ToInteger (VDID))
{
Case (0xB82210EC)
{
Return (0x01)
}
Case (0x061614C3)
{
Return (0x01)
}
Case (0x110317CB)
{
Return (0x01)
}
Default
{
Return (0x00)
}
}
}
Else
{
Return (0x00)
}
}
If (WIST ())
{
PowerResource (WRST, 0x05, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x01)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
}
Method (_RST, 0, NotSerialized) // _RST: Device Reset
{
If ((DCAP & 0x10000000))
{
Local0 = DCTR /* \_SB_.PCI0.GPP6.WLAN.DCTR */
Local0 |= 0x8000
DCTR = Local0
}
}
}
Method (_PRR, 0, NotSerialized) // _PRR: Power Resource for Reset
{
Return (Package (0x01)
{
WRST
})
}
Local0 = ToInteger (VDID)
If (((Local0 & 0xFFFFFFFF) == 0x061614C3))
{
Method (MTDS, 0, Serialized)
{
Name (SAR1, Package (0x1F)
{
0x4D,
0x54,
0x44,
0x53,
0x01,
0x00,
0x02,
0x01,
0x1E,
0x1A,
0x1A,
0x1A,
0x1A,
0x14,
0x14,
0x14,
0x14,
0x14,
0x14,
0x02,
0x1E,
0x1A,
0x1A,
0x1A,
0x1A,
0x14,
0x14,
0x14,
0x14,
0x14,
0x14
})
Return (SAR1) /* \_SB_.PCI0.GPP6.WLAN.MTDS.SAR1 */
}
Method (MTGS, 0, Serialized)
{
Name (GEO1, Package (0x1C)
{
0x4D,
0x54,
0x47,
0x53,
0x01,
0x00,
0x03,
0x01,
0x1E,
0x00,
0x1A,
0x00,
0x1A,
0x00,
0x02,
0x1E,
0x00,
0x1A,
0x00,
0x1A,
0x00,
0x03,
0x1E,
0x00,
0x1A,
0x00,
0x1A,
0x00
})
Return (GEO1) /* \_SB_.PCI0.GPP6.WLAN.MTGS.GEO1 */
}
Method (MTCL, 0, Serialized)
{
Name (CL6G, Package (0x0C)
{
0x4D,
0x54,
0x43,
0x4C,
0x01,
0x01,
0xD9,
0xCC,
0xC9,
0x18,
0x00,
0x00
})
Return (CL6G) /* \_SB_.PCI0.GPP6.WLAN.MTCL.CL6G */
}
}
If (((Local0 & 0xFFFFFFFF) == 0x110317CB))
{
Name (PWLS, 0x00)
Name (PWL0, Buffer (0x1E)
{
/* 0000 */ 0x01, 0x01, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, // ........
/* 0008 */ 0x3C, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, // <4444444
/* 0010 */ 0x34, 0x34, 0x34, 0x3C, 0x34, 0x34, 0x34, 0x34, // 444<4444
/* 0018 */ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34 // 444444
})
Name (PWL1, Buffer (0x1E)
{
/* 0000 */ 0x01, 0x01, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, // ........
/* 0008 */ 0x3C, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, // <4444444
/* 0010 */ 0x34, 0x34, 0x34, 0x3C, 0x34, 0x34, 0x34, 0x34, // 444<4444
/* 0018 */ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34 // 444444
})
Method (QPWL, 0, Serialized)
{
If ((PWLS == 0x00))
{
Return (PWL0) /* \_SB_.PCI0.GPP6.WLAN.PWL0 */
}
Else
{
Return (PWL1) /* \_SB_.PCI0.GPP6.WLAN.PWL1 */
}
}
Method (QRO, 0, Serialized)
{
Name (RO, Buffer (0x13)
{
/* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0010 */ 0x00, 0x00, 0x00 // ...
})
Return (RO) /* \_SB_.PCI0.GPP6.WLAN.QRO_.RO__ */
}
Method (QSGB, 0, Serialized)
{
Name (SGB, Buffer (0x20)
{
/* 0000 */ 0x4F, 0x05, 0x54, 0xD3, 0xC9, 0xA9, 0x68, 0xCE, // O.T...h.
/* 0008 */ 0x53, 0x53, 0x70, 0xA1, 0x30, 0xAA, 0x3B, 0x76, // SSp.0.;v
/* 0010 */ 0xFB, 0x5E, 0x29, 0xE7, 0x75, 0x64, 0xCE, 0xC7, // .^).ud..
/* 0018 */ 0xFA, 0xD0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF // ........
})
Return (SGB) /* \_SB_.PCI0.GPP6.WLAN.QSGB.SGB_ */
}
}
}
}
}
Mutex (CNMT, 0x00)
Scope (_SB.PCI0.GP17.XHC0.RHUB.PRT3.PRT1)
{
PowerResource (BTRT, 0x05, 0x0000)
{
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x01)
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
}
Method (_RST, 0, NotSerialized) // _RST: Device Reset
{
Local0 = Acquire (CNMT, 0x03E8)
If ((Local0 == Zero))
{
^^^^^^^LPC0.EC0.DCBD = 0x00
Sleep (0xC8)
^^^^^^^LPC0.EC0.DCBD = 0x01
Sleep (0xC8)
}
Release (CNMT)
}
}
Method (_PRR, 0, NotSerialized) // _PRR: Power Resource for Reset
{
Return (Package (0x01)
{
BTRT
})
}
}
Scope (_SB.PCI0.GPP2)
{
Name (_S0W, 0x04) // _S0W: S0 Device Wake State
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
P0WW
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
P0WW
})
Name (_PRR, Package (0x01) // _PRR: Power Resource for Reset
{
P0WW
})
Name (D0WW, 0x01)
PowerResource (P0WW, 0x00, 0x0000)
{
Method (_RST, 0, NotSerialized) // _RST: Device Reset
{
M460 ("LNV-ASL-\\_SB.PCI0.GPP2.P0WW._RST\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
WFIO (0x06, 0x00)
Sleep (0x1E)
WFIO (0x03, 0x01)
Sleep (0x0A)
WFIO (0x28, 0x00)
Sleep (0x01F4)
Notify (WWAN, 0x01) // Device Check
WFIO (0x28, 0x01)
Sleep (0x1E)
WFIO (0x03, 0x00)
Sleep (0x46)
WFIO (0x06, 0x01)
Notify (WWAN, 0x01) // Device Check
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
M460 ("LNV-ASL-\\_SB.PCI0.GPP2.P0WW._STA=%X\n", D0WW, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (D0WW) /* \_SB_.PCI0.GPP2.D0WW */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
If ((D0WW != 0x01))
{
M460 ("LNV-ASL-\\_SB.PCI0.GPP2.P0WW._ON\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
WWON ()
D0WW = 0x01
}
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
If ((D0WW != 0x00))
{
M460 ("LNV-ASL-\\_SB.PCI0.GPP2.P0WW._OFF\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
WOFF ()
D0WW = 0x00
}
}
}
Method (WWON, 0, NotSerialized)
{
Local0 = RPST ()
If ((Local0 == 0x01))
{
WFIO (0x06, 0x01)
Sleep (0x20)
ALIB (0x13, 0x0B)
Sleep (0x20)
Local1 = 0x00
Local2 = 0x2775
While ((((Local1 & 0x28) != 0x20) && (Local2 > 0x00)))
{
Local1 = M017 (0x00, 0x01, 0x03, 0x6B, 0x00, 0x08)
Local2 = (Local2 - 0x01)
Stall (0x63)
}
Sleep (0x0100)
}
}
Method (WOFF, 0, NotSerialized)
{
Local0 = RPST ()
If ((Local0 == 0x00))
{
M402 (0x00, 0x01, 0x03)
Local2 = M017 (0x00, 0x01, 0x03, 0x70, 0x00, 0x10)
M018 (0x00, 0x01, 0x03, 0x70, 0x00, 0x10, (Local2 & 0xEFFF))
ALIB (0x12, 0x0B)
M018 (0x00, 0x01, 0x03, 0x70, 0x00, 0x10, Local2)
Sleep (0x0A)
WFIO (0x06, 0x00)
Sleep (0x1E)
}
}
Method (RPST, 0, Serialized)
{
Local0 = RFIO (0x06)
If ((Local0 == 0x01))
{
Return (0x00)
}
Else
{
Return (0x01)
}
}
Device (WWAN)
{
Name (_ADR, Zero) // _ADR: Address
Name (WW5G, 0x00)
Name (WWQC, 0x00)
Name (WWFC, 0x00)
OperationRegion (CWAR, PCI_Config, 0x00, 0x30)
Field (CWAR, WordAcc, NoLock, Preserve)
{
VDID, 32,
Offset (0x2C),
SVID, 16
}
Method (DOSV, 0, NotSerialized)
{
Local0 = 0x00
While (((SVID != 0x1CF8) && (Local0 < 0x03E8)))
{
Local0++
Sleep (0x01)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
If (CondRefOf (VDID))
{
If ((VDID == 0x10011EAC))
{
WWQC = 0x01
}
If ((VDID == 0x10021EAC))
{
WWQC = 0x01
}
If ((VDID == 0xE0AB105B))
{
WW5G = 0x01
WWFC = 0x01
}
If ((VDID == 0x4D7514C3))
{
WW5G = 0x01
}
}
^^^LPC0.EC0.DPRS ()
}
Method (ISQC, 0, NotSerialized)
{
Return (WWQC) /* \_SB_.PCI0.GPP2.WWAN.WWQC */
}
Method (ISFC, 0, NotSerialized)
{
Return (WWFC) /* \_SB_.PCI0.GPP2.WWAN.WWFC */
}
Method (IS5G, 0, NotSerialized)
{
Return (WW5G) /* \_SB_.PCI0.GPP2.WWAN.WW5G */
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
}
Method (_RST, 0, NotSerialized) // _RST: Device Reset
{
M460 ("LNV-ASL-\\_SB.PCI0.GPP2.WWAN._RST\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
WFIO (0x03, 0x01)
Sleep (0xC8)
Notify (WWAN, 0x01) // Device Check
WFIO (0x03, 0x00)
Sleep (0x0190)
Notify (WWAN, 0x01) // Device Check
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
{
If ((Arg2 == Zero))
{
Return (Buffer (One)
{
0x09 // .
})
}
If ((Arg2 == 0x01)) {}
If ((Arg2 == 0x02)) {}
If ((Arg2 == 0x03))
{
Return (0x03)
}
}
Return (Buffer (One)
{
0x00 // .
})
}
PowerResource (MRST, 0x05, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
Return (0x01)
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
}
Method (_RST, 0, Serialized) // _RST: Device Reset
{
WFIO (0x06, 0x00)
Sleep (0x14)
WFIO (0x03, 0x01)
Sleep (0x0A)
WFIO (0x28, 0x00)
Sleep (0x01F4)
Notify (WWAN, 0x01) // Device Check
WFIO (0x28, 0x01)
Sleep (0x14)
WFIO (0x03, 0x00)
Sleep (0x50)
WFIO (0x06, 0x01)
Notify (WWAN, 0x01) // Device Check
DOSV ()
}
}
Method (_PRR, 0, NotSerialized) // _PRR: Power Resource for Reset
{
Return (Package (0x01)
{
MRST
})
}
}
}
Scope (_SB.PCI0.GP17.XHC0.RHUB.PRT4)
{
PowerResource (WWPR, 0x00, 0x0000)
{
Name (_STA, 0x01) // _STA: Status
Method (_ON, 0, Serialized) // _ON_: Power On
{
_STA = 0x01
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
_STA = 0x00
}
}
Name (_S0W, 0x04) // _S0W: S0 Device Wake State
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
WWPR
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
WWPR
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
WWPR
})
}
Scope (\)
{
Name (XUPC, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
Name (XPLD, Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, // ........
/* 0010 */ 0x00, 0x00, 0x00, 0x00 // ....
})
Name (UPCL, Package (0x04)
{
0xFF,
0x09,
0x00,
0x00
})
Name (PLDL, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0x00, // ........
/* 0008 */ 0x51, 0x04, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00 // Q.......
})
Name (PLD8, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0x00, // ........
/* 0008 */ 0x51, 0x04, 0x00, 0x04, 0x03, 0x00, 0x00, 0x00 // Q.......
})
Name (UPCR, Package (0x04)
{
0xFF,
0x09,
0x00,
0x00
})
Name (PLDR, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0x00, // ........
/* 0008 */ 0x59, 0x04, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00 // Y.......
})
Name (UPLA, Package (0x04)
{
0xFF,
0x00,
0x00,
0x00
})
Name (PLLA, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x51, 0x11, 0x80, 0x01, 0x03, 0x00, 0x00, 0x00 // Q.......
})
Name (UPRA, Package (0x04)
{
0xFF,
0x00,
0x00,
0x00
})
Name (PLRA, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x59, 0x12, 0x00, 0x02, 0x03, 0x00, 0x00, 0x00 // Y.......
})
Name (UPCI, Package (0x04)
{
0x00,
0xFF,
0x00,
0x00
})
Name (PLDI, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0.......
})
Name (PLDC, Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // $.......
/* 0010 */ 0xDD, 0x00, 0x95, 0x00 // ....
})
}
Scope (_SB)
{
Device (FAN0)
{
Name (_HID, EisaId ("PNP0C0B") /* Fan (Thermal Solution) */) // _HID: Hardware ID
Name (_UID, 0x00) // _UID: Unique ID
Name (_STR, Unicode ("CPU fan")) // _STR: Description String
Name (LRPM, 0x00)
Name (URPM, 0x2710)
Name (GRAN, 0x64)
Name (CRPM, 0x00)
Name (TFST, Package (0x03)
{
0x00,
0x01,
0xFFFFFFFF
})
Method (SRPM, 1, Serialized)
{
CRPM = (Arg0 * GRAN) /* \_SB_.FAN0.GRAN */
}
Method (GRPM, 0, Serialized)
{
Local0 = 0x00
If (((SPSC >= 0x05) && (SPSC <= 0x06)))
{
Local0 = CRPM /* \_SB_.FAN0.CRPM */
}
Return (Local0)
}
Method (_FST, 0, NotSerialized) // _FST: Fan Status
{
TFST [0x02] = GRPM ()
Return (TFST) /* \_SB_.FAN0.TFST */
}
Method (CRNF, 0, Serialized)
{
Local0 = GRPM ()
If (((Local0 > URPM) || (Local0 < LRPM)))
{
Notify (FAN0, 0x80) // Status Change
}
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("a7611840-99fe-41ae-a488-35c75926c8eb") /* Unknown UUID */))
{
Switch (ToInteger (Arg2))
{
Case (0x00)
{
Return (Buffer (0x01)
{
0x0F // .
})
}
Case (0x01)
{
Return (GRAN) /* \_SB_.FAN0.GRAN */
}
Case (0x02)
{
LRPM = DerefOf (Arg3 [0x00])
URPM = DerefOf (Arg3 [0x01])
Return (0x00)
}
Case (0x03)
{
Return (Package (0x04)
{
0x03E8,
0x07D0,
((DPNT - 0x01) * GRAN), 0x2710
})
}
Default
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
Else
{
Return (Buffer (One)
{
0x00 // .
})
}
}
}
}
}
[-- Attachment #3: ssdt1.dsl --]
[-- Type: text/x-dsl, Size: 988 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt1.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00000083 (131)
* Revision 0x02
* Checksum 0x17
* OEM ID "LENOVO"
* OEM Table ID "PID1Ssdt"
* OEM Revision 0x00000010 (16)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "PID1Ssdt", 0x00000010)
{
External (_SB_.PCI0.LPC0.EC0_, DeviceObj)
Scope (\_SB.PCI0.LPC0.EC0)
{
Device (LHKF)
{
Name (_HID, EisaId ("LEN0130")) // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
}
}
}
[-- Attachment #4: ssdt2.dsl --]
[-- Type: text/x-dsl, Size: 240948 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt2.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00008416 (33814)
* Revision 0x02
* Checksum 0x93
* OEM ID "LENOVO"
* OEM Table ID "AmdTable"
* OEM Revision 0x00000002 (2)
* Compiler ID "MSFT"
* Compiler Version 0x02000002 (33554434)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "AmdTable", 0x00000002)
{
Scope (\_SB)
{
Name (AGRB, 0xE0000000)
Name (ADBG, Buffer (0x0100) {})
Mutex (AM00, 0x00)
Name (ADAT, Buffer (0x0520)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0020 */ 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, // ........
/* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, // ........
/* 0038 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0048 */ 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, // ........
/* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, // ........
/* 0060 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0070 */ 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, // ........
/* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0080 */ 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, // ........
/* 0088 */ 0x00, 0x00, 0x01, 0x18, 0x1B, 0xFF, 0xFF, 0x00, // ........
/* 0090 */ 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0098 */ 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, // ........
/* 00A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00A8 */ 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, // ........
/* 00B0 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00C0 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x16, // ........
/* 00C8 */ 0x16, 0xFF, 0xFF, 0x03, 0x00, 0x02, 0x01, 0x00, // ........
/* 00D0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // ........
/* 00D8 */ 0x00, 0x00, 0x00, 0x17, 0x17, 0xFF, 0xFF, 0x04, // ........
/* 00E0 */ 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00E8 */ 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, // ........
/* 00F0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 00F8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0100 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0108 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0110 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0118 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0120 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0128 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0130 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0138 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0140 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0148 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0150 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0158 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0160 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0168 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0170 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0178 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0180 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0188 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0190 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0198 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 01A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 01A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 01B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 01B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 01C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 01C8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 01D0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 01D8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 01E0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 01E8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 01F0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 01F8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0200 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0208 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0210 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0218 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0220 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0228 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0230 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0238 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0240 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0248 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0250 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0258 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0260 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0268 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0270 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0278 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0280 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0288 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0290 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0298 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 02A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 02A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 02B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 02B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 02C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 02C8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 02D0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 02D8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 02E0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 02E8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 02F0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 02F8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0300 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0308 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0310 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0318 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0320 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0328 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0330 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0338 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0340 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0348 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0350 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0358 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0360 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0368 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0370 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0378 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0380 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0388 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0390 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0398 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 03A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 03A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 03B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 03B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 03C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 03C8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 03D0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 03D8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 03E0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 03E8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 03F0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 03F8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0400 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0408 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0410 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0418 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0420 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0428 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0430 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0438 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0440 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0448 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0450 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0458 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0460 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0468 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0470 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0478 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0480 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0488 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0490 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0498 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 04A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 04A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 04B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 04B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 04C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 04C8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 04D0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 04D8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 04E0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 04E8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 04F0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 04F8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0500 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0508 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0510 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0518 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
OperationRegion (A001, SystemIO, 0x80, 0x04)
Field (A001, DWordAcc, NoLock, Preserve)
{
A002, 32
}
OperationRegion (A003, SystemIO, 0x80, 0x02)
Field (A003, WordAcc, NoLock, Preserve)
{
A004, 16
}
OperationRegion (A005, SystemIO, 0x80, 0x01)
Field (A005, ByteAcc, NoLock, Preserve)
{
A006, 8
}
Method (A007, 1, NotSerialized)
{
A002 = (Arg0 | 0xB0000000)
}
Method (ALIB, 2, NotSerialized)
{
If ((Arg0 == 0x00))
{
A007 (0xAA80)
CreateWordField (Arg1, 0x00, A020)
CreateWordField (Arg1, 0x02, A021)
CreateDWordField (Arg1, 0x04, A022)
Local0 = Buffer (0x0100) {}
CreateWordField (Local0, 0x00, A023)
A023 = A020 /* \_SB_.ALIB.A020 */
CreateWordField (Local0, 0x02, A024)
A024 = A021 /* \_SB_.ALIB.A021 */
CreateDWordField (Local0, 0x04, A025)
A025 = A022 /* \_SB_.ALIB.A022 */
A025 &= ~0x0F
If ((DerefOf (\_SB.ADAT [0x00]) > 0x00))
{
Local1 = 0x0F
}
Else
{
Local1 = 0x01
}
A025 |= Local1
A007 (0xAA81)
Return (Local0)
}
If ((Arg0 == 0x01))
{
A007 (0xAA82)
Local0 = DerefOf (Arg1 [0x02])
Local1 = A026 (Local0)
A007 (0xAA83)
Return (Local1)
}
If ((Arg0 == 0x02))
{
A007 (0xAA84)
Local0 = Buffer (0x0100)
{
0x03, 0x00, 0x00 // ...
}
A007 (0xAA85)
Return (Local0)
}
If ((Arg0 == 0x03))
{
A007 (0xAA86)
Local0 = Buffer (0x0100)
{
0x03, 0x00, 0x00 // ...
}
A007 (0xAA87)
Return (Local0)
}
If ((Arg0 == 0x06))
{
A007 (0xAA88)
Local0 = DerefOf (Arg1 [0x04])
Local1 = DerefOf (Arg1 [0x02])
Local2 = A029 (Local0, Local1)
A007 (0xAA89)
Return (Local2)
}
If ((Arg0 == 0x0A))
{
A007 (0xAA8A)
Local0 = DerefOf (Arg1 [0x02])
Local1 = A030 (Local0)
A007 (0xAA8B)
Return (Local1)
}
If ((Arg0 == 0x0B))
{
A007 (0xAA8C)
Local0 = DerefOf (Arg1 [0x02])
Local1 = DerefOf (Arg1 [0x03])
Local2 = DerefOf (Arg1 [0x04])
Local2 |= (DerefOf (Arg1 [0x05]) << 0x08)
Local2 |= (DerefOf (Arg1 [0x06]) << 0x10)
Local2 |= (DerefOf (Arg1 [0x07]) << 0x18)
Local3 = DerefOf (Arg1 [0x08])
Local3 |= (DerefOf (Arg1 [0x09]) << 0x08)
Local3 |= (DerefOf (Arg1 [0x0A]) << 0x10)
Local3 |= (DerefOf (Arg1 [0x0B]) << 0x18)
Local4 = DerefOf (Arg1 [0x0C])
Local4 |= (DerefOf (Arg1 [0x0D]) << 0x08)
Local4 |= (DerefOf (Arg1 [0x0E]) << 0x10)
Local4 |= (DerefOf (Arg1 [0x0F]) << 0x18)
Local5 = A031 (Local0, Local1, Local2, Local3, Local4)
A007 (0xAA8D)
Return (Local5)
}
If ((Arg0 == 0x0C))
{
A007 (0xAA8E)
Local0 = A032 (Arg1)
A007 (0xAA8F)
Return (Local0)
}
If ((Arg0 == 0x10))
{
A007 (0xAA90)
Local7 = Buffer (0x18) {}
CreateDWordField (Local7, 0x00, A033)
CreateDWordField (Local7, 0x04, A034)
CreateDWordField (Local7, 0x08, A035)
CreateDWordField (Local7, 0x0C, A036)
CreateDWordField (Local7, 0x10, A037)
CreateDWordField (Local7, 0x14, A038)
A033 = 0x00
A034 = 0x00
A035 = 0x00
A036 = 0x00
A037 = 0x00
A038 = 0x00
A018 (0x28, Local7)
A007 (0xAA91)
}
If ((Arg0 == 0x11))
{
A007 (0xAA92)
Local6 = Buffer (0x18) {}
CreateDWordField (Local6, 0x00, A012)
CreateDWordField (Local6, 0x04, A013)
CreateDWordField (Local6, 0x08, A014)
CreateDWordField (Local6, 0x0C, A015)
CreateDWordField (Local6, 0x10, A016)
CreateDWordField (Local6, 0x14, A017)
A012 = 0x00
A013 = 0x00
A014 = 0x00
A015 = 0x00
A016 = 0x00
A017 = 0x00
A018 (0x27, Local6)
A007 (0xAA93)
}
If ((Arg0 == 0x12))
{
A007 (0xAA94)
Local6 = Buffer (0x18) {}
CreateDWordField (Local6, 0x00, A039)
CreateDWordField (Local6, 0x04, A040)
CreateDWordField (Local6, 0x08, A041)
CreateDWordField (Local6, 0x0C, A042)
CreateDWordField (Local6, 0x10, A043)
CreateDWordField (Local6, 0x14, A044)
A039 = 0x00
A040 = 0x00
A041 = 0x00
A042 = 0x00
A043 = 0x00
A044 = 0x00
Local5 = A045 (Arg1)
If ((0xFF != Local5))
{
A039 = Local5
A040 = 0x02
A046 (0x24, Local6)
}
A007 (0xAA95)
}
If ((Arg0 == 0x13))
{
A007 (0xAA96)
Local6 = Buffer (0x18) {}
CreateDWordField (Local6, 0x00, A047)
CreateDWordField (Local6, 0x04, A048)
CreateDWordField (Local6, 0x08, A049)
CreateDWordField (Local6, 0x0C, A050)
CreateDWordField (Local6, 0x10, A051)
CreateDWordField (Local6, 0x14, A052)
A047 = 0x00
A048 = 0x00
A049 = 0x00
A050 = 0x00
A051 = 0x00
A052 = 0x00
Local5 = A045 (Arg1)
If ((0xFF != Local5))
{
A047 = Local5
A048 = 0x01
A046 (0x24, Local6)
}
A007 (0xAA97)
}
If ((Arg0 == 0x14))
{
A007 (0xAA9C)
Local6 = Buffer (0x18) {}
CreateDWordField (Local6, 0x00, A053)
CreateDWordField (Local6, 0x04, A054)
CreateDWordField (Local6, 0x08, A055)
CreateDWordField (Local6, 0x0C, A056)
CreateDWordField (Local6, 0x10, A057)
CreateDWordField (Local6, 0x14, A058)
A053 = Arg1
A054 = 0x00
A055 = 0x00
A056 = 0x00
A057 = 0x00
A058 = 0x00
A018 (0x61, Local6)
A007 (0xAA9D)
}
If ((Arg0 == 0x15))
{
A007 (0xAA9E)
Local6 = Buffer (0x18) {}
CreateDWordField (Local6, 0x00, A059)
CreateDWordField (Local6, 0x04, A060)
CreateDWordField (Local6, 0x08, A061)
CreateDWordField (Local6, 0x0C, A062)
CreateDWordField (Local6, 0x10, A063)
CreateDWordField (Local6, 0x14, A064)
A059 = Arg1
A060 = 0x00
A061 = 0x00
A062 = 0x00
A063 = 0x00
A064 = 0x00
A018 (0x65, Local6)
A007 (0xAA9F)
}
If ((Arg0 == 0xAA))
{
A007 (0xAA98)
Local6 = Buffer (0x18) {}
CreateDWordField (Local6, 0x00, A065)
CreateDWordField (Local6, 0x04, A066)
CreateDWordField (Local6, 0x08, A067)
CreateDWordField (Local6, 0x0C, A068)
CreateDWordField (Local6, 0x10, A069)
CreateDWordField (Local6, 0x14, A070)
A065 = 0x00
A066 = 0x00
A067 = 0x00
A068 = 0x00
A069 = 0x00
A070 = 0x00
A071 (Arg1)
A007 (0xAA99)
}
Return (0x00)
}
Method (A029, 2, NotSerialized)
{
Local0 = 0x00
While ((Local0 < 0x0B))
{
Local1 = A123 (Local0, Arg1)
If ((Local1 == 0x01))
{
Local2 = A124 (Local0, Arg0)
Break
}
Local0++
}
Local7 = Buffer (0x0A) {}
CreateWordField (Local7, 0x00, A023)
CreateByteField (Local7, 0x02, A073)
CreateByteField (Local7, 0x03, A125)
A023 = 0x04
A073 = 0x00
If ((Local2 == 0x00))
{
A125 = 0x00
}
Else
{
A125 = 0x01
}
Return (Local7)
}
Method (A123, 2, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (\_SB.AWR0.ABR0.A118 (Arg1))
}
If ((Arg0 == 0x01))
{
Return (\_SB.AWR0.ABR1.A118 (Arg1))
}
If ((Arg0 == 0x02))
{
Return (\_SB.AWR0.ABR2.A118 (Arg1))
}
If ((Arg0 == 0x03))
{
Return (\_SB.AWR0.ABR3.A118 (Arg1))
}
If ((Arg0 == 0x04))
{
Return (\_SB.AWR0.ABR4.A118 (Arg1))
}
If ((Arg0 == 0x05))
{
Return (\_SB.AWR0.ABR5.A118 (Arg1))
}
If ((Arg0 == 0x06))
{
Return (\_SB.AWR0.ABR6.A118 (Arg1))
}
}
Method (A124, 2, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (\_SB.AWR0.ABR0.A119 (Arg1))
}
If ((Arg0 == 0x01))
{
Return (\_SB.AWR0.ABR1.A119 (Arg1))
}
If ((Arg0 == 0x02))
{
Return (\_SB.AWR0.ABR2.A119 (Arg1))
}
If ((Arg0 == 0x03))
{
Return (\_SB.AWR0.ABR3.A119 (Arg1))
}
If ((Arg0 == 0x04))
{
Return (\_SB.AWR0.ABR4.A119 (Arg1))
}
If ((Arg0 == 0x05))
{
Return (\_SB.AWR0.ABR5.A119 (Arg1))
}
If ((Arg0 == 0x06))
{
Return (\_SB.AWR0.ABR6.A119 (Arg1))
}
}
Name (AD00, 0x00)
Name (DK00, 0x00)
Method (A026, 1, NotSerialized)
{
AD00 = Arg0
A011 ()
}
Method (A030, 1, NotSerialized)
{
DK00 = Arg0
}
Method (A031, 5, NotSerialized)
{
}
Name (AP01, 0x00)
Name (AP02, 0x00)
Name (AP03, 0x00)
Name (AP05, 0x00)
Name (AP0B, 0xFF)
Name (AP10, 0x00)
Method (A072, 1, NotSerialized)
{
Local7 = Buffer (0x0100) {}
CreateWordField (Local7, 0x00, A023)
A023 = 0x03
CreateByteField (Local7, 0x02, A073)
A073 = 0x01
If ((DerefOf (\_SB.ADAT [0x00]) == 0x01))
{
A073 = 0x02
Return (Local7)
}
If ((DerefOf (\_SB.ADAT [0x00]) == 0x00))
{
A073 = 0x01
Return (Local7)
}
A074 (Arg0)
If ((AP05 != 0x01))
{
Return (Local7)
}
A075 ()
A073 = 0x02
Return (Local7)
}
Method (A076, 0, NotSerialized)
{
If ((DerefOf (\_SB.ADAT [0x00]) <= 0x01))
{
Return (0x00)
}
If ((AP05 != 0x01))
{
Return (0x00)
}
A075 ()
}
Method (A077, 1, NotSerialized)
{
If ((Arg0 == 0x03))
{
AP01 = 0x00
}
}
Method (A078, 1, NotSerialized)
{
AP10 = 0x01
}
Method (A079, 1, NotSerialized)
{
AP05 = Arg0
If ((DerefOf (\_SB.ADAT [0x00]) <= 0x01))
{
Return (0x00)
}
Local1 = AP0B /* \_SB_.AP0B */
If ((AP05 == 0x00))
{
Local0 = 0x00
While ((Local0 < 0x0B))
{
A080 (Local0)
Local0++
}
AP0B = 0x00
}
A075 ()
AP0B = Local1
Local7 = Buffer (0x0100) {}
Local7 [0x00] = 0x03
Local7 [0x01] = 0x00
Local7 [0x02] = 0x00
Return (Local7)
}
Method (A081, 0, NotSerialized)
{
If ((AP0B != 0xFF))
{
Return (AP0B) /* \_SB_.AP0B */
}
Return (AD00) /* \_SB_.AD00 */
}
Method (A074, 1, NotSerialized)
{
CreateWordField (Arg0, 0x02, AP06)
CreateWordField (Arg0, 0x04, AP07)
CreateWordField (Arg0, 0x06, AP08)
CreateByteField (Arg0, 0x08, AP09)
CreateByteField (Arg0, 0x09, AP0A)
Local0 = 0x00
While ((Local0 < 0x0B))
{
If ((A082 (Local0, AP06) == 0x01))
{
If (((AP07 & AP08) == 0x01))
{
Local1 = A083 (Local0)
A084 (Local0, Local1)
}
Else
{
A084 (Local0, AP0A)
}
Break
}
Local0++
}
}
Method (A085, 0, NotSerialized)
{
AP02 = 0x01
Local0 = 0x00
While ((Local0 < 0x0B))
{
Local1 = A086 (Local0)
If ((Local1 > AP02))
{
AP02 = Local1
}
Local0++
}
}
Method (A087, 0, NotSerialized)
{
AP03 = 0x00
Local0 = 0x00
While ((Local0 < 0x0B))
{
Local1 = A088 (Local0)
If ((Local1 > AP03))
{
AP03 = Local1
}
Local0++
}
}
Method (A075, 0, NotSerialized)
{
A087 ()
A085 ()
If ((AP02 != AP01))
{
A019 (AP02, AP01)
}
If ((AP02 > AP01))
{
AP01 = AP02 /* \_SB_.AP02 */
}
Local0 = 0x00
While ((Local0 < 0x0B))
{
Local1 = A086 (Local0)
Local2 = A089 (Local0)
If ((Local1 != Local2))
{
A090 (Local0, Local1)
}
ElseIf ((AP10 == 0x01))
{
A090 (Local0, Local1)
}
Local0++
}
If ((AP02 < AP01))
{
AP01 = AP02 /* \_SB_.AP02 */
}
ElseIf ((AP10 == 0x01))
{
AP01 = AP02 /* \_SB_.AP02 */
}
AP10 = 0x00
}
Method (A090, 2, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (\_SB.AWR0.ABR0.A091 (Arg1))
}
If ((Arg0 == 0x01))
{
Return (\_SB.AWR0.ABR1.A091 (Arg1))
}
If ((Arg0 == 0x02))
{
Return (\_SB.AWR0.ABR2.A091 (Arg1))
}
If ((Arg0 == 0x03))
{
Return (\_SB.AWR0.ABR3.A091 (Arg1))
}
If ((Arg0 == 0x04))
{
Return (\_SB.AWR0.ABR4.A091 (Arg1))
}
If ((Arg0 == 0x05))
{
Return (\_SB.AWR0.ABR5.A091 (Arg1))
}
If ((Arg0 == 0x06))
{
Return (\_SB.AWR0.ABR6.A091 (Arg1))
}
If ((Arg0 == 0x07))
{
Return (\_SB.AWR0.ABR7.A091 (Arg1))
}
}
Method (A089, 1, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (\_SB.AWR0.ABR0.A092 ())
}
If ((Arg0 == 0x01))
{
Return (\_SB.AWR0.ABR1.A092 ())
}
If ((Arg0 == 0x02))
{
Return (\_SB.AWR0.ABR2.A092 ())
}
If ((Arg0 == 0x03))
{
Return (\_SB.AWR0.ABR3.A092 ())
}
If ((Arg0 == 0x04))
{
Return (\_SB.AWR0.ABR4.A092 ())
}
If ((Arg0 == 0x05))
{
Return (\_SB.AWR0.ABR5.A092 ())
}
If ((Arg0 == 0x06))
{
Return (\_SB.AWR0.ABR6.A092 ())
}
If ((Arg0 == 0x07))
{
Return (\_SB.AWR0.ABR7.A092 ())
}
}
Method (A086, 1, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (\_SB.AWR0.ABR0.A093 ())
}
If ((Arg0 == 0x01))
{
Return (\_SB.AWR0.ABR1.A093 ())
}
If ((Arg0 == 0x02))
{
Return (\_SB.AWR0.ABR2.A093 ())
}
If ((Arg0 == 0x03))
{
Return (\_SB.AWR0.ABR3.A093 ())
}
If ((Arg0 == 0x04))
{
Return (\_SB.AWR0.ABR4.A093 ())
}
If ((Arg0 == 0x05))
{
Return (\_SB.AWR0.ABR5.A093 ())
}
If ((Arg0 == 0x06))
{
Return (\_SB.AWR0.ABR6.A093 ())
}
If ((Arg0 == 0x07))
{
Return (\_SB.AWR0.ABR7.A093 ())
}
}
Method (A088, 1, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (\_SB.AWR0.ABR0.A094 ())
}
If ((Arg0 == 0x01))
{
Return (\_SB.AWR0.ABR1.A094 ())
}
If ((Arg0 == 0x02))
{
Return (\_SB.AWR0.ABR2.A094 ())
}
If ((Arg0 == 0x03))
{
Return (\_SB.AWR0.ABR3.A094 ())
}
If ((Arg0 == 0x04))
{
Return (\_SB.AWR0.ABR4.A094 ())
}
If ((Arg0 == 0x05))
{
Return (\_SB.AWR0.ABR5.A094 ())
}
If ((Arg0 == 0x06))
{
Return (\_SB.AWR0.ABR6.A094 ())
}
If ((Arg0 == 0x07))
{
Return (\_SB.AWR0.ABR7.A094 ())
}
}
Method (A083, 1, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (\_SB.AWR0.ABR0.A095 ())
}
If ((Arg0 == 0x01))
{
Return (\_SB.AWR0.ABR1.A095 ())
}
If ((Arg0 == 0x02))
{
Return (\_SB.AWR0.ABR2.A095 ())
}
If ((Arg0 == 0x03))
{
Return (\_SB.AWR0.ABR3.A095 ())
}
If ((Arg0 == 0x04))
{
Return (\_SB.AWR0.ABR4.A095 ())
}
If ((Arg0 == 0x05))
{
Return (\_SB.AWR0.ABR5.A095 ())
}
If ((Arg0 == 0x06))
{
Return (\_SB.AWR0.ABR6.A095 ())
}
If ((Arg0 == 0x07))
{
Return (\_SB.AWR0.ABR7.A095 ())
}
}
Method (A084, 2, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (\_SB.AWR0.ABR0.A096 (Arg1))
}
If ((Arg0 == 0x01))
{
Return (\_SB.AWR0.ABR1.A096 (Arg1))
}
If ((Arg0 == 0x02))
{
Return (\_SB.AWR0.ABR2.A096 (Arg1))
}
If ((Arg0 == 0x03))
{
Return (\_SB.AWR0.ABR3.A096 (Arg1))
}
If ((Arg0 == 0x04))
{
Return (\_SB.AWR0.ABR4.A096 (Arg1))
}
If ((Arg0 == 0x05))
{
Return (\_SB.AWR0.ABR5.A096 (Arg1))
}
If ((Arg0 == 0x06))
{
Return (\_SB.AWR0.ABR6.A096 (Arg1))
}
If ((Arg0 == 0x07))
{
Return (\_SB.AWR0.ABR7.A096 (Arg1))
}
}
Method (A082, 2, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (\_SB.AWR0.ABR0.A097 (Arg1))
}
If ((Arg0 == 0x01))
{
Return (\_SB.AWR0.ABR1.A097 (Arg1))
}
If ((Arg0 == 0x02))
{
Return (\_SB.AWR0.ABR2.A097 (Arg1))
}
If ((Arg0 == 0x03))
{
Return (\_SB.AWR0.ABR3.A097 (Arg1))
}
If ((Arg0 == 0x04))
{
Return (\_SB.AWR0.ABR4.A097 (Arg1))
}
If ((Arg0 == 0x05))
{
Return (\_SB.AWR0.ABR5.A097 (Arg1))
}
If ((Arg0 == 0x06))
{
Return (\_SB.AWR0.ABR6.A097 (Arg1))
}
If ((Arg0 == 0x07))
{
Return (\_SB.AWR0.ABR7.A097 (Arg1))
}
}
Method (A080, 1, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (\_SB.AWR0.ABR0.A098 ())
}
If ((Arg0 == 0x01))
{
Return (\_SB.AWR0.ABR1.A098 ())
}
If ((Arg0 == 0x02))
{
Return (\_SB.AWR0.ABR2.A098 ())
}
If ((Arg0 == 0x03))
{
Return (\_SB.AWR0.ABR3.A098 ())
}
If ((Arg0 == 0x04))
{
Return (\_SB.AWR0.ABR4.A098 ())
}
If ((Arg0 == 0x05))
{
Return (\_SB.AWR0.ABR5.A098 ())
}
If ((Arg0 == 0x06))
{
Return (\_SB.AWR0.ABR6.A098 ())
}
If ((Arg0 == 0x07))
{
Return (\_SB.AWR0.ABR7.A098 ())
}
}
OperationRegion (A168, SystemMemory, AGRB, 0x1000)
Field (A168, DWordAcc, Lock, Preserve)
{
Offset (0xA0),
A169, 32
}
BankField (A168, A169, 0x03B10528, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A153, 32
}
BankField (A168, A169, 0x03B10578, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A146, 32
}
BankField (A168, A169, 0x03B10998, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A147, 32
}
BankField (A168, A169, 0x03B1099C, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A148, 32
}
BankField (A168, A169, 0x03B109A0, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A149, 32
}
BankField (A168, A169, 0x03B109A4, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A150, 32
}
BankField (A168, A169, 0x03B109A8, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A151, 32
}
BankField (A168, A169, 0x03B109AC, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A152, 32
}
BankField (A168, A169, 0x13B00084, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A128, 32
}
BankField (A168, A169, 0x11140280, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A129, 32
}
BankField (A168, A169, 0x11141280, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A130, 32
}
BankField (A168, A169, 0x11142280, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A131, 32
}
BankField (A168, A169, 0x11143280, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A132, 32
}
BankField (A168, A169, 0x11144280, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A133, 32
}
BankField (A168, A169, 0x11240280, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A134, 32
}
BankField (A168, A169, 0x11241280, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A135, 32
}
BankField (A168, A169, 0x11242280, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A136, 32
}
BankField (A168, A169, 0x11243280, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A137, 32
}
BankField (A168, A169, 0x11244280, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A138, 32
}
BankField (A168, A169, 0x11245280, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A139, 32
}
BankField (A168, A169, 0x11140294, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A175, 32
}
BankField (A168, A169, 0x11141294, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A176, 32
}
BankField (A168, A169, 0x11142294, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A177, 32
}
BankField (A168, A169, 0x11143294, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A178, 32
}
BankField (A168, A169, 0x0C9109C8, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A160, 32
}
BankField (A168, A169, 0x0C9109CC, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A161, 32
}
BankField (A168, A169, 0x0C9109D0, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A162, 32
}
BankField (A168, A169, 0x0C9109D4, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A163, 32
}
BankField (A168, A169, 0x0C9109D8, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A164, 32
}
BankField (A168, A169, 0x0C9109DC, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A165, 32
}
BankField (A168, A169, 0x0C9109E0, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A166, 32
}
BankField (A168, A169, 0x0C910554, DWordAcc, Lock, Preserve)
{
Offset (0xA4),
A167, 32
}
Method (A126, 2, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (\_SB.AWR0.ABR0.A106 (Arg1))
}
If ((Arg0 == 0x01))
{
Return (\_SB.AWR0.ABR1.A106 (Arg1))
}
If ((Arg0 == 0x02))
{
Return (\_SB.AWR0.ABR2.A106 (Arg1))
}
If ((Arg0 == 0x03))
{
Return (\_SB.AWR0.ABR3.A106 (Arg1))
}
If ((Arg0 == 0x04))
{
Return (\_SB.AWR0.ABR4.A106 (Arg1))
}
If ((Arg0 == 0x05))
{
Return (\_SB.AWR0.ABR5.A106 (Arg1))
}
If ((Arg0 == 0x06))
{
Return (\_SB.AWR0.ABR6.A106 (Arg1))
}
If ((Arg0 == 0x07))
{
Return (\_SB.AWR0.ABR7.A106 (Arg1))
}
If ((Arg0 == 0x08))
{
Return (\_SB.AWR0.ABR8.A106 (Arg1))
}
If ((Arg0 == 0x09))
{
Return (\_SB.AWR0.ABR9.A106 (Arg1))
}
If ((Arg0 == 0x0A))
{
Return (\_SB.AWR0.ABRA.A106 (Arg1))
}
}
Method (A127, 2, NotSerialized)
{
Acquire (\_SB.AM00, 0xFFFF)
If ((Arg1 == 0x01))
{
If ((Arg0 == 0x00))
{
Local0 = 0x00190300
}
If ((Arg0 == 0x01))
{
Local0 = 0x001A0300
}
If ((Arg0 == 0x02))
{
Local0 = 0x001B0300
}
If ((Arg0 == 0x03))
{
Local0 = 0x001C0300
}
If ((Arg0 == 0x04))
{
Local0 = 0x001D0300
}
If ((Arg0 == 0x05))
{
Local0 = 0x001E0300
}
If ((Arg0 == 0x06))
{
Local0 = 0x001F0300
}
If ((Arg0 == 0x07))
{
Local0 = 0x00090300
}
If ((Arg0 == 0x08))
{
Local0 = 0x000A0300
}
If ((Arg0 == 0x09))
{
Local0 = 0x000B0300
}
If ((Arg0 == 0x0A))
{
Local0 = 0x000C0300
}
Local1 = A128 /* \_SB_.A128 */
Local1 &= 0xFF00FCFF
A128 = (Local0 | Local1)
Local1 = A128 /* \_SB_.A128 */
A128 = (0xFFFFFDFF & Local1)
}
ElseIf ((Arg1 == 0x00))
{
If ((Arg0 == 0x00))
{
Local1 = A129 /* \_SB_.A129 */
A129 = (0x00400000 | Local1)
Local1 = A129 /* \_SB_.A129 */
A129 = (0xFFBFFFFF & Local1)
}
If ((Arg0 == 0x01))
{
Local1 = A130 /* \_SB_.A130 */
A130 = (0x00400000 | Local1)
Local1 = A130 /* \_SB_.A130 */
A130 = (0xFFBFFFFF & Local1)
}
If ((Arg0 == 0x02))
{
Local1 = A131 /* \_SB_.A131 */
A131 = (0x00400000 | Local1)
Local1 = A131 /* \_SB_.A131 */
A131 = (0xFFBFFFFF & Local1)
}
If ((Arg0 == 0x03))
{
Local1 = A132 /* \_SB_.A132 */
A132 = (0x00400000 | Local1)
Local1 = A132 /* \_SB_.A132 */
A132 = (0xFFBFFFFF & Local1)
}
If ((Arg0 == 0x04))
{
Local1 = A133 /* \_SB_.A133 */
A133 = (0x00400000 | Local1)
Local1 = A133 /* \_SB_.A133 */
A133 = (0xFFBFFFFF & Local1)
}
If ((Arg0 == 0x05))
{
Local1 = A134 /* \_SB_.A134 */
A134 = (0x00400000 | Local1)
Local1 = A134 /* \_SB_.A134 */
A134 = (0xFFBFFFFF & Local1)
}
If ((Arg0 == 0x06))
{
Local1 = A135 /* \_SB_.A135 */
A135 = (0x00400000 | Local1)
Local1 = A135 /* \_SB_.A135 */
A135 = (0xFFBFFFFF & Local1)
}
If ((Arg0 == 0x07))
{
Local1 = A136 /* \_SB_.A136 */
A136 = (0x00400000 | Local1)
Local1 = A136 /* \_SB_.A136 */
A136 = (0xFFBFFFFF & Local1)
}
If ((Arg0 == 0x08))
{
Local1 = A137 /* \_SB_.A137 */
A137 = (0x00400000 | Local1)
Local1 = A137 /* \_SB_.A137 */
A137 = (0xFFBFFFFF & Local1)
}
If ((Arg0 == 0x09))
{
Local1 = A138 /* \_SB_.A138 */
A138 = (0x00400000 | Local1)
Local1 = A138 /* \_SB_.A138 */
A138 = (0xFFBFFFFF & Local1)
}
If ((Arg0 == 0x0A))
{
Local1 = A139 /* \_SB_.A139 */
A139 = (0x00400000 | Local1)
Local1 = A139 /* \_SB_.A139 */
A139 = (0xFFBFFFFF & Local1)
}
}
Release (\_SB.AM00)
}
Method (A010, 2, NotSerialized)
{
Local0 = 0x00
While ((Local0 < 0x0B))
{
Local1 = A126 (Local0, Arg1)
If ((Local1 == 0x01))
{
A127 (Local0, Arg1)
Break
}
Local0++
}
}
Method (A045, 1, NotSerialized)
{
Local0 = 0xFF
If ((0xFF == Local0))
{
Local0 = \_SB.AWR0.ABR0.A110 (Arg0)
}
If ((0xFF == Local0))
{
Local0 = \_SB.AWR0.ABR1.A110 (Arg0)
}
If ((0xFF == Local0))
{
Local0 = \_SB.AWR0.ABR2.A110 (Arg0)
}
If ((0xFF == Local0))
{
Local0 = \_SB.AWR0.ABR3.A110 (Arg0)
}
If ((0xFF == Local0))
{
Local0 = \_SB.AWR0.ABR4.A110 (Arg0)
}
If ((0xFF == Local0))
{
Local0 = \_SB.AWR0.ABR5.A110 (Arg0)
}
If ((0xFF == Local0))
{
Local0 = \_SB.AWR0.ABR6.A110 (Arg0)
}
If ((0xFF == Local0))
{
Local0 = \_SB.AWR0.ABR7.A110 (Arg0)
}
If ((0xFF == Local0))
{
Local0 = \_SB.AWR0.ABR8.A110 (Arg0)
}
If ((0xFF == Local0))
{
Local0 = \_SB.AWR0.ABR9.A110 (Arg0)
}
If ((0xFF == Local0))
{
Local0 = \_SB.AWR0.ABRA.A110 (Arg0)
}
Return (Local0)
}
Method (A018, 2, Serialized)
{
Acquire (\_SB.AM00, 0xFFFF)
CreateDWordField (Arg1, 0x00, A140)
CreateDWordField (Arg1, 0x04, A141)
CreateDWordField (Arg1, 0x08, A142)
CreateDWordField (Arg1, 0x0C, A143)
CreateDWordField (Arg1, 0x10, A144)
CreateDWordField (Arg1, 0x14, A145)
While ((A146 == 0x00)) {}
A146 = 0x00
While ((A146 != 0x00))
{
A146 = 0x00
}
A147 = A140 /* \_SB_.A018.A140 */
A148 = A141 /* \_SB_.A018.A141 */
A149 = A142 /* \_SB_.A018.A142 */
A150 = A143 /* \_SB_.A018.A143 */
A151 = A144 /* \_SB_.A018.A144 */
A152 = A145 /* \_SB_.A018.A145 */
A153 = Arg0
While ((A146 == 0x00)) {}
Release (\_SB.AM00)
}
Method (A121, 5, NotSerialized)
{
Local7 = Buffer (0x18) {}
CreateDWordField (Local7, 0x00, A012)
CreateDWordField (Local7, 0x04, A013)
CreateDWordField (Local7, 0x08, A014)
CreateDWordField (Local7, 0x0C, A015)
CreateDWordField (Local7, 0x10, A016)
CreateDWordField (Local7, 0x14, A017)
A012 = Arg0
A013 = Arg1
A014 = Arg2
A015 = Arg3
A018 (0x09, Local7)
}
Method (A046, 2, Serialized)
{
Acquire (\_SB.AM00, 0xFFFF)
CreateDWordField (Arg1, 0x00, A154)
CreateDWordField (Arg1, 0x04, A155)
CreateDWordField (Arg1, 0x08, A156)
CreateDWordField (Arg1, 0x0C, A157)
CreateDWordField (Arg1, 0x10, A158)
CreateDWordField (Arg1, 0x14, A159)
Local0 = (0x80000000 & A160) /* \_SB_.A160 */
While ((Local0 == 0x00))
{
Local0 = (0x80000000 & A160) /* \_SB_.A160 */
}
A161 = A154 /* \_SB_.A046.A154 */
A162 = A155 /* \_SB_.A046.A155 */
A163 = A156 /* \_SB_.A046.A156 */
A164 = A157 /* \_SB_.A046.A157 */
A165 = A158 /* \_SB_.A046.A158 */
A166 = A159 /* \_SB_.A046.A159 */
Local1 = (Arg0 & 0xFF)
Local1 <<= 0x08
A160 = Local1
A167 = 0xFFFFFFFF
Local0 = (0x80000000 & A160) /* \_SB_.A160 */
While ((Local0 == 0x00))
{
Local0 = (0x80000000 & A160) /* \_SB_.A160 */
}
Release (\_SB.AM00)
}
Method (AMNR, 1, NotSerialized)
{
Acquire (\_SB.AM00, 0xFFFF)
BankField (A168, A169, Arg0, DWordAcc, NoLock, Preserve)
{
Offset (0xBC),
A170, 32
}
Release (\_SB.AM00)
Return (A170) /* \_SB_.AMNR.A170 */
}
Method (AMNW, 2, NotSerialized)
{
Acquire (\_SB.AM00, 0xFFFF)
BankField (A168, A169, Arg0, DWordAcc, NoLock, Preserve)
{
Offset (0xBC),
A171, 32
}
A171 = Arg1
Release (\_SB.AM00)
}
Method (A032, 1, Serialized)
{
CreateWordField (Arg0, 0x00, A172)
Local7 = Buffer (0x18) {}
CreateDWordField (Local7, 0x00, A012)
CreateDWordField (Local7, 0x04, A013)
CreateDWordField (Local7, 0x08, A014)
CreateDWordField (Local7, 0x0C, A015)
CreateDWordField (Local7, 0x10, A016)
CreateDWordField (Local7, 0x14, A017)
Local0 = 0x02
While ((Local0 < A172))
{
Local1 = DerefOf (Arg0 [Local0])
Local0++
Local2 = DerefOf (Arg0 [Local0])
Local0++
Local2 |= (DerefOf (Arg0 [Local0]) << 0x08)
Local0++
Local2 |= (DerefOf (Arg0 [Local0]) << 0x10)
Local0++
Local2 |= (DerefOf (Arg0 [Local0]) << 0x18)
Local0++
A012 = 0x00
A013 = 0x00
A014 = 0x00
A015 = 0x00
A016 = 0x00
A017 = 0x00
If ((Local1 == 0x01))
{
A012 = Local2
A018 (0x18, Local7)
}
If ((Local1 == 0x03))
{
A012 = Local2
A018 (0x19, Local7)
}
If ((Local1 == 0x05))
{
A012 = Local2
A018 (0x14, Local7)
}
If ((Local1 == 0x06))
{
A012 = Local2
A018 (0x15, Local7)
}
If ((Local1 == 0x07))
{
A012 = Local2
A018 (0x16, Local7)
}
If ((Local1 == 0x08))
{
A012 = Local2
A018 (0x17, Local7)
}
If ((Local1 == 0x09))
{
A012 = Local2
A018 (0x1F, Local7)
}
If ((Local1 == 0x0B))
{
A012 = Local2
A018 (0x1A, Local7)
}
If ((Local1 == 0x0C))
{
A012 = Local2
A018 (0x1C, Local7)
}
If ((Local1 == 0x0D))
{
A012 = Local2
A018 (0x1E, Local7)
}
If ((Local1 == 0x0E))
{
A012 = Local2
A018 (0x1B, Local7)
}
If ((DerefOf (\_SB.ADAT [0x08]) == 0x01))
{
If ((Local1 == 0x10))
{
If ((Local2 == 0x00))
{
A018 (0x28, Local7)
}
Else
{
A018 (0x27, Local7)
}
}
}
If ((Local1 == 0x11))
{
A012 = Local2
A018 (0x1D, Local7)
}
If ((Local1 == 0x12))
{
A012 = Local2
A018 (0x54, Local7)
}
If ((Local1 == 0x13))
{
A012 = Local2
A018 (0x23, Local7)
}
If ((Local1 == 0x20))
{
A012 = Local2
A018 (0x31, Local7)
}
If ((Local1 == 0x21))
{
A012 = Local2
A018 (0x32, Local7)
}
If ((Local1 == 0x22))
{
A012 = Local2
A018 (0x33, Local7)
}
If ((Local1 == 0x23))
{
A012 = Local2
A018 (0x34, Local7)
}
If ((Local1 == 0x24))
{
A012 = Local2
A018 (0x35, Local7)
}
If ((Local1 == 0x25))
{
A012 = Local2
A018 (0x36, Local7)
}
If ((Local1 == 0x26))
{
A012 = Local2
A018 (0x37, Local7)
}
If ((Local1 == 0x27))
{
A012 = Local2
A018 (0x38, Local7)
}
If ((Local1 == 0x28))
{
A012 = Local2
A018 (0x39, Local7)
}
If ((Local1 == 0x29))
{
A012 = Local2
A018 (0x3A, Local7)
}
If ((Local1 == 0x2A))
{
A012 = Local2
A018 (0x3B, Local7)
}
If ((Local1 == 0x2B))
{
A012 = Local2
A018 (0x3C, Local7)
}
If ((Local1 == 0x2C))
{
A012 = Local2
A018 (0x3D, Local7)
}
If ((Local1 == 0x2D))
{
A012 = Local2
A018 (0x3E, Local7)
}
If ((Local1 == 0x2E))
{
A012 = Local2
A018 (0x4A, Local7)
}
If ((Local1 == 0x30))
{
A012 = Local2
A018 (0x55, Local7)
Acquire (\_SB.AM00, 0xFFFF)
Local3 = Buffer (0x08) {}
CreateDWordField (Local3, 0x00, A173)
CreateDWordField (Local3, 0x04, A174)
A173 = A147 /* \_SB_.A147 */
A174 = A148 /* \_SB_.A148 */
Release (\_SB.AM00)
Return (Local3)
}
If ((Local1 == 0x31))
{
A012 = Local2
A018 (0x56, Local7)
}
If ((Local1 == 0x32))
{
A012 = Local2
A018 (0x20, Local7)
}
}
}
Device (AWR0)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x90) // _UID: Unique ID
Device (ABR0)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x80) // _UID: Unique ID
Name (AB12, 0x20)
Name (AB00, 0x00)
Name (AB01, 0x00)
Name (AB0E, 0x00)
Name (AB02, 0x00)
Name (AB03, 0x00)
Name (AB04, 0x00)
Name (AB05, 0x00)
Name (AB06, 0x00)
Name (AB07, 0x00)
Name (AB08, 0x00)
Name (AB09, 0x00)
Name (AB0A, 0x00)
Name (AB0B, 0x00)
Name (AB0C, 0x00)
Name (AB0D, 0x00)
OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
))), 0x1000)
Field (A111, ByteAcc, NoLock, Preserve)
{
Offset (0x18),
Offset (0x19),
A104, 8,
A105, 8,
Offset (0x68),
A112, 2,
, 2,
A113, 1,
A114, 1,
Offset (0x6A),
, 11,
A115, 1,
Offset (0x88),
A116, 4,
, 1,
A117, 1
}
Name (AB10, 0x00)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
}
Method (A099, 0, NotSerialized)
{
Local0 = A081 ()
If ((Local0 == 0x01))
{
Return (AB01) /* \_SB_.AWR0.ABR0.AB01 */
}
If ((Local0 == 0x00))
{
Return (AB0E) /* \_SB_.AWR0.ABR0.AB0E */
}
}
Method (A094, 0, NotSerialized)
{
If ((AB10 != 0x00))
{
If ((AB10 == 0x01))
{
Return (0x01)
}
}
Return (0x00)
}
Method (A100, 0, NotSerialized)
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR0.AB05 */
}
If ((AB10 > 0x01))
{
Return ((AB10 - 0x01))
}
Return (0x00)
}
Method (A093, 0, NotSerialized)
{
If ((\_SB.AP05 == 0x00))
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR0.AB05 */
}
Return (AB0E) /* \_SB_.AWR0.ABR0.AB0E */
}
Local0 = A100 ()
If ((Local0 != 0x00))
{
If ((Local0 > AB00))
{
Return (AB00) /* \_SB_.AWR0.ABR0.AB00 */
}
Else
{
Return (Local0)
}
}
Local0 = A099 ()
If ((\_SB.AP03 != 0x00))
{
If ((\_SB.AP03 < Local0))
{
Return (\_SB.AP03)
}
}
Return (Local0)
}
Method (A092, 0, NotSerialized)
{
Return (AB02) /* \_SB_.AWR0.ABR0.AB02 */
}
Method (A095, 0, NotSerialized)
{
Return (AB00) /* \_SB_.AWR0.ABR0.AB00 */
}
Method (A091, 1, NotSerialized)
{
AB02 = Arg0
A101 (Arg0)
If ((AB10 != 0x00)) {}
Else
{
}
A102 (0x00)
Name (A103, 0x00)
A102 (0x01)
}
Method (A096, 1, NotSerialized)
{
AB10 = Arg0
}
Method (A097, 1, NotSerialized)
{
Local0 = (Arg0 >> 0x08)
If (((Local0 >= A104) && (Local0 <= A105)))
{
Return (0x01)
}
Return (0x00)
}
Method (A106, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
Return (0x01)
}
Return (0x00)
}
Method (A098, 0, NotSerialized)
{
AB10 = 0x00
}
Method (A101, 1, NotSerialized)
{
If ((Arg0 >= 0x02)) {}
If ((Arg0 >= 0x03)) {}
If ((Arg0 == 0x01))
{
If ((AB04 == 0x01)) {}
}
Else
{
}
}
Method (A107, 1, NotSerialized)
{
Local0 = 0x00
Local1 = A108 (Local0, 0x00)
Local2 = A108 (Local0, 0x08)
If ((Local1 != 0xFFFFFFFF))
{
Local3 = ((Local1 >> 0x10) & 0xFFFF)
Local1 &= 0xFFFF
Local2 = ((Local2 >> 0x18) & 0xFF)
If ((Local2 == 0x03))
{
If (((Local1 == 0x1002) || (Local1 == 0x1022)))
{
Local0 = 0x10
While ((Local0 < 0x30))
{
Local4 = A108 (0x00, Local0)
Local5 = 0x00
If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
{
If (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
Local5 = A108 (0x00, Local0)
}
If ((Arg0 != 0x00))
{
A109 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
A109 (0x26, Local5, 0x00)
A109 (0x28, 0x00, 0x00)
A109 (0x27, 0x00, 0x00)
Break
}
Else
{
A109 (0x28, 0x00, 0x00)
A109 (0x07, 0x00, (0x01 << 0x0A))
Break
}
}
ElseIf (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
}
Local0 += 0x04
}
}
}
}
}
Method (A110, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
If ((AB06 > AB07))
{
Return (AB07) /* \_SB_.AWR0.ABR0.AB07 */
}
Else
{
Return (AB06) /* \_SB_.AWR0.ABR0.AB06 */
}
}
Return (0xFF)
}
Method (A122, 2, NotSerialized)
{
If ((A108 (Arg0, 0x00) == 0xFFFFFFFF))
{
Return (0x00)
}
Local0 = A108 (Arg0, 0x34)
While (0x01)
{
Local1 = A108 (Arg0, (Local0 & 0xFF))
If (((Local1 & 0xFF) == Arg1))
{
Return ((Local0 & 0xFF))
}
Local0 = ((Local1 >> 0x08) & 0xFF)
If ((Local0 == 0x00))
{
Return (Local0)
}
}
}
Name (AESP, Package (0x08)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
})
Method (A102, 1, NotSerialized)
{
Local0 = 0x00
If ((A108 (Local0, 0x00) != 0xFFFFFFFF))
{
Local1 = (A108 (Local0, 0x08) & 0x80)
If ((Local1 == 0x80))
{
Local7 = 0x07
}
Else
{
Local7 = 0x00
}
While ((Local0 <= Local7))
{
Local1 = A122 (Local0, 0x10)
If ((Local1 == 0x00))
{
Local0++
Continue
}
If ((Arg0 == 0x00))
{
Local2 = A108 (Local0, (Local1 + 0x10))
A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
AESP [Local0] = Local2
}
Else
{
Local2 = DerefOf (AESP [Local0])
A120 (Local0, (Local1 + 0x10), Local2)
}
Local0++
}
}
Else
{
}
}
Method (A120, 3, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
ADRR = Arg2
}
Method (A108, 2, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
Return (ADRR) /* \_SB_.AWR0.ABR0.A108.ADRR */
}
Method (A118, 1, NotSerialized)
{
If ((AB0B != 0x01))
{
Return (0x00)
}
Return (A106 (Arg0))
}
Method (A119, 1, NotSerialized)
{
Name (A103, 0x00)
Local2 = 0x00
A103 = A112 /* \_SB_.AWR0.ABR0.A112 */
Local1 = (AB0D | (AB0C << 0x03))
If ((Arg0 == 0x01))
{
A113 = 0x00
Local0 = 0x01
}
Else
{
A102 (0x00)
Local0 = A108 (0x00, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x00, 0x04, (Local0 & ~0x04))
Local0 = A108 (0x01, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x01, 0x04, (Local0 & ~0x04))
}
}
Local2 = 0x00
A113 = 0x01
Local0 = 0x05
}
A112 = 0x00
While ((Local0 != 0x08))
{
If ((Local0 == 0x01))
{
A121 (0x29, Local1, 0x00, 0x00, 0x00)
Local2 = 0x01
Local0 = 0x08
}
If ((Local0 == 0x05))
{
A108 (0x00, 0x00)
A121 (0x2A, Local1, 0x00, 0x00, 0x00)
AB05 = 0x00
AB04 = 0x00
AB10 = 0x00
Local2 = 0x00
Local0 = 0x08
}
}
A112 = A103 /* \_SB_.AWR0.ABR0.A119.A103 */
If ((A103 != 0x00))
{
A102 (0x01)
}
Return (Local2)
}
}
Device (ABR1)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x81) // _UID: Unique ID
Name (AB12, 0x34)
Name (AB00, 0x00)
Name (AB01, 0x00)
Name (AB0E, 0x00)
Name (AB02, 0x00)
Name (AB03, 0x00)
Name (AB04, 0x00)
Name (AB05, 0x00)
Name (AB06, 0x00)
Name (AB07, 0x00)
Name (AB08, 0x00)
Name (AB09, 0x00)
Name (AB0A, 0x00)
Name (AB0B, 0x00)
Name (AB0C, 0x00)
Name (AB0D, 0x00)
OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
))), 0x1000)
Field (A111, ByteAcc, NoLock, Preserve)
{
Offset (0x18),
Offset (0x19),
A104, 8,
A105, 8,
Offset (0x68),
A112, 2,
, 2,
A113, 1,
A114, 1,
Offset (0x6A),
, 11,
A115, 1,
Offset (0x88),
A116, 4,
, 1,
A117, 1
}
Name (AB10, 0x00)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
}
Method (A099, 0, NotSerialized)
{
Local0 = A081 ()
If ((Local0 == 0x01))
{
Return (AB01) /* \_SB_.AWR0.ABR1.AB01 */
}
If ((Local0 == 0x00))
{
Return (AB0E) /* \_SB_.AWR0.ABR1.AB0E */
}
}
Method (A094, 0, NotSerialized)
{
If ((AB10 != 0x00))
{
If ((AB10 == 0x01))
{
Return (0x01)
}
}
Return (0x00)
}
Method (A100, 0, NotSerialized)
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR1.AB05 */
}
If ((AB10 > 0x01))
{
Return ((AB10 - 0x01))
}
Return (0x00)
}
Method (A093, 0, NotSerialized)
{
If ((\_SB.AP05 == 0x00))
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR1.AB05 */
}
Return (AB0E) /* \_SB_.AWR0.ABR1.AB0E */
}
Local0 = A100 ()
If ((Local0 != 0x00))
{
If ((Local0 > AB00))
{
Return (AB00) /* \_SB_.AWR0.ABR1.AB00 */
}
Else
{
Return (Local0)
}
}
Local0 = A099 ()
If ((\_SB.AP03 != 0x00))
{
If ((\_SB.AP03 < Local0))
{
Return (\_SB.AP03)
}
}
Return (Local0)
}
Method (A092, 0, NotSerialized)
{
Return (AB02) /* \_SB_.AWR0.ABR1.AB02 */
}
Method (A095, 0, NotSerialized)
{
Return (AB00) /* \_SB_.AWR0.ABR1.AB00 */
}
Method (A091, 1, NotSerialized)
{
AB02 = Arg0
A101 (Arg0)
If ((AB10 != 0x00)) {}
Else
{
}
A102 (0x00)
Name (A103, 0x00)
A102 (0x01)
}
Method (A096, 1, NotSerialized)
{
AB10 = Arg0
}
Method (A097, 1, NotSerialized)
{
Local0 = (Arg0 >> 0x08)
If (((Local0 >= A104) && (Local0 <= A105)))
{
Return (0x01)
}
Return (0x00)
}
Method (A106, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
Return (0x01)
}
Return (0x00)
}
Method (A098, 0, NotSerialized)
{
AB10 = 0x00
}
Method (A101, 1, NotSerialized)
{
If ((Arg0 >= 0x02)) {}
If ((Arg0 >= 0x03)) {}
If ((Arg0 == 0x01))
{
If ((AB04 == 0x01)) {}
}
Else
{
}
}
Method (A107, 1, NotSerialized)
{
Local0 = 0x00
Local1 = A108 (Local0, 0x00)
Local2 = A108 (Local0, 0x08)
If ((Local1 != 0xFFFFFFFF))
{
Local3 = ((Local1 >> 0x10) & 0xFFFF)
Local1 &= 0xFFFF
Local2 = ((Local2 >> 0x18) & 0xFF)
If ((Local2 == 0x03))
{
If (((Local1 == 0x1002) || (Local1 == 0x1022)))
{
Local0 = 0x10
While ((Local0 < 0x30))
{
Local4 = A108 (0x00, Local0)
Local5 = 0x00
If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
{
If (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
Local5 = A108 (0x00, Local0)
}
If ((Arg0 != 0x00))
{
A109 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
A109 (0x26, Local5, 0x00)
A109 (0x28, 0x00, 0x00)
A109 (0x27, 0x00, 0x00)
Break
}
Else
{
A109 (0x28, 0x00, 0x00)
A109 (0x07, 0x00, (0x01 << 0x0A))
Break
}
}
ElseIf (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
}
Local0 += 0x04
}
}
}
}
}
Method (A110, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
If ((AB06 > AB07))
{
Return (AB07) /* \_SB_.AWR0.ABR1.AB07 */
}
Else
{
Return (AB06) /* \_SB_.AWR0.ABR1.AB06 */
}
}
Return (0xFF)
}
Method (A122, 2, NotSerialized)
{
If ((A108 (Arg0, 0x00) == 0xFFFFFFFF))
{
Return (0x00)
}
Local0 = A108 (Arg0, 0x34)
While (0x01)
{
Local1 = A108 (Arg0, (Local0 & 0xFF))
If (((Local1 & 0xFF) == Arg1))
{
Return ((Local0 & 0xFF))
}
Local0 = ((Local1 >> 0x08) & 0xFF)
If ((Local0 == 0x00))
{
Return (Local0)
}
}
}
Name (AESP, Package (0x08)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
})
Method (A102, 1, NotSerialized)
{
Local0 = 0x00
If ((A108 (Local0, 0x00) != 0xFFFFFFFF))
{
Local1 = (A108 (Local0, 0x08) & 0x80)
If ((Local1 == 0x80))
{
Local7 = 0x07
}
Else
{
Local7 = 0x00
}
While ((Local0 <= Local7))
{
Local1 = A122 (Local0, 0x10)
If ((Local1 == 0x00))
{
Local0++
Continue
}
If ((Arg0 == 0x00))
{
Local2 = A108 (Local0, (Local1 + 0x10))
A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
AESP [Local0] = Local2
}
Else
{
Local2 = DerefOf (AESP [Local0])
A120 (Local0, (Local1 + 0x10), Local2)
}
Local0++
}
}
Else
{
}
}
Method (A120, 3, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
ADRR = Arg2
}
Method (A108, 2, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
Return (ADRR) /* \_SB_.AWR0.ABR1.A108.ADRR */
}
Method (A118, 1, NotSerialized)
{
If ((AB0B != 0x01))
{
Return (0x00)
}
Return (A106 (Arg0))
}
Method (A119, 1, NotSerialized)
{
Name (A103, 0x00)
Local2 = 0x00
A103 = A112 /* \_SB_.AWR0.ABR1.A112 */
Local1 = (AB0D | (AB0C << 0x03))
If ((Arg0 == 0x01))
{
A113 = 0x00
Local0 = 0x01
}
Else
{
A102 (0x00)
Local0 = A108 (0x00, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x00, 0x04, (Local0 & ~0x04))
Local0 = A108 (0x01, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x01, 0x04, (Local0 & ~0x04))
}
}
Local2 = 0x00
A113 = 0x01
Local0 = 0x05
}
A112 = 0x00
While ((Local0 != 0x08))
{
If ((Local0 == 0x01))
{
A121 (0x29, Local1, 0x00, 0x00, 0x00)
Local2 = 0x01
Local0 = 0x08
}
If ((Local0 == 0x05))
{
A108 (0x00, 0x00)
A121 (0x2A, Local1, 0x00, 0x00, 0x00)
AB05 = 0x00
AB04 = 0x00
AB10 = 0x00
Local2 = 0x00
Local0 = 0x08
}
}
A112 = A103 /* \_SB_.AWR0.ABR1.A119.A103 */
If ((A103 != 0x00))
{
A102 (0x01)
}
Return (Local2)
}
}
Device (ABR2)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x82) // _UID: Unique ID
Name (AB12, 0x48)
Name (AB00, 0x00)
Name (AB01, 0x00)
Name (AB0E, 0x00)
Name (AB02, 0x00)
Name (AB03, 0x00)
Name (AB04, 0x00)
Name (AB05, 0x00)
Name (AB06, 0x00)
Name (AB07, 0x00)
Name (AB08, 0x00)
Name (AB09, 0x00)
Name (AB0A, 0x00)
Name (AB0B, 0x00)
Name (AB0C, 0x00)
Name (AB0D, 0x00)
OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
))), 0x1000)
Field (A111, ByteAcc, NoLock, Preserve)
{
Offset (0x18),
Offset (0x19),
A104, 8,
A105, 8,
Offset (0x68),
A112, 2,
, 2,
A113, 1,
A114, 1,
Offset (0x6A),
, 11,
A115, 1,
Offset (0x88),
A116, 4,
, 1,
A117, 1
}
Name (AB10, 0x00)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
}
Method (A099, 0, NotSerialized)
{
Local0 = A081 ()
If ((Local0 == 0x01))
{
Return (AB01) /* \_SB_.AWR0.ABR2.AB01 */
}
If ((Local0 == 0x00))
{
Return (AB0E) /* \_SB_.AWR0.ABR2.AB0E */
}
}
Method (A094, 0, NotSerialized)
{
If ((AB10 != 0x00))
{
If ((AB10 == 0x01))
{
Return (0x01)
}
}
Return (0x00)
}
Method (A100, 0, NotSerialized)
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR2.AB05 */
}
If ((AB10 > 0x01))
{
Return ((AB10 - 0x01))
}
Return (0x00)
}
Method (A093, 0, NotSerialized)
{
If ((\_SB.AP05 == 0x00))
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR2.AB05 */
}
Return (AB0E) /* \_SB_.AWR0.ABR2.AB0E */
}
Local0 = A100 ()
If ((Local0 != 0x00))
{
If ((Local0 > AB00))
{
Return (AB00) /* \_SB_.AWR0.ABR2.AB00 */
}
Else
{
Return (Local0)
}
}
Local0 = A099 ()
If ((\_SB.AP03 != 0x00))
{
If ((\_SB.AP03 < Local0))
{
Return (\_SB.AP03)
}
}
Return (Local0)
}
Method (A092, 0, NotSerialized)
{
Return (AB02) /* \_SB_.AWR0.ABR2.AB02 */
}
Method (A095, 0, NotSerialized)
{
Return (AB00) /* \_SB_.AWR0.ABR2.AB00 */
}
Method (A091, 1, NotSerialized)
{
AB02 = Arg0
A101 (Arg0)
If ((AB10 != 0x00)) {}
Else
{
}
A102 (0x00)
Name (A103, 0x00)
A102 (0x01)
}
Method (A096, 1, NotSerialized)
{
AB10 = Arg0
}
Method (A097, 1, NotSerialized)
{
Local0 = (Arg0 >> 0x08)
If (((Local0 >= A104) && (Local0 <= A105)))
{
Return (0x01)
}
Return (0x00)
}
Method (A106, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
Return (0x01)
}
Return (0x00)
}
Method (A098, 0, NotSerialized)
{
AB10 = 0x00
}
Method (A101, 1, NotSerialized)
{
If ((Arg0 >= 0x02)) {}
If ((Arg0 >= 0x03)) {}
If ((Arg0 == 0x01))
{
If ((AB04 == 0x01)) {}
}
Else
{
}
}
Method (A107, 1, NotSerialized)
{
Local0 = 0x00
Local1 = A108 (Local0, 0x00)
Local2 = A108 (Local0, 0x08)
If ((Local1 != 0xFFFFFFFF))
{
Local3 = ((Local1 >> 0x10) & 0xFFFF)
Local1 &= 0xFFFF
Local2 = ((Local2 >> 0x18) & 0xFF)
If ((Local2 == 0x03))
{
If (((Local1 == 0x1002) || (Local1 == 0x1022)))
{
Local0 = 0x10
While ((Local0 < 0x30))
{
Local4 = A108 (0x00, Local0)
Local5 = 0x00
If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
{
If (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
Local5 = A108 (0x00, Local0)
}
If ((Arg0 != 0x00))
{
A109 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
A109 (0x26, Local5, 0x00)
A109 (0x28, 0x00, 0x00)
A109 (0x27, 0x00, 0x00)
Break
}
Else
{
A109 (0x28, 0x00, 0x00)
A109 (0x07, 0x00, (0x01 << 0x0A))
Break
}
}
ElseIf (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
}
Local0 += 0x04
}
}
}
}
}
Method (A110, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
If ((AB06 > AB07))
{
Return (AB07) /* \_SB_.AWR0.ABR2.AB07 */
}
Else
{
Return (AB06) /* \_SB_.AWR0.ABR2.AB06 */
}
}
Return (0xFF)
}
Method (A122, 2, NotSerialized)
{
If ((A108 (Arg0, 0x00) == 0xFFFFFFFF))
{
Return (0x00)
}
Local0 = A108 (Arg0, 0x34)
While (0x01)
{
Local1 = A108 (Arg0, (Local0 & 0xFF))
If (((Local1 & 0xFF) == Arg1))
{
Return ((Local0 & 0xFF))
}
Local0 = ((Local1 >> 0x08) & 0xFF)
If ((Local0 == 0x00))
{
Return (Local0)
}
}
}
Name (AESP, Package (0x08)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
})
Method (A102, 1, NotSerialized)
{
Local0 = 0x00
If ((A108 (Local0, 0x00) != 0xFFFFFFFF))
{
Local1 = (A108 (Local0, 0x08) & 0x80)
If ((Local1 == 0x80))
{
Local7 = 0x07
}
Else
{
Local7 = 0x00
}
While ((Local0 <= Local7))
{
Local1 = A122 (Local0, 0x10)
If ((Local1 == 0x00))
{
Local0++
Continue
}
If ((Arg0 == 0x00))
{
Local2 = A108 (Local0, (Local1 + 0x10))
A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
AESP [Local0] = Local2
}
Else
{
Local2 = DerefOf (AESP [Local0])
A120 (Local0, (Local1 + 0x10), Local2)
}
Local0++
}
}
Else
{
}
}
Method (A120, 3, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
ADRR = Arg2
}
Method (A108, 2, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
Return (ADRR) /* \_SB_.AWR0.ABR2.A108.ADRR */
}
Method (A118, 1, NotSerialized)
{
If ((AB0B != 0x01))
{
Return (0x00)
}
Return (A106 (Arg0))
}
Method (A119, 1, NotSerialized)
{
Name (A103, 0x00)
Local2 = 0x00
A103 = A112 /* \_SB_.AWR0.ABR2.A112 */
Local1 = (AB0D | (AB0C << 0x03))
If ((Arg0 == 0x01))
{
A113 = 0x00
Local0 = 0x01
}
Else
{
A102 (0x00)
Local0 = A108 (0x00, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x00, 0x04, (Local0 & ~0x04))
Local0 = A108 (0x01, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x01, 0x04, (Local0 & ~0x04))
}
}
Local2 = 0x00
A113 = 0x01
Local0 = 0x05
}
A112 = 0x00
While ((Local0 != 0x08))
{
If ((Local0 == 0x01))
{
A121 (0x29, Local1, 0x00, 0x00, 0x00)
Local2 = 0x01
Local0 = 0x08
}
If ((Local0 == 0x05))
{
A108 (0x00, 0x00)
A121 (0x2A, Local1, 0x00, 0x00, 0x00)
AB05 = 0x00
AB04 = 0x00
AB10 = 0x00
Local2 = 0x00
Local0 = 0x08
}
}
A112 = A103 /* \_SB_.AWR0.ABR2.A119.A103 */
If ((A103 != 0x00))
{
A102 (0x01)
}
Return (Local2)
}
}
Device (ABR3)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x83) // _UID: Unique ID
Name (AB12, 0x5C)
Name (AB00, 0x00)
Name (AB01, 0x00)
Name (AB0E, 0x00)
Name (AB02, 0x00)
Name (AB03, 0x00)
Name (AB04, 0x00)
Name (AB05, 0x00)
Name (AB06, 0x00)
Name (AB07, 0x00)
Name (AB08, 0x00)
Name (AB09, 0x00)
Name (AB0A, 0x00)
Name (AB0B, 0x00)
Name (AB0C, 0x00)
Name (AB0D, 0x00)
OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
))), 0x1000)
Field (A111, ByteAcc, NoLock, Preserve)
{
Offset (0x18),
Offset (0x19),
A104, 8,
A105, 8,
Offset (0x68),
A112, 2,
, 2,
A113, 1,
A114, 1,
Offset (0x6A),
, 11,
A115, 1,
Offset (0x88),
A116, 4,
, 1,
A117, 1
}
Name (AB10, 0x00)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
}
Method (A099, 0, NotSerialized)
{
Local0 = A081 ()
If ((Local0 == 0x01))
{
Return (AB01) /* \_SB_.AWR0.ABR3.AB01 */
}
If ((Local0 == 0x00))
{
Return (AB0E) /* \_SB_.AWR0.ABR3.AB0E */
}
}
Method (A094, 0, NotSerialized)
{
If ((AB10 != 0x00))
{
If ((AB10 == 0x01))
{
Return (0x01)
}
}
Return (0x00)
}
Method (A100, 0, NotSerialized)
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR3.AB05 */
}
If ((AB10 > 0x01))
{
Return ((AB10 - 0x01))
}
Return (0x00)
}
Method (A093, 0, NotSerialized)
{
If ((\_SB.AP05 == 0x00))
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR3.AB05 */
}
Return (AB0E) /* \_SB_.AWR0.ABR3.AB0E */
}
Local0 = A100 ()
If ((Local0 != 0x00))
{
If ((Local0 > AB00))
{
Return (AB00) /* \_SB_.AWR0.ABR3.AB00 */
}
Else
{
Return (Local0)
}
}
Local0 = A099 ()
If ((\_SB.AP03 != 0x00))
{
If ((\_SB.AP03 < Local0))
{
Return (\_SB.AP03)
}
}
Return (Local0)
}
Method (A092, 0, NotSerialized)
{
Return (AB02) /* \_SB_.AWR0.ABR3.AB02 */
}
Method (A095, 0, NotSerialized)
{
Return (AB00) /* \_SB_.AWR0.ABR3.AB00 */
}
Method (A091, 1, NotSerialized)
{
AB02 = Arg0
A101 (Arg0)
If ((AB10 != 0x00)) {}
Else
{
}
A102 (0x00)
Name (A103, 0x00)
A102 (0x01)
}
Method (A096, 1, NotSerialized)
{
AB10 = Arg0
}
Method (A097, 1, NotSerialized)
{
Local0 = (Arg0 >> 0x08)
If (((Local0 >= A104) && (Local0 <= A105)))
{
Return (0x01)
}
Return (0x00)
}
Method (A106, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
Return (0x01)
}
Return (0x00)
}
Method (A098, 0, NotSerialized)
{
AB10 = 0x00
}
Method (A101, 1, NotSerialized)
{
If ((Arg0 >= 0x02)) {}
If ((Arg0 >= 0x03)) {}
If ((Arg0 == 0x01))
{
If ((AB04 == 0x01)) {}
}
Else
{
}
}
Method (A107, 1, NotSerialized)
{
Local0 = 0x00
Local1 = A108 (Local0, 0x00)
Local2 = A108 (Local0, 0x08)
If ((Local1 != 0xFFFFFFFF))
{
Local3 = ((Local1 >> 0x10) & 0xFFFF)
Local1 &= 0xFFFF
Local2 = ((Local2 >> 0x18) & 0xFF)
If ((Local2 == 0x03))
{
If (((Local1 == 0x1002) || (Local1 == 0x1022)))
{
Local0 = 0x10
While ((Local0 < 0x30))
{
Local4 = A108 (0x00, Local0)
Local5 = 0x00
If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
{
If (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
Local5 = A108 (0x00, Local0)
}
If ((Arg0 != 0x00))
{
A109 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
A109 (0x26, Local5, 0x00)
A109 (0x28, 0x00, 0x00)
A109 (0x27, 0x00, 0x00)
Break
}
Else
{
A109 (0x28, 0x00, 0x00)
A109 (0x07, 0x00, (0x01 << 0x0A))
Break
}
}
ElseIf (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
}
Local0 += 0x04
}
}
}
}
}
Method (A110, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
If ((AB06 > AB07))
{
Return (AB07) /* \_SB_.AWR0.ABR3.AB07 */
}
Else
{
Return (AB06) /* \_SB_.AWR0.ABR3.AB06 */
}
}
Return (0xFF)
}
Method (A122, 2, NotSerialized)
{
If ((A108 (Arg0, 0x00) == 0xFFFFFFFF))
{
Return (0x00)
}
Local0 = A108 (Arg0, 0x34)
While (0x01)
{
Local1 = A108 (Arg0, (Local0 & 0xFF))
If (((Local1 & 0xFF) == Arg1))
{
Return ((Local0 & 0xFF))
}
Local0 = ((Local1 >> 0x08) & 0xFF)
If ((Local0 == 0x00))
{
Return (Local0)
}
}
}
Name (AESP, Package (0x08)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
})
Method (A102, 1, NotSerialized)
{
Local0 = 0x00
If ((A108 (Local0, 0x00) != 0xFFFFFFFF))
{
Local1 = (A108 (Local0, 0x08) & 0x80)
If ((Local1 == 0x80))
{
Local7 = 0x07
}
Else
{
Local7 = 0x00
}
While ((Local0 <= Local7))
{
Local1 = A122 (Local0, 0x10)
If ((Local1 == 0x00))
{
Local0++
Continue
}
If ((Arg0 == 0x00))
{
Local2 = A108 (Local0, (Local1 + 0x10))
A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
AESP [Local0] = Local2
}
Else
{
Local2 = DerefOf (AESP [Local0])
A120 (Local0, (Local1 + 0x10), Local2)
}
Local0++
}
}
Else
{
}
}
Method (A120, 3, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
ADRR = Arg2
}
Method (A108, 2, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
Return (ADRR) /* \_SB_.AWR0.ABR3.A108.ADRR */
}
Method (A118, 1, NotSerialized)
{
If ((AB0B != 0x01))
{
Return (0x00)
}
Return (A106 (Arg0))
}
Method (A119, 1, NotSerialized)
{
Name (A103, 0x00)
Local2 = 0x00
A103 = A112 /* \_SB_.AWR0.ABR3.A112 */
Local1 = (AB0D | (AB0C << 0x03))
If ((Arg0 == 0x01))
{
A113 = 0x00
Local0 = 0x01
}
Else
{
A102 (0x00)
Local0 = A108 (0x00, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x00, 0x04, (Local0 & ~0x04))
Local0 = A108 (0x01, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x01, 0x04, (Local0 & ~0x04))
}
}
Local2 = 0x00
A113 = 0x01
Local0 = 0x05
}
A112 = 0x00
While ((Local0 != 0x08))
{
If ((Local0 == 0x01))
{
A121 (0x29, Local1, 0x00, 0x00, 0x00)
Local2 = 0x01
Local0 = 0x08
}
If ((Local0 == 0x05))
{
A108 (0x00, 0x00)
A121 (0x2A, Local1, 0x00, 0x00, 0x00)
AB05 = 0x00
AB04 = 0x00
AB10 = 0x00
Local2 = 0x00
Local0 = 0x08
}
}
A112 = A103 /* \_SB_.AWR0.ABR3.A119.A103 */
If ((A103 != 0x00))
{
A102 (0x01)
}
Return (Local2)
}
}
Device (ABR4)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x84) // _UID: Unique ID
Name (AB12, 0x70)
Name (AB00, 0x00)
Name (AB01, 0x00)
Name (AB0E, 0x00)
Name (AB02, 0x00)
Name (AB03, 0x00)
Name (AB04, 0x00)
Name (AB05, 0x00)
Name (AB06, 0x00)
Name (AB07, 0x00)
Name (AB08, 0x00)
Name (AB09, 0x00)
Name (AB0A, 0x00)
Name (AB0B, 0x00)
Name (AB0C, 0x00)
Name (AB0D, 0x00)
OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
))), 0x1000)
Field (A111, ByteAcc, NoLock, Preserve)
{
Offset (0x18),
Offset (0x19),
A104, 8,
A105, 8,
Offset (0x68),
A112, 2,
, 2,
A113, 1,
A114, 1,
Offset (0x6A),
, 11,
A115, 1,
Offset (0x88),
A116, 4,
, 1,
A117, 1
}
Name (AB10, 0x00)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
}
Method (A099, 0, NotSerialized)
{
Local0 = A081 ()
If ((Local0 == 0x01))
{
Return (AB01) /* \_SB_.AWR0.ABR4.AB01 */
}
If ((Local0 == 0x00))
{
Return (AB0E) /* \_SB_.AWR0.ABR4.AB0E */
}
}
Method (A094, 0, NotSerialized)
{
If ((AB10 != 0x00))
{
If ((AB10 == 0x01))
{
Return (0x01)
}
}
Return (0x00)
}
Method (A100, 0, NotSerialized)
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR4.AB05 */
}
If ((AB10 > 0x01))
{
Return ((AB10 - 0x01))
}
Return (0x00)
}
Method (A093, 0, NotSerialized)
{
If ((\_SB.AP05 == 0x00))
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR4.AB05 */
}
Return (AB0E) /* \_SB_.AWR0.ABR4.AB0E */
}
Local0 = A100 ()
If ((Local0 != 0x00))
{
If ((Local0 > AB00))
{
Return (AB00) /* \_SB_.AWR0.ABR4.AB00 */
}
Else
{
Return (Local0)
}
}
Local0 = A099 ()
If ((\_SB.AP03 != 0x00))
{
If ((\_SB.AP03 < Local0))
{
Return (\_SB.AP03)
}
}
Return (Local0)
}
Method (A092, 0, NotSerialized)
{
Return (AB02) /* \_SB_.AWR0.ABR4.AB02 */
}
Method (A095, 0, NotSerialized)
{
Return (AB00) /* \_SB_.AWR0.ABR4.AB00 */
}
Method (A091, 1, NotSerialized)
{
AB02 = Arg0
A101 (Arg0)
If ((AB10 != 0x00)) {}
Else
{
}
A102 (0x00)
Name (A103, 0x00)
A102 (0x01)
}
Method (A096, 1, NotSerialized)
{
AB10 = Arg0
}
Method (A097, 1, NotSerialized)
{
Local0 = (Arg0 >> 0x08)
If (((Local0 >= A104) && (Local0 <= A105)))
{
Return (0x01)
}
Return (0x00)
}
Method (A106, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
Return (0x01)
}
Return (0x00)
}
Method (A098, 0, NotSerialized)
{
AB10 = 0x00
}
Method (A101, 1, NotSerialized)
{
If ((Arg0 >= 0x02)) {}
If ((Arg0 >= 0x03)) {}
If ((Arg0 == 0x01))
{
If ((AB04 == 0x01)) {}
}
Else
{
}
}
Method (A107, 1, NotSerialized)
{
Local0 = 0x00
Local1 = A108 (Local0, 0x00)
Local2 = A108 (Local0, 0x08)
If ((Local1 != 0xFFFFFFFF))
{
Local3 = ((Local1 >> 0x10) & 0xFFFF)
Local1 &= 0xFFFF
Local2 = ((Local2 >> 0x18) & 0xFF)
If ((Local2 == 0x03))
{
If (((Local1 == 0x1002) || (Local1 == 0x1022)))
{
Local0 = 0x10
While ((Local0 < 0x30))
{
Local4 = A108 (0x00, Local0)
Local5 = 0x00
If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
{
If (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
Local5 = A108 (0x00, Local0)
}
If ((Arg0 != 0x00))
{
A109 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
A109 (0x26, Local5, 0x00)
A109 (0x28, 0x00, 0x00)
A109 (0x27, 0x00, 0x00)
Break
}
Else
{
A109 (0x28, 0x00, 0x00)
A109 (0x07, 0x00, (0x01 << 0x0A))
Break
}
}
ElseIf (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
}
Local0 += 0x04
}
}
}
}
}
Method (A110, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
If ((AB06 > AB07))
{
Return (AB07) /* \_SB_.AWR0.ABR4.AB07 */
}
Else
{
Return (AB06) /* \_SB_.AWR0.ABR4.AB06 */
}
}
Return (0xFF)
}
Method (A122, 2, NotSerialized)
{
If ((A108 (Arg0, 0x00) == 0xFFFFFFFF))
{
Return (0x00)
}
Local0 = A108 (Arg0, 0x34)
While (0x01)
{
Local1 = A108 (Arg0, (Local0 & 0xFF))
If (((Local1 & 0xFF) == Arg1))
{
Return ((Local0 & 0xFF))
}
Local0 = ((Local1 >> 0x08) & 0xFF)
If ((Local0 == 0x00))
{
Return (Local0)
}
}
}
Name (AESP, Package (0x08)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
})
Method (A102, 1, NotSerialized)
{
Local0 = 0x00
If ((A108 (Local0, 0x00) != 0xFFFFFFFF))
{
Local1 = (A108 (Local0, 0x08) & 0x80)
If ((Local1 == 0x80))
{
Local7 = 0x07
}
Else
{
Local7 = 0x00
}
While ((Local0 <= Local7))
{
Local1 = A122 (Local0, 0x10)
If ((Local1 == 0x00))
{
Local0++
Continue
}
If ((Arg0 == 0x00))
{
Local2 = A108 (Local0, (Local1 + 0x10))
A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
AESP [Local0] = Local2
}
Else
{
Local2 = DerefOf (AESP [Local0])
A120 (Local0, (Local1 + 0x10), Local2)
}
Local0++
}
}
Else
{
}
}
Method (A120, 3, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
ADRR = Arg2
}
Method (A108, 2, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
Return (ADRR) /* \_SB_.AWR0.ABR4.A108.ADRR */
}
Method (A118, 1, NotSerialized)
{
If ((AB0B != 0x01))
{
Return (0x00)
}
Return (A106 (Arg0))
}
Method (A119, 1, NotSerialized)
{
Name (A103, 0x00)
Local2 = 0x00
A103 = A112 /* \_SB_.AWR0.ABR4.A112 */
Local1 = (AB0D | (AB0C << 0x03))
If ((Arg0 == 0x01))
{
A113 = 0x00
Local0 = 0x01
}
Else
{
A102 (0x00)
Local0 = A108 (0x00, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x00, 0x04, (Local0 & ~0x04))
Local0 = A108 (0x01, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x01, 0x04, (Local0 & ~0x04))
}
}
Local2 = 0x00
A113 = 0x01
Local0 = 0x05
}
A112 = 0x00
While ((Local0 != 0x08))
{
If ((Local0 == 0x01))
{
A121 (0x29, Local1, 0x00, 0x00, 0x00)
Local2 = 0x01
Local0 = 0x08
}
If ((Local0 == 0x05))
{
A108 (0x00, 0x00)
A121 (0x2A, Local1, 0x00, 0x00, 0x00)
AB05 = 0x00
AB04 = 0x00
AB10 = 0x00
Local2 = 0x00
Local0 = 0x08
}
}
A112 = A103 /* \_SB_.AWR0.ABR4.A119.A103 */
If ((A103 != 0x00))
{
A102 (0x01)
}
Return (Local2)
}
}
Device (ABR5)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x85) // _UID: Unique ID
Name (AB12, 0x84)
Name (AB00, 0x00)
Name (AB01, 0x00)
Name (AB0E, 0x00)
Name (AB02, 0x00)
Name (AB03, 0x00)
Name (AB04, 0x00)
Name (AB05, 0x00)
Name (AB06, 0x00)
Name (AB07, 0x00)
Name (AB08, 0x00)
Name (AB09, 0x00)
Name (AB0A, 0x00)
Name (AB0B, 0x00)
Name (AB0C, 0x00)
Name (AB0D, 0x00)
OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
))), 0x1000)
Field (A111, ByteAcc, NoLock, Preserve)
{
Offset (0x18),
Offset (0x19),
A104, 8,
A105, 8,
Offset (0x68),
A112, 2,
, 2,
A113, 1,
A114, 1,
Offset (0x6A),
, 11,
A115, 1,
Offset (0x88),
A116, 4,
, 1,
A117, 1
}
Name (AB10, 0x00)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
}
Method (A099, 0, NotSerialized)
{
Local0 = A081 ()
If ((Local0 == 0x01))
{
Return (AB01) /* \_SB_.AWR0.ABR5.AB01 */
}
If ((Local0 == 0x00))
{
Return (AB0E) /* \_SB_.AWR0.ABR5.AB0E */
}
}
Method (A094, 0, NotSerialized)
{
If ((AB10 != 0x00))
{
If ((AB10 == 0x01))
{
Return (0x01)
}
}
Return (0x00)
}
Method (A100, 0, NotSerialized)
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR5.AB05 */
}
If ((AB10 > 0x01))
{
Return ((AB10 - 0x01))
}
Return (0x00)
}
Method (A093, 0, NotSerialized)
{
If ((\_SB.AP05 == 0x00))
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR5.AB05 */
}
Return (AB0E) /* \_SB_.AWR0.ABR5.AB0E */
}
Local0 = A100 ()
If ((Local0 != 0x00))
{
If ((Local0 > AB00))
{
Return (AB00) /* \_SB_.AWR0.ABR5.AB00 */
}
Else
{
Return (Local0)
}
}
Local0 = A099 ()
If ((\_SB.AP03 != 0x00))
{
If ((\_SB.AP03 < Local0))
{
Return (\_SB.AP03)
}
}
Return (Local0)
}
Method (A092, 0, NotSerialized)
{
Return (AB02) /* \_SB_.AWR0.ABR5.AB02 */
}
Method (A095, 0, NotSerialized)
{
Return (AB00) /* \_SB_.AWR0.ABR5.AB00 */
}
Method (A091, 1, NotSerialized)
{
AB02 = Arg0
A101 (Arg0)
If ((AB10 != 0x00)) {}
Else
{
}
A102 (0x00)
Name (A103, 0x00)
A102 (0x01)
}
Method (A096, 1, NotSerialized)
{
AB10 = Arg0
}
Method (A097, 1, NotSerialized)
{
Local0 = (Arg0 >> 0x08)
If (((Local0 >= A104) && (Local0 <= A105)))
{
Return (0x01)
}
Return (0x00)
}
Method (A106, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
Return (0x01)
}
Return (0x00)
}
Method (A098, 0, NotSerialized)
{
AB10 = 0x00
}
Method (A101, 1, NotSerialized)
{
If ((Arg0 >= 0x02)) {}
If ((Arg0 >= 0x03)) {}
If ((Arg0 == 0x01))
{
If ((AB04 == 0x01)) {}
}
Else
{
}
}
Method (A107, 1, NotSerialized)
{
Local0 = 0x00
Local1 = A108 (Local0, 0x00)
Local2 = A108 (Local0, 0x08)
If ((Local1 != 0xFFFFFFFF))
{
Local3 = ((Local1 >> 0x10) & 0xFFFF)
Local1 &= 0xFFFF
Local2 = ((Local2 >> 0x18) & 0xFF)
If ((Local2 == 0x03))
{
If (((Local1 == 0x1002) || (Local1 == 0x1022)))
{
Local0 = 0x10
While ((Local0 < 0x30))
{
Local4 = A108 (0x00, Local0)
Local5 = 0x00
If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
{
If (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
Local5 = A108 (0x00, Local0)
}
If ((Arg0 != 0x00))
{
A109 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
A109 (0x26, Local5, 0x00)
A109 (0x28, 0x00, 0x00)
A109 (0x27, 0x00, 0x00)
Break
}
Else
{
A109 (0x28, 0x00, 0x00)
A109 (0x07, 0x00, (0x01 << 0x0A))
Break
}
}
ElseIf (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
}
Local0 += 0x04
}
}
}
}
}
Method (A110, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
If ((AB06 > AB07))
{
Return (AB07) /* \_SB_.AWR0.ABR5.AB07 */
}
Else
{
Return (AB06) /* \_SB_.AWR0.ABR5.AB06 */
}
}
Return (0xFF)
}
Method (A122, 2, NotSerialized)
{
If ((A108 (Arg0, 0x00) == 0xFFFFFFFF))
{
Return (0x00)
}
Local0 = A108 (Arg0, 0x34)
While (0x01)
{
Local1 = A108 (Arg0, (Local0 & 0xFF))
If (((Local1 & 0xFF) == Arg1))
{
Return ((Local0 & 0xFF))
}
Local0 = ((Local1 >> 0x08) & 0xFF)
If ((Local0 == 0x00))
{
Return (Local0)
}
}
}
Name (AESP, Package (0x08)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
})
Method (A102, 1, NotSerialized)
{
Local0 = 0x00
If ((A108 (Local0, 0x00) != 0xFFFFFFFF))
{
Local1 = (A108 (Local0, 0x08) & 0x80)
If ((Local1 == 0x80))
{
Local7 = 0x07
}
Else
{
Local7 = 0x00
}
While ((Local0 <= Local7))
{
Local1 = A122 (Local0, 0x10)
If ((Local1 == 0x00))
{
Local0++
Continue
}
If ((Arg0 == 0x00))
{
Local2 = A108 (Local0, (Local1 + 0x10))
A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
AESP [Local0] = Local2
}
Else
{
Local2 = DerefOf (AESP [Local0])
A120 (Local0, (Local1 + 0x10), Local2)
}
Local0++
}
}
Else
{
}
}
Method (A120, 3, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
ADRR = Arg2
}
Method (A108, 2, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
Return (ADRR) /* \_SB_.AWR0.ABR5.A108.ADRR */
}
Method (A118, 1, NotSerialized)
{
If ((AB0B != 0x01))
{
Return (0x00)
}
Return (A106 (Arg0))
}
Method (A119, 1, NotSerialized)
{
Name (A103, 0x00)
Local2 = 0x00
A103 = A112 /* \_SB_.AWR0.ABR5.A112 */
Local1 = (AB0D | (AB0C << 0x03))
If ((Arg0 == 0x01))
{
A113 = 0x00
Local0 = 0x01
}
Else
{
A102 (0x00)
Local0 = A108 (0x00, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x00, 0x04, (Local0 & ~0x04))
Local0 = A108 (0x01, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x01, 0x04, (Local0 & ~0x04))
}
}
Local2 = 0x00
A113 = 0x01
Local0 = 0x05
}
A112 = 0x00
While ((Local0 != 0x08))
{
If ((Local0 == 0x01))
{
A121 (0x29, Local1, 0x00, 0x00, 0x00)
Local2 = 0x01
Local0 = 0x08
}
If ((Local0 == 0x05))
{
A108 (0x00, 0x00)
A121 (0x2A, Local1, 0x00, 0x00, 0x00)
AB05 = 0x00
AB04 = 0x00
AB10 = 0x00
Local2 = 0x00
Local0 = 0x08
}
}
A112 = A103 /* \_SB_.AWR0.ABR5.A119.A103 */
If ((A103 != 0x00))
{
A102 (0x01)
}
Return (Local2)
}
}
Device (ABR6)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x86) // _UID: Unique ID
Name (AB12, 0x98)
Name (AB00, 0x00)
Name (AB01, 0x00)
Name (AB0E, 0x00)
Name (AB02, 0x00)
Name (AB03, 0x00)
Name (AB04, 0x00)
Name (AB05, 0x00)
Name (AB06, 0x00)
Name (AB07, 0x00)
Name (AB08, 0x00)
Name (AB09, 0x00)
Name (AB0A, 0x00)
Name (AB0B, 0x00)
Name (AB0C, 0x00)
Name (AB0D, 0x00)
OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
))), 0x1000)
Field (A111, ByteAcc, NoLock, Preserve)
{
Offset (0x18),
Offset (0x19),
A104, 8,
A105, 8,
Offset (0x68),
A112, 2,
, 2,
A113, 1,
A114, 1,
Offset (0x6A),
, 11,
A115, 1,
Offset (0x88),
A116, 4,
, 1,
A117, 1
}
Name (AB10, 0x00)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
}
Method (A099, 0, NotSerialized)
{
Local0 = A081 ()
If ((Local0 == 0x01))
{
Return (AB01) /* \_SB_.AWR0.ABR6.AB01 */
}
If ((Local0 == 0x00))
{
Return (AB0E) /* \_SB_.AWR0.ABR6.AB0E */
}
}
Method (A094, 0, NotSerialized)
{
If ((AB10 != 0x00))
{
If ((AB10 == 0x01))
{
Return (0x01)
}
}
Return (0x00)
}
Method (A100, 0, NotSerialized)
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR6.AB05 */
}
If ((AB10 > 0x01))
{
Return ((AB10 - 0x01))
}
Return (0x00)
}
Method (A093, 0, NotSerialized)
{
If ((\_SB.AP05 == 0x00))
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR6.AB05 */
}
Return (AB0E) /* \_SB_.AWR0.ABR6.AB0E */
}
Local0 = A100 ()
If ((Local0 != 0x00))
{
If ((Local0 > AB00))
{
Return (AB00) /* \_SB_.AWR0.ABR6.AB00 */
}
Else
{
Return (Local0)
}
}
Local0 = A099 ()
If ((\_SB.AP03 != 0x00))
{
If ((\_SB.AP03 < Local0))
{
Return (\_SB.AP03)
}
}
Return (Local0)
}
Method (A092, 0, NotSerialized)
{
Return (AB02) /* \_SB_.AWR0.ABR6.AB02 */
}
Method (A095, 0, NotSerialized)
{
Return (AB00) /* \_SB_.AWR0.ABR6.AB00 */
}
Method (A091, 1, NotSerialized)
{
AB02 = Arg0
A101 (Arg0)
If ((AB10 != 0x00)) {}
Else
{
}
A102 (0x00)
Name (A103, 0x00)
A102 (0x01)
}
Method (A096, 1, NotSerialized)
{
AB10 = Arg0
}
Method (A097, 1, NotSerialized)
{
Local0 = (Arg0 >> 0x08)
If (((Local0 >= A104) && (Local0 <= A105)))
{
Return (0x01)
}
Return (0x00)
}
Method (A106, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
Return (0x01)
}
Return (0x00)
}
Method (A098, 0, NotSerialized)
{
AB10 = 0x00
}
Method (A101, 1, NotSerialized)
{
If ((Arg0 >= 0x02)) {}
If ((Arg0 >= 0x03)) {}
If ((Arg0 == 0x01))
{
If ((AB04 == 0x01)) {}
}
Else
{
}
}
Method (A107, 1, NotSerialized)
{
Local0 = 0x00
Local1 = A108 (Local0, 0x00)
Local2 = A108 (Local0, 0x08)
If ((Local1 != 0xFFFFFFFF))
{
Local3 = ((Local1 >> 0x10) & 0xFFFF)
Local1 &= 0xFFFF
Local2 = ((Local2 >> 0x18) & 0xFF)
If ((Local2 == 0x03))
{
If (((Local1 == 0x1002) || (Local1 == 0x1022)))
{
Local0 = 0x10
While ((Local0 < 0x30))
{
Local4 = A108 (0x00, Local0)
Local5 = 0x00
If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
{
If (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
Local5 = A108 (0x00, Local0)
}
If ((Arg0 != 0x00))
{
A109 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
A109 (0x26, Local5, 0x00)
A109 (0x28, 0x00, 0x00)
A109 (0x27, 0x00, 0x00)
Break
}
Else
{
A109 (0x28, 0x00, 0x00)
A109 (0x07, 0x00, (0x01 << 0x0A))
Break
}
}
ElseIf (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
}
Local0 += 0x04
}
}
}
}
}
Method (A110, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
If ((AB06 > AB07))
{
Return (AB07) /* \_SB_.AWR0.ABR6.AB07 */
}
Else
{
Return (AB06) /* \_SB_.AWR0.ABR6.AB06 */
}
}
Return (0xFF)
}
Method (A122, 2, NotSerialized)
{
If ((A108 (Arg0, 0x00) == 0xFFFFFFFF))
{
Return (0x00)
}
Local0 = A108 (Arg0, 0x34)
While (0x01)
{
Local1 = A108 (Arg0, (Local0 & 0xFF))
If (((Local1 & 0xFF) == Arg1))
{
Return ((Local0 & 0xFF))
}
Local0 = ((Local1 >> 0x08) & 0xFF)
If ((Local0 == 0x00))
{
Return (Local0)
}
}
}
Name (AESP, Package (0x08)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
})
Method (A102, 1, NotSerialized)
{
Local0 = 0x00
If ((A108 (Local0, 0x00) != 0xFFFFFFFF))
{
Local1 = (A108 (Local0, 0x08) & 0x80)
If ((Local1 == 0x80))
{
Local7 = 0x07
}
Else
{
Local7 = 0x00
}
While ((Local0 <= Local7))
{
Local1 = A122 (Local0, 0x10)
If ((Local1 == 0x00))
{
Local0++
Continue
}
If ((Arg0 == 0x00))
{
Local2 = A108 (Local0, (Local1 + 0x10))
A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
AESP [Local0] = Local2
}
Else
{
Local2 = DerefOf (AESP [Local0])
A120 (Local0, (Local1 + 0x10), Local2)
}
Local0++
}
}
Else
{
}
}
Method (A120, 3, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
ADRR = Arg2
}
Method (A108, 2, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
Return (ADRR) /* \_SB_.AWR0.ABR6.A108.ADRR */
}
Method (A118, 1, NotSerialized)
{
If ((AB0B != 0x01))
{
Return (0x00)
}
Return (A106 (Arg0))
}
Method (A119, 1, NotSerialized)
{
Name (A103, 0x00)
Local2 = 0x00
A103 = A112 /* \_SB_.AWR0.ABR6.A112 */
Local1 = (AB0D | (AB0C << 0x03))
If ((Arg0 == 0x01))
{
A113 = 0x00
Local0 = 0x01
}
Else
{
A102 (0x00)
Local0 = A108 (0x00, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x00, 0x04, (Local0 & ~0x04))
Local0 = A108 (0x01, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x01, 0x04, (Local0 & ~0x04))
}
}
Local2 = 0x00
A113 = 0x01
Local0 = 0x05
}
A112 = 0x00
While ((Local0 != 0x08))
{
If ((Local0 == 0x01))
{
A121 (0x29, Local1, 0x00, 0x00, 0x00)
Local2 = 0x01
Local0 = 0x08
}
If ((Local0 == 0x05))
{
A108 (0x00, 0x00)
A121 (0x2A, Local1, 0x00, 0x00, 0x00)
AB05 = 0x00
AB04 = 0x00
AB10 = 0x00
Local2 = 0x00
Local0 = 0x08
}
}
A112 = A103 /* \_SB_.AWR0.ABR6.A119.A103 */
If ((A103 != 0x00))
{
A102 (0x01)
}
Return (Local2)
}
}
Device (ABR7)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x87) // _UID: Unique ID
Name (AB12, 0xAC)
Name (AB00, 0x00)
Name (AB01, 0x00)
Name (AB0E, 0x00)
Name (AB02, 0x00)
Name (AB03, 0x00)
Name (AB04, 0x00)
Name (AB05, 0x00)
Name (AB06, 0x00)
Name (AB07, 0x00)
Name (AB08, 0x00)
Name (AB09, 0x00)
Name (AB0A, 0x00)
Name (AB0B, 0x00)
Name (AB0C, 0x00)
Name (AB0D, 0x00)
OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
))), 0x1000)
Field (A111, ByteAcc, NoLock, Preserve)
{
Offset (0x18),
Offset (0x19),
A104, 8,
A105, 8,
Offset (0x68),
A112, 2,
, 2,
A113, 1,
A114, 1,
Offset (0x6A),
, 11,
A115, 1,
Offset (0x88),
A116, 4,
, 1,
A117, 1
}
Name (AB10, 0x00)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
}
Method (A099, 0, NotSerialized)
{
Local0 = A081 ()
If ((Local0 == 0x01))
{
Return (AB01) /* \_SB_.AWR0.ABR7.AB01 */
}
If ((Local0 == 0x00))
{
Return (AB0E) /* \_SB_.AWR0.ABR7.AB0E */
}
}
Method (A094, 0, NotSerialized)
{
If ((AB10 != 0x00))
{
If ((AB10 == 0x01))
{
Return (0x01)
}
}
Return (0x00)
}
Method (A100, 0, NotSerialized)
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR7.AB05 */
}
If ((AB10 > 0x01))
{
Return ((AB10 - 0x01))
}
Return (0x00)
}
Method (A093, 0, NotSerialized)
{
If ((\_SB.AP05 == 0x00))
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR7.AB05 */
}
Return (AB0E) /* \_SB_.AWR0.ABR7.AB0E */
}
Local0 = A100 ()
If ((Local0 != 0x00))
{
If ((Local0 > AB00))
{
Return (AB00) /* \_SB_.AWR0.ABR7.AB00 */
}
Else
{
Return (Local0)
}
}
Local0 = A099 ()
If ((\_SB.AP03 != 0x00))
{
If ((\_SB.AP03 < Local0))
{
Return (\_SB.AP03)
}
}
Return (Local0)
}
Method (A092, 0, NotSerialized)
{
Return (AB02) /* \_SB_.AWR0.ABR7.AB02 */
}
Method (A095, 0, NotSerialized)
{
Return (AB00) /* \_SB_.AWR0.ABR7.AB00 */
}
Method (A091, 1, NotSerialized)
{
AB02 = Arg0
A101 (Arg0)
If ((AB10 != 0x00)) {}
Else
{
}
A102 (0x00)
Name (A103, 0x00)
A102 (0x01)
}
Method (A096, 1, NotSerialized)
{
AB10 = Arg0
}
Method (A097, 1, NotSerialized)
{
Local0 = (Arg0 >> 0x08)
If (((Local0 >= A104) && (Local0 <= A105)))
{
Return (0x01)
}
Return (0x00)
}
Method (A106, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
Return (0x01)
}
Return (0x00)
}
Method (A098, 0, NotSerialized)
{
AB10 = 0x00
}
Method (A101, 1, NotSerialized)
{
If ((Arg0 >= 0x02)) {}
If ((Arg0 >= 0x03)) {}
If ((Arg0 == 0x01))
{
If ((AB04 == 0x01)) {}
}
Else
{
}
}
Method (A107, 1, NotSerialized)
{
Local0 = 0x00
Local1 = A108 (Local0, 0x00)
Local2 = A108 (Local0, 0x08)
If ((Local1 != 0xFFFFFFFF))
{
Local3 = ((Local1 >> 0x10) & 0xFFFF)
Local1 &= 0xFFFF
Local2 = ((Local2 >> 0x18) & 0xFF)
If ((Local2 == 0x03))
{
If (((Local1 == 0x1002) || (Local1 == 0x1022)))
{
Local0 = 0x10
While ((Local0 < 0x30))
{
Local4 = A108 (0x00, Local0)
Local5 = 0x00
If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
{
If (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
Local5 = A108 (0x00, Local0)
}
If ((Arg0 != 0x00))
{
A109 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
A109 (0x26, Local5, 0x00)
A109 (0x28, 0x00, 0x00)
A109 (0x27, 0x00, 0x00)
Break
}
Else
{
A109 (0x28, 0x00, 0x00)
A109 (0x07, 0x00, (0x01 << 0x0A))
Break
}
}
ElseIf (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
}
Local0 += 0x04
}
}
}
}
}
Method (A110, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
If ((AB06 > AB07))
{
Return (AB07) /* \_SB_.AWR0.ABR7.AB07 */
}
Else
{
Return (AB06) /* \_SB_.AWR0.ABR7.AB06 */
}
}
Return (0xFF)
}
Method (A122, 2, NotSerialized)
{
If ((A108 (Arg0, 0x00) == 0xFFFFFFFF))
{
Return (0x00)
}
Local0 = A108 (Arg0, 0x34)
While (0x01)
{
Local1 = A108 (Arg0, (Local0 & 0xFF))
If (((Local1 & 0xFF) == Arg1))
{
Return ((Local0 & 0xFF))
}
Local0 = ((Local1 >> 0x08) & 0xFF)
If ((Local0 == 0x00))
{
Return (Local0)
}
}
}
Name (AESP, Package (0x08)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
})
Method (A102, 1, NotSerialized)
{
Local0 = 0x00
If ((A108 (Local0, 0x00) != 0xFFFFFFFF))
{
Local1 = (A108 (Local0, 0x08) & 0x80)
If ((Local1 == 0x80))
{
Local7 = 0x07
}
Else
{
Local7 = 0x00
}
While ((Local0 <= Local7))
{
Local1 = A122 (Local0, 0x10)
If ((Local1 == 0x00))
{
Local0++
Continue
}
If ((Arg0 == 0x00))
{
Local2 = A108 (Local0, (Local1 + 0x10))
A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
AESP [Local0] = Local2
}
Else
{
Local2 = DerefOf (AESP [Local0])
A120 (Local0, (Local1 + 0x10), Local2)
}
Local0++
}
}
Else
{
}
}
Method (A120, 3, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
ADRR = Arg2
}
Method (A108, 2, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
Return (ADRR) /* \_SB_.AWR0.ABR7.A108.ADRR */
}
Method (A118, 1, NotSerialized)
{
If ((AB0B != 0x01))
{
Return (0x00)
}
Return (A106 (Arg0))
}
Method (A119, 1, NotSerialized)
{
Name (A103, 0x00)
Local2 = 0x00
A103 = A112 /* \_SB_.AWR0.ABR7.A112 */
Local1 = (AB0D | (AB0C << 0x03))
If ((Arg0 == 0x01))
{
A113 = 0x00
Local0 = 0x01
}
Else
{
A102 (0x00)
Local0 = A108 (0x00, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x00, 0x04, (Local0 & ~0x04))
Local0 = A108 (0x01, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x01, 0x04, (Local0 & ~0x04))
}
}
Local2 = 0x00
A113 = 0x01
Local0 = 0x05
}
A112 = 0x00
While ((Local0 != 0x08))
{
If ((Local0 == 0x01))
{
A121 (0x29, Local1, 0x00, 0x00, 0x00)
Local2 = 0x01
Local0 = 0x08
}
If ((Local0 == 0x05))
{
A108 (0x00, 0x00)
A121 (0x2A, Local1, 0x00, 0x00, 0x00)
AB05 = 0x00
AB04 = 0x00
AB10 = 0x00
Local2 = 0x00
Local0 = 0x08
}
}
A112 = A103 /* \_SB_.AWR0.ABR7.A119.A103 */
If ((A103 != 0x00))
{
A102 (0x01)
}
Return (Local2)
}
}
Device (ABR8)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x88) // _UID: Unique ID
Name (AB12, 0xC0)
Name (AB00, 0x00)
Name (AB01, 0x00)
Name (AB0E, 0x00)
Name (AB02, 0x00)
Name (AB03, 0x00)
Name (AB04, 0x00)
Name (AB05, 0x00)
Name (AB06, 0x00)
Name (AB07, 0x00)
Name (AB08, 0x00)
Name (AB09, 0x00)
Name (AB0A, 0x00)
Name (AB0B, 0x00)
Name (AB0C, 0x00)
Name (AB0D, 0x00)
OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
))), 0x1000)
Field (A111, ByteAcc, NoLock, Preserve)
{
Offset (0x18),
Offset (0x19),
A104, 8,
A105, 8,
Offset (0x68),
A112, 2,
, 2,
A113, 1,
A114, 1,
Offset (0x6A),
, 11,
A115, 1,
Offset (0x88),
A116, 4,
, 1,
A117, 1
}
Name (AB10, 0x00)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
}
Method (A099, 0, NotSerialized)
{
Local0 = A081 ()
If ((Local0 == 0x01))
{
Return (AB01) /* \_SB_.AWR0.ABR8.AB01 */
}
If ((Local0 == 0x00))
{
Return (AB0E) /* \_SB_.AWR0.ABR8.AB0E */
}
}
Method (A094, 0, NotSerialized)
{
If ((AB10 != 0x00))
{
If ((AB10 == 0x01))
{
Return (0x01)
}
}
Return (0x00)
}
Method (A100, 0, NotSerialized)
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR8.AB05 */
}
If ((AB10 > 0x01))
{
Return ((AB10 - 0x01))
}
Return (0x00)
}
Method (A093, 0, NotSerialized)
{
If ((\_SB.AP05 == 0x00))
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR8.AB05 */
}
Return (AB0E) /* \_SB_.AWR0.ABR8.AB0E */
}
Local0 = A100 ()
If ((Local0 != 0x00))
{
If ((Local0 > AB00))
{
Return (AB00) /* \_SB_.AWR0.ABR8.AB00 */
}
Else
{
Return (Local0)
}
}
Local0 = A099 ()
If ((\_SB.AP03 != 0x00))
{
If ((\_SB.AP03 < Local0))
{
Return (\_SB.AP03)
}
}
Return (Local0)
}
Method (A092, 0, NotSerialized)
{
Return (AB02) /* \_SB_.AWR0.ABR8.AB02 */
}
Method (A095, 0, NotSerialized)
{
Return (AB00) /* \_SB_.AWR0.ABR8.AB00 */
}
Method (A091, 1, NotSerialized)
{
AB02 = Arg0
A101 (Arg0)
If ((AB10 != 0x00)) {}
Else
{
}
A102 (0x00)
Name (A103, 0x00)
A102 (0x01)
}
Method (A096, 1, NotSerialized)
{
AB10 = Arg0
}
Method (A097, 1, NotSerialized)
{
Local0 = (Arg0 >> 0x08)
If (((Local0 >= A104) && (Local0 <= A105)))
{
Return (0x01)
}
Return (0x00)
}
Method (A106, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
Return (0x01)
}
Return (0x00)
}
Method (A098, 0, NotSerialized)
{
AB10 = 0x00
}
Method (A101, 1, NotSerialized)
{
If ((Arg0 >= 0x02)) {}
If ((Arg0 >= 0x03)) {}
If ((Arg0 == 0x01))
{
If ((AB04 == 0x01)) {}
}
Else
{
}
}
Method (A107, 1, NotSerialized)
{
Local0 = 0x00
Local1 = A108 (Local0, 0x00)
Local2 = A108 (Local0, 0x08)
If ((Local1 != 0xFFFFFFFF))
{
Local3 = ((Local1 >> 0x10) & 0xFFFF)
Local1 &= 0xFFFF
Local2 = ((Local2 >> 0x18) & 0xFF)
If ((Local2 == 0x03))
{
If (((Local1 == 0x1002) || (Local1 == 0x1022)))
{
Local0 = 0x10
While ((Local0 < 0x30))
{
Local4 = A108 (0x00, Local0)
Local5 = 0x00
If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
{
If (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
Local5 = A108 (0x00, Local0)
}
If ((Arg0 != 0x00))
{
A109 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
A109 (0x26, Local5, 0x00)
A109 (0x28, 0x00, 0x00)
A109 (0x27, 0x00, 0x00)
Break
}
Else
{
A109 (0x28, 0x00, 0x00)
A109 (0x07, 0x00, (0x01 << 0x0A))
Break
}
}
ElseIf (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
}
Local0 += 0x04
}
}
}
}
}
Method (A110, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
If ((AB06 > AB07))
{
Return (AB07) /* \_SB_.AWR0.ABR8.AB07 */
}
Else
{
Return (AB06) /* \_SB_.AWR0.ABR8.AB06 */
}
}
Return (0xFF)
}
Method (A122, 2, NotSerialized)
{
If ((A108 (Arg0, 0x00) == 0xFFFFFFFF))
{
Return (0x00)
}
Local0 = A108 (Arg0, 0x34)
While (0x01)
{
Local1 = A108 (Arg0, (Local0 & 0xFF))
If (((Local1 & 0xFF) == Arg1))
{
Return ((Local0 & 0xFF))
}
Local0 = ((Local1 >> 0x08) & 0xFF)
If ((Local0 == 0x00))
{
Return (Local0)
}
}
}
Name (AESP, Package (0x08)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
})
Method (A102, 1, NotSerialized)
{
Local0 = 0x00
If ((A108 (Local0, 0x00) != 0xFFFFFFFF))
{
Local1 = (A108 (Local0, 0x08) & 0x80)
If ((Local1 == 0x80))
{
Local7 = 0x07
}
Else
{
Local7 = 0x00
}
While ((Local0 <= Local7))
{
Local1 = A122 (Local0, 0x10)
If ((Local1 == 0x00))
{
Local0++
Continue
}
If ((Arg0 == 0x00))
{
Local2 = A108 (Local0, (Local1 + 0x10))
A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
AESP [Local0] = Local2
}
Else
{
Local2 = DerefOf (AESP [Local0])
A120 (Local0, (Local1 + 0x10), Local2)
}
Local0++
}
}
Else
{
}
}
Method (A120, 3, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
ADRR = Arg2
}
Method (A108, 2, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
Return (ADRR) /* \_SB_.AWR0.ABR8.A108.ADRR */
}
Method (A118, 1, NotSerialized)
{
If ((AB0B != 0x01))
{
Return (0x00)
}
Return (A106 (Arg0))
}
Method (A119, 1, NotSerialized)
{
Name (A103, 0x00)
Local2 = 0x00
A103 = A112 /* \_SB_.AWR0.ABR8.A112 */
Local1 = (AB0D | (AB0C << 0x03))
If ((Arg0 == 0x01))
{
A113 = 0x00
Local0 = 0x01
}
Else
{
A102 (0x00)
Local0 = A108 (0x00, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x00, 0x04, (Local0 & ~0x04))
Local0 = A108 (0x01, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x01, 0x04, (Local0 & ~0x04))
}
}
Local2 = 0x00
A113 = 0x01
Local0 = 0x05
}
A112 = 0x00
While ((Local0 != 0x08))
{
If ((Local0 == 0x01))
{
A121 (0x29, Local1, 0x00, 0x00, 0x00)
Local2 = 0x01
Local0 = 0x08
}
If ((Local0 == 0x05))
{
A108 (0x00, 0x00)
A121 (0x2A, Local1, 0x00, 0x00, 0x00)
AB05 = 0x00
AB04 = 0x00
AB10 = 0x00
Local2 = 0x00
Local0 = 0x08
}
}
A112 = A103 /* \_SB_.AWR0.ABR8.A119.A103 */
If ((A103 != 0x00))
{
A102 (0x01)
}
Return (Local2)
}
}
Device (ABR9)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x89) // _UID: Unique ID
Name (AB12, 0xD4)
Name (AB00, 0x00)
Name (AB01, 0x00)
Name (AB0E, 0x00)
Name (AB02, 0x00)
Name (AB03, 0x00)
Name (AB04, 0x00)
Name (AB05, 0x00)
Name (AB06, 0x00)
Name (AB07, 0x00)
Name (AB08, 0x00)
Name (AB09, 0x00)
Name (AB0A, 0x00)
Name (AB0B, 0x00)
Name (AB0C, 0x00)
Name (AB0D, 0x00)
OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
))), 0x1000)
Field (A111, ByteAcc, NoLock, Preserve)
{
Offset (0x18),
Offset (0x19),
A104, 8,
A105, 8,
Offset (0x68),
A112, 2,
, 2,
A113, 1,
A114, 1,
Offset (0x6A),
, 11,
A115, 1,
Offset (0x88),
A116, 4,
, 1,
A117, 1
}
Name (AB10, 0x00)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
}
Method (A099, 0, NotSerialized)
{
Local0 = A081 ()
If ((Local0 == 0x01))
{
Return (AB01) /* \_SB_.AWR0.ABR9.AB01 */
}
If ((Local0 == 0x00))
{
Return (AB0E) /* \_SB_.AWR0.ABR9.AB0E */
}
}
Method (A094, 0, NotSerialized)
{
If ((AB10 != 0x00))
{
If ((AB10 == 0x01))
{
Return (0x01)
}
}
Return (0x00)
}
Method (A100, 0, NotSerialized)
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR9.AB05 */
}
If ((AB10 > 0x01))
{
Return ((AB10 - 0x01))
}
Return (0x00)
}
Method (A093, 0, NotSerialized)
{
If ((\_SB.AP05 == 0x00))
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABR9.AB05 */
}
Return (AB0E) /* \_SB_.AWR0.ABR9.AB0E */
}
Local0 = A100 ()
If ((Local0 != 0x00))
{
If ((Local0 > AB00))
{
Return (AB00) /* \_SB_.AWR0.ABR9.AB00 */
}
Else
{
Return (Local0)
}
}
Local0 = A099 ()
If ((\_SB.AP03 != 0x00))
{
If ((\_SB.AP03 < Local0))
{
Return (\_SB.AP03)
}
}
Return (Local0)
}
Method (A092, 0, NotSerialized)
{
Return (AB02) /* \_SB_.AWR0.ABR9.AB02 */
}
Method (A095, 0, NotSerialized)
{
Return (AB00) /* \_SB_.AWR0.ABR9.AB00 */
}
Method (A091, 1, NotSerialized)
{
AB02 = Arg0
A101 (Arg0)
If ((AB10 != 0x00)) {}
Else
{
}
A102 (0x00)
Name (A103, 0x00)
A102 (0x01)
}
Method (A096, 1, NotSerialized)
{
AB10 = Arg0
}
Method (A097, 1, NotSerialized)
{
Local0 = (Arg0 >> 0x08)
If (((Local0 >= A104) && (Local0 <= A105)))
{
Return (0x01)
}
Return (0x00)
}
Method (A106, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
Return (0x01)
}
Return (0x00)
}
Method (A098, 0, NotSerialized)
{
AB10 = 0x00
}
Method (A101, 1, NotSerialized)
{
If ((Arg0 >= 0x02)) {}
If ((Arg0 >= 0x03)) {}
If ((Arg0 == 0x01))
{
If ((AB04 == 0x01)) {}
}
Else
{
}
}
Method (A107, 1, NotSerialized)
{
Local0 = 0x00
Local1 = A108 (Local0, 0x00)
Local2 = A108 (Local0, 0x08)
If ((Local1 != 0xFFFFFFFF))
{
Local3 = ((Local1 >> 0x10) & 0xFFFF)
Local1 &= 0xFFFF
Local2 = ((Local2 >> 0x18) & 0xFF)
If ((Local2 == 0x03))
{
If (((Local1 == 0x1002) || (Local1 == 0x1022)))
{
Local0 = 0x10
While ((Local0 < 0x30))
{
Local4 = A108 (0x00, Local0)
Local5 = 0x00
If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
{
If (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
Local5 = A108 (0x00, Local0)
}
If ((Arg0 != 0x00))
{
A109 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
A109 (0x26, Local5, 0x00)
A109 (0x28, 0x00, 0x00)
A109 (0x27, 0x00, 0x00)
Break
}
Else
{
A109 (0x28, 0x00, 0x00)
A109 (0x07, 0x00, (0x01 << 0x0A))
Break
}
}
ElseIf (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
}
Local0 += 0x04
}
}
}
}
}
Method (A110, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
If ((AB06 > AB07))
{
Return (AB07) /* \_SB_.AWR0.ABR9.AB07 */
}
Else
{
Return (AB06) /* \_SB_.AWR0.ABR9.AB06 */
}
}
Return (0xFF)
}
Method (A122, 2, NotSerialized)
{
If ((A108 (Arg0, 0x00) == 0xFFFFFFFF))
{
Return (0x00)
}
Local0 = A108 (Arg0, 0x34)
While (0x01)
{
Local1 = A108 (Arg0, (Local0 & 0xFF))
If (((Local1 & 0xFF) == Arg1))
{
Return ((Local0 & 0xFF))
}
Local0 = ((Local1 >> 0x08) & 0xFF)
If ((Local0 == 0x00))
{
Return (Local0)
}
}
}
Name (AESP, Package (0x08)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
})
Method (A102, 1, NotSerialized)
{
Local0 = 0x00
If ((A108 (Local0, 0x00) != 0xFFFFFFFF))
{
Local1 = (A108 (Local0, 0x08) & 0x80)
If ((Local1 == 0x80))
{
Local7 = 0x07
}
Else
{
Local7 = 0x00
}
While ((Local0 <= Local7))
{
Local1 = A122 (Local0, 0x10)
If ((Local1 == 0x00))
{
Local0++
Continue
}
If ((Arg0 == 0x00))
{
Local2 = A108 (Local0, (Local1 + 0x10))
A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
AESP [Local0] = Local2
}
Else
{
Local2 = DerefOf (AESP [Local0])
A120 (Local0, (Local1 + 0x10), Local2)
}
Local0++
}
}
Else
{
}
}
Method (A120, 3, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
ADRR = Arg2
}
Method (A108, 2, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
Return (ADRR) /* \_SB_.AWR0.ABR9.A108.ADRR */
}
Method (A118, 1, NotSerialized)
{
If ((AB0B != 0x01))
{
Return (0x00)
}
Return (A106 (Arg0))
}
Method (A119, 1, NotSerialized)
{
Name (A103, 0x00)
Local2 = 0x00
A103 = A112 /* \_SB_.AWR0.ABR9.A112 */
Local1 = (AB0D | (AB0C << 0x03))
If ((Arg0 == 0x01))
{
A113 = 0x00
Local0 = 0x01
}
Else
{
A102 (0x00)
Local0 = A108 (0x00, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x00, 0x04, (Local0 & ~0x04))
Local0 = A108 (0x01, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x01, 0x04, (Local0 & ~0x04))
}
}
Local2 = 0x00
A113 = 0x01
Local0 = 0x05
}
A112 = 0x00
While ((Local0 != 0x08))
{
If ((Local0 == 0x01))
{
A121 (0x29, Local1, 0x00, 0x00, 0x00)
Local2 = 0x01
Local0 = 0x08
}
If ((Local0 == 0x05))
{
A108 (0x00, 0x00)
A121 (0x2A, Local1, 0x00, 0x00, 0x00)
AB05 = 0x00
AB04 = 0x00
AB10 = 0x00
Local2 = 0x00
Local0 = 0x08
}
}
A112 = A103 /* \_SB_.AWR0.ABR9.A119.A103 */
If ((A103 != 0x00))
{
A102 (0x01)
}
Return (Local2)
}
}
Device (ABRA)
{
Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
Name (_UID, 0x8A) // _UID: Unique ID
Name (AB12, 0xE8)
Name (AB00, 0x00)
Name (AB01, 0x00)
Name (AB0E, 0x00)
Name (AB02, 0x00)
Name (AB03, 0x00)
Name (AB04, 0x00)
Name (AB05, 0x00)
Name (AB06, 0x00)
Name (AB07, 0x00)
Name (AB08, 0x00)
Name (AB09, 0x00)
Name (AB0A, 0x00)
Name (AB0B, 0x00)
Name (AB0C, 0x00)
Name (AB0D, 0x00)
OperationRegion (A111, SystemMemory, (AGRB + ((DerefOf (\_SB.ADAT [(AB12 + 0x0D)]
) << 0x0F) | (DerefOf (\_SB.ADAT [(AB12 + 0x0E)]) << 0x0C
))), 0x1000)
Field (A111, ByteAcc, NoLock, Preserve)
{
Offset (0x18),
Offset (0x19),
A104, 8,
A105, 8,
Offset (0x68),
A112, 2,
, 2,
A113, 1,
A114, 1,
Offset (0x6A),
, 11,
A115, 1,
Offset (0x88),
A116, 4,
, 1,
A117, 1
}
Name (AB10, 0x00)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
AB00 = DerefOf (\_SB.ADAT [(AB12 + 0x00)])
AB0E = DerefOf (\_SB.ADAT [(AB12 + 0x01)])
AB01 = DerefOf (\_SB.ADAT [(AB12 + 0x02)])
AB02 = DerefOf (\_SB.ADAT [(AB12 + 0x03)])
AB03 = DerefOf (\_SB.ADAT [(AB12 + 0x04)])
AB04 = DerefOf (\_SB.ADAT [(AB12 + 0x05)])
AB05 = DerefOf (\_SB.ADAT [(AB12 + 0x06)])
AB06 = DerefOf (\_SB.ADAT [(AB12 + 0x07)])
AB07 = DerefOf (\_SB.ADAT [(AB12 + 0x08)])
AB08 = DerefOf (\_SB.ADAT [(AB12 + 0x09)])
AB09 = DerefOf (\_SB.ADAT [(AB12 + 0x0A)])
AB0A = DerefOf (\_SB.ADAT [(AB12 + 0x0B)])
AB0B = DerefOf (\_SB.ADAT [(AB12 + 0x0C)])
AB0C = DerefOf (\_SB.ADAT [(AB12 + 0x0D)])
AB0D = DerefOf (\_SB.ADAT [(AB12 + 0x0E)])
}
Method (A099, 0, NotSerialized)
{
Local0 = A081 ()
If ((Local0 == 0x01))
{
Return (AB01) /* \_SB_.AWR0.ABRA.AB01 */
}
If ((Local0 == 0x00))
{
Return (AB0E) /* \_SB_.AWR0.ABRA.AB0E */
}
}
Method (A094, 0, NotSerialized)
{
If ((AB10 != 0x00))
{
If ((AB10 == 0x01))
{
Return (0x01)
}
}
Return (0x00)
}
Method (A100, 0, NotSerialized)
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABRA.AB05 */
}
If ((AB10 > 0x01))
{
Return ((AB10 - 0x01))
}
Return (0x00)
}
Method (A093, 0, NotSerialized)
{
If ((\_SB.AP05 == 0x00))
{
If ((AB05 != 0x00))
{
Return (AB05) /* \_SB_.AWR0.ABRA.AB05 */
}
Return (AB0E) /* \_SB_.AWR0.ABRA.AB0E */
}
Local0 = A100 ()
If ((Local0 != 0x00))
{
If ((Local0 > AB00))
{
Return (AB00) /* \_SB_.AWR0.ABRA.AB00 */
}
Else
{
Return (Local0)
}
}
Local0 = A099 ()
If ((\_SB.AP03 != 0x00))
{
If ((\_SB.AP03 < Local0))
{
Return (\_SB.AP03)
}
}
Return (Local0)
}
Method (A092, 0, NotSerialized)
{
Return (AB02) /* \_SB_.AWR0.ABRA.AB02 */
}
Method (A095, 0, NotSerialized)
{
Return (AB00) /* \_SB_.AWR0.ABRA.AB00 */
}
Method (A091, 1, NotSerialized)
{
AB02 = Arg0
A101 (Arg0)
If ((AB10 != 0x00)) {}
Else
{
}
A102 (0x00)
Name (A103, 0x00)
A102 (0x01)
}
Method (A096, 1, NotSerialized)
{
AB10 = Arg0
}
Method (A097, 1, NotSerialized)
{
Local0 = (Arg0 >> 0x08)
If (((Local0 >= A104) && (Local0 <= A105)))
{
Return (0x01)
}
Return (0x00)
}
Method (A106, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
Return (0x01)
}
Return (0x00)
}
Method (A098, 0, NotSerialized)
{
AB10 = 0x00
}
Method (A101, 1, NotSerialized)
{
If ((Arg0 >= 0x02)) {}
If ((Arg0 >= 0x03)) {}
If ((Arg0 == 0x01))
{
If ((AB04 == 0x01)) {}
}
Else
{
}
}
Method (A107, 1, NotSerialized)
{
Local0 = 0x00
Local1 = A108 (Local0, 0x00)
Local2 = A108 (Local0, 0x08)
If ((Local1 != 0xFFFFFFFF))
{
Local3 = ((Local1 >> 0x10) & 0xFFFF)
Local1 &= 0xFFFF
Local2 = ((Local2 >> 0x18) & 0xFF)
If ((Local2 == 0x03))
{
If (((Local1 == 0x1002) || (Local1 == 0x1022)))
{
Local0 = 0x10
While ((Local0 < 0x30))
{
Local4 = A108 (0x00, Local0)
Local5 = 0x00
If ((((Local4 & 0x09) == 0x00) && (Local4 != 0x00)))
{
If (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
Local5 = A108 (0x00, Local0)
}
If ((Arg0 != 0x00))
{
A109 (0x25, (Local4 & 0xFFFFFFF0), 0x00)
A109 (0x26, Local5, 0x00)
A109 (0x28, 0x00, 0x00)
A109 (0x27, 0x00, 0x00)
Break
}
Else
{
A109 (0x28, 0x00, 0x00)
A109 (0x07, 0x00, (0x01 << 0x0A))
Break
}
}
ElseIf (((Local4 & 0x06) == 0x04))
{
Local0 += 0x04
}
Local0 += 0x04
}
}
}
}
}
Method (A110, 1, NotSerialized)
{
Local0 = (AB0D | (AB0C << 0x03))
If ((Arg0 == Local0))
{
If ((AB06 > AB07))
{
Return (AB07) /* \_SB_.AWR0.ABRA.AB07 */
}
Else
{
Return (AB06) /* \_SB_.AWR0.ABRA.AB06 */
}
}
Return (0xFF)
}
Method (A122, 2, NotSerialized)
{
If ((A108 (Arg0, 0x00) == 0xFFFFFFFF))
{
Return (0x00)
}
Local0 = A108 (Arg0, 0x34)
While (0x01)
{
Local1 = A108 (Arg0, (Local0 & 0xFF))
If (((Local1 & 0xFF) == Arg1))
{
Return ((Local0 & 0xFF))
}
Local0 = ((Local1 >> 0x08) & 0xFF)
If ((Local0 == 0x00))
{
Return (Local0)
}
}
}
Name (AESP, Package (0x08)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
})
Method (A102, 1, NotSerialized)
{
Local0 = 0x00
If ((A108 (Local0, 0x00) != 0xFFFFFFFF))
{
Local1 = (A108 (Local0, 0x08) & 0x80)
If ((Local1 == 0x80))
{
Local7 = 0x07
}
Else
{
Local7 = 0x00
}
While ((Local0 <= Local7))
{
Local1 = A122 (Local0, 0x10)
If ((Local1 == 0x00))
{
Local0++
Continue
}
If ((Arg0 == 0x00))
{
Local2 = A108 (Local0, (Local1 + 0x10))
A120 (Local0, (Local1 + 0x10), (Local2 & ~0x03))
AESP [Local0] = Local2
}
Else
{
Local2 = DerefOf (AESP [Local0])
A120 (Local0, (Local1 + 0x10), Local2)
}
Local0++
}
}
Else
{
}
}
Method (A120, 3, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
ADRR = Arg2
}
Method (A108, 2, Serialized)
{
Local0 = (AGRB + (A105 << 0x14))
Local0 += (Arg0 << 0x0C)
Local0 += Arg1
OperationRegion (ADRB, SystemMemory, Local0, 0x04)
Field (ADRB, DWordAcc, NoLock, Preserve)
{
ADRR, 32
}
Return (ADRR) /* \_SB_.AWR0.ABRA.A108.ADRR */
}
Method (A118, 1, NotSerialized)
{
If ((AB0B != 0x01))
{
Return (0x00)
}
Return (A106 (Arg0))
}
Method (A119, 1, NotSerialized)
{
Name (A103, 0x00)
Local2 = 0x00
A103 = A112 /* \_SB_.AWR0.ABRA.A112 */
Local1 = (AB0D | (AB0C << 0x03))
If ((Arg0 == 0x01))
{
A113 = 0x00
Local0 = 0x01
}
Else
{
A102 (0x00)
Local0 = A108 (0x00, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x00, 0x04, (Local0 & ~0x04))
Local0 = A108 (0x01, 0x04)
If ((Local0 != 0xFFFFFFFF))
{
A120 (0x01, 0x04, (Local0 & ~0x04))
}
}
Local2 = 0x00
A113 = 0x01
Local0 = 0x05
}
A112 = 0x00
While ((Local0 != 0x08))
{
If ((Local0 == 0x01))
{
A121 (0x29, Local1, 0x00, 0x00, 0x00)
Local2 = 0x01
Local0 = 0x08
}
If ((Local0 == 0x05))
{
A108 (0x00, 0x00)
A121 (0x2A, Local1, 0x00, 0x00, 0x00)
AB05 = 0x00
AB04 = 0x00
AB10 = 0x00
Local2 = 0x00
Local0 = 0x08
}
}
A112 = A103 /* \_SB_.AWR0.ABRA.A119.A103 */
If ((A103 != 0x00))
{
A102 (0x01)
}
Return (Local2)
}
}
}
Method (A179, 1, Serialized)
{
If ((DerefOf (\_SB.ADAT [0x08]) == 0x01))
{
Local0 = 0x00
While ((Local0 < 0x0B))
{
A180 (Local0, Arg0)
Local0++
}
}
}
Method (A109, 3, NotSerialized)
{
Local7 = Buffer (0x18) {}
CreateDWordField (Local7, 0x00, A012)
CreateDWordField (Local7, 0x04, A013)
CreateDWordField (Local7, 0x08, A014)
CreateDWordField (Local7, 0x0C, A015)
CreateDWordField (Local7, 0x10, A016)
CreateDWordField (Local7, 0x14, A017)
A012 = Arg1
A013 = Arg2
A018 (Arg0, Local7)
}
Method (A180, 2, NotSerialized)
{
If ((Arg0 == 0x00))
{
Return (\_SB.AWR0.ABR0.A107 (Arg1))
}
If ((Arg0 == 0x01))
{
Return (\_SB.AWR0.ABR1.A107 (Arg1))
}
If ((Arg0 == 0x02))
{
Return (\_SB.AWR0.ABR2.A107 (Arg1))
}
If ((Arg0 == 0x03))
{
Return (\_SB.AWR0.ABR3.A107 (Arg1))
}
If ((Arg0 == 0x04))
{
Return (\_SB.AWR0.ABR4.A107 (Arg1))
}
If ((Arg0 == 0x05))
{
Return (\_SB.AWR0.ABR5.A107 (Arg1))
}
If ((Arg0 == 0x06))
{
Return (\_SB.AWR0.ABR6.A107 (Arg1))
}
If ((Arg0 == 0x07))
{
Return (\_SB.AWR0.ABR7.A107 (Arg1))
}
If ((Arg0 == 0x08))
{
Return (\_SB.AWR0.ABR8.A107 (Arg1))
}
If ((Arg0 == 0x09))
{
Return (\_SB.AWR0.ABR9.A107 (Arg1))
}
If ((Arg0 == 0x0A))
{
Return (\_SB.AWR0.ABRA.A107 (Arg1))
}
}
Method (A071, 1, Serialized)
{
Local0 = 0x00
Local6 = DerefOf (Arg0 [Local0])
Local7 = Buffer (0x18) {}
CreateDWordField (Local7, 0x00, A012)
CreateDWordField (Local7, 0x04, A013)
CreateDWordField (Local7, 0x08, A014)
CreateDWordField (Local7, 0x0C, A015)
CreateDWordField (Local7, 0x10, A016)
CreateDWordField (Local7, 0x14, A017)
Local0 = 0x02
Local1 = DerefOf (Arg0 [Local0])
Local0++
Local2 = DerefOf (Arg0 [Local0])
Local0++
Local2 |= (DerefOf (Arg0 [Local0]) << 0x08)
A012 = 0x00
A013 = 0x00
A014 = 0x00
A015 = 0x00
A016 = 0x00
A017 = 0x00
If ((Local1 == 0x00))
{
A012 = Local2
A179 (0x00)
}
If ((Local1 == 0x01))
{
A012 = Local2
A179 (0x01)
}
If ((Local1 == 0x02))
{
A012 = Local2
A018 (0x27, Local7)
}
If ((Local1 == 0x03))
{
A012 = Local2
A018 (0x28, Local7)
}
}
Name (A008, 0x01)
Name (A009, 0x00)
Method (APTS, 1, NotSerialized)
{
If ((Arg0 == 0x03)) {}
}
Method (AWAK, 1, NotSerialized)
{
If ((Arg0 == 0x03)) {}
}
Method (APPM, 1, NotSerialized)
{
Local0 = DerefOf (Arg0 [0x04])
Local1 = DerefOf (Arg0 [0x02])
A010 (Local0, Local1)
}
Method (A011, 0, NotSerialized)
{
Local7 = Buffer (0x18) {}
CreateDWordField (Local7, 0x00, A012)
CreateDWordField (Local7, 0x04, A013)
CreateDWordField (Local7, 0x08, A014)
CreateDWordField (Local7, 0x0C, A015)
CreateDWordField (Local7, 0x10, A016)
CreateDWordField (Local7, 0x14, A017)
A012 = 0x00
A013 = 0x00
A014 = 0x00
A015 = 0x00
A016 = 0x00
A017 = 0x00
If ((AD00 == 0x00))
{
A018 (0x11, Local7)
}
Else
{
A018 (0x12, Local7)
}
}
Method (A019, 2, NotSerialized)
{
}
}
}
[-- Attachment #5: ssdt3.dsl --]
[-- Type: text/x-dsl, Size: 175063 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt3.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00009FE6 (40934)
* Revision 0x02
* Checksum 0x81
* OEM ID "LENOVO"
* OEM Table ID "INTGPP03"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "INTGPP03", 0x00000001)
{
External (_ADR, IntObj)
External (_GPE, DeviceObj)
External (_SB_.ALIB, MethodObj) // 2 Arguments
External (_SB_.CK17, MethodObj) // 0 Arguments
External (_SB_.PCI0, UnknownObj)
External (_SB_.PCI0.DADR, IntObj)
External (_SB_.PCI0.EBUS, IntObj)
External (_SB_.PCI0.GP11, DeviceObj)
External (_SB_.PCI0.GP12, DeviceObj)
External (_SB_.PCI0.GP19, DeviceObj)
External (_SB_.PCI0.GP19.NHI0, DeviceObj)
External (_SB_.PCI0.GP19.NHI1, DeviceObj)
External (_SB_.PCI0.GP19.XHC2, DeviceObj)
External (_SB_.PCI0.GP19.XHC3, DeviceObj)
External (_SB_.PCI0.GP19.XHC3.RHUB.PRT2, DeviceObj)
External (_SB_.PCI0.GP19.XHC4, DeviceObj)
External (_SB_.PCI0.GP19.XHC4.RHUB.PRT2, DeviceObj)
External (_SB_.PCI0.RPRM, MethodObj) // 2 Arguments
External (_SB_.PCI0.SPCH, MethodObj) // 2 Arguments
External (M000, MethodObj) // 1 Arguments
External (M017, MethodObj) // 6 Arguments
External (M020, MethodObj) // 5 Arguments
External (M037, DeviceObj)
External (M045, MethodObj) // 0 Arguments
External (M046, IntObj)
External (M047, IntObj)
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M082, FieldUnitObj)
External (M083, FieldUnitObj)
External (M084, FieldUnitObj)
External (M085, FieldUnitObj)
External (M086, FieldUnitObj)
External (M087, FieldUnitObj)
External (M088, FieldUnitObj)
External (M089, FieldUnitObj)
External (M090, FieldUnitObj)
External (M091, FieldUnitObj)
External (M092, FieldUnitObj)
External (M093, FieldUnitObj)
External (M094, FieldUnitObj)
External (M095, FieldUnitObj)
External (M096, FieldUnitObj)
External (M097, FieldUnitObj)
External (M098, FieldUnitObj)
External (M099, FieldUnitObj)
External (M100, FieldUnitObj)
External (M101, FieldUnitObj)
External (M102, FieldUnitObj)
External (M103, FieldUnitObj)
External (M104, FieldUnitObj)
External (M105, FieldUnitObj)
External (M106, FieldUnitObj)
External (M107, FieldUnitObj)
External (M108, FieldUnitObj)
External (M109, FieldUnitObj)
External (M110, FieldUnitObj)
External (M115, BuffObj)
External (M116, BuffFieldObj)
External (M117, BuffFieldObj)
External (M118, BuffFieldObj)
External (M119, BuffFieldObj)
External (M120, BuffFieldObj)
External (M122, FieldUnitObj)
External (M127, DeviceObj)
External (M128, FieldUnitObj)
External (M131, FieldUnitObj)
External (M132, FieldUnitObj)
External (M133, FieldUnitObj)
External (M134, FieldUnitObj)
External (M135, FieldUnitObj)
External (M136, FieldUnitObj)
External (M220, FieldUnitObj)
External (M221, FieldUnitObj)
External (M226, FieldUnitObj)
External (M227, DeviceObj)
External (M229, FieldUnitObj)
External (M231, FieldUnitObj)
External (M232, MethodObj) // 3 Arguments
External (M233, FieldUnitObj)
External (M235, FieldUnitObj)
External (M23A, FieldUnitObj)
External (M249, MethodObj) // 4 Arguments
External (M251, FieldUnitObj)
External (M280, FieldUnitObj)
External (M290, FieldUnitObj)
External (M29A, FieldUnitObj)
External (M310, FieldUnitObj)
External (M31C, FieldUnitObj)
External (M320, FieldUnitObj)
External (M321, FieldUnitObj)
External (M322, FieldUnitObj)
External (M323, FieldUnitObj)
External (M324, FieldUnitObj)
External (M325, FieldUnitObj)
External (M326, FieldUnitObj)
External (M327, FieldUnitObj)
External (M328, FieldUnitObj)
External (M329, DeviceObj)
External (M32A, DeviceObj)
External (M32B, DeviceObj)
External (M330, DeviceObj)
External (M331, FieldUnitObj)
External (M378, FieldUnitObj)
External (M379, FieldUnitObj)
External (M380, FieldUnitObj)
External (M381, FieldUnitObj)
External (M382, FieldUnitObj)
External (M383, FieldUnitObj)
External (M384, FieldUnitObj)
External (M385, FieldUnitObj)
External (M386, FieldUnitObj)
External (M387, FieldUnitObj)
External (M388, FieldUnitObj)
External (M389, FieldUnitObj)
External (M390, FieldUnitObj)
External (M391, FieldUnitObj)
External (M392, FieldUnitObj)
External (M401, MethodObj) // 3 Arguments
External (M402, MethodObj) // 3 Arguments
External (M404, BuffObj)
External (M408, MutexObj)
External (M414, FieldUnitObj)
External (M444, FieldUnitObj)
External (M449, FieldUnitObj)
External (M453, FieldUnitObj)
External (M454, FieldUnitObj)
External (M455, FieldUnitObj)
External (M456, FieldUnitObj)
External (M457, FieldUnitObj)
External (M460, MethodObj) // 7 Arguments
External (M471, MethodObj) // 3 Arguments
External (M4C0, FieldUnitObj)
External (M4F0, FieldUnitObj)
External (M610, FieldUnitObj)
External (M620, FieldUnitObj)
External (M631, FieldUnitObj)
External (M652, FieldUnitObj)
External (SDSW, MethodObj) // 3 Arguments
External (SINI, MethodObj) // 0 Arguments
External (SREG, MethodObj) // 2 Arguments
External (SSTA, MethodObj) // 0 Arguments
Scope (\)
{
Name (P3D3, 0x55)
Name (G0D3, 0x04)
Name (G3D3, 0x04)
Name (RCRS, 0x55)
Name (G5D3, 0x04)
Name (P4D3, 0x04)
Name (H0D3, 0x04)
Name (DIMS, 0xCF)
Name (DDEP, 0x55)
}
Scope (\_SB)
{
Method (CK19, 0, NotSerialized)
{
Local0 = \_SB.PCI0.GP19.RPRM ((\_SB.PCI0.GP19.DADR + 0x54), 0x02)
\_SB.PCI0.GP19.WPRM ((\_SB.PCI0.GP19.DADR + 0x54), 0x02, (Local0 & 0x7FFC))
Local1 = \_SB.PCI0.GP19.XHC2.RPRM ((\_SB.PCI0.GP19.XHC2.DADR + 0x54), 0x02)
Local1 = \_SB.PCI0.GP19.XHC3.RPRM ((\_SB.PCI0.GP19.XHC3.DADR + 0x54), 0x02)
Local1 = \_SB.PCI0.GP19.XHC4.RPRM ((\_SB.PCI0.GP19.XHC4.DADR + 0x54), 0x02)
Local1 = \_SB.PCI0.GP19.NHI0.RPRM ((\_SB.PCI0.GP19.NHI0.DADR + 0x54), 0x02)
Local1 = \_SB.PCI0.GP19.NHI1.RPRM ((\_SB.PCI0.GP19.NHI1.DADR + 0x54), 0x02)
\_SB.PCI0.GP19.WPRM ((\_SB.PCI0.GP19.DADR + 0x54), 0x02, (Local0 & 0x7FFF))
Local0 = \_SB.PCI0.GP11.RPRM ((\_SB.PCI0.GP11.DADR + 0x54), 0x02)
Local0 = \_SB.PCI0.GP12.RPRM ((\_SB.PCI0.GP12.DADR + 0x54), 0x02)
}
Method (OPTS, 1, NotSerialized)
{
M460 (" OEM-ASL-\\_SB.OPTS (0x%X) Start\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (\_SB.CK17))
{
\_SB.CK17 ()
}
\_SB.CK19 ()
M460 (" OEM-ASL-\\_SB.OPTS (0x%X) End\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (OWAK, 1, NotSerialized)
{
M460 (" OEM-ASL-\\_SB.OWAK (0x%X) Start\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (\_SB.CK17))
{
\_SB.CK17 ()
}
\_SB.CK19 ()
M460 (" OEM-ASL-\\_SB.OWAK (0x%X) End\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
}
}
Scope (\_SB.PCI0.GP19)
{
Method (YS0W, 0, Serialized)
{
Local0 = 0x00
If ((\P3D3 != 0x55))
{
Local0 = \P3D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (YPRW, 0, Serialized)
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PRW () Return Package (2) {0x1A, 0x04}\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x1A,
0x04
})
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP19.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* External reference */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If (((PCSA == 0x01) && (PWST == 0xD3)))
{
PWST = 0xD0
}
If (((PCSA == 0x00) && (PWST == 0xD0)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP19.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
}
Else
{
PCSA = 0x01
PWST = 0xD0
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X\n", DADR, PCSA, PWST, 0x00, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
}
Scope (\_SB.PCI0.GP19.XHC2)
{
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
Local0 = 0x00
If ((\G0D3 != 0x55))
{
Local0 = \G0D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (_PRW, 0, Serialized) // _PRW: Power Resources for Wake
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PRW () Return Package (2) {0x1A, 0x04}\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x1A,
0x04
})
}
Method (SREG, 2, Serialized)
{
M000 (0x3F00)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC2._REG (%d %d)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS0, 0, Serialized)
{
M000 (0x3F01)
}
Method (PPS3, 0, Serialized)
{
M000 (0x3F03)
}
Method (PSTA, 0, Serialized)
{
M000 (0x3F05)
}
Method (P_ON, 0, Serialized)
{
M000 (0x3F06)
}
Method (P_OF, 0, Serialized)
{
M000 (0x3F08)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP19.XHC2.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* \_SB_.PCI0.GP19.EBUS */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP19.XHC2.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP19.XHC2.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
Scope (\_SB.PCI0.GP19.XHC3)
{
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
M000 (0x3F34)
Local0 = 0x00
If ((\G3D3 != 0x55))
{
Local0 = \G3D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (_PRW, 0, Serialized) // _PRW: Power Resources for Wake
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PRW () Return Package (2) {0x1A, 0x04}\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x1A,
0x03
})
}
Method (SSTA, 0, Serialized)
{
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC3._STA ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (SREG, 2, Serialized)
{
M000 (0x3F30)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC3._REG (%d %d)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS0, 0, Serialized)
{
M000 (0x3F31)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC3._PS0 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS3, 0, Serialized)
{
M000 (0x3F33)
If ((CondRefOf (\_SB.PCI0.GP11.PCSA) && CondRefOf (\_SB.PCI0.GP19.NHI0.PCSA)))
{
M460 (" GP11.PCSA = %d XHC3.PCSA = %d NHI0.PCSA = %d\n", \_SB.PCI0.GP11.PCSA, \_SB.PCI0.GP19.XHC3.PCSA, \_SB.PCI0.GP19.NHI0.PCSA, 0x00, 0x00, 0x00)
}
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC3._PS3 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PSTA, 0, Serialized)
{
M000 (0x3F35)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC3.PWRS._STA ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_ON, 0, Serialized)
{
M000 (0x3F36)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC3.PWRS._ON ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_OF, 0, Serialized)
{
M000 (0x3F38)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC3.PWRS._OFF ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP19.XHC3.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* \_SB_.PCI0.GP19.EBUS */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP19.XHC3.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP19.XHC3.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
Scope (\_SB.PCI0.GP19.XHC3.RHUB.PRT2)
{
Method (_DEP, 0, Serialized) // _DEP: Dependencies
{
If ((M046 == 0xAA))
{
Local0 = M045 ()
}
If ((((\DDEP == 0x01) && CondRefOf (\_SB.PCI0.GP19.XHC3.RHUB.PRT2._DSD)) && (CondRefOf (\_SB.PCI0.GP19.NHI0
) && (M046 < 0x0B))))
{
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC3.RHUB.PRT2._DEP Return Package (1) {\\_SB.PCI0.GP19.NHI0}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x01)
{
\_SB.PCI0
})
}
Else
{
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC3.RHUB.PRT2._DEP Return Package (1) {\\_SB.PCI0}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x01)
{
\_SB.PCI0
})
}
}
Name (XDSD, Package (0x02)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x02)
{
Package (0x02)
{
"usb4-host-interface",
\_SB.PCI0.GP19.NHI0
},
Package (0x02)
{
"usb4-port-number",
0x01
}
}
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
{
CreateDWordField (Arg0, 0x00, UID0)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC3.RHUB.PRT2._DSM (UUID 0x%X, 0x%X, 0x%X)\n", UID0, Arg1, Arg2, 0x00, 0x00, 0x00)
Switch (Arg2)
{
Case (0x00)
{
If ((M046 < 0x0B))
{
M460 (" Return Buffer (1) {0x21}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x21 // !
})
}
Else
{
M460 (" Return Buffer (1) {0x00}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x00 // .
})
}
}
Case (0x05)
{
If ((M046 < 0x0B))
{
M460 (" Return Integer 0x01\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x01)
}
Else
{
M460 (" Unsupported function\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
}
Default
{
M460 (" Unsupported function\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
}
}
Else
{
M460 (" Return Buffer (1) {0x00} (Unsupported UUID)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x00 // .
})
}
}
}
Scope (\_SB.PCI0.GP19.XHC4)
{
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
M000 (0x3F44)
Local0 = 0x00
If ((\G3D3 != 0x55))
{
Local0 = \G3D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (_PRW, 0, Serialized) // _PRW: Power Resources for Wake
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PRW () Return Package (2) {0x1A, 0x04}\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x1A,
0x03
})
}
Method (SSTA, 0, Serialized)
{
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC4._STA ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (SREG, 2, Serialized)
{
M000 (0x3F40)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC4._REG (%d %d)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS0, 0, Serialized)
{
M000 (0x3F41)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC4._PS0 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS3, 0, Serialized)
{
M000 (0x3F43)
If ((CondRefOf (\_SB.PCI0.GP12.PCSA) && CondRefOf (\_SB.PCI0.GP19.NHI1.PCSA)))
{
M460 (" GP12.PCSA = %d XHC4.PCSA = %d NHI1.PCSA = %d\n", \_SB.PCI0.GP12.PCSA, \_SB.PCI0.GP19.XHC4.PCSA, \_SB.PCI0.GP19.NHI1.PCSA, 0x00, 0x00, 0x00)
}
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC4._PS3 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PSTA, 0, Serialized)
{
M000 (0x3F45)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC4.PWRS._STA ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_ON, 0, Serialized)
{
M000 (0x3F46)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC4.PWRS._ON ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_OF, 0, Serialized)
{
M000 (0x3F48)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC4.PWRS._OFF ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP19.XHC4.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* \_SB_.PCI0.GP19.EBUS */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP19.XHC4.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP19.XHC4.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
Scope (\_SB.PCI0.GP19.XHC4.RHUB.PRT2)
{
Method (_DEP, 0, Serialized) // _DEP: Dependencies
{
If ((M046 == 0xAA))
{
Local0 = M045 ()
}
If ((((\DDEP == 0x01) && CondRefOf (\_SB.PCI0.GP19.XHC4.RHUB.PRT2._DSD)) && (CondRefOf (\_SB.PCI0.GP19.NHI1
) && (M046 < 0x0B))))
{
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC4.RHUB.PRT2._DEP Return Package (1) {\\_SB.PCI0.GP19.NHI1}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x01)
{
\_SB.PCI0.GP19.NHI1
})
}
Else
{
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC4.RHUB.PRT2._DEP Return Package (1) {\\_SB.PCI0}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x01)
{
\_SB.PCI0
})
}
}
Name (_DSD, Package (0x02) // _DSD: Device-Specific Data
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x02)
{
Package (0x02)
{
"usb4-host-interface",
\_SB.PCI0.GP19.NHI1
},
Package (0x02)
{
"usb4-port-number",
0x02
}
}
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
{
CreateDWordField (Arg0, 0x00, UID0)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.XHC4.RHUB.PRT2._DSM (UUID 0x%X, 0x%X, 0x%X)\n", UID0, Arg1, Arg2, 0x00, 0x00, 0x00)
Switch (Arg2)
{
Case (0x00)
{
If ((M046 < 0x0B))
{
M460 (" Return Buffer (1) {0x21}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x21 // !
})
}
Else
{
M460 (" Return Buffer (1) {0x00}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x00 // .
})
}
}
Case (0x05)
{
If ((M046 < 0x0B))
{
M460 (" Return Integer 0x01\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x01)
}
Else
{
M460 (" Unsupported function\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
}
Default
{
M460 (" Unsupported function\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
}
}
Else
{
M460 (" Return Buffer (1) {0x00} (Unsupported UUID)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x00 // .
})
}
}
}
Scope (\_SB.PCI0.GP19.NHI0)
{
Method (SDEP, 1, Serialized)
{
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI0.SDEP (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((\DDEP != 0x01))
{
Local1 = \DIMS
M232 (Local1, Arg0, 0x00)
\DDEP = 0x01
}
}
Method (_RST, 0, Serialized) // _RST: Device Reset
{
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI0._RST Call \\_SB.ALIB (0x15, 0)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.ALIB (0x15, 0x00)
}
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
M000 (0x3F54)
Local0 = 0x00
If ((\G5D3 != 0x55))
{
Local0 = \G5D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (_PRW, 0, Serialized) // _PRW: Power Resources for Wake
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PRW () Return Package (2) {0x1A, 0x04}\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x1A,
0x03
})
}
Method (SSTA, 0, Serialized)
{
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI0._STA ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (SREG, 2, Serialized)
{
M000 (0x3F50)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI0._REG (%d %d)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS0, 0, Serialized)
{
M000 (0x3F51)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI0._PS0 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Name (RPNM, 0xEE)
Name (LCRG, 0xEEEEEEEE)
Method (PPS3, 0, Serialized)
{
M000 (0x3F53)
If ((CondRefOf (\_SB.PCI0.GP11.PCSA) && CondRefOf (\_SB.PCI0.GP19.XHC3.PCSA)))
{
M460 (" GP11.PCSA = %d XHC3.PCSA = %d NHI0.PCSA = %d\n", \_SB.PCI0.GP11.PCSA, \_SB.PCI0.GP19.XHC3.PCSA, \_SB.PCI0.GP19.NHI0.PCSA, 0x00, 0x00, 0x00)
}
If ((\G5D3 == 0x04))
{
Local0 = M017 (0x00, 0x03, 0x01, 0x72, 0x00, 0x08)
Local1 = 0xC0
If (((Local0 & 0xC0) == 0x40))
{
M460 (" PCIe GPP [0:3:1] EP is connected\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((RPNM == 0xEE))
{
RPNM = M401 (0x00, 0x03, 0x01)
}
If (((RPNM != 0xFF) && (LCRG == 0xEEEEEEEE)))
{
LCRG = (M471 (0x00, RPNM, 0x04) + 0x0294)
}
If ((LCRG != 0xEEEEEEEE))
{
Local1 = M249 (0x00, 0x00, 0x00, LCRG)
M460 (" OEM-ASL-\\_SB.PCI0.GP11.PCIE_LC_STATE0 = 0x%X\n", Local1, 0x00, 0x00, 0x00, 0x00, 0x00)
}
If (((Local1 & 0x3F) != 0x00))
{
M460 (" OEM-ASL-\\_SB.PCI0.GP11.CpmSendPmeTurnOff (0, 3, 1)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
M402 (0x00, 0x03, 0x01)
}
If ((\_SB.PCI0.GP11.PCSA == 0x01))
{
Local0 = M017 (0x00, 0x03, 0x01, 0x54, 0x00, 0x20)
Local1 = (Local0 | 0x0103)
M020 (0x00, 0x03, 0x01, 0x54, Local1)
}
}
M460 (" Call \\_SB.ALIB (0x14, 1) - Start\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.ALIB (0x14, 0x01)
M460 (" Call \\_SB.ALIB (0x14, 1) - End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI0._PS3 - End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PSTA, 0, Serialized)
{
M000 (0x3F55)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI0.PWRS._STA ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_ON, 0, Serialized)
{
M000 (0x3F56)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI0.PWRS.ON ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_OF, 0, Serialized)
{
M000 (0x3F58)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI0.PWRS.OFF ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP19.NHI0.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* \_SB_.PCI0.GP19.EBUS */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP19.NHI0.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP19.NHI0.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
Scope (\_SB.PCI0.GP19.NHI1)
{
Method (SDEP, 1, Serialized)
{
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI1.SDEP (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((\DDEP != 0x01))
{
Local1 = \DIMS
M232 (Local1, Arg0, 0x00)
\DDEP = 0x01
}
}
Method (_RST, 0, Serialized) // _RST: Device Reset
{
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI1._RST Call \\_SB.ALIB (0x15, 1)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.ALIB (0x15, 0x01)
}
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
M000 (0x3F64)
Local0 = 0x00
If ((\G5D3 != 0x55))
{
Local0 = \G5D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (_PRW, 0, Serialized) // _PRW: Power Resources for Wake
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PRW () Return Package (2) {0x1A, 0x04}\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x1A,
0x04
})
Return (Package (0x02)
{
0x1A,
0x03
})
}
Method (SSTA, 0, Serialized)
{
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI1._STA ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (SREG, 2, Serialized)
{
M000 (0x3F60)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI1._REG (%d %d)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS0, 0, Serialized)
{
M000 (0x3F61)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI1._PS0 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Name (RPNM, 0xEE)
Name (LCRG, 0xEEEEEEEE)
Method (PPS3, 0, Serialized)
{
M000 (0x3F63)
If ((CondRefOf (\_SB.PCI0.GP12.PCSA) && CondRefOf (\_SB.PCI0.GP19.XHC4.PCSA)))
{
M460 (" GP12.PCSA = %d XHC4.PCSA = %d NHI1.PCSA = %d\n", \_SB.PCI0.GP12.PCSA, \_SB.PCI0.GP19.XHC4.PCSA, \_SB.PCI0.GP19.NHI1.PCSA, 0x00, 0x00, 0x00)
}
If ((\G5D3 == 0x04))
{
Local0 = M017 (0x00, 0x04, 0x01, 0x72, 0x00, 0x08)
Local1 = 0xC0
If (((Local0 & 0xC0) == 0x40))
{
M460 (" PCIe GPP [0:4:1] EP is connected\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((RPNM == 0xEE))
{
RPNM = M401 (0x00, 0x04, 0x01)
}
If (((RPNM != 0xFF) && (LCRG == 0xEEEEEEEE)))
{
LCRG = (M471 (0x00, RPNM, 0x04) + 0x0294)
}
If ((LCRG != 0xEEEEEEEE))
{
Local1 = M249 (0x00, 0x00, 0x00, LCRG)
M460 (" OEM-ASL-\\_SB.PCI0.GP12.PCIE_LC_STATE0 = 0x%X\n", Local1, 0x00, 0x00, 0x00, 0x00, 0x00)
}
If (((Local1 & 0x3F) != 0x00))
{
M460 (" OEM-ASL-\\_SB.PCI0.GP12.CpmSendPmeTurnOff (0, 4, 1)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
M402 (0x00, 0x04, 0x01)
}
If ((\_SB.PCI0.GP12.PCSA == 0x01))
{
Local0 = M017 (0x00, 0x04, 0x01, 0x54, 0x00, 0x20)
Local1 = (Local0 | 0x0103)
M020 (0x00, 0x04, 0x01, 0x54, Local1)
}
}
M460 (" Call \\_SB.ALIB (0x14, 2) - Start\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.ALIB (0x14, 0x02)
M460 (" Call \\_SB.ALIB (0x14, 2) - End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI1._PS3 - End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PSTA, 0, Serialized)
{
M000 (0x3F65)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI1.PWRS._STA ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_ON, 0, Serialized)
{
M000 (0x3F66)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI1.PWRS.ON ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_OF, 0, Serialized)
{
M000 (0x3F68)
M460 (" OEM-ASL-\\_SB.PCI0.GP19.NHI1.PWRS.OFF ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP19.NHI1.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* \_SB_.PCI0.GP19.EBUS */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP19.NHI1.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP19.NHI1.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
Scope (\_SB.PCI0.GP11)
{
Method (_DEP, 0, Serialized) // _DEP: Dependencies
{
If ((M046 == 0xAA))
{
Local0 = M045 ()
}
If ((((\DDEP == 0x01) && CondRefOf (\_SB.PCI0.GP11._DSD)) && (CondRefOf (\_SB.PCI0.GP19.NHI0
) && (M046 < 0x0B))))
{
M460 (" OEM-ASL-\\_SB.PCI0.GP11._DEP Return Package (1) {\\_SB.PCI0.GP19.NHI0}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x01)
{
\_SB.PCI0.GP19.NHI0
})
}
Else
{
M460 (" OEM-ASL-\\_SB.PCI0.GP11._DEP Return Package (1) {\\_SB.PCI0}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x01)
{
\_SB.PCI0
})
}
}
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
M000 (0x3F74)
Local0 = 0x00
If ((\P4D3 != 0x55))
{
Local0 = \P4D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (_PRW, 0, Serialized) // _PRW: Power Resources for Wake
{
M460 (" OEM-ASL-\\_SB.PCI0.GP11._PRW () Return Package (2) {0x1A, 0x04}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x1A,
0x04
})
}
Method (SREG, 2, Serialized)
{
M000 (0x3F70)
M460 (" OEM-ASL-\\_SB.PCI0.GP11._REG (%d %d)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS0, 0, Serialized)
{
M000 (0x3F71)
Sleep (0x64)
M460 (" OEM-ASL-\\_SB.PCI0.GP11._PS0 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS3, 0, Serialized)
{
M000 (0x3F73)
M460 (" OEM-ASL-\\_SB.PCI0.GP11._PS3 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PSTA, 0, Serialized)
{
M000 (0x3F75)
M460 (" OEM-ASL-\\_SB.PCI0.GP11.PWRS._STA ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_ON, 0, Serialized)
{
M000 (0x3F76)
M460 (" OEM-ASL-\\_SB.PCI0.GP11.PWRS._ON ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_OF, 0, Serialized)
{
M000 (0x3F78)
M460 (" OEM-ASL-\\_SB.PCI0.GP11.PWRS._OFF ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP11.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* External reference */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP11.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP11.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
Name (XDSD, Package (0x06)
{
ToUUID ("6211e2c0-58a3-4af3-90e1-927a4e0c55a4") /* Unknown UUID */,
Package (0x01)
{
Package (0x02)
{
"HotPlugSupportInD3",
0x01
}
},
ToUUID ("efcc06cc-73ac-4bc3-bff0-76143807c389") /* Unknown UUID */,
Package (0x02)
{
Package (0x02)
{
"ExternalFacingPort",
0x01
},
Package (0x02)
{
"UID",
0x00
}
},
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x02)
{
Package (0x02)
{
"usb4-host-interface",
\_SB.PCI0.GP19.NHI0
},
Package (0x02)
{
"usb4-port-number",
0x01
}
}
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
CreateDWordField (Arg0, 0x00, UID0)
M460 (" OEM-ASL-\\_SB.PCI0.GP11._DSM (UUID 0x%X, 0x%X, 0x%X)\n", UID0, Arg1, Arg2, 0x00, 0x00, 0x00)
Switch (ToInteger (Arg2))
{
Case (0x00)
{
Switch (Arg1)
{
Case (0x00)
{
M460 (" Return 0x0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x00 // .
})
}
Case (0x01)
{
M460 (" Return 0x21\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x21 // !
})
}
}
M460 (" Return 0x61\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x61 // a
})
}
Case (0x05)
{
If ((Arg1 >= 0x01))
{
Local0 = 0x00
If ((\RCRS != 0x55))
{
Local0 = \RCRS
}
M460 (" Return %d\n", Local0, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
M460 (" Return Package (4) {0x02, 0xC8, 0x02, 0xC8}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x04)
{
0x02,
0xC8,
0x02,
0xC8
})
}
}
}
}
}
Device (SWUS)
{
Name (_ADR, 0x00) // _ADR: Address
Method (_RMV, 0, Serialized) // _RMV: Removal Status
{
M460 (" OEM-ASL-\\_SB.PCI0.GP11.SWUS._RMV () Return 0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x00)
}
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
M000 (0x3F94)
Local0 = 0x00
If ((\H0D3 != 0x55))
{
Local0 = \H0D3
}
M460 (" OEM-ASL-\\_SB.PCI0.GP11.SWUS._S0W () Return %d\n", Local0, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (_PRW, 0, Serialized) // _PRW: Power Resources for Wake
{
M460 (" OEM-ASL-\\_SB.PCI0.GP11.SWUS._PRW () Return Package (2) {0x1A, 0x04}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x1A,
0x04
})
}
Method (SREG, 2, Serialized)
{
M000 (0x3F90)
M460 (" OEM-ASL-\\_SB.PCI0.GP11.SWUS._REG (%d %d)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS0, 0, Serialized)
{
M000 (0x3F91)
M460 (" OEM-ASL-\\_SB.PCI0.GP11.SWUS._PS0 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS3, 0, Serialized)
{
M000 (0x3F93)
M460 (" OEM-ASL-\\_SB.PCI0.GP11.SWUS._PS3 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PSTA, 0, Serialized)
{
M000 (0x3F95)
M460 (" OEM-ASL-\\_SB.PCI0.GP11.SWUS.PWRS._STA ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_ON, 0, Serialized)
{
M000 (0x3F96)
M460 (" OEM-ASL-\\_SB.PCI0.GP11.SWUS.PWRS._ON ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_OF, 0, Serialized)
{
M000 (0x3F98)
M460 (" OEM-ASL-\\_SB.PCI0.GP11.SWUS.PWRS._OFF ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP11.SWUS.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* \_SB_.PCI0.GP11.EBUS */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP11.SWUS.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP11.SWUS.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
}
Scope (\_SB.PCI0.GP12)
{
Method (_DEP, 0, Serialized) // _DEP: Dependencies
{
If ((M046 == 0xAA))
{
Local0 = M045 ()
}
If ((((\DDEP == 0x01) && CondRefOf (\_SB.PCI0.GP12._DSD)) && (CondRefOf (\_SB.PCI0.GP19.NHI1
) && (M046 < 0x0B))))
{
M460 (" OEM-ASL-\\_SB.PCI0.GP12._DEP Return Package (1) {\\_SB.PCI0.GP19.NHI1}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x01)
{
\_SB.PCI0.GP19.NHI1
})
}
Else
{
M460 (" OEM-ASL-\\_SB.PCI0.GP12._DEP Return Package (1) {\\_SB.PCI0}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x01)
{
\_SB.PCI0
})
}
}
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
M000 (0x3F84)
Local0 = 0x00
If ((\P4D3 != 0x55))
{
Local0 = \P4D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (_PRW, 0, Serialized) // _PRW: Power Resources for Wake
{
M460 (" OEM-ASL-\\_SB.PCI0.GP12._PRW () Return Package (2) {0x1A, 0x04}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x1A,
0x04
})
}
Method (SREG, 2, Serialized)
{
M000 (0x3F80)
M460 (" OEM-ASL-\\_SB.PCI0.GP12._REG (%d %d)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS0, 0, Serialized)
{
M000 (0x3F81)
Sleep (0x64)
M460 (" OEM-ASL-\\_SB.PCI0.GP12._PS0 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS3, 0, Serialized)
{
M000 (0x3F83)
M460 (" OEM-ASL-\\_SB.PCI0.GP12._PS3 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PSTA, 0, Serialized)
{
M000 (0x3F85)
M460 (" OEM-ASL-\\_SB.PCI0.GP12.PWRS._STA ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_ON, 0, Serialized)
{
M000 (0x3F86)
M460 (" OEM-ASL-\\_SB.PCI0.GP12.PWRS._ON ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_OF, 0, Serialized)
{
M000 (0x3F88)
M460 (" OEM-ASL-\\_SB.PCI0.GP12.PWRS._OFF ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP12.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* External reference */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP12.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP12.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
Name (_DSD, Package (0x06) // _DSD: Device-Specific Data
{
ToUUID ("6211e2c0-58a3-4af3-90e1-927a4e0c55a4") /* Unknown UUID */,
Package (0x01)
{
Package (0x02)
{
"HotPlugSupportInD3",
0x01
}
},
ToUUID ("efcc06cc-73ac-4bc3-bff0-76143807c389") /* Unknown UUID */,
Package (0x02)
{
Package (0x02)
{
"ExternalFacingPort",
0x01
},
Package (0x02)
{
"UID",
0x01
}
},
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x02)
{
Package (0x02)
{
"usb4-host-interface",
\_SB.PCI0.GP19.NHI1
},
Package (0x02)
{
"usb4-port-number",
0x02
}
}
})
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
{
CreateDWordField (Arg0, 0x00, UID0)
M460 (" OEM-ASL-\\_SB.PCI0.GP12._DSM (UUID 0x%X, 0x%X, 0x%X)\n", UID0, Arg1, Arg2, 0x00, 0x00, 0x00)
Switch (ToInteger (Arg2))
{
Case (0x00)
{
Switch (Arg1)
{
Case (0x00)
{
M460 (" Return 0x0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x00 // .
})
}
Case (0x01)
{
M460 (" Return 0x21\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x21 // !
})
}
}
M460 (" Return 0x61\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x61 // a
})
}
Case (0x05)
{
If ((Arg1 >= 0x01))
{
Local0 = 0x00
If ((\RCRS != 0x55))
{
Local0 = \RCRS
}
M460 (" Return %d\n", Local0, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
}
Case (0x06)
{
If ((Arg1 >= 0x02))
{
M460 (" Return Package (4) {0x02, 0xC8, 0x02, 0xC8}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x04)
{
0x02,
0xC8,
0x02,
0xC8
})
}
}
}
}
}
Device (SWUS)
{
Name (_ADR, 0x00) // _ADR: Address
Method (_RMV, 0, Serialized) // _RMV: Removal Status
{
M460 (" OEM-ASL-\\_SB.PCI0.GP12.SWUS._RMV () Return 0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x00)
}
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
M000 (0x3FA4)
Local0 = 0x00
If ((\H0D3 != 0x55))
{
Local0 = \H0D3
}
M460 (" OEM-ASL-\\_SB.PCI0.GP12.SWUS._S0W () Return %d\n", Local0, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (_PRW, 0, Serialized) // _PRW: Power Resources for Wake
{
M460 (" OEM-ASL-\\_SB.PCI0.GP12.SWUS._PRW () Return Package (2) {0x1A, 0x04}\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x1A,
0x04
})
}
Method (SREG, 2, Serialized)
{
M000 (0x3FA0)
M460 (" OEM-ASL-\\_SB.PCI0.GP12.SWUS._REG (%d %d)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS0, 0, Serialized)
{
M000 (0x3FA1)
M460 (" OEM-ASL-\\_SB.PCI0.GP12.SWUS._PS0 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PPS3, 0, Serialized)
{
M000 (0x3FA3)
M460 (" OEM-ASL-\\_SB.PCI0.GP12.SWUS._PS3 ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (PSTA, 0, Serialized)
{
M000 (0x3FA5)
M460 (" OEM-ASL-\\_SB.PCI0.GP12.SWUS.PWRS._STA ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_ON, 0, Serialized)
{
M000 (0x3FA6)
M460 (" OEM-ASL-\\_SB.PCI0.GP12.SWUS.PWRS._ON ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (P_OF, 0, Serialized)
{
M000 (0x3FA8)
M460 (" OEM-ASL-\\_SB.PCI0.GP12.SWUS.PWRS._OFF ()\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP12.SWUS.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* \_SB_.PCI0.GP12.EBUS */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP12.SWUS.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP12.SWUS.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
}
Scope (\_GPE)
{
Method (_L1A, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
{
M460 (" OEM-ASL-\\_GPE._L1A\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (\_SB.PCI0.GP19))
{
M460 (" Notify (\\_SB.PCI0.GP19, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP19, 0x02) // Device Wake
}
If (CondRefOf (\_SB.PCI0.GP19.NHI0))
{
M460 (" Notify (\\_SB.PCI0.GP19.NHI0, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP19.NHI0, 0x02) // Device Wake
}
If (CondRefOf (\_SB.PCI0.GP19.NHI1))
{
M460 (" Notify (\\_SB.PCI0.GP19.NHI1, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP19.NHI1, 0x02) // Device Wake
}
If (CondRefOf (\_SB.PCI0.GP19.XHC2))
{
M460 (" Notify (\\_SB.PCI0.GP19.XHC2, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP19.XHC2, 0x02) // Device Wake
}
If (CondRefOf (\_SB.PCI0.GP19.XHC3))
{
M460 (" Notify (\\_SB.PCI0.GP19.XHC3, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP19.XHC3, 0x02) // Device Wake
}
If (CondRefOf (\_SB.PCI0.GP19.XHC4))
{
M460 (" Notify (\\_SB.PCI0.GP19.XHC4, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP19.XHC4, 0x02) // Device Wake
}
If (CondRefOf (\_SB.PCI0.GP11))
{
M460 (" Notify (\\_SB.PCI0.GP11, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP11, 0x02) // Device Wake
}
If (CondRefOf (\_SB.PCI0.GP11.SWUS))
{
M460 (" Notify (\\_SB.PCI0.GP11.SWUS, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP11.SWUS, 0x02) // Device Wake
}
If (CondRefOf (\_SB.PCI0.GP12))
{
M460 (" Notify (\\_SB.PCI0.GP12, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP12, 0x02) // Device Wake
}
If (CondRefOf (\_SB.PCI0.GP12.SWUS))
{
M460 (" Notify (\\_SB.PCI0.GP12.SWUS, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP12.SWUS, 0x02) // Device Wake
}
}
}
}
[-- Attachment #6: ssdt4.dsl --]
[-- Type: text/x-dsl, Size: 37214 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt4.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00001BAA (7082)
* Revision 0x02
* Checksum 0x90
* OEM ID "LENOVO"
* OEM Table ID "UPEP"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "UPEP", 0x00000001)
{
External (_SB_.PCI0, DeviceObj)
External (_SB_.PCI0.GP11, DeviceObj)
External (_SB_.PCI0.GP12, DeviceObj)
External (_SB_.PCI0.GP17.XHC0, DeviceObj)
External (_SB_.PCI0.GP17.XHC1, DeviceObj)
External (_SB_.PCI0.GP19.XHC3, DeviceObj)
External (_SB_.PCI0.GP19.XHC4, DeviceObj)
External (_SB_.PCI0.GPP7.DEV0, DeviceObj)
External (_SB_.PCI0.LPC0.EC0_.ECNT, MethodObj) // 1 Arguments
External (_SB_.PCI0.LPC0.EC0_.HKEY.DYTC, MethodObj) // 1 Arguments
External (_SB_.PCI0.LPC0.EC0_.HKEY.MSCB, IntObj)
External (_SB_.PCI0.LPC0.EC0_.UPHK, MethodObj) // 1 Arguments
External (F0D3, IntObj)
External (F1D3, IntObj)
External (F3D3, IntObj)
External (F5D3, IntObj)
External (F6D3, IntObj)
External (G0D3, IntObj)
External (G3D3, IntObj)
External (G5D3, IntObj)
External (H0D3, IntObj)
External (M000, MethodObj) // 1 Arguments
External (M037, DeviceObj)
External (M045, MethodObj) // 0 Arguments
External (M046, IntObj)
External (M047, IntObj)
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M082, FieldUnitObj)
External (M083, FieldUnitObj)
External (M084, FieldUnitObj)
External (M085, FieldUnitObj)
External (M086, FieldUnitObj)
External (M087, FieldUnitObj)
External (M088, FieldUnitObj)
External (M089, FieldUnitObj)
External (M090, FieldUnitObj)
External (M091, FieldUnitObj)
External (M092, FieldUnitObj)
External (M093, FieldUnitObj)
External (M094, FieldUnitObj)
External (M095, FieldUnitObj)
External (M096, FieldUnitObj)
External (M097, FieldUnitObj)
External (M098, FieldUnitObj)
External (M099, FieldUnitObj)
External (M100, FieldUnitObj)
External (M101, FieldUnitObj)
External (M102, FieldUnitObj)
External (M103, FieldUnitObj)
External (M104, FieldUnitObj)
External (M105, FieldUnitObj)
External (M106, FieldUnitObj)
External (M107, FieldUnitObj)
External (M108, FieldUnitObj)
External (M109, FieldUnitObj)
External (M110, FieldUnitObj)
External (M115, BuffObj)
External (M116, BuffFieldObj)
External (M117, BuffFieldObj)
External (M118, BuffFieldObj)
External (M119, BuffFieldObj)
External (M120, BuffFieldObj)
External (M122, FieldUnitObj)
External (M127, DeviceObj)
External (M128, FieldUnitObj)
External (M131, FieldUnitObj)
External (M132, FieldUnitObj)
External (M133, FieldUnitObj)
External (M134, FieldUnitObj)
External (M135, FieldUnitObj)
External (M136, FieldUnitObj)
External (M220, FieldUnitObj)
External (M221, FieldUnitObj)
External (M226, FieldUnitObj)
External (M227, DeviceObj)
External (M229, FieldUnitObj)
External (M231, FieldUnitObj)
External (M233, FieldUnitObj)
External (M235, FieldUnitObj)
External (M23A, FieldUnitObj)
External (M251, FieldUnitObj)
External (M280, FieldUnitObj)
External (M290, FieldUnitObj)
External (M29A, FieldUnitObj)
External (M310, FieldUnitObj)
External (M31C, FieldUnitObj)
External (M320, FieldUnitObj)
External (M321, FieldUnitObj)
External (M322, FieldUnitObj)
External (M323, FieldUnitObj)
External (M324, FieldUnitObj)
External (M325, FieldUnitObj)
External (M326, FieldUnitObj)
External (M327, FieldUnitObj)
External (M328, FieldUnitObj)
External (M329, DeviceObj)
External (M32A, DeviceObj)
External (M32B, DeviceObj)
External (M330, DeviceObj)
External (M331, FieldUnitObj)
External (M378, FieldUnitObj)
External (M379, FieldUnitObj)
External (M380, FieldUnitObj)
External (M381, FieldUnitObj)
External (M382, FieldUnitObj)
External (M383, FieldUnitObj)
External (M384, FieldUnitObj)
External (M385, FieldUnitObj)
External (M386, FieldUnitObj)
External (M387, FieldUnitObj)
External (M388, FieldUnitObj)
External (M389, FieldUnitObj)
External (M390, FieldUnitObj)
External (M391, FieldUnitObj)
External (M392, FieldUnitObj)
External (M404, BuffObj)
External (M408, MutexObj)
External (M414, FieldUnitObj)
External (M444, FieldUnitObj)
External (M449, FieldUnitObj)
External (M453, FieldUnitObj)
External (M454, FieldUnitObj)
External (M455, FieldUnitObj)
External (M456, FieldUnitObj)
External (M457, FieldUnitObj)
External (M460, MethodObj) // 7 Arguments
External (M4C0, FieldUnitObj)
External (M4F0, FieldUnitObj)
External (M610, FieldUnitObj)
External (M620, FieldUnitObj)
External (M631, FieldUnitObj)
External (M652, FieldUnitObj)
External (P1D3, IntObj)
External (P3D3, IntObj)
External (P4D3, IntObj)
Scope (\_SB.PCI0)
{
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
\_SB.PEP
})
}
Scope (\)
{
Name (SLX4, 0x55)
Name (SLP4, 0x55)
Name (SLP1, 0x55)
}
Scope (\_SB)
{
Device (PEP)
{
Name (_HID, "AMDI0009") // _HID: Hardware ID
Name (_CID, EisaId ("PNP0D80") /* Windows-compatible System Power Management Controller */) // _CID: Compatible ID
Name (_UID, One) // _UID: Unique ID
Name (DEVL, Package (0x03)
{
0x00,
0x00,
Package (0x34)
{
Package (0x04)
{
0x00,
"\\_SB.PCI0.GPP1",
0x00,
0x00
},
Package (0x04)
{
0x00,
"\\_SB.PCI0.GP11",
0x00,
0x03
},
Package (0x04)
{
0x00,
"\\_SB.PCI0.GP12",
0x00,
0x03
},
Package (0x04)
{
0x00,
"\\_SB.PCI0.GP17",
0x00,
0x00
},
Package (0x04)
{
0x00,
"\\_SB.PCI0.GP19",
0x00,
0x00
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GPP0",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GPP2",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GPP6",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GPP5",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GPP7",
0x02,
0x01
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP11.SWUS",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP12.SWUS",
0x00,
0x03
},
Package (0x04)
{
0x00,
"\\_SB.PCI0.GPP1.DEV0",
0x00,
0x00
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GPP1.NVME",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GPP7.DEV0",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GPP2.WWAN",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GPP5.RTL8",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GPP5.RUSB",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GPP6.WLAN",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GPP8.NVME",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP17.VGA",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP17.AZAL",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP17.ACP",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP17.HDAU",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP17.XHC0",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP17.XHC1",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP17.XHC1.RHUB.PRT2.BUTH",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP18.IPU",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP19.XHC2",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP19.XHC3",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP19.XHC4",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP19.NHI0",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PCI0.GP19.NHI1",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.I2CC.NFC1",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.FAR0",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.FAR1",
0x00,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C000",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C001",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C002",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C003",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C004",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C005",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C006",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C007",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C008",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C009",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C00A",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C00B",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C00C",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C00D",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C00E",
0x01,
0x03
},
Package (0x04)
{
0x01,
"\\_SB.PLTF.C00F",
0x01,
0x03
}
}
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (M045 ())
{
M460 (" OEM-ASL-\\_SB.PEP._STA = 0xF\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x0F)
}
Else
{
M460 (" OEM-ASL-\\_SB.PEP._STA = 0x0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x00)
}
}
Method (MPEP, 4, NotSerialized)
{
Local1 = DerefOf (DEVL [0x01])
Local0 = 0x00
While ((Local0 < Local1))
{
If ((DerefOf (DerefOf (DerefOf (DEVL [0x02]) [Local0]
) [0x01]) == Arg1))
{
DerefOf (DerefOf (DEVL [0x02]) [Local0]) [0x00]
= Arg0
DerefOf (DerefOf (DEVL [0x02]) [Local0]) [0x02]
= Arg2
DerefOf (DerefOf (DEVL [0x02]) [Local0]) [0x03]
= Arg3
Break
}
Local0++
}
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
CreateDWordField (Arg0, 0x00, UID0)
M460 (" OEM-ASL-\\_SB.PEP._DSM (UUID 0x%X, 0x%X, 0x%X)\n", UID0, Arg1, Arg2, 0x00, 0x00, 0x00)
If ((Arg0 == ToUUID ("e3f32452-febc-43ce-9039-932122d37721") /* Unknown UUID */))
{
Switch (ToInteger (Arg2))
{
Case (0x00)
{
Switch (ToInteger (Arg1))
{
Case (0x00)
{
M460 (" Return (Buffer (1) {0x03})\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x03 // .
})
}
Case (0x01)
{
M460 (" Return (Buffer (1) {0x03})\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x03 // .
})
}
Case (0x02)
{
M460 (" Return (Buffer (1) {0x3F})\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x3F // ?
})
}
Default
{
M460 (" Return (Buffer (1) {0x00})\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x00 // .
})
}
}
}
Case (0x01)
{
DEVL [0x01] = SizeOf (DEVL [0x02])
M460 (" OEM-ASL-DEVL[Count] = %d\n", DerefOf (DEVL [0x01]), 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (\P4D3))
{
If ((\P4D3 != 0x55))
{
MPEP (0x01, "\\_SB.PCI0.GP11", 0x00, 0x03)
MPEP (0x01, "\\_SB.PCI0.GP12", 0x00, 0x03)
}
}
If (CondRefOf (\P1D3))
{
If ((\P1D3 != 0x55))
{
MPEP (0x01, "\\_SB.PCI0.GP17", 0x00, 0x03)
}
}
If (CondRefOf (\P3D3))
{
If ((\P3D3 != 0x55))
{
MPEP (0x01, "\\_SB.PCI0.GP19", 0x00, 0x03)
}
}
If (CondRefOf (\H0D3))
{
If ((\H0D3 != 0x04))
{
MPEP (0x00, "\\_SB.PCI0.GP11.SWUS", 0x00, 0x00)
MPEP (0x00, "\\_SB.PCI0.GP12.SWUS", 0x00, 0x00)
}
}
If (CondRefOf (\F0D3))
{
If ((\F0D3 != 0x04))
{
MPEP (0x00, "\\_SB.PCI0.GP17.VGA", 0x00, 0x00)
}
}
If (CondRefOf (\F1D3))
{
If ((\F1D3 != 0x04))
{
MPEP (0x00, "\\_SB.PCI0.GP17.HDAU", 0x00, 0x00)
}
}
If (CondRefOf (\F3D3))
{
If ((\F3D3 != 0x04))
{
MPEP (0x00, "\\_SB.PCI0.GP17.XHC0", 0x00, 0x00)
MPEP (0x00, "\\_SB.PCI0.GP17.XHC1", 0x00, 0x00)
}
}
If (CondRefOf (\F5D3))
{
If ((\F5D3 != 0x04))
{
MPEP (0x00, "\\_SB.PCI0.GP17.ACP", 0x00, 0x00)
}
}
If (CondRefOf (\F6D3))
{
If ((\F6D3 != 0x04))
{
MPEP (0x00, "\\_SB.PCI0.GP17.AZAL", 0x00, 0x00)
}
}
If (CondRefOf (\G0D3))
{
If ((\G0D3 != 0x04))
{
MPEP (0x00, "\\_SB.PCI0.GP19.XHC2", 0x00, 0x00)
}
}
If (CondRefOf (\G3D3))
{
If ((\G3D3 != 0x04))
{
MPEP (0x00, "\\_SB.PCI0.GP19.XHC3", 0x00, 0x00)
MPEP (0x00, "\\_SB.PCI0.GP19.XHC4", 0x00, 0x00)
}
}
If (CondRefOf (\G5D3))
{
If ((\G5D3 != 0x04))
{
MPEP (0x00, "\\_SB.PCI0.GP19.NHI0", 0x00, 0x00)
MPEP (0x00, "\\_SB.PCI0.GP19.NHI1", 0x00, 0x00)
}
}
If ((\SLP4 != 0x55))
{
MPEP (0x01, "\\_SB.PCI0.GPP1.DEV0", 0x00, 0x03)
MPEP (0x00, "\\_SB.PCI0.GPP1.NVME", 0x00, 0x00)
If ((\SLX4 != 0x55))
{
MPEP (0x01, "\\_SB.PCI0.GPP1", 0x00, 0x03)
}
}
If ((\SLP1 != 0x55))
{
MPEP (0x01, "\\_SB.PCI0.GPP2", 0x02, 0x01)
}
MPEP (0x00, "\\_SB.PCI0.GP17.XHC1.RHUB.PRT2.BUT", 0x00, 0x00)
MPEP (0x00, "\\_SB.I2CC.NFC1", 0x00, 0x00)
MPEP (0x00, "\\_SB.FAR0", 0x00, 0x00)
MPEP (0x00, "\\_SB.FAR1", 0x00, 0x00)
MPEP (0x00, "\\_SB.PCI0.GPP6", 0x00, 0x00)
ToInteger (M453, Local7)
If ((Local7 != 0x00))
{
M460 (" OEM-ASL-DEVL:\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Local1 = DerefOf (DEVL [0x01])
Local0 = 0x00
While ((Local0 < Local1))
{
Local2 = DerefOf (DerefOf (DerefOf (DEVL [0x02]) [Local0]
) [0x00])
Local3 = DerefOf (DerefOf (DerefOf (DEVL [0x02]) [Local0]
) [0x01])
Local4 = DerefOf (DerefOf (DerefOf (DEVL [0x02]) [Local0]
) [0x02])
Local5 = DerefOf (DerefOf (DerefOf (DEVL [0x02]) [Local0]
) [0x03])
M460 (" %d - %d %S %d %d\n", ToInteger (Local0), Local2, Local3, Local4, Local5, 0x00)
Local0++
}
}
M460 (" Return (DEVL)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (DEVL) /* \_SB_.PEP_.DEVL */
}
Case (0x02)
{
M000 (0x3E14)
If (CondRefOf (\_SB.PCI0.LPC0.EC0.UPHK))
{
\_SB.PCI0.LPC0.EC0.UPHK (0x03)
}
\_SB.PCI0.LPC0.EC0.ECNT (0x01)
M460 (" Return (0x00)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x00)
}
Case (0x03)
{
M000 (0x3E15)
If (CondRefOf (\_SB.PCI0.LPC0.EC0.UPHK))
{
\_SB.PCI0.LPC0.EC0.UPHK (0x04)
}
\_SB.PCI0.LPC0.EC0.ECNT (0x00)
M460 (" Return (0x00)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x00)
}
Case (0x04)
{
M000 (0x3E12)
If (CondRefOf (\_SB.PCI0.LPC0.EC0.UPHK))
{
\_SB.PCI0.LPC0.EC0.UPHK (0x05)
Sleep (0x01)
\_SB.PCI0.LPC0.EC0.UPHK (0x07)
}
\_SB.PCI0.LPC0.EC0.ECNT (0x03)
Sleep (0x0A)
If ((\_SB.PCI0.LPC0.EC0.HKEY.MSCB == 0x01))
{
\_SB.PCI0.LPC0.EC0.ECNT (0x05)
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x001FC001)
}
M460 (" Return (0x00)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x00)
}
Case (0x05)
{
M000 (0x3E13)
If (CondRefOf (\_SB.PCI0.LPC0.EC0.UPHK))
{
\_SB.PCI0.LPC0.EC0.UPHK (0x08)
Sleep (0x01)
\_SB.PCI0.LPC0.EC0.UPHK (0x06)
}
If ((\_SB.PCI0.LPC0.EC0.HKEY.MSCB == 0x01))
{
\_SB.PCI0.LPC0.EC0.ECNT (0x04)
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x000FC001)
}
Sleep (0x0A)
\_SB.PCI0.LPC0.EC0.ECNT (0x02)
M460 (" Return (0x00)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x00)
}
Default
{
M460 (" Return (0x00)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x00)
}
}
}
ElseIf ((Arg0 == ToUUID ("11e00d56-ce64-47ce-837b-1f898f9aa461") /* Unknown UUID */))
{
If (CondRefOf (\_SB.PCI0.LPC0.EC0.UPHK))
{
\_SB.PCI0.LPC0.EC0.UPHK (ToInteger (Arg2))
}
Switch (ToInteger (Arg2))
{
Case (0x00)
{
Switch (ToInteger (Arg1))
{
Case (0x00)
{
M460 (" Return (Buffer (2) {0xF9, 0x01})\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x02)
{
0xF9, 0x01 // ..
})
}
Default
{
M460 (" Return (Buffer (1) {0x00})\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x00 // .
})
}
}
}
Case (0x03)
{
M000 (0x3E03)
M460 (" Return (0x00)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.PCI0.LPC0.EC0.ECNT (0x01)
Return (0x00)
}
Case (0x04)
{
M000 (0x3E04)
M460 (" Return (0x00)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.PCI0.LPC0.EC0.ECNT (0x00)
Return (0x00)
}
Case (0x05)
{
M000 (0x3E05)
M460 (" Return (0x00)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.PCI0.LPC0.EC0.ECNT (0x03)
Return (0x00)
}
Case (0x06)
{
M000 (0x3E06)
Notify (\_SB.PCI0.GP11, 0x02) // Device Wake
Notify (\_SB.PCI0.GP12, 0x02) // Device Wake
M460 (" Return (0x00)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.PCI0.LPC0.EC0.ECNT (0x02)
Return (0x00)
}
Case (0x07)
{
M000 (0x3E07)
M460 (" Return (0x00)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((\_SB.PCI0.LPC0.EC0.HKEY.MSCB == 0x01))
{
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x001FC001)
\_SB.PCI0.LPC0.EC0.ECNT (0x05)
}
Return (0x00)
}
Case (0x08)
{
M000 (0x3E08)
If (CondRefOf (\_SB.PCI0.GPP7.DEV0))
{
M460 (" Notify (\\_SB.PCI0.GPP7.DEV0, 0x1)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPP7.DEV0, 0x01) // Device Check
}
M460 (" Return (0x00)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((\_SB.PCI0.LPC0.EC0.HKEY.MSCB == 0x01))
{
\_SB.PCI0.LPC0.EC0.HKEY.DYTC (0x000FC001)
\_SB.PCI0.LPC0.EC0.ECNT (0x04)
}
Notify (\_SB.PCI0.GP17.XHC0, 0x02) // Device Wake
Notify (\_SB.PCI0.GP17.XHC1, 0x02) // Device Wake
Notify (\_SB.PCI0.GP19.XHC3, 0x02) // Device Wake
Notify (\_SB.PCI0.GP19.XHC4, 0x02) // Device Wake
Return (0x00)
}
Default
{
M460 (" Return (0x00)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x00)
}
}
}
Else
{
M460 (" Return (Buffer (1) {0x00})\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Buffer (0x01)
{
0x00 // .
})
}
}
}
}
}
[-- Attachment #7: ssdt5.dsl --]
[-- Type: text/x-dsl, Size: 12771 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt5.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00000BF3 (3059)
* Revision 0x02
* Checksum 0x56
* OEM ID "LENOVO"
* OEM Table ID "CPMDFIG4"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "CPMDFIG4", 0x00000001)
{
External (_SB_.ALIB, MethodObj) // 2 Arguments
External (_SB_.PCI0.GP17.VGA_, DeviceObj)
External (_SB_.PCI0.GP17.VGA_.AFN0, MethodObj) // 0 Arguments
External (_SB_.PCI0.GP17.VGA_.AFN1, MethodObj) // 1 Arguments
External (_SB_.PCI0.GP17.VGA_.AFN2, MethodObj) // 2 Arguments
External (_SB_.PCI0.GP17.VGA_.AFN3, MethodObj) // 2 Arguments
External (_SB_.PCI0.GP17.VGA_.AFN4, MethodObj) // 1 Arguments
External (_SB_.PCI0.GP17.VGA_.AFN5, MethodObj) // 0 Arguments
External (_SB_.PCI0.GP17.VGA_.AFN6, MethodObj) // 0 Arguments
External (_SB_.PCI0.GP17.VGA_.AFN7, MethodObj) // 1 Arguments
External (_SB_.PCI0.GP17.VGA_.AFN8, MethodObj) // 0 Arguments
External (_SB_.PCI0.GP17.VGA_.AFNC, MethodObj) // 2 Arguments
External (M000, MethodObj) // 1 Arguments
External (M037, DeviceObj)
External (M046, IntObj)
External (M047, IntObj)
External (M049, MethodObj) // 2 Arguments
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M082, FieldUnitObj)
External (M083, FieldUnitObj)
External (M084, FieldUnitObj)
External (M085, FieldUnitObj)
External (M086, FieldUnitObj)
External (M087, FieldUnitObj)
External (M088, FieldUnitObj)
External (M089, FieldUnitObj)
External (M090, FieldUnitObj)
External (M091, FieldUnitObj)
External (M092, FieldUnitObj)
External (M093, FieldUnitObj)
External (M094, FieldUnitObj)
External (M095, FieldUnitObj)
External (M096, FieldUnitObj)
External (M097, FieldUnitObj)
External (M098, FieldUnitObj)
External (M099, FieldUnitObj)
External (M100, FieldUnitObj)
External (M101, FieldUnitObj)
External (M102, FieldUnitObj)
External (M103, FieldUnitObj)
External (M104, FieldUnitObj)
External (M105, FieldUnitObj)
External (M106, FieldUnitObj)
External (M107, FieldUnitObj)
External (M108, FieldUnitObj)
External (M109, FieldUnitObj)
External (M110, FieldUnitObj)
External (M113, MethodObj) // 1 Arguments
External (M115, BuffObj)
External (M116, BuffFieldObj)
External (M117, BuffFieldObj)
External (M118, BuffFieldObj)
External (M119, BuffFieldObj)
External (M120, BuffFieldObj)
External (M122, FieldUnitObj)
External (M127, DeviceObj)
External (M128, FieldUnitObj)
External (M131, FieldUnitObj)
External (M132, FieldUnitObj)
External (M133, FieldUnitObj)
External (M134, FieldUnitObj)
External (M135, FieldUnitObj)
External (M136, FieldUnitObj)
External (M220, FieldUnitObj)
External (M221, FieldUnitObj)
External (M226, FieldUnitObj)
External (M227, DeviceObj)
External (M229, FieldUnitObj)
External (M231, FieldUnitObj)
External (M232, MethodObj) // 3 Arguments
External (M233, FieldUnitObj)
External (M235, FieldUnitObj)
External (M23A, FieldUnitObj)
External (M251, FieldUnitObj)
External (M280, FieldUnitObj)
External (M290, FieldUnitObj)
External (M29A, FieldUnitObj)
External (M310, FieldUnitObj)
External (M31C, FieldUnitObj)
External (M320, FieldUnitObj)
External (M321, FieldUnitObj)
External (M322, FieldUnitObj)
External (M323, FieldUnitObj)
External (M324, FieldUnitObj)
External (M325, FieldUnitObj)
External (M326, FieldUnitObj)
External (M327, FieldUnitObj)
External (M328, FieldUnitObj)
External (M329, DeviceObj)
External (M32A, DeviceObj)
External (M32B, DeviceObj)
External (M330, DeviceObj)
External (M331, FieldUnitObj)
External (M378, FieldUnitObj)
External (M379, FieldUnitObj)
External (M380, FieldUnitObj)
External (M381, FieldUnitObj)
External (M382, FieldUnitObj)
External (M383, FieldUnitObj)
External (M384, FieldUnitObj)
External (M385, FieldUnitObj)
External (M386, FieldUnitObj)
External (M387, FieldUnitObj)
External (M388, FieldUnitObj)
External (M389, FieldUnitObj)
External (M390, FieldUnitObj)
External (M391, FieldUnitObj)
External (M392, FieldUnitObj)
External (M404, BuffObj)
External (M408, MutexObj)
External (M414, FieldUnitObj)
External (M444, FieldUnitObj)
External (M449, FieldUnitObj)
External (M453, FieldUnitObj)
External (M454, FieldUnitObj)
External (M455, FieldUnitObj)
External (M456, FieldUnitObj)
External (M457, FieldUnitObj)
External (M4C0, FieldUnitObj)
External (M4F0, FieldUnitObj)
External (M610, FieldUnitObj)
External (M620, FieldUnitObj)
External (M631, FieldUnitObj)
External (M652, FieldUnitObj)
Scope (\_SB.PCI0.GP17.VGA)
{
Name (M207, Buffer (0xFF) {})
Name (M208, Buffer (0x03) {})
Name (M204, 0x01)
Method (ATCS, 2, Serialized)
{
If ((Arg0 == 0x00))
{
M000 (0x0D60)
ATC0 ()
M000 (0x0D70)
}
If ((Arg0 == 0x01))
{
M000 (0x0D61)
ATC1 ()
M000 (0x0D71)
}
If ((Arg0 == 0x02))
{
M000 (0x0D62)
ATC2 (Arg1)
M000 (0x0D72)
}
If ((Arg0 == 0x03))
{
M000 (0x0D63)
ATC3 ()
M000 (0x0D73)
}
If ((Arg0 == 0x04))
{
M000 (0x0D64)
ATC4 (Arg1)
M000 (0x0D74)
}
If ((Arg0 == 0x06))
{
M000 (0x0D66)
ATC6 (Arg1)
M000 (0x0D76)
}
If ((Arg0 == 0x07))
{
M000 (0x0D67)
ATC7 (Arg1)
M000 (0x0D77)
}
If ((Arg0 == 0x08))
{
M000 (0x0D68)
ATC8 (DerefOf (Arg1 [0x02]), DerefOf (Arg1 [0x03]), DerefOf (
Arg1 [0x04]), DerefOf (Arg1 [0x05]))
M000 (0x0D78)
}
If ((Arg0 == 0x09))
{
M000 (0x0D69)
ATC9 ()
M000 (0x0D79)
}
If ((Arg0 == 0x0A))
{
M000 (0x0D6A)
ATCA (Arg1)
M000 (0x0D7A)
}
Return (M207) /* \_SB_.PCI0.GP17.VGA_.M207 */
}
Method (ATC0, 0, NotSerialized)
{
CreateWordField (M207, 0x00, M157)
CreateWordField (M207, 0x02, M158)
CreateDWordField (M207, 0x04, M160)
M157 = 0x08
M158 = 0x01
M160 = M100 /* External reference */
M207 = \_SB.ALIB (0x00, M207)
}
Method (ATC1, 0, Serialized)
{
CreateWordField (M207, 0x00, M157)
CreateDWordField (M207, 0x02, M161)
CreateDWordField (M207, 0x06, M162)
CreateField (M207, 0x30, 0x01, M203)
M157 = 0x0A
M161 = 0x01
M162 = M100 /* External reference */
Local0 = M049 (M133, 0x15)
If ((Local0 & 0x80))
{
M204 = (Local0 & 0x01)
}
ElseIf ((Local0 & 0x7F))
{
M204 = M113 (Local0)
}
M203 = M204 /* \_SB_.PCI0.GP17.VGA_.M204 */
}
Method (ATC2, 1, Serialized)
{
CreateWordField (M207, 0x00, M157)
CreateByteField (M207, 0x02, M205)
M157 = 0x03
M205 = 0x01
M207 = \_SB.ALIB (0x02, Arg0)
}
Method (ATC3, 0, Serialized)
{
CreateWordField (M207, 0x00, M157)
CreateByteField (M207, 0x02, M205)
CreateWordField (M208, 0x00, M197)
CreateByteField (M208, 0x02, M206)
M157 = 0x03
M205 = 0x01
M197 = 0x03
M206 = 0x01
M207 = \_SB.ALIB (0x03, M208)
}
Method (ATC4, 1, Serialized)
{
CreateWordField (M207, 0x00, M157)
CreateByteField (M207, 0x02, M209)
M157 = 0x03
M209 = 0x01
M207 = \_SB.ALIB (0x04, Arg0)
}
Method (ATC6, 1, Serialized)
{
CreateWordField (M207, 0x00, M157)
CreateDWordField (M207, 0x02, M234)
M157 = 0x06
M234 = M233 /* External reference */
}
Method (ATC7, 1, Serialized)
{
M232 (M235, 0x00, 0x01)
}
Method (ATC8, 4, Serialized)
{
Local0 = Buffer (0x05) {}
CreateWordField (Local0, 0x00, M157)
CreateByteField (Local0, 0x02, M425)
CreateWordField (Local0, 0x03, M426)
M157 = 0x05
Local1 = Arg0
Local2 = Arg1
M426 = ((Local2 << 0x08) + Local1)
Local3 = Arg2
Local4 = Arg3
If (((Local3 == 0x00) && (Local4 == 0x00)))
{
M425 = 0x01
\_SB.ALIB (0xAA, Local0)
}
ElseIf (((Local3 == 0x00) && (Local4 == 0x01)))
{
M425 = 0x00
\_SB.ALIB (0xAA, Local0)
}
ElseIf (((Local3 == 0x03) && (Local4 == 0x01)))
{
M425 = 0x03
\_SB.ALIB (0xAA, Local0)
}
}
Method (ATC9, 0, Serialized)
{
M207 = M444 /* External reference */
}
Method (ATCA, 1, Serialized)
{
CreateWordField (Arg0, 0x00, M157)
CreateWordField (Arg0, 0x02, M240)
M232 (M23A, M240, 0x01)
}
}
Method (AFN0, 0, Serialized)
{
If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN0))
{
\_SB.PCI0.GP17.VGA.AFN0 ()
}
}
Method (AFN1, 1, Serialized)
{
If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN1))
{
\_SB.PCI0.GP17.VGA.AFN1 (Arg0)
}
}
Method (AFN2, 2, Serialized)
{
If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN2))
{
\_SB.PCI0.GP17.VGA.AFN2 (Arg0, Arg1)
}
}
Method (AFN3, 2, Serialized)
{
If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN3))
{
\_SB.PCI0.GP17.VGA.AFN3 (Arg0, Arg1)
}
}
Method (AFN4, 1, Serialized)
{
If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN4))
{
\_SB.PCI0.GP17.VGA.AFN4 (Arg0)
}
}
Method (AFN5, 0, Serialized)
{
If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN5))
{
\_SB.PCI0.GP17.VGA.AFN5 ()
}
}
Method (AFN6, 0, Serialized)
{
If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN6))
{
\_SB.PCI0.GP17.VGA.AFN6 ()
}
}
Method (AFN7, 1, Serialized)
{
If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN7))
{
\_SB.PCI0.GP17.VGA.AFN7 (Arg0)
}
}
Method (AFN8, 0, Serialized)
{
If (CondRefOf (\_SB.PCI0.GP17.VGA.AFN8))
{
\_SB.PCI0.GP17.VGA.AFN8 ()
}
}
Method (AFNC, 2, Serialized)
{
If (CondRefOf (\_SB.PCI0.GP17.VGA.AFNC))
{
\_SB.PCI0.GP17.VGA.AFNC (Arg0, Arg1)
}
}
}
[-- Attachment #8: ssdt6.dsl --]
[-- Type: text/x-dsl, Size: 15287 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt6.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x0000115F (4447)
* Revision 0x02
* Checksum 0x97
* OEM ID "LENOVO"
* OEM Table ID "CPMACPV5"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "CPMACPV5", 0x00000001)
{
External (_SB_.PCI0.GP17.ACP_, DeviceObj)
External (_SB_.PCI0.GP17.AZAL, DeviceObj)
External (M000, MethodObj) // 1 Arguments
External (M017, MethodObj) // 6 Arguments
External (M019, MethodObj) // 4 Arguments
External (M037, DeviceObj)
External (M046, IntObj)
External (M047, IntObj)
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M082, FieldUnitObj)
External (M083, FieldUnitObj)
External (M084, FieldUnitObj)
External (M085, FieldUnitObj)
External (M086, FieldUnitObj)
External (M087, FieldUnitObj)
External (M088, FieldUnitObj)
External (M089, FieldUnitObj)
External (M090, FieldUnitObj)
External (M091, FieldUnitObj)
External (M092, FieldUnitObj)
External (M093, FieldUnitObj)
External (M094, FieldUnitObj)
External (M095, FieldUnitObj)
External (M096, FieldUnitObj)
External (M097, FieldUnitObj)
External (M098, FieldUnitObj)
External (M099, FieldUnitObj)
External (M100, FieldUnitObj)
External (M101, FieldUnitObj)
External (M102, FieldUnitObj)
External (M103, FieldUnitObj)
External (M104, FieldUnitObj)
External (M105, FieldUnitObj)
External (M106, FieldUnitObj)
External (M107, FieldUnitObj)
External (M108, FieldUnitObj)
External (M109, FieldUnitObj)
External (M110, FieldUnitObj)
External (M115, BuffObj)
External (M116, BuffFieldObj)
External (M117, BuffFieldObj)
External (M118, BuffFieldObj)
External (M119, BuffFieldObj)
External (M120, BuffFieldObj)
External (M122, FieldUnitObj)
External (M127, DeviceObj)
External (M128, FieldUnitObj)
External (M131, FieldUnitObj)
External (M132, FieldUnitObj)
External (M133, FieldUnitObj)
External (M134, FieldUnitObj)
External (M135, FieldUnitObj)
External (M136, FieldUnitObj)
External (M220, FieldUnitObj)
External (M221, FieldUnitObj)
External (M226, FieldUnitObj)
External (M227, DeviceObj)
External (M229, FieldUnitObj)
External (M231, FieldUnitObj)
External (M233, FieldUnitObj)
External (M235, FieldUnitObj)
External (M23A, FieldUnitObj)
External (M249, MethodObj) // 4 Arguments
External (M250, MethodObj) // 5 Arguments
External (M251, FieldUnitObj)
External (M276, MethodObj) // 1 Arguments
External (M277, MethodObj) // 1 Arguments
External (M280, FieldUnitObj)
External (M290, FieldUnitObj)
External (M29A, FieldUnitObj)
External (M310, FieldUnitObj)
External (M31C, FieldUnitObj)
External (M320, FieldUnitObj)
External (M321, FieldUnitObj)
External (M322, FieldUnitObj)
External (M323, FieldUnitObj)
External (M324, FieldUnitObj)
External (M325, FieldUnitObj)
External (M326, FieldUnitObj)
External (M327, FieldUnitObj)
External (M328, FieldUnitObj)
External (M329, DeviceObj)
External (M32A, DeviceObj)
External (M32B, DeviceObj)
External (M330, DeviceObj)
External (M331, FieldUnitObj)
External (M378, FieldUnitObj)
External (M379, FieldUnitObj)
External (M380, FieldUnitObj)
External (M381, FieldUnitObj)
External (M382, FieldUnitObj)
External (M383, FieldUnitObj)
External (M384, FieldUnitObj)
External (M385, FieldUnitObj)
External (M386, FieldUnitObj)
External (M387, FieldUnitObj)
External (M388, FieldUnitObj)
External (M389, FieldUnitObj)
External (M390, FieldUnitObj)
External (M391, FieldUnitObj)
External (M392, FieldUnitObj)
External (M404, BuffObj)
External (M408, MutexObj)
External (M414, FieldUnitObj)
External (M444, FieldUnitObj)
External (M449, FieldUnitObj)
External (M453, FieldUnitObj)
External (M454, FieldUnitObj)
External (M455, FieldUnitObj)
External (M456, FieldUnitObj)
External (M457, FieldUnitObj)
External (M460, MethodObj) // 7 Arguments
External (M4C0, FieldUnitObj)
External (M4F0, FieldUnitObj)
External (M610, FieldUnitObj)
External (M620, FieldUnitObj)
External (M631, FieldUnitObj)
External (M652, FieldUnitObj)
Name (M278, 0x01)
Name (M279, 0x01)
Name (M27A, 0x01)
Name (M27B, 0x01)
Name (APGE, 0x01)
Name (ACGE, 0x01)
Mutex (M27E, 0x00)
Method (M27D, 0, Serialized)
{
M460 ("FEA-ASL-CpmAcpRemovePowerGating-Start\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Local0 = M249 (0x00, 0x00, 0x00, 0x01240644)
M460 (" ACP_DSP_FUSION_RUNSTALL = %d\n", Local0, 0x00, 0x00, 0x00, 0x00, 0x00)
Local1 = M249 (0x00, 0x00, 0x00, 0x01243004)
M460 (" ACP_SW_EN_STATUS = %d\n", Local1, 0x00, 0x00, 0x00, 0x00, 0x00)
Local2 = M249 (0x00, 0x00, 0x00, 0x01243C04)
M460 (" ACP_P1_SW_EN_STATUS = %d\n", Local2, 0x00, 0x00, 0x00, 0x00, 0x00)
If (((Local1 == 0x01) || (Local2 == 0x01)))
{
M460 (" SW Controller is still running\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf ((Local0 == 0x00))
{
M250 (0x00, 0x00, 0x00, 0x01241A48, 0x01)
M250 (0x00, 0x00, 0x00, 0x01241A24, 0x02)
Local5 = 0x64
Local1 = M249 (0x00, 0x00, 0x00, 0x01241A48)
While ((Local1 != 0x0101))
{
Local1 = M249 (0x00, 0x00, 0x00, 0x01241A48)
Local5--
If ((Local5 == 0x00))
{
M460 (" Wait PGFSM status timeout", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Break
}
Stall (0x63)
}
}
Else
{
M250 (0x00, 0x00, 0x00, 0x01241024, 0x07)
Local5 = 0x64
Local1 = M249 (0x00, 0x00, 0x00, 0x01241028)
While ((Local1 != 0x00))
{
Local1 = M249 (0x00, 0x00, 0x00, 0x01241028)
Local5--
If ((Local5 == 0x00))
{
M460 (" Wait PGFSM status timeout", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Break
}
Stall (0x63)
}
}
M460 ("FEA-ASL-CpmAcpRemovePowerGating-End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (M27C, 0, Serialized)
{
M460 ("FEA-ASL-CpmAcpApplyPowerGating-Start\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Local0 = M249 (0x00, 0x00, 0x00, 0x01240644)
M460 (" ACP_DSP_FUSION_RUNSTALL = %d\n", Local0, 0x00, 0x00, 0x00, 0x00, 0x00)
Local1 = M249 (0x00, 0x00, 0x00, 0x01243004)
M460 (" ACP_SW_EN_STATUS = %d\n", Local1, 0x00, 0x00, 0x00, 0x00, 0x00)
Local2 = M249 (0x00, 0x00, 0x00, 0x01243C04)
M460 (" ACP_P1_SW_EN_STATUS = %d\n", Local2, 0x00, 0x00, 0x00, 0x00, 0x00)
If (((Local1 == 0x01) || (Local2 == 0x01)))
{
M460 (" SW Controller is still running\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf ((Local0 == 0x00))
{
M250 (0x00, 0x00, 0x00, 0x01241A48, 0x02)
M250 (0x00, 0x00, 0x00, 0x01241A24, 0x02)
Local5 = 0x64
Local1 = M249 (0x00, 0x00, 0x00, 0x01241A48)
While ((Local1 != 0x0202))
{
Local1 = M249 (0x00, 0x00, 0x00, 0x01241A48)
Local5--
If ((Local5 == 0x00))
{
M460 (" Wait mmACP_P1_FUTURE_REG_ACLK_1 status timeout", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Break
}
Stall (0x63)
}
}
Else
{
M250 (0x00, 0x00, 0x00, 0x01241024, 0x06)
Local5 = 0x64
Local1 = M249 (0x00, 0x00, 0x00, 0x01241028)
While ((Local1 != 0x0A))
{
Local1 = M249 (0x00, 0x00, 0x00, 0x01241028)
Local5--
If ((Local5 == 0x00))
{
M460 (" Wait PGFSM status timeout", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Break
}
Stall (0x63)
}
}
M460 ("FEA-ASL-CpmAcpApplyPowerGating-End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (M276, 1, Serialized)
{
Acquire (M27E, 0xFFFF)
If ((Arg0 == 0x00))
{
M460 ("FEA-ASL-CpmPowerGateOn CpmAcpPresentState = 1\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
M278 = 0x01
}
ElseIf ((Arg0 == 0x01))
{
M460 ("FEA-ASL-CpmPowerGateOn CpmAzaliaPresentState = 1\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
M279 = 0x01
}
M460 ("FEA-ASL-CpmPowerGateOn-Start\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" CpmAcpPresentState = %d\n", M278, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" CpmAzaliaPresentState = %d\n", M279, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" ACGE = %d\n", ACGE, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" APGE = %d\n", APGE, 0x00, 0x00, 0x00, 0x00, 0x00)
If (!(M278 ^ M279))
{
M460 ("FEA-ASL-CpmPowerGateOn-1-End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Release (M27E)
Return (Zero)
}
If ((APGE == 0x01))
{
M000 (0x0DB4)
If ((M27A == 0x01))
{
Local0 = M017 (0x00, 0x08, 0x01, 0x19, 0x00, 0x08)
Local1 = M019 (Local0, 0x00, 0x05, 0x00)
If (((Local0 != 0x00) && (Local0 != 0xFF)))
{
If ((Local1 != 0xFFFFFFFF))
{
M27D ()
}
}
}
ElseIf ((M27B == 0x01))
{
M250 (0x00, 0x00, 0x00, 0x0900E784, 0x0303)
Local5 = 0x64
Local4 = M249 (0x00, 0x00, 0x00, 0x0900E790)
Local4 &= 0x0F
While ((Local4 != 0x00))
{
Local4 = M249 (0x00, 0x00, 0x00, 0x0900E790)
Local4 &= 0x0F
Local5--
If ((Local5 == 0x00))
{
M460 (" Wait mmRSMU_PGFSM_STATUS_ACP status timeout", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Break
}
Stall (0x63)
}
}
M000 (0x0DB5)
}
M460 ("FEA-ASL-CpmPowerGateOn-End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Release (M27E)
}
Method (M277, 1, Serialized)
{
Acquire (M27E, 0xFFFF)
If ((Arg0 == 0x00))
{
M460 ("FEA-ASL-CpmPowerGateOn CpmAcpPresentState = 0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
M278 = 0x00
}
ElseIf ((Arg0 == 0x01))
{
M460 ("FEA-ASL-CpmPowerGateOn CpmAzaliaPresentState = 0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
M279 = 0x00
}
M460 ("FEA-ASL-CpmPowerGateOff-Start\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" CpmAcpPresentState = %d\n", M278, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" CpmAzaliaPresentState = %d\n", M279, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" APGE = %d\n", APGE, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" ACGE = %d\n", ACGE, 0x00, 0x00, 0x00, 0x00, 0x00)
If (!((M278 == 0x00) && (M279 == 0x00)))
{
M460 ("FEA-ASL-CpmPowerGateOff-1-End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Release (M27E)
Return (Zero)
}
If ((APGE == 0x01))
{
M000 (0x0DB6)
If ((M27A == 0x01))
{
Local0 = M017 (0x00, 0x08, 0x01, 0x19, 0x00, 0x08)
Local1 = M019 (Local0, 0x00, 0x05, 0x00)
If (((Local0 != 0x00) && (Local0 != 0xFF)))
{
If ((Local1 != 0xFFFFFFFF))
{
M27C ()
}
}
}
ElseIf ((M27B == 0x01))
{
M250 (0x00, 0x00, 0x00, 0x0900E784, 0x0301)
Local5 = 0x64
Local4 = M249 (0x00, 0x00, 0x00, 0x0900E790)
Local4 &= 0x0F
While ((Local4 != 0x0A))
{
Local4 = M249 (0x00, 0x00, 0x00, 0x0900E790)
Local4 &= 0x0F
Local5--
If ((Local5 == 0x00))
{
M460 (" Wait mmRSMU_PGFSM_STATUS_ACP status timeout", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Break
}
Stall (0x63)
}
}
M000 (0x0DB7)
}
M460 ("FEA-ASL-CpmPowerGateOff-End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Release (M27E)
}
Scope (\_SB.PCI0.GP17.ACP)
{
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
M460 ("FEA-ASL-\\_SB.PCI0.PBC.ACP._PS0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
M276 (0x00)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
M460 ("FEA-ASL-\\_SB.PCI0.PBC.ACP._PS3\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
M277 (0x00)
}
}
Scope (\_SB.PCI0.GP17.AZAL)
{
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
M460 ("FEA-ASL-\\_SB.PCI0.PBC.AZAL._PS0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
M276 (0x01)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
M460 ("FEA-ASL-\\_SB.PCI0.PBC.AZAL._PS3\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
M277 (0x01)
}
}
}
[-- Attachment #9: ssdt7.dsl --]
[-- Type: text/x-dsl, Size: 14206 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt7.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00000DEC (3564)
* Revision 0x02
* Checksum 0xA8
* OEM ID "LENOVO"
* OEM Table ID "GpMsSsdt"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "GpMsSsdt", 0x00000001)
{
External (_SB_.PCI0.GPP1, DeviceObj)
External (_SB_.PCI0.GPP2, DeviceObj)
External (_SB_.PCI0.GPP2.WWAN, DeviceObj)
External (_SB_.PCI0.GPP5, DeviceObj)
External (_SB_.PCI0.GPP5.RTL8, DeviceObj)
External (_SB_.PCI0.GPP6, DeviceObj)
External (_SB_.PCI0.GPP6.WLAN, DeviceObj)
External (_SB_.PCI0.GPP7, DeviceObj)
External (_SB_.PCI0.GPP7._ADR, IntObj)
External (_SB_.PCI0.GPP7.DEV0, DeviceObj)
External (M017, MethodObj) // 6 Arguments
External (M019, MethodObj) // 4 Arguments
External (M020, MethodObj) // 5 Arguments
External (M037, DeviceObj)
External (M046, IntObj)
External (M047, IntObj)
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M082, FieldUnitObj)
External (M083, FieldUnitObj)
External (M084, FieldUnitObj)
External (M085, FieldUnitObj)
External (M086, FieldUnitObj)
External (M087, FieldUnitObj)
External (M088, FieldUnitObj)
External (M089, FieldUnitObj)
External (M090, FieldUnitObj)
External (M091, FieldUnitObj)
External (M092, FieldUnitObj)
External (M093, FieldUnitObj)
External (M094, FieldUnitObj)
External (M095, FieldUnitObj)
External (M096, FieldUnitObj)
External (M097, FieldUnitObj)
External (M098, FieldUnitObj)
External (M099, FieldUnitObj)
External (M100, FieldUnitObj)
External (M101, FieldUnitObj)
External (M102, FieldUnitObj)
External (M103, FieldUnitObj)
External (M104, FieldUnitObj)
External (M105, FieldUnitObj)
External (M106, FieldUnitObj)
External (M107, FieldUnitObj)
External (M108, FieldUnitObj)
External (M109, FieldUnitObj)
External (M110, FieldUnitObj)
External (M115, BuffObj)
External (M116, BuffFieldObj)
External (M117, BuffFieldObj)
External (M118, BuffFieldObj)
External (M119, BuffFieldObj)
External (M120, BuffFieldObj)
External (M122, FieldUnitObj)
External (M127, DeviceObj)
External (M128, FieldUnitObj)
External (M131, FieldUnitObj)
External (M132, FieldUnitObj)
External (M133, FieldUnitObj)
External (M134, FieldUnitObj)
External (M135, FieldUnitObj)
External (M136, FieldUnitObj)
External (M220, FieldUnitObj)
External (M221, FieldUnitObj)
External (M226, FieldUnitObj)
External (M227, DeviceObj)
External (M229, FieldUnitObj)
External (M231, FieldUnitObj)
External (M233, FieldUnitObj)
External (M235, FieldUnitObj)
External (M23A, FieldUnitObj)
External (M251, FieldUnitObj)
External (M280, FieldUnitObj)
External (M290, FieldUnitObj)
External (M29A, FieldUnitObj)
External (M310, FieldUnitObj)
External (M31C, FieldUnitObj)
External (M320, FieldUnitObj)
External (M321, FieldUnitObj)
External (M322, FieldUnitObj)
External (M323, FieldUnitObj)
External (M324, FieldUnitObj)
External (M325, FieldUnitObj)
External (M326, FieldUnitObj)
External (M327, FieldUnitObj)
External (M328, FieldUnitObj)
External (M329, DeviceObj)
External (M32A, DeviceObj)
External (M32B, DeviceObj)
External (M330, DeviceObj)
External (M331, FieldUnitObj)
External (M378, FieldUnitObj)
External (M379, FieldUnitObj)
External (M380, FieldUnitObj)
External (M381, FieldUnitObj)
External (M382, FieldUnitObj)
External (M383, FieldUnitObj)
External (M384, FieldUnitObj)
External (M385, FieldUnitObj)
External (M386, FieldUnitObj)
External (M387, FieldUnitObj)
External (M388, FieldUnitObj)
External (M389, FieldUnitObj)
External (M390, FieldUnitObj)
External (M391, FieldUnitObj)
External (M392, FieldUnitObj)
External (M404, BuffObj)
External (M408, MutexObj)
External (M414, FieldUnitObj)
External (M444, FieldUnitObj)
External (M449, FieldUnitObj)
External (M453, FieldUnitObj)
External (M454, FieldUnitObj)
External (M455, FieldUnitObj)
External (M456, FieldUnitObj)
External (M457, FieldUnitObj)
External (M460, MethodObj) // 7 Arguments
External (M4C0, FieldUnitObj)
External (M4F0, FieldUnitObj)
External (M610, FieldUnitObj)
External (M620, FieldUnitObj)
External (M631, FieldUnitObj)
External (M652, FieldUnitObj)
Scope (\_SB.PCI0.GPP1)
{
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP1._PRW Return GPRW (0x8, 0x4)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x08,
0x04
})
}
}
Scope (\_SB.PCI0.GPP2)
{
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP2._PRW Return GPRW (0x8, 0x4)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x16,
0x03
})
}
}
Scope (\_SB.PCI0.GPP2.WWAN)
{
Name (_S0W, 0x04) // _S0W: S0 Device Wake State
}
Scope (\_SB.PCI0.GPP5)
{
Name (_S0W, 0x04) // _S0W: S0 Device Wake State
Name (EWPM, 0x00)
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
If ((EWPM == 0x01))
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP5._PRW Return GPRW (0xF, 0x4)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x0F,
0x04
})
}
Else
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP5._PRW Return GPRW (0xF, 0x0)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x0F,
0x00
})
}
}
}
Scope (\_SB.PCI0.GPP5.RTL8)
{
Name (_S0W, 0x04) // _S0W: S0 Device Wake State
}
Scope (\_SB.PCI0.GPP6)
{
Name (_S0W, 0x00) // _S0W: S0 Device Wake State
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP6._PRW Return GPRW (0xE, 0x4)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x0E,
0x04
})
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP6._DSW\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
}
Scope (\_SB.PCI0.GPP6.WLAN)
{
OperationRegion (PCIC, PCI_Config, 0x00, 0x04)
Field (PCIC, WordAcc, NoLock, Preserve)
{
DVID, 16,
DDID, 16
}
Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP6.WLAN._S0W - DID:%x VID:%x\n", DVID, DDID, 0x00, 0x00, 0x00, 0x00)
If (((DVID == 0x17CB) && (DDID == 0x1103)))
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP6.WLAN._S0W : 3\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x03)
}
Else
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP6.WLAN._S0W : 4\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x04)
}
}
Method (QBME, 0, NotSerialized)
{
Local0 = 0x00
If (((DVID == 0x17CB) && (DDID == 0x1107)))
{
Local0 = 0x01
}
Return (Local0)
}
Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP6.WLAN._DSW\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
CreateDWordField (Arg0, 0x00, UID0)
M460 (" OEM-ASL-\\_SB.PCI0.GPP6.WLAN._DSM (UUID 0x%X, 0x%X, 0x%X)\n", UID0, Arg1, Arg2, 0x00, 0x00, 0x00)
If ((Arg0 == ToUUID ("f634f534-6147-11ec-90d6-0242ac120003") /* Unknown UUID */))
{
Switch (ToInteger (Arg2))
{
Case (0x00)
{
Return (Buffer (0x01)
{
0x05 // .
})
}
Case (0x02)
{
M460 (" OEM-ASL-\\_SB.PCI0.GPP6.WLAN._DSM, Enable D3Cold\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x10)
}
Case (0x0B)
{
Name (FGB, Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00 // ....
})
Return (FGB) /* \_SB_.PCI0.GPP6.WLAN._DSM.FGB_ */
}
}
}
}
}
Scope (\_SB.PCI0.GPP7)
{
Method (_DSD, 0, Serialized) // _DSD: Device-Specific Data
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP7._DSD\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x04)
{
ToUUID ("efcc06cc-73ac-4bc3-bff0-76143807c389") /* Unknown UUID */,
Package (0x02)
{
Package (0x02)
{
"ExternalFacingPort",
0x01
},
Package (0x02)
{
"UID",
0x00
}
},
ToUUID ("6211e2c0-58a3-4af3-90e1-927a4e0c55a4") /* Unknown UUID */,
Package (0x01)
{
Package (0x02)
{
"HotPlugSupportInD3",
0x01
}
}
})
}
}
Scope (\_SB.PCI0.GPP7.DEV0)
{
Name (_S0W, 0x04) // _S0W: S0 Device Wake State
Name (RPB, 0x00)
Name (RPD, 0x00)
Name (RPF, 0x00)
Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP7.DEV0 _RMV\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x00)
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP7.DEV0._INI\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
RPD = (\_SB.PCI0.GPP7._ADR >> 0x10)
RPF = (\_SB.PCI0.GPP7._ADR & 0xFFFF)
}
Method (SD7E, 0, Serialized)
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP7.DEV0.SD7E\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Local0 = M017 (RPB, RPD, RPF, 0x19, 0x00, 0x08)
If ((M017 (Local0, 0x00, 0x00, 0x08, 0x08, 0x18) == 0x00010802))
{
Local0 = M019 (RPB, RPD, RPF, 0x60)
M020 (RPB, RPD, RPF, 0x60, Local0)
Local0 = M019 (RPB, RPD, RPF, 0x0160)
M020 (RPB, RPD, RPF, 0x0160, Local0)
}
}
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP7.DEV0._PS0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
SD7E ()
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP7.DEV0._PS3\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (_DSD, 0, Serialized) // _DSD: Device-Specific Data
{
M460 ("PLA-ASL-\\_SB.PCI0.GPP7.DEV0._DSD\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Name (PDSD, Package (0x02)
{
ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */,
Package (0x01)
{
Package (0x02)
{
"StorageD3Enable",
0x00
}
}
})
Local0 = M017 (RPB, RPD, RPF, 0x19, 0x00, 0x08)
If ((M017 (Local0, 0x00, 0x00, 0x08, 0x08, 0x18) == 0x00010802))
{
DerefOf (DerefOf (PDSD [0x01]) [0x00]) [0x01]
= 0x01
}
Else
{
DerefOf (DerefOf (PDSD [0x01]) [0x00]) [0x01]
= 0x00
}
M460 (" - StorageD3Enable:%d\n", DerefOf (DerefOf (DerefOf (PDSD [0x01]) [0x00]
) [0x01]), 0x00, 0x00, 0x00, 0x00, 0x00)
Return (PDSD) /* \_SB_.PCI0.GPP7.DEV0._DSD.PDSD */
}
}
}
[-- Attachment #10: ssdt8.dsl --]
[-- Type: text/x-dsl, Size: 28910 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt8.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x000013B9 (5049)
* Revision 0x02
* Checksum 0x34
* OEM ID "LENOVO"
* OEM Table ID "OEMACP"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "OEMACP", 0x00000001)
{
External (_SB_.PCI0.GP17.ACP_, DeviceObj)
External (WLVD, IntObj)
Scope (\_SB.PCI0.GP17.ACP)
{
Name (WOVS, 0x01)
Method (_WOV, 0, NotSerialized)
{
Local0 = 0x00
If ((WOVS != 0x55))
{
Local0 = WOVS /* \_SB_.PCI0.GP17.ACP_.WOVS */
}
Return (Local0)
}
Name (_DSD, Package (0x02) // _DSD: Device-Specific Data
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x01)
{
Package (0x02)
{
"acp-audio-zsc-enable",
Zero,
One
}
}
})
Device (HDA0)
{
Name (_ADR, 0x01) // _ADR: Address
Name (_DSD, Package (0x04) // _DSD: Device-Specific Data
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x02)
{
Package (0x02)
{
"acp-audio-device-interface-version",
0x01
},
Package (0x02)
{
"acp-audio-device-type",
0x01
}
},
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */,
Package (0x01)
{
Package (0x02)
{
"acp-audio-device-eps",
Package (0x02)
{
"PE00",
"PE01"
}
}
}
})
Name (PE00, Package (0x04)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x03)
{
Package (0x02)
{
"acp-audio-ep-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-dsp-offload-supported",
0x01
},
Package (0x02)
{
"acp-audio-ep-category",
0x01
}
},
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */,
Package (0x02)
{
Package (0x02)
{
"acp-audio-ep-format",
"EFMT"
},
Package (0x02)
{
"acp-audio-ep-apo-fx-type",
"EAFX"
}
}
})
Name (PE01, Package (0x04)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x03)
{
Package (0x02)
{
"acp-audio-ep-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-dsp-offload-supported",
0x01
},
Package (0x02)
{
"acp-audio-ep-category",
0x02
}
},
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */,
Package (0x02)
{
Package (0x02)
{
"acp-audio-ep-format",
"EFMT"
},
Package (0x02)
{
"acp-audio-ep-apo-fx-type",
"EAFX"
}
}
})
Name (EFMT, Package (0x02)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x03)
{
Package (0x02)
{
"acp-audio-ep-format-max-channels",
0x02
},
Package (0x02)
{
"acp-audio-ep-format-sampling-frequency",
Package (0x02)
{
0xBB80,
0x00017700
}
},
Package (0x02)
{
"acp-audio-ep-format-bits-per-sample",
Package (0x02)
{
0x10,
0x18
}
}
}
})
Name (EAFX, Package (0x02)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x04)
{
Package (0x02)
{
"acp-audio-ep-apo-efx-type",
0x13
},
Package (0x02)
{
"acp-audio-ep-apo-mfx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-sfx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-efx-encoder-type",
0x00
}
}
})
}
Device (PDMC)
{
Name (_ADR, 0x02) // _ADR: Address
Name (_DSD, Package (0x04) // _DSD: Device-Specific Data
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x02)
{
Package (0x02)
{
"acp-audio-device-interface-version",
0x01
},
Package (0x02)
{
"acp-audio-device-type",
0x02
}
},
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */,
Package (0x01)
{
Package (0x02)
{
"acp-audio-device-eps",
Package (0x01)
{
"CE00"
}
}
}
})
Name (CE00, Package (0x04)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x0D)
{
Package (0x02)
{
"acp-audio-ep-type",
0x01
},
Package (0x02)
{
"acp-audio-ep-voice-activation-supported",
0x00
},
Package (0x02)
{
"acp-audio-ep-voice-activation-ddi-version",
0x02
},
Package (0x02)
{
"acp-audio-ep-voice-activation-agents",
Package (0x02)
{
0x04,
0x40
}
},
Package (0x02)
{
"acp-audio-ep-mic-startup-silence-supported",
0x01
},
Package (0x02)
{
"acp-audio-ep-dsp-offload-supported",
0x01
},
Package (0x02)
{
"acp-audio-ep-ultrasound-supported",
0x01
},
Package (0x02)
{
"acp-audio-ep-ultrasound-hpd-type",
0x1E
},
Package (0x02)
{
"acp-audio-ep-software-loopback-supported",
0x00
},
Package (0x02)
{
"acp-audio-ep-ai-noise-reduction-supported",
0x00
},
Package (0x02)
{
"acp-audio-ep-default-gain",
Package (0x02)
{
0x10,
0x00
}
},
Package (0x02)
{
"acp-audio-ep-channel-order",
Package (0x08)
{
0x01,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
}
},
Package (0x02)
{
"acp-audio-ep-kws-presets",
Package (0x09)
{
0x02,
0x50,
0x00,
0x01,
0x02,
0x0B01,
0x01,
0x00,
0x01
}
}
},
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */,
Package (0x03)
{
Package (0x02)
{
"acp-audio-ep-format",
"EFMT"
},
Package (0x02)
{
"acp-audio-ep-apo-fx-type",
"EAFX"
},
Package (0x02)
{
"acp-audio-ep-mic-array-geometry",
"EMAG"
}
}
})
Name (EFMT, Package (0x02)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x03)
{
Package (0x02)
{
"acp-audio-ep-format-max-channels",
0x02
},
Package (0x02)
{
"acp-audio-ep-format-sampling-frequency",
Package (0x01)
{
0xBB80
}
},
Package (0x02)
{
"acp-audio-ep-format-bits-per-sample",
Package (0x01)
{
0x10
}
}
}
})
Name (EAFX, Package (0x02)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x04)
{
Package (0x02)
{
"acp-audio-ep-apo-efx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-mfx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-sfx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-efx-encoder-type",
0x00
}
}
})
Name (EMAG, Package (0x04)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x09)
{
Package (0x02)
{
"acp-audio-ep-mic-array-version",
0x0100
},
Package (0x02)
{
"acp-audio-ep-mic-array-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-mic-array-vertical-angle-begin",
0xFFFFD718
},
Package (0x02)
{
"acp-audio-ep-mic-array-vertical-angle-end",
0x28E8
},
Package (0x02)
{
"acp-audio-ep-mic-array-horizontal-angle-begin",
0xFFFFDDE9
},
Package (0x02)
{
"acp-audio-ep-mic-array-horizontal-angle-end",
0x2217
},
Package (0x02)
{
"acp-audio-ep-mic-array-frequency-band-lo",
0x32
},
Package (0x02)
{
"acp-audio-ep-mic-array-frequency-band-hi",
0x4E20
},
Package (0x02)
{
"acp-audio-ep-mic-array-number-of-microphones",
0x02
}
},
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */,
Package (0x01)
{
Package (0x02)
{
"acp-audio-ep-mic-array-mic-coord",
Package (0x02)
{
"MIC0",
"MIC1"
}
}
}
})
Name (MIC0, Package (0x02)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x06)
{
Package (0x02)
{
"acp-audio-ep-mic-coord-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-mic-coord-x",
0x00
},
Package (0x02)
{
"acp-audio-ep-mic-coord-y",
0xFFE7
},
Package (0x02)
{
"acp-audio-ep-mic-coord-z",
0x00
},
Package (0x02)
{
"acp-audio-ep-mic-coord-vertical-angle",
0x00
},
Package (0x02)
{
"acp-audio-ep-mic-coord-horizontal-angle",
0x00
}
}
})
Name (MIC1, Package (0x02)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x06)
{
Package (0x02)
{
"acp-audio-ep-mic-coord-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-mic-coord-x",
0x00
},
Package (0x02)
{
"acp-audio-ep-mic-coord-y",
0x19
},
Package (0x02)
{
"acp-audio-ep-mic-coord-z",
0x00
},
Package (0x02)
{
"acp-audio-ep-mic-coord-vertical-angle",
0x00
},
Package (0x02)
{
"acp-audio-ep-mic-coord-horizontal-angle",
0x00
}
}
})
}
Device (I2SC)
{
Name (_ADR, 0x03) // _ADR: Address
}
Device (BTSC)
{
Name (_ADR, 0x04) // _ADR: Address
Name (_DSD, Package (0x04) // _DSD: Device-Specific Data
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x02)
{
Package (0x02)
{
"acp-audio-device-interface-version",
0x01
},
Package (0x02)
{
"acp-audio-device-type",
0x04
}
},
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */,
Package (0x01)
{
Package (0x02)
{
"acp-audio-device-eps",
Package (0x02)
{
"PE00",
"CE00"
}
}
}
})
Name (PE00, Package (0x04)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x06)
{
Package (0x02)
{
"acp-audio-ep-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-dsp-offload-supported",
0x01
},
Package (0x02)
{
"acp-audio-ep-category",
0x01
},
Package (0x02)
{
"acp-audio-ep-port",
0x03
},
Package (0x02)
{
"acp-audio-ep-node",
0x02
},
Package (0x02)
{
"acp-audio-ep-capabilities",
Package (0x02)
{
0x01,
0x02
}
}
},
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */,
Package (0x02)
{
Package (0x02)
{
"acp-audio-ep-format",
"FM00"
},
Package (0x02)
{
"acp-audio-ep-apo-fx-type",
"FX00"
}
}
})
Name (FM00, Package (0x02)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x03)
{
Package (0x02)
{
"acp-audio-ep-format-max-channels",
0x02
},
Package (0x02)
{
"acp-audio-ep-format-sampling-frequency",
Package (0x03)
{
0x1F40,
0x3E80,
0xBB80
}
},
Package (0x02)
{
"acp-audio-ep-format-bits-per-sample",
Package (0x01)
{
0x10
}
}
}
})
Method (FX00, 0, Serialized)
{
If ((\WLVD == 0x17CB))
{
Return (Package (0x02)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x04)
{
Package (0x02)
{
"acp-audio-ep-apo-efx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-mfx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-sfx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-efx-encoder-type",
0x15
}
}
})
}
Else
{
Return (Package (0x02)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x04)
{
Package (0x02)
{
"acp-audio-ep-apo-efx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-mfx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-sfx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-efx-encoder-type",
0x0115
}
}
})
}
}
Name (CE00, Package (0x04)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x04)
{
Package (0x02)
{
"acp-audio-ep-type",
0x01
},
Package (0x02)
{
"acp-audio-ep-dsp-offload-supported",
0x01
},
Package (0x02)
{
"acp-audio-ep-port",
0x03
},
Package (0x02)
{
"acp-audio-ep-node",
0x02
}
},
ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */,
Package (0x02)
{
Package (0x02)
{
"acp-audio-ep-format",
"FM01"
},
Package (0x02)
{
"acp-audio-ep-apo-fx-type",
"FX01"
}
}
})
Name (FM01, Package (0x02)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x03)
{
Package (0x02)
{
"acp-audio-ep-format-max-channels",
0x02
},
Package (0x02)
{
"acp-audio-ep-format-sampling-frequency",
Package (0x02)
{
0x1F40,
0x3E80
}
},
Package (0x02)
{
"acp-audio-ep-format-bits-per-sample",
Package (0x01)
{
0x10
}
}
}
})
Name (FX01, Package (0x02)
{
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */,
Package (0x04)
{
Package (0x02)
{
"acp-audio-ep-apo-efx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-mfx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-sfx-type",
0x00
},
Package (0x02)
{
"acp-audio-ep-apo-efx-encoder-type",
0x00
}
}
})
}
Device (SDWC)
{
Name (_ADR, 0x05) // _ADR: Address
}
Device (SDWS)
{
Name (_ADR, 0x06) // _ADR: Address
}
Device (USBS)
{
Name (_ADR, 0x07) // _ADR: Address
}
}
}
[-- Attachment #11: ssdt9.dsl --]
[-- Type: text/x-dsl, Size: 11259 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt9.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x000009E0 (2528)
* Revision 0x02
* Checksum 0x9B
* OEM ID "LENOVO"
* OEM Table ID "CPMMSOSC"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "CPMMSOSC", 0x00000001)
{
External (_SB_.M625, MethodObj) // 2 Arguments
External (_SB_.PCI0.LPC0.EC0_.BCLS, IntObj)
External (DDEP, IntObj)
External (DIMS, IntObj)
External (M037, DeviceObj)
External (M046, IntObj)
External (M047, IntObj)
External (M049, MethodObj) // 2 Arguments
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M082, FieldUnitObj)
External (M083, FieldUnitObj)
External (M084, FieldUnitObj)
External (M085, FieldUnitObj)
External (M086, FieldUnitObj)
External (M087, FieldUnitObj)
External (M088, FieldUnitObj)
External (M089, FieldUnitObj)
External (M090, FieldUnitObj)
External (M091, FieldUnitObj)
External (M092, FieldUnitObj)
External (M093, FieldUnitObj)
External (M094, FieldUnitObj)
External (M095, FieldUnitObj)
External (M096, FieldUnitObj)
External (M097, FieldUnitObj)
External (M098, FieldUnitObj)
External (M099, FieldUnitObj)
External (M100, FieldUnitObj)
External (M101, FieldUnitObj)
External (M102, FieldUnitObj)
External (M103, FieldUnitObj)
External (M104, FieldUnitObj)
External (M105, FieldUnitObj)
External (M106, FieldUnitObj)
External (M107, FieldUnitObj)
External (M108, FieldUnitObj)
External (M109, FieldUnitObj)
External (M110, FieldUnitObj)
External (M115, BuffObj)
External (M116, BuffFieldObj)
External (M117, BuffFieldObj)
External (M118, BuffFieldObj)
External (M119, BuffFieldObj)
External (M120, BuffFieldObj)
External (M122, FieldUnitObj)
External (M127, DeviceObj)
External (M128, FieldUnitObj)
External (M131, FieldUnitObj)
External (M132, FieldUnitObj)
External (M133, FieldUnitObj)
External (M134, FieldUnitObj)
External (M135, FieldUnitObj)
External (M136, FieldUnitObj)
External (M220, FieldUnitObj)
External (M221, FieldUnitObj)
External (M226, FieldUnitObj)
External (M227, DeviceObj)
External (M229, FieldUnitObj)
External (M231, FieldUnitObj)
External (M232, MethodObj) // 3 Arguments
External (M233, FieldUnitObj)
External (M235, FieldUnitObj)
External (M23A, FieldUnitObj)
External (M251, FieldUnitObj)
External (M280, FieldUnitObj)
External (M290, FieldUnitObj)
External (M29A, FieldUnitObj)
External (M310, FieldUnitObj)
External (M31C, FieldUnitObj)
External (M320, FieldUnitObj)
External (M321, FieldUnitObj)
External (M322, FieldUnitObj)
External (M323, FieldUnitObj)
External (M324, FieldUnitObj)
External (M325, FieldUnitObj)
External (M326, FieldUnitObj)
External (M327, FieldUnitObj)
External (M328, FieldUnitObj)
External (M329, DeviceObj)
External (M32A, DeviceObj)
External (M32B, DeviceObj)
External (M330, DeviceObj)
External (M331, FieldUnitObj)
External (M378, FieldUnitObj)
External (M379, FieldUnitObj)
External (M380, FieldUnitObj)
External (M381, FieldUnitObj)
External (M382, FieldUnitObj)
External (M383, FieldUnitObj)
External (M384, FieldUnitObj)
External (M385, FieldUnitObj)
External (M386, FieldUnitObj)
External (M387, FieldUnitObj)
External (M388, FieldUnitObj)
External (M389, FieldUnitObj)
External (M390, FieldUnitObj)
External (M391, FieldUnitObj)
External (M392, FieldUnitObj)
External (M404, BuffObj)
External (M408, MutexObj)
External (M414, FieldUnitObj)
External (M444, FieldUnitObj)
External (M449, FieldUnitObj)
External (M453, FieldUnitObj)
External (M454, FieldUnitObj)
External (M455, FieldUnitObj)
External (M456, FieldUnitObj)
External (M457, FieldUnitObj)
External (M460, MethodObj) // 7 Arguments
External (M4C0, FieldUnitObj)
External (M4F0, FieldUnitObj)
External (M610, FieldUnitObj)
External (M620, FieldUnitObj)
External (M631, FieldUnitObj)
External (M652, FieldUnitObj)
Scope (\_SB)
{
Name (M630, 0x5555)
Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities
{
Name (MSDB, 0x01)
Name (U4PC, 0x0F)
CreateDWordField (Arg0, 0x00, UID0)
CreateDWordField (Arg3, 0x00, CDW1)
If ((Arg2 >= 0x02))
{
CreateDWordField (Arg3, 0x04, CDW2)
}
If ((Arg2 >= 0x03))
{
CreateDWordField (Arg3, 0x08, CDW3)
}
If ((Arg2 == 0x01))
{
M460 (" FEA-ASL-\\_SB._OSC UUID 0x%X Start CDW1 = 0x%X\n", UID0, CDW1, 0x00, 0x00, 0x00, 0x00)
}
ElseIf ((Arg2 == 0x02))
{
Local2 = CDW2 /* \_SB_._OSC.CDW2 */
M460 (" FEA-ASL-\\_SB._OSC UUID 0x%X Start CDW1 = 0x%X CDW2 = 0x%X\n", UID0, CDW1, CDW2, 0x00, 0x00, 0x00)
}
Else
{
Local3 = CDW3 /* \_SB_._OSC.CDW3 */
M460 (" FEA-ASL-\\_SB._OSC UUID 0x%X Start CDW1 = 0x%X CDW2 = 0x%X CDW3 = 0x%X\n", UID0, CDW1, CDW2, CDW3, 0x00, 0x00)
}
If ((Arg0 == ToUUID ("23a0d13a-26ab-486c-9c5f-0ffa525a575a") /* USB4 Capabilities */))
{
If ((Arg1 == One))
{
Local5 = 0x00
If ((U4PC != 0xFF))
{
Local5 = (U4PC & 0x0F)
Local3 &= 0xFFFFFFF0
Local3 |= Local5
}
ElseIf ((CondRefOf (\_SB.M625) && (M620 != 0x00)))
{
If ((M049 (M620, 0x10) != 0x00))
{
If ((\_SB.M630 == 0x5555))
{
Local1 = \_SB.M625 (0x0180, 0x03E8)
\_SB.M630 = Local1
}
Else
{
Local1 = \_SB.M630
}
If (((Local1 & 0xFF) == 0x00))
{
Local5 = ((Local1 >> 0x10) & 0x0F)
Local3 &= 0xFFFFFFF0
Local3 |= Local5
}
}
}
If ((Local5 == 0x00))
{
CDW1 |= 0x04
}
ElseIf ((Local3 != CDW3))
{
CDW3 = Local3
CDW1 |= 0x10
}
}
Else
{
CDW1 |= 0x08
}
}
ElseIf ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */))
{
If ((Arg1 == One))
{
If ((CondRefOf (\DIMS) && CondRefOf (\DDEP)))
{
If (((\DDEP == 0x01) && ((CDW2 & 0x00040000) == 0x00040000)))
{
M460 (" Disable USB4 ACPI _DEP\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Local1 = \DIMS /* External reference */
M232 (Local1, 0x55, 0x00)
\DDEP = 0x00
}
}
Local2 |= 0x04
If ((MSDB == 0x01))
{
Local2 &= 0xFFFFFF7F
}
If ((U4PC != 0xFF))
{
Local2 |= 0x00040000
}
ElseIf ((M620 != 0x00))
{
If ((M049 (M620, 0x10) != 0x00))
{
If ((M049 (M620, 0x45) == 0x00))
{
Local2 &= 0xFFFBFFFF
}
}
}
If ((Local2 != CDW2))
{
CDW2 = Local2
CDW1 |= 0x10
}
If ((((CDW1 & 0x01) != 0x01) && CondRefOf (\_SB.M625)))
{
If ((M620 != 0x00))
{
If ((M049 (M620, 0x10) != 0x00))
{
Local4 = M049 (M620, 0x43)
Local1 = \_SB.M625 ((0x0102 + (Local4 << 0x10)), 0x03E8)
}
}
}
If ((CDW2 & 0x00080000))
{
\_SB.PCI0.LPC0.EC0.BCLS = 0x01
}
Else
{
\_SB.PCI0.LPC0.EC0.BCLS = 0x00
}
}
Else
{
CDW1 |= 0x08
}
}
Else
{
CDW1 |= 0x04
}
If ((Arg2 == 0x01))
{
M460 (" FEA-ASL-\\_SB._OSC UUID 0x%X Return CDW1 = 0x%X\n", UID0, CDW1, 0x00, 0x00, 0x00, 0x00)
}
ElseIf ((Arg2 == 0x02))
{
M460 (" FEA-ASL-\\_SB._OSC UUID 0x%X Return CDW1 = 0x%X CDW2 = 0x%X\n", UID0, CDW1, CDW2, 0x00, 0x00, 0x00)
}
Else
{
M460 (" FEA-ASL-\\_SB._OSC UUID 0x%X Return CDW1 = 0x%X CDW2 = 0x%X CDW3 = 0x%X\n", UID0, CDW1, CDW2, CDW3, 0x00, 0x00)
}
Return (Arg3)
}
}
}
[-- Attachment #12: ssdt10.dsl --]
[-- Type: text/x-dsl, Size: 71840 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt10.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00001D27 (7463)
* Revision 0x02
* Checksum 0xAF
* OEM ID "LENOVO"
* OEM Table ID "AOD "
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "AOD ", 0x00000001)
{
External (OBID, PkgObj)
External (OBIE, PkgObj)
External (OBIT, PkgObj)
Name (OBID, Package (0xC1)
{
0x40,
0x00040001,
0x00040002,
0x00020027,
0x00020025,
0x00020036,
0x00020037,
0x00020031,
0x00020032,
0x00020001,
0x00020008,
0x00020014,
0x00020002,
0x00020003,
0x00020004,
0x00020006,
0x00020005,
0x00020009,
0x0002000F,
0x0002000E,
0x0002000D,
0x00020012,
0x00020011,
0x00020010,
0x00020017,
0x0002001B,
0x00020015,
0x00020013,
0x00020016,
0x00020019,
0x00020018,
0x0002001A,
0x0002001C,
0x0002001D,
0x0002001F,
0x0002001E,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
One,
Zero,
One,
One,
Zero,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
"Command Buffer Start",
"Command Buffer End",
"Software Downcore Config",
"Set PowerDwonEn",
"Set CCLK Fmax",
"Set GFXCCLK Fmax",
"Set Interleave Mode",
"Set Interleave Size",
"Set Mem Clock",
"Set Trcpage",
"Set Tcwl",
"Set Tcl",
"Set Trcdrd",
"Set Trcdwr",
"Set Trp",
"Set Tras",
"Set Trc",
"Set TrrdL",
"Set TrrdS",
"Set Tfaw",
"Set TwtrL",
"Set TwtrS",
"Set Twr",
"Set TrdrdScL",
"Set TwrwrScL",
"Set Trtp",
"Set Tcke",
"Set TrdrdSc",
"Set TrdrdDd",
"Set TrdrdSd",
"Set TwrwrSc",
"Set TwrwrSd",
"Set TwrwrDd",
"Set Twrrd",
"Set Trdwr",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
})
Name (OBIE, Package (0xC1)
{
0x40,
0x00010003,
0x00010004,
0x00010005,
0x00010006,
0x00010007,
0x00010008,
0x0005000A,
0x00050010,
0x00050001,
0x00050002,
0x00050003,
0x0005000C,
0x0005000D,
0x00050004,
0x00020043,
0x0002003C,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
One,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
"Get OC Disable",
"Get OC Voltage Max",
"Get OC Frequency Max",
"Get GFX OC Voltage Max",
"Get GFX OC Frequency Max",
"Get Interlevaing Cap",
"Set Curve Optimizer",
"Set GFX Curve Optimizer",
"Set PPT Limit",
"Set TDC Limit",
"Set EDC Limit",
"Set Soc TDC Limit",
"Set Soc EDC Limit",
"Set Scalar",
"Set LCLK Freq",
"Set Trfc1",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
})
Name (OBIT, Package (0x32)
{
0x31,
Package (0x04)
{
0x0002001E,
One,
0x32,
Buffer (0x14)
{
/* 0000 */ 0x1E, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x0002001F,
One,
0x31,
Buffer (0x14)
{
/* 0000 */ 0x1F, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x0002001D,
One,
0x30,
Buffer (0x14)
{
/* 0000 */ 0x1D, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x0002001C,
One,
0x2F,
Buffer (0x14)
{
/* 0000 */ 0x1C, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x0002001A,
One,
0x2E,
Buffer (0x14)
{
/* 0000 */ 0x1A, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020018,
One,
0x2D,
Buffer (0x14)
{
/* 0000 */ 0x18, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020019,
One,
0x2C,
Buffer (0x14)
{
/* 0000 */ 0x19, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020016,
One,
0x2B,
Buffer (0x14)
{
/* 0000 */ 0x16, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020013,
One,
0x2A,
Buffer (0x14)
{
/* 0000 */ 0x13, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020015,
One,
0x29,
Buffer (0x14)
{
/* 0000 */ 0x15, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x0002001B,
One,
0x28,
Buffer (0x14)
{
/* 0000 */ 0x1B, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020017,
One,
0x27,
Buffer (0x14)
{
/* 0000 */ 0x17, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020010,
One,
0x26,
Buffer (0x14)
{
/* 0000 */ 0x10, 0x00, 0x02, 0x00, 0x1D, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020011,
One,
0x25,
Buffer (0x14)
{
/* 0000 */ 0x11, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020012,
One,
0x24,
Buffer (0x14)
{
/* 0000 */ 0x12, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x0002000D,
One,
0x23,
Buffer (0x14)
{
/* 0000 */ 0x0D, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x0002000E,
One,
0x22,
Buffer (0x14)
{
/* 0000 */ 0x0E, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x0002000F,
One,
0x21,
Buffer (0x14)
{
/* 0000 */ 0x0F, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020009,
One,
0x20,
Buffer (0x14)
{
/* 0000 */ 0x09, 0x00, 0x02, 0x00, 0x33, 0x00, 0x00, 0x00, // ....3...
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020005,
One,
0x1F,
Buffer (0x14)
{
/* 0000 */ 0x05, 0x00, 0x02, 0x00, 0x22, 0x00, 0x00, 0x00, // ...."...
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x0002003C,
One,
0x1E,
Buffer (0x14)
{
/* 0000 */ 0x3C, 0x00, 0x02, 0x00, 0xE0, 0x00, 0x00, 0x00, // <.......
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020006,
One,
0x1D,
Buffer (0x14)
{
/* 0000 */ 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020004,
One,
0x1C,
Buffer (0x14)
{
/* 0000 */ 0x04, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020003,
One,
0x1B,
Buffer (0x14)
{
/* 0000 */ 0x03, 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020002,
One,
0x1A,
Buffer (0x14)
{
/* 0000 */ 0x02, 0x00, 0x02, 0x00, 0x12, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020014,
One,
0x19,
Buffer (0x14)
{
/* 0000 */ 0x14, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020008,
One,
0x18,
Buffer (0x14)
{
/* 0000 */ 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020001,
One,
0x17,
Buffer (0x14)
{
/* 0000 */ 0x01, 0x00, 0x02, 0x00, 0x80, 0x0C, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020043,
One,
0x16,
Buffer (0x14)
{
/* 0000 */ 0x43, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // C.......
/* 0008 */ 0x96, 0x00, 0x00, 0x00, 0xC4, 0x09, 0x00, 0x00, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020032,
One,
0x15,
Buffer (0x14)
{
/* 0000 */ 0x32, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // 2.......
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020031,
Zero,
0x14,
Buffer (0x019C)
{
/* 0000 */ 0x31, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // 1.......
/* 0008 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x04)
{
0x00020037,
One,
0x13,
Buffer (0x14)
{
/* 0000 */ 0x37, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // 7.......
/* 0008 */ 0x8C, 0x0A, 0x00, 0x00, 0x54, 0x0B, 0x00, 0x00, // ....T...
/* 0010 */ 0x19, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020036,
One,
0x12,
Buffer (0x14)
{
/* 0000 */ 0x36, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // 6.......
/* 0008 */ 0x1D, 0x10, 0x00, 0x00, 0xCD, 0x14, 0x00, 0x00, // ........
/* 0010 */ 0x19, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00050004,
One,
0x11,
Buffer (0x14)
{
/* 0000 */ 0x04, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x64, 0x00, 0x00, 0x00, 0xE8, 0x03, 0x00, 0x00, // d.......
/* 0010 */ 0x64, 0x00, 0x00, 0x00 // d...
}
},
Package (0x04)
{
0x0005000D,
One,
0x10,
Buffer (0x14)
{
/* 0000 */ 0x0D, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x30, 0x75, 0x00, 0x00, // ....0u..
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x0005000C,
One,
0x0F,
Buffer (0x14)
{
/* 0000 */ 0x0C, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x20, 0x4E, 0x00, 0x00, // .... N..
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00050003,
One,
0x0E,
Buffer (0x14)
{
/* 0000 */ 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xF0, 0x49, 0x02, 0x00, // .....I..
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00050002,
One,
0x0D,
Buffer (0x14)
{
/* 0000 */ 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x70, 0x11, 0x01, 0x00, // ....p...
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00050001,
One,
0x0C,
Buffer (0x14)
{
/* 0000 */ 0x01, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x48, 0xE8, 0x01, 0x00, // ....H...
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020025,
Zero,
0x0B,
Buffer (0x019C)
{
/* 0000 */ 0x25, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // %.......
/* 0008 */ 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ........
/* 0010 */ 0x00, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00050010,
One,
0x0A,
Buffer (0x14)
{
/* 0000 */ 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x0005000A,
One,
0x09,
Buffer (0x14)
{
/* 0000 */ 0x0A, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00020027,
One,
0x08,
Buffer (0x14)
{
/* 0000 */ 0x27, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // '.......
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00010008,
One,
0x07,
Buffer (0x14)
{
/* 0000 */ 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00010007,
One,
0x06,
Buffer (0x14)
{
/* 0000 */ 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00010006,
One,
0x05,
Buffer (0x14)
{
/* 0000 */ 0x06, 0x00, 0x01, 0x00, 0xF0, 0x0A, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00010005,
One,
0x04,
Buffer (0x14)
{
/* 0000 */ 0x05, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00010004,
One,
0x03,
Buffer (0x14)
{
/* 0000 */ 0x04, 0x00, 0x01, 0x00, 0xF0, 0x0A, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
},
Package (0x04)
{
0x00010003,
One,
0x02,
Buffer (0x14)
{
/* 0000 */ 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, // ........
/* 0010 */ 0x01, 0x00, 0x00, 0x00 // ....
}
}
})
Scope (\)
{
Name (GF01, 0x00)
Name (ASMI, 0x00B0)
Name (ISMI, 0x9D)
Name (AODV, 0x06)
OperationRegion (AODE, SystemMemory, 0x1BB05018, 0x24AC)
Field (AODE, AnyAcc, NoLock, Preserve)
{
OUTB, 1568,
AQVS, 32,
SCMI, 32,
SCMD, 32,
DSPD, 68128,
RESV, 96,
RMPD, 1120,
WCNS, 4096
}
Device (AOD)
{
Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
Name (_UID, "AOD") // _UID: Unique ID
Method (AM01, 0, NotSerialized)
{
AODV = AQVS /* \AQVS */
Return (\AODV)
}
Method (AM02, 0, NotSerialized)
{
If ((GF01 == 0x00))
{
GF01 = 0x01
}
Return (0x00)
}
Method (AM03, 0, NotSerialized)
{
Return (\OBID) /* External reference */
}
Method (AM04, 1, NotSerialized)
{
Name (LODT, Buffer (0x019C)
{
0x00 // .
})
Name (TEMP, Buffer (0x0200)
{
0x00 // .
})
Local0 = Arg0
Local1 = DerefOf (\OBIT [0x00])
Local2 = 0x01
While ((Local2 <= Local1))
{
Local3 = DerefOf (DerefOf (\OBIT [Local2]) [0x00])
Local4 = DerefOf (DerefOf (\OBIT [Local2]) [0x01])
If (((Local3 == Local0) && (Local4 == 0x00)))
{
LODT = DerefOf (DerefOf (\OBIT [Local2]) [0x03])
TEMP = WCNS /* \WCNS */
Local5 = DerefOf (DerefOf (\OBIT [Local2]) [0x02])
Local5 *= 0x04
CreateDWordField (TEMP, Local5, TEM1)
CreateDWordField (LODT, 0x04, CRUT)
CRUT = TEM1 /* \AOD_.AM04.TEM1 */
Break
}
Local2++
}
Return (LODT) /* \AOD_.AM04.LODT */
}
OperationRegion (PSMI, SystemIO, ASMI, 0x02)
Field (PSMI, AnyAcc, NoLock, Preserve)
{
ASMO, 8
}
Mutex (SMLO, 0x00)
Method (AM05, 1, NotSerialized)
{
Name (LODT, Buffer (0xC8)
{
0x00 // .
})
CreateDWordField (Arg0, 0x00, DCMI)
CreateDWordField (Arg0, 0x04, DCMD)
SCMI = DCMI /* \AOD_.AM05.DCMI */
SCMD = DCMD /* \AOD_.AM05.DCMD */
ASMO = ISMI /* \ISMI */
LODT = OUTB /* \OUTB */
Return (LODT) /* \AOD_.AM05.LODT */
}
Method (AM06, 1, NotSerialized)
{
Name (LODT, Buffer (0x14)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
})
Name (TEMP, Buffer (0x0200)
{
0x00 // .
})
Local0 = Arg0
Local1 = DerefOf (\OBIT [0x00])
Local2 = 0x01
While ((Local2 <= Local1))
{
Local3 = DerefOf (DerefOf (\OBIT [Local2]) [0x00])
Local4 = DerefOf (DerefOf (\OBIT [Local2]) [0x01])
If (((Local3 == Local0) && (Local4 == 0x01)))
{
LODT = DerefOf (DerefOf (\OBIT [Local2]) [0x03])
TEMP = WCNS /* \WCNS */
Local5 = DerefOf (DerefOf (\OBIT [Local2]) [0x02])
Local5 *= 0x04
CreateDWordField (TEMP, Local5, TEM1)
CreateDWordField (LODT, 0x04, CRUT)
CRUT = TEM1 /* \AOD_.AM06.TEM1 */
Break
}
Local2++
}
Return (LODT) /* \AOD_.AM06.LODT */
}
Method (AM07, 1, NotSerialized)
{
Name (BSPD, Buffer (0x0214) {})
If ((Arg0 > 0x0F))
{
Return (BSPD) /* \AOD_.AM07.BSPD */
}
If ((Arg0 == 0x00))
{
BSPD = DSPD /* \DSPD */
Return (BSPD) /* \AOD_.AM07.BSPD */
}
Local0 = 0x00
Local0 += (Arg0 * 0x0214)
Local1 = 0x0214
Local2 = 0x00
While (Local1)
{
BSPD [Local2] = DerefOf (DSPD [Local0])
Local1--
Local0++
Local2++
}
Return (BSPD) /* \AOD_.AM07.BSPD */
}
Method (AM08, 0, NotSerialized)
{
Return (\OBIE) /* External reference */
}
Method (AM09, 0, NotSerialized)
{
Name (TEMP, Buffer (0x8C) {})
TEMP = RMPD /* \RMPD */
Return (TEMP) /* \AOD_.AM09.TEMP */
}
Name (_WDG, Buffer (0x28)
{
/* 0000 */ 0x6A, 0x0F, 0xBC, 0xAB, 0xA1, 0x8E, 0xD1, 0x11, // j.......
/* 0008 */ 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 0x00, 0x00, // ....)...
/* 0010 */ 0x41, 0x41, 0x01, 0x02, 0x21, 0x12, 0x90, 0x05, // AA..!...
/* 0018 */ 0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0, // f.......
/* 0020 */ 0xC9, 0x06, 0x29, 0x10, 0x42, 0x41, 0x01, 0x00 // ..).BA..
})
Method (WMAA, 3, NotSerialized)
{
If ((Arg0 == 0x00))
{
If ((((Arg1 != 0x01) || (Arg1 != 0x02)) ||
(Arg1 != 0x06)))
{
CreateDWordField (Arg2, 0x00, WIID)
}
If ((Arg1 == 0x01))
{
Return (AM01 ())
}
ElseIf ((Arg1 == 0x02))
{
Return (AM02 ())
}
ElseIf ((Arg1 == 0x03))
{
Return (AM03 ())
}
ElseIf ((Arg1 == 0x04))
{
Return (AM04 (WIID))
}
ElseIf ((Arg1 == 0x05))
{
Return (AM05 (Arg2))
}
ElseIf ((Arg1 == 0x06))
{
Return (AM06 (WIID))
}
ElseIf ((Arg1 == 0x07))
{
Return (AM07 (WIID))
}
ElseIf ((Arg1 == 0x08))
{
Return (AM08 ())
}
ElseIf ((Arg1 == 0x09))
{
Return (AM09 ())
}
Else
{
Return (Zero)
}
}
Return (Zero)
}
Name (WQBA, Buffer (0x0C80)
{
/* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB....
/* 0008 */ 0x70, 0x0C, 0x00, 0x00, 0x6C, 0x45, 0x00, 0x00, // p...lE..
/* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T
/* 0018 */ 0x18, 0xD4, 0xA1, 0x00, 0x01, 0x06, 0x18, 0x42, // .......B
/* 0020 */ 0x10, 0x11, 0x10, 0x22, 0x21, 0x30, 0x34, 0x32, // ..."!042
/* 0028 */ 0x0B, 0x03, 0x63, 0x04, 0x8A, 0x0B, 0x21, 0x07, // ..c...!.
/* 0030 */ 0x10, 0x12, 0x07, 0x85, 0x12, 0x02, 0xA1, 0xFE, // ........
/* 0038 */ 0x04, 0xF2, 0x2B, 0x00, 0xE1, 0x16, 0xCA, 0x14, // ..+.....
/* 0040 */ 0x60, 0x50, 0x80, 0x53, 0x04, 0x11, 0xF4, 0x2A, // `P.S...*
/* 0048 */ 0xC0, 0xA6, 0x00, 0x93, 0x02, 0x2C, 0x0A, 0xD0, // .....,..
/* 0050 */ 0x2E, 0xC0, 0xB2, 0x00, 0xDD, 0x02, 0xA4, 0xC3, // ........
/* 0058 */ 0x12, 0x91, 0xE0, 0x28, 0x31, 0xE0, 0x28, 0x9D, // ...(1.(.
/* 0060 */ 0xD8, 0xC2, 0x0D, 0x1B, 0xBC, 0x50, 0x14, 0xCD, // .....P..
/* 0068 */ 0x20, 0x4A, 0x82, 0xCA, 0x05, 0xF8, 0x46, 0x10, // J....F.
/* 0070 */ 0x78, 0xB9, 0x02, 0x24, 0x4F, 0x40, 0x9A, 0x05, // x..$O@..
/* 0078 */ 0x18, 0x16, 0x60, 0x5D, 0x80, 0xEC, 0x21, 0x50, // ..`]..!P
/* 0080 */ 0xA9, 0x43, 0x40, 0xC9, 0x19, 0x02, 0x6A, 0x00, // .C@...j.
/* 0088 */ 0xAD, 0x4E, 0x40, 0xF8, 0x95, 0x4E, 0x09, 0x49, // .N@..N.I
/* 0090 */ 0x10, 0xCE, 0x58, 0xC5, 0xE3, 0x6B, 0x16, 0x4D, // ..X..k.M
/* 0098 */ 0xCF, 0x49, 0xCE, 0x31, 0xE4, 0x78, 0x5C, 0xE8, // .I.1.x\.
/* 00A0 */ 0x41, 0xF0, 0x50, 0x1A, 0x40, 0x98, 0xFC, 0x21, // A.P.@..!
/* 00A8 */ 0x2B, 0x06, 0x0C, 0x4A, 0xC2, 0x58, 0xA8, 0x8B, // +..J.X..
/* 00B0 */ 0x51, 0xA3, 0x46, 0xCA, 0x06, 0x64, 0x88, 0xD2, // Q.F..d..
/* 00B8 */ 0x46, 0x8D, 0x1E, 0xD0, 0xF9, 0x1D, 0xC9, 0xD9, // F.......
/* 00C0 */ 0x1D, 0xDD, 0x91, 0x24, 0x30, 0xEA, 0x31, 0x1D, // ...$0.1.
/* 00C8 */ 0x63, 0x61, 0x33, 0x12, 0x6A, 0x8C, 0xE6, 0xA0, // ca3.j...
/* 00D0 */ 0x48, 0xB8, 0x41, 0xA3, 0x25, 0xC2, 0x6A, 0x5C, // H.A.%.j\
/* 00D8 */ 0xB1, 0xCF, 0xCC, 0xC2, 0x87, 0x25, 0x8C, 0x23, // .....%.#
/* 00E0 */ 0x38, 0xB0, 0x83, 0xB5, 0x68, 0x18, 0xA1, 0x15, // 8...h...
/* 00E8 */ 0x04, 0xA7, 0x41, 0x1C, 0x45, 0x94, 0x30, 0x0C, // ..A.E.0.
/* 00F0 */ 0xCF, 0x98, 0x81, 0x8E, 0x92, 0x21, 0x85, 0x09, // .....!..
/* 00F8 */ 0x7A, 0x02, 0x41, 0x4E, 0x9E, 0x61, 0x19, 0xE2, // z.AN.a..
/* 0100 */ 0x0C, 0x38, 0x56, 0x8C, 0x50, 0x21, 0x31, 0x03, // .8V.P!1.
/* 0108 */ 0x09, 0xFE, 0xFF, 0x3F, 0x81, 0xAE, 0x31, 0xE4, // ...?..1.
/* 0110 */ 0x19, 0x88, 0xDC, 0x03, 0x4E, 0x20, 0x48, 0xF4, // ....N H.
/* 0118 */ 0x28, 0xC1, 0x8D, 0x6B, 0x54, 0x36, 0xA6, 0xB3, // (..kT6..
/* 0120 */ 0xC1, 0x0D, 0xCC, 0x04, 0x71, 0x0E, 0x0F, 0x23, // ....q..#
/* 0128 */ 0x03, 0x42, 0x13, 0x88, 0x1F, 0x3B, 0x7C, 0x02, // .B...;|.
/* 0130 */ 0xBB, 0x3F, 0x0E, 0x48, 0x21, 0x82, 0x2E, 0x04, // .?.H!...
/* 0138 */ 0x67, 0x5A, 0xA3, 0x00, 0x6B, 0x67, 0x07, 0xD9, // gZ..kg..
/* 0140 */ 0x82, 0xD0, 0x59, 0x20, 0x56, 0x63, 0x28, 0x82, // ..Y Vc(.
/* 0148 */ 0x88, 0x10, 0x34, 0x8A, 0xF1, 0x22, 0x84, 0x0A, // ..4.."..
/* 0150 */ 0x11, 0x25, 0xEA, 0x39, 0x07, 0xA9, 0x4D, 0x80, // .%.9..M.
/* 0158 */ 0x32, 0x10, 0xA1, 0x05, 0x33, 0x02, 0xB3, 0x7F, // 2...3...
/* 0160 */ 0x06, 0x60, 0x16, 0x20, 0xFE, 0x08, 0x2C, 0xE1, // .`. ..,.
/* 0168 */ 0x44, 0x20, 0x23, 0xA3, 0xA1, 0x87, 0x05, 0x9F, // D #.....
/* 0170 */ 0x04, 0xD8, 0x01, 0xC1, 0xF3, 0x39, 0x35, 0x13, // .....95.
/* 0178 */ 0x38, 0x30, 0x84, 0x78, 0x25, 0x40, 0xD4, 0xD1, // 80.x%@..
/* 0180 */ 0x82, 0x12, 0x58, 0xCA, 0xD1, 0x80, 0xD8, 0x1E, // ..X.....
/* 0188 */ 0x98, 0xEE, 0x01, 0x47, 0x78, 0xEE, 0xBE, 0x1C, // ...Gx...
/* 0190 */ 0x9C, 0x9A, 0x7F, 0x1A, 0x9E, 0xE6, 0x43, 0x02, // ......C.
/* 0198 */ 0x66, 0x88, 0x1E, 0xEB, 0x41, 0x04, 0x3C, 0x44, // f...A.<D
/* 01A0 */ 0x76, 0x4A, 0x30, 0x20, 0xDE, 0xFB, 0xB5, 0x80, // vJ0 ....
/* 01A8 */ 0x8C, 0xE0, 0x25, 0xC1, 0x80, 0x9E, 0xC4, 0x03, // ..%.....
/* 01B0 */ 0x02, 0x58, 0x0E, 0x1A, 0x07, 0x7E, 0x42, 0x15, // .X...~B.
/* 01B8 */ 0xDF, 0x01, 0xE8, 0x91, 0x80, 0xCD, 0x28, 0xBE, // ......(.
/* 01C0 */ 0x09, 0xCA, 0x3A, 0x3E, 0xA0, 0xE7, 0x1C, 0xED, // ..:>....
/* 01C8 */ 0xD9, 0xE1, 0x65, 0xA1, 0xD9, 0x2B, 0x06, 0x21, // ..e..+.!
/* 01D0 */ 0x78, 0x0D, 0xF0, 0x4D, 0xC1, 0xA7, 0x11, 0x8B, // x..M....
/* 01D8 */ 0x5A, 0x9D, 0x9C, 0xAC, 0xCA, 0x23, 0xA6, 0xE0, // Z....#..
/* 01E0 */ 0x1E, 0x02, 0x97, 0x01, 0xA7, 0xA1, 0x7B, 0xBC, // ......{.
/* 01E8 */ 0xE0, 0x50, 0x30, 0x5E, 0xFA, 0xFF, 0x1F, 0x2F, // .P0^.../
/* 01F0 */ 0xB8, 0xE7, 0x75, 0xBC, 0x60, 0x39, 0x26, 0x3C, // ..u.`9&<
/* 01F8 */ 0x6C, 0x54, 0x05, 0xA1, 0x41, 0x1C, 0x70, 0xF3, // lT..A.p.
/* 0200 */ 0x03, 0x20, 0x57, 0x0B, 0x8F, 0x98, 0xCD, 0xE5, // . W.....
/* 0208 */ 0xAC, 0xD8, 0x11, 0x85, 0x0F, 0x8F, 0x0F, 0xC3, // ........
/* 0210 */ 0x23, 0x7E, 0x6F, 0x28, 0x16, 0x44, 0x02, 0x21, // #~o(.D.!
/* 0218 */ 0x74, 0x66, 0x38, 0x72, 0xB0, 0x38, 0x3B, 0x41, // tf8r.8;A
/* 0220 */ 0x88, 0xC0, 0xD2, 0x86, 0x8E, 0x1E, 0xB2, 0x47, // .......G
/* 0228 */ 0xF5, 0x12, 0x63, 0x8C, 0x27, 0x02, 0xA3, 0x9E, // ..c.'...
/* 0230 */ 0xD2, 0xD1, 0x83, 0x0F, 0xD0, 0xA3, 0x07, 0x7C, // .......|
/* 0238 */ 0xFE, 0xFF, 0x47, 0x8F, 0x93, 0x34, 0x66, 0x89, // ..G..4f.
/* 0240 */ 0x18, 0x3D, 0xFA, 0x1C, 0xE1, 0xE9, 0xBC, 0xFD, // .=......
/* 0248 */ 0xF0, 0xA3, 0x48, 0x02, 0xC7, 0x87, 0xD0, 0xE8, // ..H.....
/* 0250 */ 0xC1, 0x73, 0xFA, 0xF1, 0xE8, 0xC1, 0x3F, 0x46, // .s....?F
/* 0258 */ 0x8F, 0x1E, 0x3C, 0x63, 0x38, 0x37, 0xDC, 0xD5, // ..<c87..
/* 0260 */ 0xC6, 0x23, 0x07, 0xFB, 0x78, 0xF1, 0xF2, 0x8E, // .#..x...
/* 0268 */ 0x5B, 0xA0, 0xF0, 0x39, 0x7B, 0x32, 0x80, 0xF7, // [..9{2..
/* 0270 */ 0x20, 0xDC, 0x79, 0x0B, 0xB8, 0x8C, 0x80, 0xCB, // .y.....
/* 0278 */ 0x3D, 0x57, 0xA1, 0x04, 0x1E, 0xAD, 0x40, 0xFB, // =W....@.
/* 0280 */ 0xFF, 0x3F, 0x5A, 0x01, 0x4C, 0xB8, 0x3F, 0xBC, // .?Z.L.?.
/* 0288 */ 0x5A, 0x3D, 0x5A, 0x81, 0x3D, 0xE2, 0x73, 0x40, // Z=Z.=.s@
/* 0290 */ 0x3F, 0x02, 0xC7, 0x86, 0x90, 0x93, 0xA3, 0x15, // ?.......
/* 0298 */ 0xEA, 0x64, 0x84, 0x0B, 0x7A, 0xB0, 0x02, 0xBA, // .d..z...
/* 02A0 */ 0x07, 0x0D, 0xDC, 0xF1, 0x00, 0xCE, 0xFF, 0xFF, // ........
/* 02A8 */ 0x78, 0xC0, 0x07, 0xC6, 0x4F, 0x2F, 0xE0, 0x3B, // x...O/.;
/* 02B0 */ 0xB3, 0x78, 0xAC, 0x38, 0x68, 0x86, 0x79, 0x20, // .x.8h.y
/* 02B8 */ 0xA7, 0xE6, 0x6B, 0x20, 0x0B, 0x3B, 0x5A, 0x50, // ..k .;ZP
/* 02C0 */ 0x1D, 0xAB, 0x80, 0xC3, 0xB9, 0x12, 0x37, 0x5A, // ......7Z
/* 02C8 */ 0xB8, 0x43, 0xC3, 0x8F, 0x17, 0x7C, 0x22, 0x4E, // .C...|"N
/* 02D0 */ 0x52, 0x3E, 0xD4, 0x41, 0x3F, 0x80, 0x7A, 0xBC, // R>.A?.z.
/* 02D8 */ 0xE0, 0x39, 0x48, 0x01, 0x87, 0x43, 0x1D, 0xF8, // .9H..C..
/* 02E0 */ 0xFE, 0xFF, 0x87, 0x3A, 0x38, 0x43, 0x06, 0x9F, // ...:8C..
/* 02E8 */ 0xBC, 0xB3, 0x18, 0xFA, 0x3C, 0xE3, 0x29, 0xD4, // ....<.).
/* 02F0 */ 0x7A, 0x89, 0x21, 0xB0, 0x07, 0xE4, 0x93, 0x48, // z.!....H
/* 02F8 */ 0x90, 0x13, 0x89, 0x70, 0x2E, 0x3E, 0x8D, 0x81, // ...p.>..
/* 0300 */ 0xED, 0x00, 0x05, 0x1C, 0x4E, 0x63, 0xE0, 0xB9, // ....Nc..
/* 0308 */ 0xA4, 0xB0, 0xDB, 0x18, 0x18, 0x0E, 0x51, 0xF0, // ......Q.
/* 0310 */ 0x26, 0xE5, 0xF1, 0x83, 0xEF, 0xD4, 0x84, 0x3B, // &......;
/* 0318 */ 0x44, 0xC1, 0xF3, 0x38, 0x24, 0x21, 0x9F, 0xC7, // D..8$!..
/* 0320 */ 0x4B, 0x00, 0xEE, 0x1E, 0x85, 0x3F, 0x47, 0x81, // K....?G.
/* 0328 */ 0xF7, 0xFF, 0x7F, 0x8E, 0x82, 0x27, 0x6B, 0xA1, // .....'k.
/* 0330 */ 0xF4, 0x10, 0x65, 0x21, 0x30, 0xA8, 0x73, 0x14, // ..e!0.s.
/* 0338 */ 0xC0, 0x14, 0x6F, 0xB7, 0x0D, 0xDD, 0xA2, 0x7C, // ..o....|
/* 0340 */ 0x1B, 0x78, 0x1A, 0x78, 0x8D, 0x88, 0xF2, 0x1C, // .x.x....
/* 0348 */ 0xE5, 0x8B, 0xD4, 0x0B, 0x41, 0x84, 0x28, 0xC7, // ....A.(.
/* 0350 */ 0x7B, 0x02, 0x11, 0x1E, 0xA6, 0x3C, 0xE1, 0x30, // {....<.0
/* 0358 */ 0xE1, 0x4E, 0x36, 0xCA, 0x4B, 0x43, 0x18, 0x43, // .N6.KC.C
/* 0360 */ 0xC7, 0x0A, 0x14, 0x39, 0x7E, 0x08, 0x5F, 0x2A, // ...9~._*
/* 0368 */ 0x7C, 0x8E, 0x62, 0x51, 0xCE, 0x03, 0xFA, 0x11, // |.bQ....
/* 0370 */ 0xF8, 0xFC, 0x61, 0x23, 0x67, 0x11, 0xD4, 0x49, // ..a#g..I
/* 0378 */ 0xC0, 0x87, 0x0E, 0x0F, 0xEA, 0x09, 0x01, 0x13, // ........
/* 0380 */ 0xFA, 0x60, 0x08, 0xAA, 0xFF, 0xFF, 0x49, 0x0A, // .`....I.
/* 0388 */ 0x38, 0x1F, 0x40, 0xE0, 0x85, 0x3C, 0xF3, 0x82, // 8.@..<..
/* 0390 */ 0xEE, 0x44, 0x0F, 0x8E, 0x33, 0x61, 0xE4, 0xB8, // .D..3a..
/* 0398 */ 0x0F, 0x34, 0xD8, 0xB3, 0x07, 0xF0, 0x91, 0x76, // .4.....v
/* 03A0 */ 0xF0, 0x40, 0x89, 0x39, 0x7B, 0x00, 0xBA, 0xFE, // .@.9{...
/* 03A8 */ 0xFF, 0x67, 0x0F, 0xC0, 0xC2, 0x65, 0xE3, 0xDD, // .g...e..
/* 03B0 */ 0xC3, 0x97, 0x9E, 0x33, 0x7D, 0xF6, 0xF0, 0x5C, // ...3}..\
/* 03B8 */ 0xDF, 0x39, 0x7C, 0x2A, 0x34, 0x8A, 0x21, 0xDE, // .9|*4.!.
/* 03C0 */ 0x3F, 0x7C, 0x28, 0x88, 0x12, 0xF1, 0x5C, 0xA3, // ?|(...\.
/* 03C8 */ 0x1C, 0x72, 0x94, 0xB8, 0x11, 0xC2, 0x3C, 0x1E, // .r....<.
/* 03D0 */ 0x1A, 0x27, 0x46, 0xA8, 0x08, 0x0C, 0xF4, 0xD9, // .'F.....
/* 03D8 */ 0x83, 0xC5, 0x39, 0x7B, 0x40, 0xC5, 0x3E, 0x9B, // ..9{@.>.
/* 03E0 */ 0x37, 0x8E, 0x08, 0xAF, 0x01, 0xE7, 0x78, 0x3E, // 7.....x>
/* 03E8 */ 0x3E, 0x7B, 0x00, 0xDE, 0xA4, 0x3C, 0xFD, 0x74, // >{...<.t
/* 03F0 */ 0xF6, 0x00, 0xD7, 0x09, 0x18, 0x77, 0xF6, 0xC0, // .....w..
/* 03F8 */ 0xFD, 0xFF, 0xCF, 0x1E, 0xB8, 0x71, 0x63, 0x4F, // .....qcO
/* 0400 */ 0x1F, 0xC0, 0x4E, 0x84, 0x87, 0xA3, 0x07, 0x26, // ..N....&
/* 0408 */ 0xF6, 0xF9, 0x16, 0xA0, 0xD0, 0xE1, 0xE3, 0xF9, // ........
/* 0410 */ 0x16, 0xAC, 0xFF, 0xFF, 0x83, 0x14, 0x17, 0xFE, // ........
/* 0418 */ 0xB2, 0xD4, 0xA7, 0xC0, 0xC1, 0x0F, 0xA9, 0xE8, // ........
/* 0420 */ 0xE1, 0xF8, 0x38, 0x87, 0x39, 0xE0, 0x02, 0x6C, // ..8.9..l
/* 0428 */ 0x3E, 0x5A, 0xFB, 0xFF, 0x7F, 0xB4, 0xC6, 0x03, // >Z......
/* 0430 */ 0x87, 0xF4, 0x51, 0x01, 0x6C, 0xC7, 0x5B, 0xE0, // ..Q.l.[.
/* 0438 */ 0x70, 0x54, 0x00, 0xCF, 0xC0, 0xF8, 0x58, 0x81, // pT....X.
/* 0440 */ 0xC5, 0xC4, 0x1E, 0x5D, 0x8E, 0x15, 0x6C, 0x87, // ...]..l.
/* 0448 */ 0x5A, 0xE0, 0x30, 0x56, 0x30, 0x0D, 0x8C, 0x8D, // Z.0V0...
/* 0450 */ 0x15, 0x7C, 0x12, 0x8E, 0xD5, 0xE8, 0x31, 0xFA, // .|....1.
/* 0458 */ 0xD6, 0x73, 0x40, 0x9E, 0x47, 0x84, 0xB0, 0xBE, // .s@.G...
/* 0460 */ 0xC2, 0x24, 0x70, 0x5C, 0x08, 0xFD, 0xFF, 0x87, // .$p\....
/* 0468 */ 0x0B, 0x1E, 0x50, 0x0F, 0x17, 0xFC, 0xF2, 0x86, // ..P.....
/* 0470 */ 0x0B, 0x9A, 0xB1, 0xC1, 0x19, 0x31, 0xF8, 0x4E, // .....1.N
/* 0478 */ 0x5E, 0x3E, 0x06, 0x83, 0xE5, 0x12, 0xC1, 0xCE, // ^>......
/* 0480 */ 0x02, 0x6C, 0x3A, 0xF8, 0x9B, 0x30, 0xFE, 0xC8, // .l:..0..
/* 0488 */ 0x05, 0x8C, 0x02, 0x98, 0x00, 0x61, 0x32, 0x4F, // .....a2O
/* 0490 */ 0x07, 0x92, 0x0C, 0x83, 0x3A, 0x72, 0x01, 0xA7, // ....:r..
/* 0498 */ 0x10, 0x07, 0x02, 0x28, 0xFF, 0xFF, 0x23, 0x17, // ...(..#.
/* 04A0 */ 0xF0, 0x53, 0x3A, 0x25, 0x4D, 0xFA, 0xFD, 0x1B, // .S:%M...
/* 04A8 */ 0x77, 0xCC, 0x02, 0x1B, 0xC2, 0x63, 0x16, 0xBF, // w....c..
/* 04B0 */ 0x30, 0xFA, 0x98, 0x05, 0x46, 0x31, 0x4B, 0xD1, // 0...F1K.
/* 04B8 */ 0x58, 0x2C, 0xE7, 0xCC, 0xE8, 0x53, 0x07, 0xEA, // X,...S..
/* 04C0 */ 0x6C, 0xE1, 0x33, 0xC0, 0x19, 0x1E, 0xD8, 0xB3, // l.3.....
/* 04C8 */ 0xC6, 0xF1, 0x9E, 0x42, 0xED, 0xC3, 0x24, 0x73, // ...B..$s
/* 04D0 */ 0xF5, 0x75, 0xFD, 0x09, 0x80, 0x9F, 0x1B, 0x7D, // .u.....}
/* 04D8 */ 0xD6, 0x02, 0xAE, 0x27, 0x84, 0x67, 0x2D, 0xF0, // ...'.g-.
/* 04E0 */ 0xDC, 0x07, 0x7C, 0x0D, 0xE0, 0x13, 0x39, 0x3E, // ..|...9>
/* 04E8 */ 0x38, 0xE7, 0x46, 0xF0, 0xFC, 0xFF, 0xCF, 0x52, // 8.F....R
/* 04F0 */ 0x96, 0x35, 0x6E, 0xB4, 0x24, 0x10, 0x1D, 0x32, // .5n.$..2
/* 04F8 */ 0x22, 0x9E, 0xE9, 0x41, 0xBC, 0xD6, 0xF9, 0x04, // "..A....
/* 0500 */ 0xFC, 0x8A, 0x10, 0xFB, 0x1D, 0xC3, 0x37, 0x05, // ......7.
/* 0508 */ 0x4F, 0xC4, 0xF7, 0x3A, 0x13, 0x8C, 0x7E, 0xEC, // O..:..~.
/* 0510 */ 0x02, 0xBA, 0xA7, 0x14, 0xDC, 0xC0, 0xE1, 0x8E, // ........
/* 0518 */ 0x0F, 0x77, 0xA4, 0xC0, 0x0F, 0x11, 0xCE, 0xD8, // .w......
/* 0520 */ 0xC1, 0x25, 0xFC, 0x14, 0x8B, 0x3E, 0x42, 0xF0, // .%...>B.
/* 0528 */ 0x61, 0x60, 0xB1, 0x03, 0xBF, 0x13, 0x60, 0xE4, // a`....`.
/* 0530 */ 0x41, 0xEB, 0x24, 0x0B, 0x9E, 0x33, 0x18, 0x70, // A.$..3.p
/* 0538 */ 0x88, 0x30, 0x74, 0xD0, 0xDC, 0x44, 0xCE, 0xE2, // .0t..D..
/* 0540 */ 0xFF, 0x1F, 0x2C, 0x4E, 0xB4, 0x93, 0x38, 0x9F, // ..,N..8.
/* 0548 */ 0x48, 0xE7, 0x17, 0x2C, 0x4A, 0x75, 0x33, 0x87, // H..,Ju3.
/* 0550 */ 0x00, 0x74, 0x90, 0x38, 0x9C, 0x37, 0x1F, 0x8F, // .t.8.7..
/* 0558 */ 0xCE, 0x30, 0xBE, 0x61, 0xB2, 0x7B, 0x00, 0xBF, // .0.a.{..
/* 0560 */ 0xEF, 0x78, 0x2E, 0x07, 0xE6, 0xE3, 0x2D, 0xBC, // .x....-.
/* 0568 */ 0x23, 0x83, 0x0F, 0x03, 0xE0, 0x12, 0x3D, 0x7E, // #.....=~
/* 0570 */ 0x29, 0x39, 0x0C, 0xA0, 0x06, 0x69, 0xD8, 0xD3, // )9...i..
/* 0578 */ 0x39, 0xFD, 0x03, 0x3B, 0xB2, 0xE6, 0xE1, 0x35, // 9..;...5
/* 0580 */ 0xAA, 0xD7, 0x1D, 0x9F, 0x8C, 0x1E, 0x05, 0xC0, // ........
/* 0588 */ 0x76, 0x44, 0x03, 0x0E, 0x01, 0x8E, 0x02, 0x40, // vD.....@
/* 0590 */ 0x68, 0x9A, 0x38, 0x9C, 0xE3, 0xC4, 0x1C, 0x5F, // h.8...._
/* 0598 */ 0x7D, 0x0F, 0x62, 0xD7, 0x15, 0x63, 0xBE, 0x51, // }.b..c.Q
/* 05A0 */ 0x55, 0x7F, 0x12, 0x80, 0x7E, 0xF8, 0x02, 0xCF, // U...~...
/* 05A8 */ 0xFF, 0xFF, 0xF2, 0xF3, 0xFA, 0x93, 0xC0, 0x42, // .......B
/* 05B0 */ 0x8F, 0x02, 0x50, 0xA0, 0x5F, 0xBD, 0x7C, 0xAB, // ..P._.|.
/* 05B8 */ 0x79, 0x56, 0x60, 0xB8, 0xA7, 0x74, 0x56, 0x09, // yV`..tV.
/* 05C0 */ 0x2C, 0xE9, 0x28, 0x00, 0xAA, 0xE3, 0x1B, 0x70, // ,.(....p
/* 05C8 */ 0xB8, 0x49, 0x3D, 0x0A, 0x80, 0x7F, 0x8A, 0x0C, // .I=.....
/* 05D0 */ 0xE4, 0x18, 0xB1, 0xF7, 0x0B, 0x7E, 0x6A, 0xB3, // .....~j.
/* 05D8 */ 0xCB, 0x43, 0x00, 0xD0, 0x39, 0x4C, 0x91, 0x43, // .C..9L.C
/* 05E0 */ 0x00, 0x6A, 0x98, 0x9E, 0x36, 0x3F, 0xCE, 0xF2, // .j..6?..
/* 05E8 */ 0x13, 0x00, 0x78, 0x40, 0x7D, 0x02, 0x00, 0xFF, // ..x@}...
/* 05F0 */ 0xBD, 0xD7, 0x27, 0x00, 0x38, 0xFF, 0xFF, 0x13, // ..'.8...
/* 05F8 */ 0x00, 0xFE, 0x8A, 0x82, 0x1F, 0x1D, 0x6E, 0xE0, // ......n.
/* 0600 */ 0xF0, 0x8E, 0x1C, 0x3E, 0xA5, 0x80, 0xEB, 0xC8, // ...>....
/* 0608 */ 0x88, 0x3B, 0x17, 0xC2, 0x1B, 0x12, 0x3B, 0x10, // .;....;.
/* 0610 */ 0x02, 0xC3, 0xA0, 0x7A, 0x8E, 0x84, 0xF4, 0x70, // ...z...p
/* 0618 */ 0x20, 0x51, 0xEB, 0xA4, 0x30, 0x3E, 0x0D, 0xF8, // Q..0>..
/* 0620 */ 0x40, 0x08, 0xF7, 0xE4, 0x65, 0x38, 0x3E, 0x42, // @...e8>B
/* 0628 */ 0x0F, 0xFD, 0x21, 0xE2, 0xC9, 0xC7, 0xF7, 0x03, // ..!.....
/* 0630 */ 0x4F, 0xEE, 0xC9, 0x10, 0xC6, 0x39, 0xC1, 0x77, // O....9.w
/* 0638 */ 0x15, 0x76, 0x37, 0x7B, 0xD6, 0xF3, 0xB9, 0xCA, // .v7{....
/* 0640 */ 0x04, 0x3E, 0x2C, 0x30, 0x34, 0x7E, 0x4C, 0x04, // .>,04~L.
/* 0648 */ 0xEB, 0x8D, 0xC1, 0x87, 0x67, 0xB0, 0xDC, 0x11, // ....g...
/* 0650 */ 0x31, 0x58, 0xCF, 0x1D, 0x36, 0x2A, 0xE0, 0xFF, // 1X..6*..
/* 0658 */ 0x7F, 0x4B, 0xF7, 0x5D, 0xC6, 0xBE, 0x86, 0xA1, // .K.]....
/* 0660 */ 0x3B, 0xA7, 0x0F, 0x71, 0xBE, 0x74, 0xF0, 0xE3, // ;..q.t..
/* 0668 */ 0x3A, 0xEE, 0x74, 0x08, 0x2E, 0xEC, 0x67, 0x7A, // :.t...gz
/* 0670 */ 0xB0, 0x87, 0x3A, 0x70, 0xD2, 0x48, 0xA3, 0x41, // ..:p.H.A
/* 0678 */ 0x1D, 0x15, 0x7C, 0x28, 0xF0, 0x31, 0xC5, 0x03, // ..|(.1..
/* 0680 */ 0x7C, 0xA9, 0xF0, 0x09, 0xC5, 0xD3, 0x7A, 0x5C, // |.....z\
/* 0688 */ 0x78, 0x1A, 0xF0, 0xB8, 0xD9, 0x35, 0xC1, 0x1F, // x....5..
/* 0690 */ 0x04, 0x1F, 0x0F, 0xF0, 0x07, 0x88, 0x80, 0xAF, // ........
/* 0698 */ 0x37, 0x3E, 0x7A, 0xC0, 0x39, 0x82, 0xE0, 0x8F, // 7>z.9...
/* 06A0 */ 0x2A, 0xF0, 0xC7, 0xE3, 0x63, 0x80, 0x8F, 0xB5, // *...c...
/* 06A8 */ 0x5C, 0xFE, 0x20, 0x50, 0x07, 0x78, 0x3E, 0xD2, // \. P.x>.
/* 06B0 */ 0xD3, 0x7A, 0x1B, 0xF0, 0x21, 0xE1, 0xB0, 0xD8, // .z..!...
/* 06B8 */ 0x09, 0x86, 0x8F, 0x07, 0xFC, 0x07, 0xB2, 0x87, // ........
/* 06C0 */ 0x0C, 0x5F, 0x19, 0x3C, 0x5F, 0x1F, 0xDD, 0xB1, // ._.<_...
/* 06C8 */ 0x47, 0x10, 0x78, 0xB7, 0x0E, 0x1F, 0x1A, 0x42, // G.x....B
/* 06D0 */ 0x3D, 0x75, 0x78, 0x06, 0xEF, 0x17, 0x3E, 0x81, // =ux...>.
/* 06D8 */ 0x60, 0xFF, 0xFF, 0x27, 0x10, 0x70, 0x47, 0x71, // `..'.pGq
/* 06E0 */ 0x03, 0xF1, 0x73, 0x6B, 0xA1, 0xEB, 0x94, 0x8D, // ..sk....
/* 06E8 */ 0xB3, 0x0E, 0x3D, 0x0F, 0x58, 0xEE, 0x01, 0x41, // ..=.X..A
/* 06F0 */ 0xD7, 0x08, 0xCC, 0x0D, 0x22, 0x88, 0x8F, 0x45, // ...."..E
/* 06F8 */ 0xBE, 0x51, 0x30, 0x82, 0x02, 0x01, 0x75, 0xF8, // .Q0...u.
/* 0700 */ 0x34, 0x84, 0xA5, 0x51, 0x48, 0x18, 0x84, 0x46, // 4..QH..F
/* 0708 */ 0xE4, 0xA3, 0x07, 0x81, 0xA3, 0x20, 0x1E, 0xBD, // ..... ..
/* 0710 */ 0x63, 0x1E, 0xCF, 0xD1, 0x43, 0xF5, 0x31, 0xC0, // c...C.1.
/* 0718 */ 0x93, 0xC0, 0x85, 0x3A, 0xA4, 0xD1, 0xE3, 0x02, // ...:....
/* 0720 */ 0x1E, 0xEF, 0x88, 0x4E, 0xCD, 0xD3, 0xF0, 0xD8, // ...N....
/* 0728 */ 0x71, 0x27, 0x0F, 0xB8, 0xE3, 0xC0, 0x9F, 0x76, // q'.....v
/* 0730 */ 0xF0, 0x17, 0x80, 0x57, 0x20, 0x13, 0xB0, 0x53, // ...W ..S
/* 0738 */ 0x35, 0xF8, 0x04, 0x1E, 0x0E, 0x40, 0x01, 0xE4, // 5....@..
/* 0740 */ 0xFB, 0x80, 0x0F, 0x3C, 0xCF, 0x04, 0x6C, 0x0E, // ...<..l.
/* 0748 */ 0x21, 0xC2, 0x44, 0x33, 0x3C, 0x26, 0xF0, 0x31, // !.D3<&.1
/* 0750 */ 0x8C, 0x9E, 0x86, 0x3C, 0x2E, 0x3E, 0x4A, 0x9F, // ...<.>J.
/* 0758 */ 0x61, 0xD8, 0x09, 0xCE, 0xD7, 0x62, 0x0F, 0xF0, // a....b..
/* 0760 */ 0xE5, 0xE0, 0xB9, 0x16, 0x03, 0xEB, 0x71, 0x73, // ......qs
/* 0768 */ 0x58, 0xA3, 0x3D, 0xEE, 0xFA, 0x8A, 0xF0, 0xFF, // X.=.....
/* 0770 */ 0x7F, 0x98, 0xF3, 0xA1, 0xCB, 0x57, 0x27, 0xC3, // .....W'.
/* 0778 */ 0xFA, 0xE4, 0x01, 0x8E, 0xB3, 0x14, 0xFC, 0xA1, // ........
/* 0780 */ 0xE2, 0xCE, 0x02, 0x70, 0x0F, 0xE4, 0x6C, 0x0E, // ...p..l.
/* 0788 */ 0x4F, 0x03, 0x78, 0x99, 0x87, 0x08, 0xD4, 0x40, // O.x....@
/* 0790 */ 0x2C, 0x72, 0x81, 0x3A, 0xAE, 0x78, 0x24, 0x26, // ,r.:.x$&
/* 0798 */ 0xF0, 0x51, 0xD1, 0x07, 0x08, 0x7E, 0x7E, 0xF0, // .Q...~~.
/* 07A0 */ 0x01, 0xD7, 0x07, 0x08, 0x2E, 0x04, 0x8E, 0x82, // ........
/* 07A8 */ 0xF8, 0x00, 0xE1, 0x90, 0x10, 0x3A, 0xE7, 0xE2, // .....:..
/* 07B0 */ 0x8E, 0x03, 0x3E, 0xC0, 0x30, 0x88, 0x07, 0x83, // ..>.0...
/* 07B8 */ 0x07, 0x56, 0x76, 0x94, 0xF1, 0x01, 0x02, 0x78, // .Vv....x
/* 07C0 */ 0x8C, 0x03, 0x7F, 0x80, 0x80, 0x7B, 0xFA, 0x02, // .....{..
/* 07C8 */ 0xD7, 0xF9, 0x01, 0x78, 0x04, 0x3F, 0x3F, 0xA0, // ...x.??.
/* 07D0 */ 0xFF, 0xFF, 0xE7, 0x07, 0xF8, 0x87, 0x53, 0x7E, // ......S~
/* 07D8 */ 0x7E, 0x00, 0x9E, 0x03, 0x7C, 0x14, 0x00, 0xCB, // ~...|...
/* 07E0 */ 0x99, 0x8C, 0xCD, 0xE1, 0xA5, 0xE6, 0xB5, 0xD3, // ........
/* 07E8 */ 0x87, 0x21, 0x76, 0x9C, 0x67, 0x47, 0x7A, 0xAE, // .!v.gGz.
/* 07F0 */ 0x6B, 0x04, 0x24, 0xE2, 0x19, 0x02, 0x35, 0x08, // k.$...5.
/* 07F8 */ 0xC7, 0x39, 0x36, 0xE8, 0x38, 0xC1, 0x6E, 0xD9, // .96.8.n.
/* 0800 */ 0x0F, 0x41, 0x55, 0xA3, 0x08, 0xDE, 0xB7, 0x02, // .AU.....
/* 0808 */ 0x16, 0xE1, 0x18, 0x81, 0x12, 0x4F, 0x21, 0xE9, // .....O!.
/* 0810 */ 0xC7, 0x08, 0x94, 0x58, 0x38, 0x0A, 0xE2, 0x51, // ...X8..Q
/* 0818 */ 0xFB, 0x20, 0x61, 0x1B, 0xC7, 0x08, 0xD4, 0x18, // . a.....
/* 0820 */ 0x3D, 0xB0, 0x77, 0x3B, 0x76, 0x14, 0xE0, 0xA7, // =.w;v...
/* 0828 */ 0x08, 0xF8, 0xA7, 0x30, 0xDC, 0xD1, 0x03, 0x1C, // ...0....
/* 0830 */ 0x17, 0xB1, 0x43, 0x3B, 0xBB, 0x47, 0x4C, 0x63, // ..C;.GLc
/* 0838 */ 0x9E, 0x41, 0xC4, 0x08, 0xAF, 0xAE, 0x46, 0xF3, // .A....F.
/* 0840 */ 0x18, 0x71, 0xE7, 0x4D, 0x5F, 0x0F, 0x7D, 0xA4, // .q.M_.}.
/* 0848 */ 0xF0, 0xA1, 0x1D, 0x73, 0xA4, 0x80, 0xF7, 0xFF, // ...s....
/* 0850 */ 0x27, 0xF0, 0xB9, 0x11, 0x77, 0xA4, 0x80, 0x33, // '...w..3
/* 0858 */ 0x93, 0xF3, 0xC0, 0xDC, 0x41, 0x8F, 0x25, 0xBC, // ....A.%.
/* 0860 */ 0xAF, 0x85, 0xF8, 0x83, 0x05, 0xF0, 0x38, 0x2E, // ......8.
/* 0868 */ 0xF9, 0x60, 0x01, 0x2E, 0x48, 0x1F, 0x2C, 0x80, // .`..H.,.
/* 0870 */ 0xEB, 0xF9, 0xC0, 0xA7, 0x03, 0xB0, 0x5E, 0xC8, // ......^.
/* 0878 */ 0xF8, 0xFD, 0x00, 0xC6, 0x09, 0x03, 0xC6, 0xF9, // ........
/* 0880 */ 0x00, 0x73, 0xC3, 0x70, 0xAC, 0x95, 0xEA, 0x84, // .s.p....
/* 0888 */ 0x81, 0x8B, 0xF5, 0xA0, 0xD0, 0x40, 0xD8, 0xF0, // .....@..
/* 0890 */ 0x9E, 0x7F, 0x9E, 0x0C, 0xF9, 0x61, 0x86, 0x45, // .....a.E
/* 0898 */ 0x81, 0xD3, 0xD1, 0xC2, 0x27, 0x0B, 0x87, 0xA0, // ....'...
/* 08A0 */ 0xD0, 0x41, 0xCC, 0x27, 0x0C, 0x2E, 0xE6, 0x84, // .A.'....
/* 08A8 */ 0x41, 0x41, 0x0C, 0xE8, 0xA4, 0x10, 0xFA, 0xFF, // AA......
/* 08B0 */ 0x9F, 0xC3, 0x70, 0xA7, 0x4D, 0x1F, 0x1B, 0x58, // ..p.M..X
/* 08B8 */ 0xB8, 0xFB, 0x05, 0x9D, 0x8B, 0xE7, 0xCC, 0xF1, // ........
/* 08C0 */ 0x7C, 0x0E, 0x31, 0xAC, 0x6F, 0x26, 0xE0, 0xB9, // |.1.o&..
/* 08C8 */ 0x52, 0xB0, 0x33, 0x8F, 0x2F, 0x04, 0xBE, 0x4D, // R.3./..M
/* 08D0 */ 0xF2, 0x03, 0x27, 0x3B, 0x16, 0x18, 0xE5, 0x78, // ..';...x
/* 08D8 */ 0x5F, 0x0B, 0xAD, 0xE6, 0xAE, 0x80, 0x9A, 0x11, // _.......
/* 08E0 */ 0x86, 0xC0, 0x03, 0xF6, 0x49, 0x0C, 0x4C, 0xFA, // ....I.L.
/* 08E8 */ 0x6E, 0x14, 0x20, 0x47, 0xE7, 0x67, 0x6E, 0x8F, // n. G.gn.
/* 08F0 */ 0x9E, 0x1F, 0x00, 0x7C, 0xB4, 0xE3, 0xA3, 0x77, // ...|...w
/* 08F8 */ 0x6C, 0x08, 0x1D, 0x57, 0xE0, 0x1E, 0xEE, 0x7C, // l..W...|
/* 0900 */ 0x86, 0x02, 0xBE, 0x03, 0xF3, 0x0C, 0x9F, 0x50, // .......P
/* 0908 */ 0xC0, 0x75, 0x7F, 0xE0, 0xE7, 0xC2, 0xFF, 0xFF, // .u......
/* 0910 */ 0xFB, 0x03, 0xE6, 0x2C, 0x0C, 0xE3, 0x94, 0x02, // ...,....
/* 0918 */ 0x3C, 0x46, 0xEF, 0x53, 0x0A, 0xB8, 0x0E, 0x00, // <F.S....
/* 0920 */ 0x3E, 0xA5, 0x00, 0xD7, 0x39, 0x3E, 0xC8, 0x83, // >...9>..
/* 0928 */ 0x07, 0xC5, 0xF7, 0x5F, 0x4F, 0xC4, 0xC6, 0x87, // ..._O...
/* 0930 */ 0x4F, 0x2F, 0x28, 0x1E, 0xCB, 0x9B, 0x37, 0x0F, // O/(...7.
/* 0938 */ 0x75, 0x36, 0x41, 0x47, 0x7B, 0x3D, 0x68, 0xD0, // u6AG{=h.
/* 0940 */ 0x0F, 0x2A, 0x9E, 0x7D, 0xF8, 0xE3, 0x8B, 0xF0, // .*.}....
/* 0948 */ 0x7C, 0xEA, 0x71, 0xB1, 0x38, 0x67, 0x13, 0x54, // |.q.8g.T
/* 0950 */ 0x10, 0x0A, 0x1D, 0x3B, 0x7D, 0x9C, 0xE0, 0x92, // ...;}...
/* 0958 */ 0x8E, 0x13, 0x14, 0xC4, 0x80, 0xCE, 0x7B, 0xC4, // ......{.
/* 0960 */ 0xF3, 0x21, 0x1E, 0x7D, 0xEA, 0xF3, 0x2D, 0xE1, // .!.}..-.
/* 0968 */ 0x38, 0x9E, 0x40, 0x12, 0xCC, 0x77, 0x12, 0xA0, // 8.@..w..
/* 0970 */ 0x97, 0x13, 0x78, 0xA7, 0x71, 0xDC, 0x48, 0x71, // ..x.q.Hq
/* 0978 */ 0xFF, 0xFF, 0xCB, 0x09, 0x8C, 0x03, 0x8D, 0x67, // .......g
/* 0980 */ 0xC1, 0x10, 0xDE, 0xAC, 0xD9, 0x71, 0x1D, 0x1E, // .....q..
/* 0988 */ 0x8C, 0xAF, 0x27, 0x30, 0xEF, 0x79, 0xE0, 0x3A, // ..'0.y.:
/* 0990 */ 0x9E, 0x00, 0x0B, 0x99, 0x07, 0x00, 0xD4, 0xB1, // ........
/* 0998 */ 0xD1, 0x07, 0x47, 0x7E, 0x00, 0x70, 0xE8, 0xE3, // ..G~.p..
/* 09A0 */ 0x09, 0x7A, 0x26, 0x3E, 0x16, 0x3D, 0x95, 0xF8, // .z&>.=..
/* 09A8 */ 0x02, 0xC0, 0xCF, 0x6E, 0x3A, 0x9F, 0x80, 0xE2, // ...n:...
/* 09B0 */ 0x9C, 0x09, 0x9E, 0x71, 0xB0, 0x2B, 0x00, 0xFE, // ...q.+..
/* 09B8 */ 0x84, 0x02, 0xFB, 0x48, 0x06, 0xBE, 0x89, 0xF8, // ...H....
/* 09C0 */ 0x54, 0x71, 0x20, 0xD8, 0xD3, 0x09, 0xF8, 0xFE, // Tq .....
/* 09C8 */ 0xFF, 0x27, 0x59, 0xE0, 0x01, 0xCB, 0x4F, 0xB2, // .'Y...O.
/* 09D0 */ 0x80, 0x8F, 0xDB, 0x08, 0x76, 0x16, 0xCF, 0x24, // ....v..$
/* 09D8 */ 0x8C, 0x60, 0xE4, 0xA3, 0x09, 0xEA, 0x88, 0xEC, // .`......
/* 09E0 */ 0xA0, 0xA7, 0x30, 0xC4, 0x38, 0x1F, 0x2B, 0x8C, // ..0.8.+.
/* 09E8 */ 0x11, 0xB9, 0xF8, 0x51, 0x6B, 0x32, 0x3E, 0x9B, // ...Qk2>.
/* 09F0 */ 0xF9, 0xB2, 0xCE, 0x0E, 0x3F, 0x38, 0x82, 0x81, // ....?8..
/* 09F8 */ 0x0E, 0x28, 0xA8, 0xE3, 0x98, 0xCF, 0x62, 0x80, // .(....b.
/* 0A00 */ 0xB3, 0xFF, 0xFF, 0x59, 0x0C, 0xF8, 0x9F, 0xDD, // ...Y....
/* 0A08 */ 0x3D, 0x7A, 0x7E, 0x6C, 0xE7, 0x20, 0x1E, 0xBD, // =z~l. ..
/* 0A10 */ 0xC3, 0x9F, 0xC5, 0xA0, 0x87, 0x3D, 0x8B, 0x01, // .....=..
/* 0A18 */ 0x6D, 0xC1, 0x67, 0x31, 0x50, 0xDE, 0x22, 0xE0, // m.g1P.".
/* 0A20 */ 0x9E, 0x41, 0x81, 0xD7, 0xDA, 0x7C, 0x42, 0x81, // .A...|B.
/* 0A28 */ 0xFF, 0xFF, 0x3F, 0xA1, 0xE0, 0xEE, 0x0C, 0x3E, // ..?....>
/* 0A30 */ 0xA1, 0x00, 0xD7, 0x23, 0x00, 0xEE, 0x0C, 0x0A, // ...#....
/* 0A38 */ 0x8E, 0x13, 0x00, 0xF3, 0x75, 0x03, 0xA0, 0x20, // ....u..
/* 0A40 */ 0x8F, 0x00, 0xF8, 0x2B, 0xBC, 0x0F, 0x26, 0xB8, // ...+..&.
/* 0A48 */ 0x78, 0x27, 0x15, 0x14, 0x87, 0xE3, 0x9D, 0x54, // x'.....T
/* 0A50 */ 0x10, 0x53, 0x89, 0xFC, 0xD6, 0xE2, 0x09, 0x84, // .S......
/* 0A58 */ 0x3F, 0xB8, 0x38, 0xEF, 0x67, 0xFC, 0x54, 0x06, // ?.8.g.T.
/* 0A60 */ 0x43, 0xD4, 0xC1, 0x02, 0x25, 0xE3, 0x60, 0x41, // C...%.`A
/* 0A68 */ 0x41, 0x0C, 0xE8, 0x8C, 0xA7, 0x14, 0xF4, 0xA9, // A.......
/* 0A70 */ 0x8C, 0x5F, 0x46, 0x3C, 0xB0, 0x04, 0x33, 0x5D, // ._F<..3]
/* 0A78 */ 0x53, 0xA0, 0x5F, 0x40, 0x70, 0x03, 0x86, 0x0B, // S._@p...
/* 0A80 */ 0xF6, 0x20, 0x61, 0x84, 0xD7, 0x64, 0xCF, 0x03, // . a..d..
/* 0A88 */ 0x73, 0x44, 0x01, 0x16, 0xFF, 0xFF, 0x23, 0x0A, // sD....#.
/* 0A90 */ 0xF0, 0x90, 0x3C, 0x74, 0x94, 0xC8, 0xA1, 0x53, // ..<t...S
/* 0A98 */ 0x10, 0x0F, 0xDD, 0x34, 0x3E, 0xA2, 0xE0, 0xC6, // ...4>...
/* 0AA0 */ 0xCA, 0x2E, 0x04, 0xB0, 0xA2, 0x9E, 0x52, 0x40, // ......R@
/* 0AA8 */ 0x21, 0x72, 0xF8, 0xA0, 0x19, 0xC7, 0xD1, 0x3D, // !r.....=
/* 0AB0 */ 0xF5, 0x78, 0x1E, 0xFC, 0x4E, 0xEC, 0x63, 0x1E, // .x..N.c.
/* 0AB8 */ 0xDC, 0x93, 0x0A, 0xEE, 0xD4, 0x88, 0x3B, 0xA9, // ......;.
/* 0AC0 */ 0x80, 0x61, 0x8E, 0xD8, 0x53, 0x19, 0xF0, 0x3A, // .a..S..:
/* 0AC8 */ 0x82, 0x82, 0xCF, 0xC3, 0x21, 0x05, 0x14, 0xFF, // ....!...
/* 0AD0 */ 0xFF, 0x23, 0x28, 0x70, 0x3E, 0xA4, 0xF0, 0x63, // .#(p>..c
/* 0AD8 */ 0x06, 0xE6, 0x6A, 0xC0, 0x8F, 0xA0, 0x98, 0x98, // ..j.....
/* 0AE0 */ 0xCF, 0x07, 0x9D, 0x4F, 0xF8, 0xD1, 0xC0, 0x81, // ...O....
/* 0AE8 */ 0x5E, 0x05, 0x02, 0x67, 0x67, 0x7D, 0xDC, 0xE5, // ^..gg}..
/* 0AF0 */ 0xC0, 0x27, 0x0C, 0x13, 0x8C, 0x70, 0x9A, 0xA0, // .'...p..
/* 0AF8 */ 0x10, 0x16, 0x4F, 0x21, 0xE9, 0x87, 0x0A, 0x94, // ..O!....
/* 0B00 */ 0x58, 0x38, 0x0A, 0xE2, 0x43, 0x85, 0x85, 0x1C, // X8..C...
/* 0B08 */ 0x2A, 0xD0, 0xC7, 0x28, 0x7C, 0xF0, 0x13, 0x05, // *..(|...
/* 0B10 */ 0x28, 0x2E, 0x00, 0x8F, 0xEC, 0xE0, 0xBD, 0xAF, // (.......
/* 0B18 */ 0xE3, 0x07, 0x89, 0xBB, 0xA8, 0x78, 0xC8, 0x3E, // .....x.>
/* 0B20 */ 0xB0, 0x63, 0xE6, 0xE9, 0xA3, 0x05, 0x3C, 0x02, // .c....<.
/* 0B28 */ 0x9F, 0x1E, 0xC1, 0x07, 0xEF, 0xC3, 0x14, 0xEE, // ........
/* 0B30 */ 0xFF, 0x7F, 0x98, 0x02, 0x2E, 0x67, 0x3D, 0x1F, // .....g=.
/* 0B38 */ 0x2C, 0xC0, 0x05, 0xEE, 0x83, 0x05, 0x70, 0xBD, // ,.....p.
/* 0B40 */ 0xFD, 0xF8, 0x74, 0x00, 0xD6, 0xD1, 0x1E, 0xF3, // ..t.....
/* 0B48 */ 0xF9, 0xC6, 0x79, 0x3F, 0x80, 0x71, 0x53, 0x79, // ..y?.qSy
/* 0B50 */ 0x88, 0xF4, 0x3D, 0xC0, 0xF8, 0xEC, 0x7C, 0x80, // ..=...|.
/* 0B58 */ 0xBD, 0x12, 0xF9, 0xEC, 0xA0, 0x33, 0x06, 0x6A, // .....3.j
/* 0B60 */ 0x38, 0x3E, 0x57, 0x78, 0x24, 0xEC, 0x02, 0x70, // 8>Wx$..p
/* 0B68 */ 0xAE, 0x3E, 0x50, 0xE1, 0x0E, 0x7D, 0x3E, 0x62, // .>P..}>b
/* 0B70 */ 0xF0, 0x23, 0xBD, 0x4F, 0xB9, 0xE0, 0x3A, 0x62, // .#.O..:b
/* 0B78 */ 0xE0, 0x43, 0x1E, 0x31, 0x40, 0xF1, 0xFF, 0x3F, // .C.1@..?
/* 0B80 */ 0x40, 0xE0, 0x46, 0x0D, 0x8E, 0xC9, 0x3D, 0x22, // @.F...="
/* 0B88 */ 0x9C, 0xF2, 0x99, 0xE2, 0x0E, 0x16, 0xC0, 0x65, // .......e
/* 0B90 */ 0x1E, 0xEC, 0x60, 0x01, 0xBC, 0x22, 0x1F, 0x80, // ..`.."..
/* 0B98 */ 0x40, 0x67, 0xE2, 0x60, 0x01, 0x74, 0xCF, 0x04, // @g.`.t..
/* 0BA0 */ 0xC0, 0x41, 0xA1, 0x4D, 0x9F, 0x1A, 0x8D, 0x5A, // .A.M...Z
/* 0BA8 */ 0x35, 0x28, 0x53, 0xA3, 0x4C, 0x83, 0x5A, 0x7D, // 5(S.L.Z}
/* 0BB0 */ 0x2A, 0x35, 0x46, 0xF0, 0xDC, 0xE3, 0xB5, 0x6A, // *5F....j
/* 0BB8 */ 0xB0, 0x0E, 0xF5, 0x66, 0x10, 0x88, 0xE3, 0xAE, // ...f....
/* 0BC0 */ 0x58, 0x03, 0x26, 0x0F, 0x27, 0xFD, 0xFF, 0x41, // X.&.'..A
/* 0BC8 */ 0x2C, 0x44, 0x05, 0x08, 0x93, 0xB1, 0x2E, 0x81, // ,D......
/* 0BD0 */ 0x58, 0xCA, 0xBA, 0x04, 0x62, 0xA1, 0xEF, 0x08, // X...b...
/* 0BD8 */ 0x81, 0x38, 0xC8, 0x6B, 0x40, 0x20, 0x8E, 0xF7, // .8.k@ ..
/* 0BE0 */ 0xD6, 0x13, 0x88, 0x83, 0x6A, 0x01, 0x61, 0x31, // ....j.a1
/* 0BE8 */ 0xBD, 0x80, 0xB0, 0x70, 0x6B, 0x13, 0x88, 0x23, // ...pk..#
/* 0BF0 */ 0x99, 0x19, 0x0A, 0xFD, 0xD6, 0x09, 0xC4, 0x61, // .......a
/* 0BF8 */ 0xED, 0x80, 0x30, 0x09, 0x7E, 0x40, 0x98, 0xF4, // ..0.~@..
/* 0C00 */ 0x05, 0x0B, 0x8C, 0x18, 0x02, 0x61, 0xA2, 0x1C, // .....a..
/* 0C08 */ 0x81, 0x30, 0x91, 0x92, 0x86, 0x44, 0x3D, 0x81, // .0...D=.
/* 0C10 */ 0xB0, 0x18, 0x20, 0x54, 0x90, 0xA9, 0xD3, 0xBE, // .. T....
/* 0C18 */ 0x40, 0x24, 0x0F, 0x44, 0x40, 0x16, 0xEC, 0x0A, // @$.D@...
/* 0C20 */ 0x88, 0xC9, 0x07, 0x11, 0x90, 0x43, 0xDB, 0x02, // .....C..
/* 0C28 */ 0x62, 0x12, 0x7E, 0x22, 0x02, 0x72, 0x86, 0x27, // b.~".r.'
/* 0C30 */ 0xB2, 0x80, 0x1C, 0x08, 0x44, 0x40, 0x8E, 0xB5, // ....D@..
/* 0C38 */ 0x5E, 0x01, 0x39, 0x24, 0x88, 0x80, 0x2C, 0x50, // ^.9$..,P
/* 0C40 */ 0x1A, 0x10, 0x53, 0x0B, 0x22, 0x20, 0x0B, 0xB7, // ..S." ..
/* 0C48 */ 0x06, 0xC4, 0x62, 0x80, 0x08, 0xC8, 0xC9, 0xBD, // ..b.....
/* 0C50 */ 0x01, 0x31, 0x19, 0xAF, 0x57, 0x01, 0x59, 0x8C, // .1..W.Y.
/* 0C58 */ 0x39, 0x20, 0x26, 0x0D, 0x44, 0x40, 0x4E, 0xE7, // 9 &.D@N.
/* 0C60 */ 0x0E, 0x88, 0x45, 0x05, 0x11, 0x90, 0xE3, 0xCB, // ..E.....
/* 0C68 */ 0x03, 0x62, 0x62, 0xEC, 0x0D, 0x98, 0xFA, 0x03, // .bb.....
/* 0C70 */ 0x62, 0x01, 0x41, 0x04, 0x64, 0x89, 0x0F, 0x98, // b.A.d...
/* 0C78 */ 0x40, 0x44, 0x30, 0x88, 0x80, 0xFC, 0xFF, 0x07 // @D0.....
})
}
}
}
[-- Attachment #13: ssdt11.dsl --]
[-- Type: text/x-dsl, Size: 16320 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt11.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00000AE9 (2793)
* Revision 0x02
* Checksum 0x27
* OEM ID "LENOVO"
* OEM Table ID "ProjSsdt"
* OEM Revision 0x00000010 (16)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "ProjSsdt", 0x00000010)
{
External (_SB_.PCI0.GP17.XHC0, DeviceObj)
External (_SB_.PCI0.GP17.XHC0.RHUB, DeviceObj)
External (_SB_.PCI0.GP17.XHC0.RHUB.PRT1, DeviceObj)
External (_SB_.PCI0.GP17.XHC0.RHUB.PRT2, DeviceObj)
External (_SB_.PCI0.GP17.XHC0.RHUB.PRT3, DeviceObj)
External (_SB_.PCI0.GP17.XHC0.RHUB.PRT3.PRT1, DeviceObj)
External (_SB_.PCI0.GP17.XHC0.RHUB.PRT3.PRT2, DeviceObj)
External (_SB_.PCI0.GP17.XHC0.RHUB.PRT4, DeviceObj)
External (_SB_.PCI0.GP17.XHC0.RHUB.PRT5, DeviceObj)
External (_SB_.PCI0.GP17.XHC0.RHUB.PRT6, DeviceObj)
External (_SB_.PCI0.GP17.XHC0.RHUB.PRT7, DeviceObj)
External (_SB_.PCI0.GP17.XHC1, DeviceObj)
External (_SB_.PCI0.GP17.XHC1.RHUB, DeviceObj)
External (_SB_.PCI0.GP17.XHC1.RHUB.PRT1, DeviceObj)
External (_SB_.PCI0.GP17.XHC1.RHUB.PRT2, DeviceObj)
External (_SB_.PCI0.GP19.XHC2, DeviceObj)
External (_SB_.PCI0.GP19.XHC2.RHUB, DeviceObj)
External (_SB_.PCI0.GP19.XHC2.RHUB.PRT1, DeviceObj)
External (_SB_.PCI0.GP19.XHC2.RHUB.PRT2, DeviceObj)
External (_SB_.PCI0.GP19.XHC3, DeviceObj)
External (_SB_.PCI0.GP19.XHC3.RHUB, DeviceObj)
External (_SB_.PCI0.GP19.XHC3.RHUB.PRT1, DeviceObj)
External (_SB_.PCI0.GP19.XHC3.RHUB.PRT2, DeviceObj)
External (_SB_.PCI0.GP19.XHC4, DeviceObj)
External (_SB_.PCI0.GP19.XHC4.RHUB, DeviceObj)
External (_SB_.PCI0.GP19.XHC4.RHUB.PRT1, DeviceObj)
External (_SB_.PCI0.GP19.XHC4.RHUB.PRT2, DeviceObj)
External (PLD8, BuffObj)
External (PLDC, BuffObj)
External (PLDI, BuffObj)
External (PLDL, BuffObj)
External (PLDR, BuffObj)
External (PLLA, BuffObj)
External (PLRA, BuffObj)
External (UPCI, PkgObj)
External (UPCL, PkgObj)
External (UPCR, PkgObj)
External (UPLA, PkgObj)
External (UPRA, PkgObj)
External (WIN8, UnknownObj)
External (XPLD, BuffObj)
External (XUPC, PkgObj)
Scope (\_SB.PCI0.GP17.XHC0.RHUB.PRT1)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\UPRA, UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT1._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT1._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \PLRA /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT1._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP17.XHC0.RHUB.PRT2)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\UPLA, UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT2._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT2._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \PLLA /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT2._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP17.XHC0.RHUB.PRT3)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\XUPC, UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT3._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT3._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \XPLD /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT3._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP17.XHC0.RHUB.PRT3.PRT1)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\XUPC, UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT3.PRT1._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT3.PRT1._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \XPLD /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT3.PRT1._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP17.XHC0.RHUB.PRT3.PRT2)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\XUPC, UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT3.PRT2._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT3.PRT2._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \XPLD /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT3.PRT2._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP17.XHC0.RHUB.PRT4)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\XUPC, UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT4._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT4._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \XPLD /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT4._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP17.XHC0.RHUB.PRT5)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\XUPC, UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT5._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT5._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \XPLD /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT5._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP17.XHC0.RHUB.PRT6)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\UPRA, UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT6._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT6._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \PLRA /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT6._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP17.XHC0.RHUB.PRT7)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\UPLA, UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT7._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT7._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \PLLA /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP17.XHC0.RHUB.PRT7._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP17.XHC1.RHUB.PRT1)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT1._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT1._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \PLDI /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT1._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP17.XHC1.RHUB.PRT2)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\XUPC, UPCP) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT2._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT2._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \XPLD /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP17.XHC1.RHUB.PRT2._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP19.XHC2.RHUB.PRT1)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\UPCL, UPCP) /* \_SB_.PCI0.GP19.XHC2.RHUB.PRT1._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP19.XHC2.RHUB.PRT1._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \PLDL /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP19.XHC2.RHUB.PRT1._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP19.XHC2.RHUB.PRT2)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\UPCL, UPCP) /* \_SB_.PCI0.GP19.XHC2.RHUB.PRT2._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP19.XHC2.RHUB.PRT2._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \PLDL /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP19.XHC2.RHUB.PRT2._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP19.XHC3.RHUB.PRT1)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\UPCL, UPCP) /* \_SB_.PCI0.GP19.XHC3.RHUB.PRT1._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP19.XHC3.RHUB.PRT1._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \PLDL /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP19.XHC3.RHUB.PRT1._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP19.XHC3.RHUB.PRT2)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\UPCL, UPCP) /* \_SB_.PCI0.GP19.XHC3.RHUB.PRT2._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP19.XHC3.RHUB.PRT2._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \PLDL /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP19.XHC3.RHUB.PRT2._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP19.XHC4.RHUB.PRT1)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\UPCL, UPCP) /* \_SB_.PCI0.GP19.XHC4.RHUB.PRT1._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP19.XHC4.RHUB.PRT1._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \PLD8 /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP19.XHC4.RHUB.PRT1._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP19.XHC4.RHUB.PRT2)
{
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Name (UPCP, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
CopyObject (\UPCL, UPCP) /* \_SB_.PCI0.GP19.XHC4.RHUB.PRT2._UPC.UPCP */
Return (UPCP) /* \_SB_.PCI0.GP19.XHC4.RHUB.PRT2._UPC.UPCP */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Name (PLDP, Buffer (0x10) {})
PLDP = \PLD8 /* External reference */
Return (PLDP) /* \_SB_.PCI0.GP19.XHC4.RHUB.PRT2._PLD.PLDP */
}
}
Scope (\_SB.PCI0.GP17.XHC1.RHUB.PRT1)
{
Device (WCAM)
{
Name (_ADR, 0x01) // _ADR: Address
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (\WIN8)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Return (\UPCI) /* External reference */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Return (\PLDC) /* External reference */
}
}
}
Scope (\_SB.PCI0.GP17.XHC1.RHUB.PRT1)
{
Device (ICAM)
{
Name (_ADR, 0x03) // _ADR: Address
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (\WIN8)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
{
Return (\UPCI) /* External reference */
}
Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
{
Return (\PLDC) /* External reference */
}
}
}
}
[-- Attachment #14: ssdt12.dsl --]
[-- Type: text/x-dsl, Size: 14585 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt12.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00000D91 (3473)
* Revision 0x02
* Checksum 0xA0
* OEM ID "LENOVO"
* OEM Table ID "CPMGPIO0"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "CPMGPIO0", 0x00000001)
{
External (_SB_.GPIO, DeviceObj)
External (_SB_.PCI0.GP17.ACP_, DeviceObj)
External (_SB_.PCI0.GP17.AZAL, DeviceObj)
External (_SB_.PCI0.GP17.MP2C, DeviceObj)
External (_SB_.PCI0.GP17.XHC0, DeviceObj)
External (_SB_.PCI0.GP17.XHC1, DeviceObj)
External (_SB_.PCI0.GPP2, DeviceObj)
External (_SB_.PCI0.GPP2.WWAN, DeviceObj)
External (_SB_.PCI0.GPP6, DeviceObj)
External (_SB_.PCI0.GPP7, DeviceObj)
External (_SB_.PCI0.LPC0.EC0_, DeviceObj)
External (_SB_.PCI0.LPC0.EC0_.ACAT, UnknownObj)
External (_SB_.PCI0.LPC0.EC0_.ACIN, MethodObj) // 0 Arguments
External (_SB_.PCI0.LPC0.EC0_.ACOU, MethodObj) // 0 Arguments
External (_SB_.PCI0.LPC0.EC0_.HWAK, FieldUnitObj)
External (_SB_.PCI0.LPC0.EC0_.LIDC, MethodObj) // 0 Arguments
External (_SB_.PCI0.LPC0.EC0_.LIDO, MethodObj) // 0 Arguments
External (_SB_.PCI0.LPC0.EC0_.WWDT, UnknownObj)
External (_SB_.PWRB, DeviceObj)
External (M000, MethodObj) // 1 Arguments
External (M037, DeviceObj)
External (M046, IntObj)
External (M047, IntObj)
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M082, FieldUnitObj)
External (M083, FieldUnitObj)
External (M084, FieldUnitObj)
External (M085, FieldUnitObj)
External (M086, FieldUnitObj)
External (M087, FieldUnitObj)
External (M088, FieldUnitObj)
External (M089, FieldUnitObj)
External (M090, FieldUnitObj)
External (M091, FieldUnitObj)
External (M092, FieldUnitObj)
External (M093, FieldUnitObj)
External (M094, FieldUnitObj)
External (M095, FieldUnitObj)
External (M096, FieldUnitObj)
External (M097, FieldUnitObj)
External (M098, FieldUnitObj)
External (M099, FieldUnitObj)
External (M100, FieldUnitObj)
External (M101, FieldUnitObj)
External (M102, FieldUnitObj)
External (M103, FieldUnitObj)
External (M104, FieldUnitObj)
External (M105, FieldUnitObj)
External (M106, FieldUnitObj)
External (M107, FieldUnitObj)
External (M108, FieldUnitObj)
External (M109, FieldUnitObj)
External (M110, FieldUnitObj)
External (M115, BuffObj)
External (M116, BuffFieldObj)
External (M117, BuffFieldObj)
External (M118, BuffFieldObj)
External (M119, BuffFieldObj)
External (M120, BuffFieldObj)
External (M122, FieldUnitObj)
External (M127, DeviceObj)
External (M128, FieldUnitObj)
External (M131, FieldUnitObj)
External (M132, FieldUnitObj)
External (M133, FieldUnitObj)
External (M134, FieldUnitObj)
External (M135, FieldUnitObj)
External (M136, FieldUnitObj)
External (M220, FieldUnitObj)
External (M221, FieldUnitObj)
External (M226, FieldUnitObj)
External (M227, DeviceObj)
External (M229, FieldUnitObj)
External (M231, FieldUnitObj)
External (M233, FieldUnitObj)
External (M235, FieldUnitObj)
External (M23A, FieldUnitObj)
External (M251, FieldUnitObj)
External (M280, FieldUnitObj)
External (M290, FieldUnitObj)
External (M29A, FieldUnitObj)
External (M310, FieldUnitObj)
External (M31C, FieldUnitObj)
External (M320, FieldUnitObj)
External (M321, FieldUnitObj)
External (M322, FieldUnitObj)
External (M323, FieldUnitObj)
External (M324, FieldUnitObj)
External (M325, FieldUnitObj)
External (M326, FieldUnitObj)
External (M327, FieldUnitObj)
External (M328, FieldUnitObj)
External (M329, DeviceObj)
External (M32A, DeviceObj)
External (M32B, DeviceObj)
External (M330, DeviceObj)
External (M331, FieldUnitObj)
External (M378, FieldUnitObj)
External (M379, FieldUnitObj)
External (M380, FieldUnitObj)
External (M381, FieldUnitObj)
External (M382, FieldUnitObj)
External (M383, FieldUnitObj)
External (M384, FieldUnitObj)
External (M385, FieldUnitObj)
External (M386, FieldUnitObj)
External (M387, FieldUnitObj)
External (M388, FieldUnitObj)
External (M389, FieldUnitObj)
External (M390, FieldUnitObj)
External (M391, FieldUnitObj)
External (M392, FieldUnitObj)
External (M404, BuffObj)
External (M408, MutexObj)
External (M414, FieldUnitObj)
External (M444, FieldUnitObj)
External (M449, FieldUnitObj)
External (M453, FieldUnitObj)
External (M454, FieldUnitObj)
External (M455, FieldUnitObj)
External (M456, FieldUnitObj)
External (M457, FieldUnitObj)
External (M460, MethodObj) // 7 Arguments
External (M4C0, FieldUnitObj)
External (M4F0, FieldUnitObj)
External (M610, FieldUnitObj)
External (M620, FieldUnitObj)
External (M631, FieldUnitObj)
External (M652, FieldUnitObj)
Scope (\_SB.GPIO)
{
Method (_AEI, 0, NotSerialized) // _AEI: ACPI Event Interrupts
{
Name (BUF0, ResourceTemplate ()
{
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x1388,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003D
}
GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003E
}
GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003A
}
GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003B
}
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0009
}
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0012
}
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002C
}
})
Name (BUF1, ResourceTemplate ()
{
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x1388,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003D
}
GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003E
}
GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003A
}
GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x003B
}
GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0012
}
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x002C
}
})
If ((\_SB.PCI0.LPC0.EC0.WWDT != 0x0F))
{
Return (BUF0) /* \_SB_.GPIO._AEI.BUF0 */
}
Else
{
Return (BUF1) /* \_SB_.GPIO._AEI.BUF1 */
}
}
Method (_EVT, 1, Serialized) // _EVT: Event
{
Name (HPDW, 0x55)
M460 (" OEM-ASL-\\_SB.GPIO._EVT-Start Case %d\n", ToInteger (Arg0), 0x00, 0x00, 0x00, 0x00, 0x00)
Switch (ToInteger (Arg0))
{
Case (0x00)
{
M000 (0x3900)
Local0 = \_SB.PCI0.LPC0.EC0.HWAK /* External reference */
If (((Local0 & 0x04) == 0x04))
{
Local0 &= 0xFFFB
\_SB.PCI0.LPC0.EC0.HWAK = Local0
\_SB.PCI0.LPC0.EC0.LIDO ()
Sleep (0x01F4)
}
ElseIf (((Local0 & 0x20) == 0x20))
{
Local0 &= 0xFFDF
\_SB.PCI0.LPC0.EC0.HWAK = Local0
\_SB.PCI0.LPC0.EC0.LIDC ()
Sleep (0x01F4)
}
ElseIf (((Local0 & 0x40) == 0x40))
{
Local0 &= 0xFFBF
\_SB.PCI0.LPC0.EC0.HWAK = Local0
If ((\_SB.PCI0.LPC0.EC0.ACAT == 0x01))
{
\_SB.PCI0.LPC0.EC0.ACIN ()
}
Else
{
\_SB.PCI0.LPC0.EC0.ACOU ()
}
}
Else
{
M000 (0x3900)
Local0 &= 0xFFEF
\_SB.PCI0.LPC0.EC0.HWAK = Local0
M460 (" Notify (\\_SB.PWRB, 0x80)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PWRB, 0x80) // Status Change
}
}
Case (0x09)
{
M000 (0x3909)
M460 (" Notify (\\_SB.PCI0.GPP2, 0x02)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPP2, 0x02) // Device Wake
Notify (\_SB.PCI0.GPP2.WWAN, 0x02) // Device Wake
}
Case (0x12)
{
M000 (0x3912)
M460 (" Notify (\\_SB.PCI0.GPP6, 0x02)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPP6, 0x02) // Device Wake
}
Case (0x36)
{
M000 (0x3936)
M460 (" Notify (\\_SB.PCI0.GP17.MP2C, 0x02)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP17.MP2C, 0x02) // Device Wake
If ((HPDW == 0x01))
{
M460 (" Notify (\\_SB.PCI0.GP17.MP2C(HPDW):PWRB 0x80)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PWRB, 0x80) // Status Change
}
}
Case (0x3A)
{
M000 (0x393A)
M460 (" Notify (\\_SB.PCI0.GP17.XHC0, 0x02)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP17.XHC0, 0x02) // Device Wake
}
Case (0x3B)
{
M000 (0x393B)
M460 (" Notify (\\_SB.PCI0.GP17.XHC1, 0x02)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP17.XHC1, 0x02) // Device Wake
}
Case (0x3D)
{
M000 (0x393D)
M460 (" Notify (\\_SB.PCI0.GP17.AZAL, 0x02)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP17.AZAL, 0x02) // Device Wake
}
Case (0x3E)
{
M000 (0x393D)
M460 (" Notify (\\_SB.PCI0.GP17.ACP, 0x02)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP17.ACP, 0x02) // Device Wake
}
}
M460 (" OEM-ASL-\\_SB.GPIO._EVT-End Case %d\n", ToInteger (Arg0), 0x00, 0x00, 0x00, 0x00, 0x00)
}
}
}
[-- Attachment #15: ssdt13.dsl --]
[-- Type: text/x-dsl, Size: 42180 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt13.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00002C81 (11393)
* Revision 0x02
* Checksum 0xA3
* OEM ID "LENOVO"
* OEM Table ID "CDFAAIG2"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "CDFAAIG2", 0x00000001)
{
External (_SB_.ALIB, MethodObj) // 2 Arguments
External (_SB_.LID_._LID, MethodObj) // 0 Arguments
External (_SB_.MACO, IntObj)
External (_SB_.PCI0.GP17.VGA_, DeviceObj)
External (_SB_.PCI0.LPC0.EC0_.BBLS, UnknownObj)
External (M000, MethodObj) // 1 Arguments
External (M012, MethodObj) // 5 Arguments
External (M019, MethodObj) // 4 Arguments
External (M020, MethodObj) // 5 Arguments
External (M021, MethodObj) // 4 Arguments
External (M023, MethodObj) // 3 Arguments
External (M024, MethodObj) // 3 Arguments
External (M025, MethodObj) // 4 Arguments
External (M026, MethodObj) // 3 Arguments
External (M037, DeviceObj)
External (M043, MethodObj) // 3 Arguments
External (M046, IntObj)
External (M047, IntObj)
External (M049, MethodObj) // 2 Arguments
External (M04A, MethodObj) // 2 Arguments
External (M04B, MethodObj) // 2 Arguments
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M082, FieldUnitObj)
External (M083, FieldUnitObj)
External (M084, FieldUnitObj)
External (M085, FieldUnitObj)
External (M086, FieldUnitObj)
External (M087, FieldUnitObj)
External (M088, FieldUnitObj)
External (M089, FieldUnitObj)
External (M090, FieldUnitObj)
External (M091, FieldUnitObj)
External (M092, FieldUnitObj)
External (M093, FieldUnitObj)
External (M094, FieldUnitObj)
External (M095, FieldUnitObj)
External (M096, FieldUnitObj)
External (M097, FieldUnitObj)
External (M098, FieldUnitObj)
External (M099, FieldUnitObj)
External (M100, FieldUnitObj)
External (M101, FieldUnitObj)
External (M102, FieldUnitObj)
External (M103, FieldUnitObj)
External (M104, FieldUnitObj)
External (M105, FieldUnitObj)
External (M106, FieldUnitObj)
External (M107, FieldUnitObj)
External (M108, FieldUnitObj)
External (M109, FieldUnitObj)
External (M110, FieldUnitObj)
External (M111, MethodObj) // 2 Arguments
External (M112, MethodObj) // 2 Arguments
External (M113, MethodObj) // 1 Arguments
External (M115, BuffObj)
External (M116, BuffFieldObj)
External (M117, BuffFieldObj)
External (M118, BuffFieldObj)
External (M119, BuffFieldObj)
External (M120, BuffFieldObj)
External (M122, FieldUnitObj)
External (M127, DeviceObj)
External (M128, FieldUnitObj)
External (M131, FieldUnitObj)
External (M132, FieldUnitObj)
External (M133, FieldUnitObj)
External (M134, FieldUnitObj)
External (M135, FieldUnitObj)
External (M136, FieldUnitObj)
External (M220, FieldUnitObj)
External (M221, FieldUnitObj)
External (M226, FieldUnitObj)
External (M227, DeviceObj)
External (M229, FieldUnitObj)
External (M231, FieldUnitObj)
External (M232, MethodObj) // 3 Arguments
External (M233, FieldUnitObj)
External (M235, FieldUnitObj)
External (M23A, FieldUnitObj)
External (M251, FieldUnitObj)
External (M280, FieldUnitObj)
External (M290, FieldUnitObj)
External (M29A, FieldUnitObj)
External (M310, FieldUnitObj)
External (M31C, FieldUnitObj)
External (M320, FieldUnitObj)
External (M321, FieldUnitObj)
External (M322, FieldUnitObj)
External (M323, FieldUnitObj)
External (M324, FieldUnitObj)
External (M325, FieldUnitObj)
External (M326, FieldUnitObj)
External (M327, FieldUnitObj)
External (M328, FieldUnitObj)
External (M329, DeviceObj)
External (M32A, DeviceObj)
External (M32B, DeviceObj)
External (M330, DeviceObj)
External (M331, FieldUnitObj)
External (M378, FieldUnitObj)
External (M379, FieldUnitObj)
External (M380, FieldUnitObj)
External (M381, FieldUnitObj)
External (M382, FieldUnitObj)
External (M383, FieldUnitObj)
External (M384, FieldUnitObj)
External (M385, FieldUnitObj)
External (M386, FieldUnitObj)
External (M387, FieldUnitObj)
External (M388, FieldUnitObj)
External (M389, FieldUnitObj)
External (M390, FieldUnitObj)
External (M391, FieldUnitObj)
External (M392, FieldUnitObj)
External (M404, BuffObj)
External (M408, MutexObj)
External (M414, FieldUnitObj)
External (M444, FieldUnitObj)
External (M449, FieldUnitObj)
External (M453, FieldUnitObj)
External (M454, FieldUnitObj)
External (M455, FieldUnitObj)
External (M456, FieldUnitObj)
External (M457, FieldUnitObj)
External (M460, MethodObj) // 7 Arguments
External (M4C0, FieldUnitObj)
External (M4F0, FieldUnitObj)
External (M610, FieldUnitObj)
External (M620, FieldUnitObj)
External (M631, FieldUnitObj)
External (M652, FieldUnitObj)
Scope (\_SB.PCI0.GP17.VGA)
{
Name (M189, Buffer (0x0100) {})
Name (M190, 0xFFFFFFFF)
Name (M191, 0xFFFFFFFF)
Method (ATPX, 2, Serialized)
{
M460 (" FEA-ASL-ATPX Function %d\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((Arg0 == 0x00))
{
Return (PX00 ())
}
If ((Arg0 == 0x01))
{
Return (PX01 ())
}
If ((Arg0 == 0x02))
{
PX02 (DerefOf (Arg1 [0x02]))
Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
}
If ((Arg0 == 0x03))
{
PX03 (DerefOf (Arg1 [0x02]))
Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
}
If ((Arg0 == 0x04))
{
PX04 (DerefOf (Arg1 [0x02]))
Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
}
If ((Arg0 == 0x08))
{
Return (PX08 ())
}
If ((Arg0 == 0x09))
{
Return (PX09 ())
}
If ((Arg0 == 0x0A))
{
PX10 (DerefOf (Arg1 [0x02]))
Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
}
If ((Arg0 == 0x0B))
{
PX11 (DerefOf (Arg1 [0x02]))
Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
}
If ((Arg0 == 0x0C))
{
PX12 (DerefOf (Arg1 [0x02]))
Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
}
CreateWordField (M189, 0x00, M157)
CreateWordField (M189, 0x02, M158)
CreateDWordField (M189, 0x04, M160)
M157 = 0x00
M158 = 0x00
M160 = 0x00
Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
}
Method (PX00, 0, NotSerialized)
{
CreateWordField (M189, 0x00, M157)
CreateWordField (M189, 0x02, M158)
CreateDWordField (M189, 0x04, M160)
M157 = 0x08
M158 = 0x01
M160 = M098 /* External reference */
If (((M098 & 0x02) == 0x02))
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local0 = M019 (M095, M094, M093, 0x2C)
Local1 = M019 (M095, M094, (M093 + 0x01), 0x2C)
If ((Local0 != Local5))
{
M190 = Local0
}
If ((Local1 != Local5))
{
M191 = Local1
}
}
M460 (" Return Supported Functions Bit Vector = 0x%X\n", M160, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
}
Method (PX01, 0, NotSerialized)
{
CreateWordField (M189, 0x00, M157)
CreateDWordField (M189, 0x02, M161)
CreateDWordField (M189, 0x06, M162)
M157 = 0x0A
M161 = 0x000C4800
M162 = M099 /* External reference */
M460 (" Return Valid Flags Mask = 0x%X Flags = 0x%X\n", M161, M162, 0x00, 0x00, 0x00, 0x00)
Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
}
Method (PX02, 1, NotSerialized)
{
CreateWordField (M189, 0x00, M157)
CreateByteField (M189, 0x02, M192)
M157 = 0x03
M192 = (Arg0 & 0x01)
Local7 = Buffer (0x05) {}
CreateWordField (Local7, 0x00, M197)
CreateField (Local7, 0x10, 0x03, M200)
CreateField (Local7, 0x13, 0x05, M199)
CreateByteField (Local7, 0x03, M198)
CreateByteField (Local7, 0x04, M201)
M197 = 0x05
M198 = 0x00
M199 = M091 /* External reference */
M200 = M090 /* External reference */
Name (HPOK, 0x00)
Local0 = M049 (M133, 0x11)
Local6 = M113 (Local0)
M023 (0x00, M091, M090)
If ((M192 && Local6))
{
M000 (0x0D86)
M112 (Local0, 0x00)
M111 (Local0, 0x01)
Sleep (0x20)
M112 (Local0, 0x02)
M112 (Local0, 0x01)
M000 (0x0D87)
HPOK = 0x00
Sleep (0x14)
M201 = 0x01
Local6 = \_SB.ALIB (0x06, Local7)
Local2 = 0x00
While ((Local2 < 0x0F))
{
M023 (0x00, M091, M090)
Local4 = 0x01
Local5 = 0xC8
While ((Local4 && Local5))
{
Local0 = M021 (0x00, M091, M090, 0xA5)
Local0 &= 0x7F
If (((Local0 >= 0x10) && (Local0 != 0x7F)))
{
Local4 = 0x00
}
Else
{
Sleep (0x05)
Local5--
}
}
If (!Local4)
{
Local5 = M024 (0x00, M091, M090)
If (Local5)
{
M026 (0x00, M091, M090)
Sleep (0x05)
Local2++
}
Else
{
Local0 = 0x00
If ((M025 (0x00, M091, M090, 0x00) == Ones))
{
Local0 = 0x01
}
If (Local0)
{
M111 (M049 (M133, 0x17), 0x01)
M111 (M049 (M133, 0x18), 0x01)
HPOK = 0x01
Local2 = 0x10
}
Else
{
HPOK = 0x00
Local2 = 0x10
}
}
}
Else
{
Local2 = 0x10
}
}
If (!HPOK)
{
M000 (0x0D88)
Local1 = M019 (M095, M094, M093, 0x00)
Sleep (0x0A)
Local4 = 0x01
Local5 = 0x05
While ((Local4 && Local5))
{
Local0 = M021 (0x00, M091, M090, 0xA5)
Local0 &= 0x7F
If (((Local0 <= 0x04) || (Local0 == 0x1F)))
{
Local4 = 0x00
}
Else
{
Local0 = M019 (M095, M094, M093, 0x00)
Sleep (0x05)
Local5--
}
}
M201 = 0x00
\_SB.ALIB (0x06, Local7)
}
If ((M097 != 0x00))
{
Local0 = M019 (0x00, M091, M090, 0x54)
M020 (0x00, M091, M090, 0x54, (Local0 & 0xFFFF7FFC))
M232 (M097, 0x00, 0x10)
M020 (0x00, M091, M090, 0x54, (Local0 & 0xFFFF7FFF))
}
M000 (0x0D89)
}
Else
{
M000 (0x0D8A)
M201 = 0x00
\_SB.ALIB (0x06, Local7)
M000 (0x0D8B)
M111 (M049 (M133, 0x17), 0x00)
M111 (M049 (M133, 0x18), 0x00)
M112 (Local0, 0x00)
Sleep (0x0A)
M111 (Local0, 0x00)
M023 (0x00, M091, M090)
Local1 = M019 (M095, M094, M093, 0x00)
Sleep (0x0A)
Local4 = 0x01
Local5 = 0x05
While ((Local4 && Local5))
{
Local0 = M021 (0x00, M091, M090, 0xA5)
Local0 &= 0x7F
If (((Local0 <= 0x04) || (Local0 == 0x1F)))
{
Local4 = 0x00
}
Else
{
Local1 = M019 (M095, M094, M093, 0x00)
Sleep (0x05)
Local5--
}
}
HPOK = 0x02
M000 (0x0D8C)
}
If (HPOK)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local1 = M019 (0x00, M091, M090, 0x54)
M020 (0x00, M091, M090, 0x54, (Local1 & 0xFFFF7FFC))
Local0 = M019 (M095, M094, M093, 0x00)
If (((HPOK == 0x01) && (Local0 != Local5)))
{
M020 (M095, M094, M093, 0x4C, M190)
Sleep (0x0A)
If ((M191 != Local5))
{
M020 (M095, M094, (M093 + 0x01), 0x4C, M191)
}
Sleep (0x0A)
}
M020 (0x00, M091, M090, 0x54, (Local1 & 0xFFFF7FFF))
}
}
Method (PX03, 1, NotSerialized)
{
CreateWordField (M189, 0x00, M157)
CreateWordField (M189, 0x02, M195)
M157 = 0x04
M195 = (Arg0 & 0x01)
If (M195)
{
M111 (M049 (M133, 0x17), 0x01)
}
Else
{
M111 (M049 (M133, 0x17), 0x00)
}
}
Method (PX04, 1, NotSerialized)
{
CreateWordField (M189, 0x00, M157)
CreateWordField (M189, 0x02, M196)
M157 = 0x04
M196 = (Arg0 & 0x01)
If (M196)
{
M111 (M049 (M133, 0x18), 0x01)
}
Else
{
M111 (M049 (M133, 0x18), 0x00)
}
}
Method (PX08, 0, NotSerialized)
{
CreateWordField (M189, 0x00, M193)
CreateWordField (M189, 0x02, M157)
Local0 = M049 (M133, 0x19)
M193 = Local0
M157 = 0x05
Local0 *= M157 /* \_SB_.PCI0.GP17.VGA_.PX08.M157 */
Local1 = 0x00
While ((Local1 < Local0))
{
Local2 = M049 (M133, (0x1A + Local1))
M189 [(0x04 + Local1)] = Local2
Local1++
}
Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
}
Method (PX09, 0, NotSerialized)
{
CreateWordField (M189, 0x00, M193)
CreateWordField (M189, 0x02, M157)
Local0 = M049 (M133, 0x7E)
M193 = Local0
M157 = 0x03
Local0 *= M157 /* \_SB_.PCI0.GP17.VGA_.PX09.M157 */
Local1 = 0x00
While ((Local1 < Local0))
{
Local2 = M049 (M133, (0x7F + Local1))
M189 [(0x04 + Local1)] = Local2
Local1++
}
Return (M189) /* \_SB_.PCI0.GP17.VGA_.M189 */
}
Method (PX10, 1, NotSerialized)
{
CreateWordField (M189, 0x00, M157)
CreateByteField (M189, 0x02, M192)
M157 = 0x03
M192 = (Arg0 & 0x01)
If (CondRefOf (\_SB.MACO))
{
\_SB.MACO = (Arg0 & 0x01)
M460 (" Set _SB.MACO to %d\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
}
}
Method (PX11, 1, NotSerialized)
{
CreateWordField (M189, 0x00, M157)
CreateByteField (M189, 0x02, M162)
M157 = 0x03
M162 = (Arg0 & 0x01)
Local2 = M162 /* \_SB_.PCI0.GP17.VGA_.PX11.M162 */
Local0 = M131 /* External reference */
If (Local0)
{
Local0 = M049 (M131, 0x10)
Local1 = M049 (M131, 0x11)
Local1 = (M084 + ((Local0 * 0x0100) + Local1))
M012 (Local1, 0x0E, 0x00, 0x01, Local2)
}
}
Method (PX12, 1, NotSerialized)
{
CreateWordField (M189, 0x00, M157)
CreateByteField (M189, 0x02, M162)
M157 = 0x03
Local0 = M049 (M133, 0x17)
If ((Local0 != 0x00))
{
M111 (Local0, (Arg0 & 0x01))
}
M460 (" Set Display Panel Reset to %d\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Name (ATIB, Buffer (0x0100) {})
Name (M291, 0x81)
Method (ATIF, 2, Serialized)
{
M460 (" FEA-ASL-ATIF Function %d\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((Arg0 == 0x00))
{
Return (AF00 ())
}
If ((Arg0 == 0x01))
{
Return (AF01 ())
}
If ((Arg0 == 0x02))
{
Return (AF02 ())
}
If ((Arg0 == 0x03))
{
Return (AF03 (DerefOf (Arg1 [0x02]), DerefOf (Arg1 [0x04])))
}
If ((Arg0 == 0x04))
{
Return (AF04 ())
}
If ((Arg0 == 0x0F))
{
Return (AF15 ())
}
If ((Arg0 == 0x10))
{
Return (AF16 (DerefOf (Arg1 [0x02])))
}
If ((Arg0 == 0x15))
{
Return (AF21 ())
}
If ((Arg0 == 0x16))
{
Return (AF22 ())
}
If ((Arg0 == 0x17))
{
Return (AF23 ())
}
If ((Arg0 == 0x18))
{
Return (AF24 ())
}
CreateWordField (ATIB, 0x00, M157)
CreateWordField (ATIB, 0x02, M158)
CreateDWordField (ATIB, 0x04, M159)
CreateDWordField (ATIB, 0x08, M160)
M157 = 0x00
M158 = 0x00
M159 = 0x00
M160 = 0x00
Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
}
Method (AF00, 0, NotSerialized)
{
CreateWordField (ATIB, 0x00, M157)
CreateWordField (ATIB, 0x02, M158)
CreateDWordField (ATIB, 0x04, M159)
CreateDWordField (ATIB, 0x08, M160)
M157 = 0x0C
M158 = 0x01
M159 = M101 /* External reference */
If (!CondRefOf (\_SB.LID._LID))
{
M102 &= 0xFFFFFFF7
}
M160 = M102 /* External reference */
M460 (" Return Supported Notifications Mask = 0x%X Supported Functions Bit Vector = 0x%X\n", M159, M160, 0x00, 0x00, 0x00, 0x00)
\_SB.PCI0.LPC0.EC0.BBLS = 0x01
Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
}
Method (AF01, 0, NotSerialized)
{
CreateWordField (ATIB, 0x00, M157)
CreateDWordField (ATIB, 0x02, M161)
CreateDWordField (ATIB, 0x06, M162)
CreateByteField (ATIB, 0x0A, M163)
M161 = 0x03
Local0 = ((M103 >> 0x18) & 0xFF)
Local1 = (M103 & 0x03)
M162 = Local1
If (((Local0 >= 0xD0) && (Local0 <= 0xD9)))
{
M157 = 0x0B
M163 = Local0
M291 = Local0
}
Else
{
M157 = 0x0A
If ((M291 != 0x81))
{
M291 = 0x81
}
}
M460 (" Return Flags = 0x%X Notify Command Code = 0x%X\n", M162, M291, 0x00, 0x00, 0x00, 0x00)
Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
}
Name (M164, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00 // ....
})
Name (M210, 0x00)
Name (M211, 0x00)
Name (M212, 0x00)
Name (M213, 0x00)
Name (M214, 0x00)
Name (M215, 0x00)
Name (M303, 0x00)
Name (M304, 0x00)
Name (SSDM, 0x0A)
Name (SCDY, 0x00)
Method (AF02, 0, NotSerialized)
{
CreateBitField (M164, 0x00, M165)
CreateBitField (M164, 0x01, M166)
CreateBitField (M164, 0x02, M167)
CreateBitField (M164, 0x03, M168)
CreateBitField (M164, 0x04, M169)
CreateBitField (M164, 0x05, M170)
CreateBitField (M164, 0x06, M171)
CreateBitField (M164, 0x07, M172)
CreateBitField (M164, 0x08, M173)
CreateBitField (M164, 0x0C, M300)
CreateWordField (ATIB, 0x00, M157)
CreateDWordField (ATIB, 0x02, M174)
CreateByteField (ATIB, 0x06, M175)
CreateByteField (ATIB, 0x07, M176)
CreateByteField (ATIB, 0x08, M177)
CreateByteField (ATIB, 0x09, M178)
CreateByteField (ATIB, 0x0A, M179)
CreateByteField (ATIB, 0x0B, M180)
CreateByteField (ATIB, 0x0C, M181)
CreateByteField (ATIB, 0x0D, M301)
CreateDWordField (ATIB, 0x0E, M302)
ATIB = Zero
M157 = 0x12
M174 = M164 /* \_SB_.PCI0.GP17.VGA_.M164 */
If (M165)
{
M165 = Zero
}
If (M166)
{
M175 = M210 /* \_SB_.PCI0.GP17.VGA_.M210 */
M210 = Zero
M166 = Zero
}
If (M167)
{
M176 = M211 /* \_SB_.PCI0.GP17.VGA_.M211 */
M177 = M212 /* \_SB_.PCI0.GP17.VGA_.M212 */
M211 = Zero
M212 = Zero
M167 = Zero
}
If (M168)
{
M178 = M213 /* \_SB_.PCI0.GP17.VGA_.M213 */
M179 = M214 /* \_SB_.PCI0.GP17.VGA_.M214 */
M213 = Zero
M214 = Zero
M168 = Zero
}
If (M169)
{
M180 = M215 /* \_SB_.PCI0.GP17.VGA_.M215 */
M169 = Zero
}
If (M171)
{
M171 = Zero
}
If (M172)
{
M172 = Zero
}
If (M173)
{
M173 = Zero
}
If (M300)
{
M301 = M303 /* \_SB_.PCI0.GP17.VGA_.M303 */
M302 = M304 /* \_SB_.PCI0.GP17.VGA_.M304 */
M303 = Zero
M304 = Zero
M300 = Zero
}
M460 (" Return Pending System BIOS Requests = 0x%X\n", M174, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" Expansion Mode = 0x%X\n", M175, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" Thermal State: Target Graphics Controller = 0x%X\n", M176, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" Thermal State: State Id = 0x%X\n", M177, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" Forced Power State: Target Graphics Controller = 0x%X\n", M178, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" Forced Power State: State Id = 0x%X\n", M179, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" System Power Source = 0x%X\n", M180, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" Panel Brightness Backlight Level = 0x%X\n", M181, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" GPU Package Power Limit: Target Graphics Controller = 0x%X\n", M301, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" GPU Package Power Limit: Value = 0x%X\n", M302, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
}
Method (AF03, 2, NotSerialized)
{
CreateWordField (ATIB, 0x00, M157)
CreateWordField (ATIB, 0x02, M182)
CreateWordField (ATIB, 0x04, M183)
M182 = Arg0
M183 = Arg1
Name (M184, 0x06)
Name (M185, 0x06)
Name (M186, Buffer (0x14)
{
0x00 // .
})
Name (M187, 0x00)
M187 = M049 (M133, 0xBF)
Local1 = 0x00
While ((Local1 < M187))
{
Local2 = M049 (M133, (0xC0 + Local1))
M186 [Local1] = Local2
Local1++
}
Local1 = M182 /* \_SB_.PCI0.GP17.VGA_.AF03.M182 */
Local1 &= 0x8B
Local2 = M183 /* \_SB_.PCI0.GP17.VGA_.AF03.M183 */
If (CondRefOf (\_SB.LID._LID))
{
Local0 = \_SB.LID._LID ()
Local2 &= 0xFFFFFFFFFFFFFFFE
Local2 |= Local0
}
Local0 = Zero
While ((Local0 < M187))
{
Local3 = DerefOf (M186 [Local0])
If ((Local3 == Local1))
{
M185 = Local0
Local0 = M187 /* \_SB_.PCI0.GP17.VGA_.AF03.M187 */
}
Else
{
Local0++
}
}
Local0 = M185 /* \_SB_.PCI0.GP17.VGA_.AF03.M185 */
While ((Local0 < M187))
{
Local0++
If ((Local0 == M187))
{
Local0 = 0x00
}
Local3 = DerefOf (M186 [Local0])
If (((Local3 & Local2) == Local3))
{
M184 = Local0
Local0 = M187 /* \_SB_.PCI0.GP17.VGA_.AF03.M187 */
}
}
If ((M184 == M187))
{
M182 = Zero
}
Else
{
Local0 = M184 /* \_SB_.PCI0.GP17.VGA_.AF03.M184 */
Local3 = DerefOf (M186 [Local0])
M182 &= 0xFFFFFFFFFFFFFFF4
M182 |= Local3
}
M157 = 0x04
Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
}
Method (AF04, 0, NotSerialized)
{
CreateWordField (ATIB, 0x00, M157)
CreateByteField (ATIB, 0x02, M188)
M157 = 0x03
Local1 = 0x00
If (CondRefOf (\_SB.LID._LID))
{
Local0 = \_SB.LID._LID ()
Local1 = (Local0 ^ 0x01)
}
M188 = Local1
Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
}
Method (AF15, 0, NotSerialized)
{
ATIB = M104 /* External reference */
Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
}
Method (AF16, 1, NotSerialized)
{
Local0 = M04A (M133, 0xD4)
If ((Local0 != 0x00))
{
Local1 = 0x00
While ((Local1 < Local0))
{
Local2 = M049 (M133, (0xD4 + Local1))
ATIB [Local1] = Local2
Local1++
}
}
Else
{
Local3 = M043 (0x00, Arg0, 0x00)
If ((ObjectType (Local3) == 0x03))
{
ATIB = Local3
}
Else
{
ATIB [0x00] = 0x05
ATIB [0x01] = 0x00
ATIB [0x02] = 0x00
ATIB [0x03] = 0x00
ATIB [0x04] = 0x02
}
}
CreateWordField (ATIB, 0x00, M157)
CreateWordField (ATIB, 0x02, M162)
CreateByteField (ATIB, 0x04, M292)
CreateByteField (ATIB, 0x05, M293)
CreateByteField (ATIB, 0x06, M294)
CreateByteField (ATIB, 0x07, M295)
CreateByteField (ATIB, 0x08, M296)
CreateByteField (ATIB, 0x09, M297)
M460 (" Return Structure Size = 0x%X\n", M157, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" Flags = 0x%X\n", M162, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" Error Code = 0x%X\n", M292, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((M157 > 0x05))
{
M460 (" AC Level = 0x%X\n", M293, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" DC Level = 0x%X\n", M294, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" Min Input Signal Level = 0x%X\n", M295, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" Max Input Signal Level = 0x%X\n", M296, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" Count = %d\n", M297, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((M157 > 0x0A))
{
Local1 = 0x0A
While ((Local1 < M157))
{
Local2 = DerefOf (ATIB [Local1])
Local1++
Local3 = DerefOf (ATIB [Local1])
Local1++
Local4 = ((Local1 - 0x0A) >> 0x01)
M460 (" Count[%d] Luminance Level = 0x%X Signal Level = %d\n", Local4, Local2, Local3, 0x00, 0x00, 0x00)
}
}
}
Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
}
Method (AF21, 0, NotSerialized)
{
ATIB = M29A /* External reference */
CreateWordField (ATIB, 0x00, M297)
CreateWordField (ATIB, 0x02, M157)
M460 (" Return Num Devices = 0x%X\n", M297, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" Return Device Structure size = 0x%X\n", M157, 0x00, 0x00, 0x00, 0x00, 0x00)
Local0 = 0x00
If (((M297 > 0x00) && (M297 < 0x04)))
{
While ((Local0 < M297))
{
Local1 = ((Local0 << 0x02) + 0x04)
Local2 = (Local1 + 0x02)
Local3 = DerefOf (ATIB [Local1])
Local4 = DerefOf (ATIB [Local2])
M460 (" Return Device Structure [%d] Flags = 0x%X\n", Local0, Local3, 0x00, 0x00, 0x00, 0x00)
M460 (" Return Device Structure [%d] Bus = 0x%X\n", Local0, Local4, 0x00, 0x00, 0x00, 0x00)
Local0++
}
}
Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
}
Method (AF22, 0, NotSerialized)
{
CreateWordField (ATIB, 0x00, M157)
CreateByteField (ATIB, 0x02, M298)
CreateDWordField (ATIB, 0x03, M299)
Local0 = M049 (M133, 0x01F9)
If ((Local0 >= 0x01))
{
M157 = 0x07
Local0--
M298 = Local0
M299 = M04B (M133, 0x01FA)
}
Else
{
M157 = 0x00
M298 = 0x00
M299 = 0x00
}
M460 (" Return Structure Size = 0x%X\n", M157, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" GPU Package Power Limit: Target Graphics Controller = %d\n", M298, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" GPU Package Power Limit: Value = 0x%X\n", M299, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
}
Method (AF23, 0, NotSerialized)
{
ATIB = M449 /* External reference */
CreateWordField (ATIB, 0x00, M157)
CreateByteField (ATIB, 0x02, M305)
CreateByteField (ATIB, 0x03, M306)
CreateByteField (ATIB, 0x04, M307)
CreateByteField (ATIB, 0x05, M308)
CreateByteField (ATIB, 0x06, M309)
CreateByteField (ATIB, 0x07, M30A)
CreateByteField (ATIB, 0x08, M30B)
M460 (" Return Structure Size = %d\n", M157, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((M157 >= 0x02))
{
M460 (" AC Maximum Performance Limit = %d\n", M305, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" AC Better Performance Limit = %d\n", M306, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" AC Better Battery Limit = %d\n", M307, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" DC Maximum Performance Limit = %d\n", M308, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" DC Better Performance Limit = %d\n", M309, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" DC Better Battery Limit = %d\n", M30A, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" DC Battery Saver Limit = %d\n", M30B, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
}
Method (AF24, 0, NotSerialized)
{
ATIB = M652 /* External reference */
CreateWordField (ATIB, 0x00, M157)
CreateWordField (ATIB, 0x02, M653)
M460 (" Return Structure Size = %d\n", M157, 0x00, 0x00, 0x00, 0x00, 0x00)
M460 (" ISP Device Number = %d\n", M653, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (ATIB) /* \_SB_.PCI0.GP17.VGA_.ATIB */
}
Method (AFN0, 0, Serialized)
{
M460 (" FEA-ASL-ATIF-AFN0 Supported Notification Mask = 0x%X\n", M101, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((M101 & 0x01))
{
CreateBitField (M164, 0x00, M165)
M165 = One
M460 (" Notify (VGA, 0x%X)\n", M291, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (VGA, M291)
}
}
Method (AFN1, 1, Serialized)
{
M460 (" FEA-ASL-ATIF-AFN1 Supported Notification Mask = 0x%X Save Expansion Mode = 0x%X\n", M101, Arg0, 0x00, 0x00, 0x00, 0x00)
If ((M101 & 0x02))
{
Local0 = Arg0
M210 = Local0
CreateBitField (M164, 0x01, M166)
M166 = One
M460 (" Notify (VGA, 0x%X) Pending System BIOS Request Buffer = 0x%X\n", M291, M164, 0x00, 0x00, 0x00, 0x00)
Notify (VGA, M291)
}
}
Method (AFN2, 2, Serialized)
{
M460 (" FEA-ASL-ATIF-AFN2 Supported Notification Mask = 0x%X Thermal State: State Id = 0x%X Target Graphics Controller = 0x%X\n", M101, Arg0, Arg1, 0x00, 0x00, 0x00)
If ((M101 & 0x04))
{
Local0 = Arg0
M212 = Local0
Local0 = Arg1
M211 = Local0 &= 0x03
CreateBitField (M164, 0x02, M167)
M167 = One
M460 (" Notify (VGA, 0x%X) Pending System BIOS Request Buffer = 0x%X\n", M291, M164, 0x00, 0x00, 0x00, 0x00)
Notify (VGA, M291)
}
}
Method (AFN3, 2, Serialized)
{
M460 (" FEA-ASL-ATIF-AFN3 Supported Notification Mask = 0x%X Forced Power State: State Id = 0x%X Target Graphics Controller = 0x%X\n", M101, Arg0, Arg1, 0x00, 0x00, 0x00)
If ((M101 & 0x08))
{
Local0 = Arg0
M214 = Local0
Local0 = Arg1
M213 = Local0 &= 0x03
CreateBitField (M164, 0x03, M168)
M168 = One
M460 (" Notify (VGA, 0x%X) Pending System BIOS Request Buffer = 0x%X\n", M291, M164, 0x00, 0x00, 0x00, 0x00)
Notify (VGA, M291)
}
}
Method (AFN4, 1, Serialized)
{
M460 (" FEA-ASL-ATIF-AFN4 Supported Notification Mask = 0x%X System Power Source = 0x%X\n", M101, Arg0, 0x00, 0x00, 0x00, 0x00)
If ((M101 & 0x10))
{
Local0 = Arg0
Local1 = M215 /* \_SB_.PCI0.GP17.VGA_.M215 */
M215 = Local0
If ((Local0 != Local1))
{
CreateBitField (M164, 0x04, M169)
M169 = One
M460 (" Notify (VGA, 0x%X) Pending System BIOS Request Buffer = 0x%X\n", M291, M164, 0x00, 0x00, 0x00, 0x00)
Notify (VGA, M291)
}
}
}
Method (AFN5, 0, Serialized)
{
M460 (" FEA-ASL-ATIF-AFN5 Supported Notification Mask = 0x%X\n", M101, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((M101 & 0x20))
{
CreateBitField (M164, 0x05, M170)
M170 = One
M460 (" Notify (VGA, 0x%X) Pending System BIOS Request Buffer = 0x%X\n", M291, M164, 0x00, 0x00, 0x00, 0x00)
Notify (VGA, M291)
}
}
Method (AFN6, 0, Serialized)
{
M460 (" FEA-ASL-ATIF-AFN6 Supported Notification Mask = 0x%X\n", M101, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((M101 & 0x40))
{
CreateBitField (M164, 0x06, M171)
M171 = One
M460 (" Notify (VGA, 0x%X) Pending System BIOS Request Buffer = 0x%X\n", M291, M164, 0x00, 0x00, 0x00, 0x00)
Notify (VGA, M291)
}
}
Method (AFN7, 1, Serialized)
{
M460 (" FEA-ASL-ATIF-AFN7 Supported Notification Mask = 0x%X Panel Brightness: Backlight Level = 0x%X\n", M101, Arg0, 0x00, 0x00, 0x00, 0x00)
If ((M101 & 0x80))
{
CreateBitField (M164, 0x07, M172)
M172 = One
CreateByteField (ATIB, 0x0C, M181)
M181 = Arg0
M460 (" Notify (VGA, 0x%X) Pending System BIOS Request Buffer = 0x%X\n", M291, M164, 0x00, 0x00, 0x00, 0x00)
Notify (VGA, M291)
}
}
Method (AFN8, 0, Serialized)
{
M460 (" FEA-ASL-ATIF-AFN8 Supported Notification Mask = 0x%X\n", M101, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((M101 & 0x0100))
{
CreateBitField (M164, 0x08, M173)
M173 = One
}
}
Method (AFNC, 2, Serialized)
{
M460 (" FEA-ASL-ATIF-AFNC Supported Notification Mask = 0x%X Power Limit: Target Graphics Controller = 0x%X Value = 0x%X\n", M101, Arg0, Arg1, 0x00, 0x00, 0x00)
If ((M101 & 0x1000))
{
Local0 = (Arg0 & 0x03)
M303 = Local0
Local0 = (Arg1 & 0xFFFFFFFF)
M304 = Local0
CreateBitField (M164, 0x0C, M300)
M300 = One
M460 (" Notify (VGA, 0x%X) Pending System BIOS Request Buffer = 0x%X\n", M291, M164, 0x00, 0x00, 0x00, 0x00)
Notify (VGA, M291)
}
}
}
}
[-- Attachment #16: ssdt14.dsl --]
[-- Type: text/x-dsl, Size: 13392 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt14.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00000632 (1586)
* Revision 0x02
* Checksum 0xB8
* OEM ID "LENOVO"
* OEM Table ID "Tpm2Tabl"
* OEM Revision 0x00001000 (4096)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "Tpm2Tabl", 0x00001000)
{
Scope (\_SB)
{
Device (TPM)
{
Name (_HID, "NTC0702") // _HID: Hardware ID
Noop
Name (_CID, "MSFT0101" /* TPM 2.0 Security Device */) // _CID: Compatible ID
Name (_STR, Unicode ("TPM 2.0 Device")) // _STR: Description String
OperationRegion (SMIP, SystemIO, 0xB0, 0x01)
Field (SMIP, ByteAcc, NoLock, Preserve)
{
IOPN, 8
}
OperationRegion (TPMR, SystemMemory, 0xFED40000, 0x5000)
Field (TPMR, AnyAcc, NoLock, Preserve)
{
ACC0, 8,
Offset (0x08),
INTE, 32,
INTV, 8,
Offset (0x10),
INTS, 32,
INTF, 32,
STS0, 32,
Offset (0x24),
FIFO, 32,
Offset (0x30),
TID0, 32
}
OperationRegion (TNVS, SystemMemory, 0x1BAF7000, 0x2F)
Field (TNVS, AnyAcc, NoLock, Preserve)
{
PPIN, 8,
PPIP, 32,
PPRP, 32,
PPRQ, 32,
PPRM, 32,
LPPR, 32,
FRET, 32,
MCIN, 8,
MCIP, 32,
MORD, 32,
MRET, 32,
UCRQ, 32,
IRQN, 32,
SFRB, 8
}
Name (RESS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED40000, // Address Base
0x00005000, // Address Length
)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x00000001,
0x00000002,
0x00000003,
0x00000004,
0x00000005,
0x00000006,
0x00000007,
0x00000008,
0x00000009,
0x0000000A,
}
})
Name (RESL, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED40000, // Address Base
0x00005000, // Address Length
)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x00000001,
0x00000002,
0x00000003,
0x00000004,
0x00000005,
0x00000006,
0x00000007,
0x00000008,
0x00000009,
0x0000000A,
0x0000000B,
0x0000000C,
0x0000000D,
0x0000000E,
0x0000000F,
}
})
Name (RES0, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED40000, // Address Base
0x00005000, // Address Length
)
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y00)
{
0x0000000C,
}
})
Name (RES1, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED40000, // Address Base
0x00005000, // Address Length
)
})
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
If ((IRQN == 0x00))
{
Return (RES1) /* \_SB_.TPM_.RES1 */
}
Else
{
CreateDWordField (RES0, \_SB.TPM._Y00._INT, LIRQ) // _INT: Interrupts
LIRQ = IRQN /* \_SB_.TPM_.IRQN */
Return (RES0) /* \_SB_.TPM_.RES0 */
}
}
Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
{
If ((IRQN != 0x00))
{
CreateDWordField (Arg0, 0x11, IRQ0)
CreateDWordField (RES0, \_SB.TPM._Y00._INT, LIRQ) // _INT: Interrupts
LIRQ = IRQ0 /* \_SB_.TPM_._SRS.IRQ0 */
IRQN = IRQ0 /* \_SB_.TPM_._SRS.IRQ0 */
CreateBitField (Arg0, 0x79, ITRG)
CreateBitField (RES0, \_SB.TPM._Y00._HE, LTRG) // _HE_: High-Edge
LTRG = ITRG /* \_SB_.TPM_._SRS.ITRG */
CreateBitField (Arg0, 0x7A, ILVL)
CreateBitField (RES0, \_SB.TPM._Y00._LL, LLVL) // _LL_: Low Level
LLVL = ILVL /* \_SB_.TPM_._SRS.ILVL */
If ((((TID0 & 0x0F) == 0x00) || ((TID0 & 0x0F
) == 0x0F)))
{
If ((IRQ0 < 0x10))
{
INTV = (IRQ0 & 0x0F)
}
If ((ITRG == 0x01))
{
INTE |= 0x10
}
Else
{
INTE &= 0xFFFFFFEF
}
If ((ILVL == 0x00))
{
INTE |= 0x08
}
Else
{
INTE &= 0xFFFFFFF7
}
}
}
}
Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
{
If ((IRQN == 0x00))
{
Return (RES1) /* \_SB_.TPM_.RES1 */
}
ElseIf ((SFRB == 0x00))
{
Return (RESL) /* \_SB_.TPM_.RESL */
}
Else
{
Return (RESS) /* \_SB_.TPM_.RESS */
}
}
Method (PTS, 1, Serialized)
{
If (((Arg0 < 0x06) && (Arg0 > 0x03)))
{
If (!(MORD & 0x10))
{
MCIP = 0x02
IOPN = MCIN /* \_SB_.TPM_.MCIN */
}
}
Return (0x00)
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((ACC0 == 0xFF))
{
Return (0x00)
}
Return (0x0F)
}
Method (HINF, 1, Serialized)
{
Switch (ToInteger (Arg0))
{
Case (0x00)
{
Return (Buffer (0x01)
{
0x03 // .
})
}
Case (0x01)
{
Name (TPMV, Package (0x02)
{
0x01,
Package (0x02)
{
0x02,
0x00
}
})
If ((_STA () == 0x00))
{
Return (Package (0x01)
{
0x00
})
}
Return (TPMV) /* \_SB_.TPM_.HINF.TPMV */
}
Default
{
BreakPoint
}
}
Return (Buffer (0x01)
{
0x00 // .
})
}
Name (TPM2, Package (0x02)
{
Zero,
Zero
})
Name (TPM3, Package (0x03)
{
Zero,
Zero,
Zero
})
Method (TPPI, 2, Serialized)
{
Switch (ToInteger (Arg0))
{
Case (0x00)
{
Return (Buffer (0x02)
{
0xFF, 0x01 // ..
})
}
Case (0x01)
{
Return ("1.3")
}
Case (0x02)
{
PPRQ = DerefOf (Arg1 [0x00])
PPRM = 0x00
PPIP = 0x02
IOPN = PPIN /* \_SB_.TPM_.PPIN */
Return (FRET) /* \_SB_.TPM_.FRET */
}
Case (0x03)
{
TPM2 [0x01] = PPRQ /* \_SB_.TPM_.PPRQ */
Return (TPM2) /* \_SB_.TPM_.TPM2 */
}
Case (0x04)
{
Return (0x02)
}
Case (0x05)
{
PPIP = 0x05
IOPN = PPIN /* \_SB_.TPM_.PPIN */
TPM3 [0x01] = LPPR /* \_SB_.TPM_.LPPR */
TPM3 [0x02] = PPRP /* \_SB_.TPM_.PPRP */
Return (TPM3) /* \_SB_.TPM_.TPM3 */
}
Case (0x06)
{
Return (0x03)
}
Case (0x07)
{
PPIP = 0x07
PPRQ = DerefOf (Arg1 [0x00])
PPRM = 0x00
If ((PPRQ == 0x17))
{
PPRM = DerefOf (Arg1 [0x01])
}
IOPN = PPIN /* \_SB_.TPM_.PPIN */
Return (FRET) /* \_SB_.TPM_.FRET */
}
Case (0x08)
{
PPIP = 0x08
UCRQ = DerefOf (Arg1 [0x00])
IOPN = PPIN /* \_SB_.TPM_.PPIN */
Return (FRET) /* \_SB_.TPM_.FRET */
}
Default
{
BreakPoint
}
}
Return (0x01)
}
Method (TMCI, 2, Serialized)
{
Switch (ToInteger (Arg0))
{
Case (0x00)
{
Return (Buffer (0x01)
{
0x03 // .
})
}
Case (0x01)
{
MORD = DerefOf (Arg1 [0x00])
MCIP = 0x01
IOPN = MCIN /* \_SB_.TPM_.MCIN */
Return (MRET) /* \_SB_.TPM_.MRET */
}
Default
{
BreakPoint
}
}
Return (0x01)
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("cf8e16a5-c1e8-4e25-b712-4f54a96702c8") /* Unknown UUID */))
{
Return (HINF (Arg2))
}
If ((Arg0 == ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */))
{
Return (TPPI (Arg2, Arg3))
}
If ((Arg0 == ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d") /* Unknown UUID */))
{
Return (TMCI (Arg2, Arg3))
}
Return (Buffer (0x01)
{
0x00 // .
})
}
}
}
}
[-- Attachment #17: ssdt15.dsl --]
[-- Type: text/x-dsl, Size: 96789 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt15.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x000052BC (21180)
* Revision 0x02
* Checksum 0x22
* OEM ID "LENOVO"
* OEM Table ID "INTGPP01"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "INTGPP01", 0x00000001)
{
External (_ADR, IntObj)
External (_SB_.PCI0.DADR, IntObj)
External (_SB_.PCI0.EBUS, IntObj)
External (_SB_.PCI0.GP17, DeviceObj)
External (_SB_.PCI0.GP17.ACP_, DeviceObj)
External (_SB_.PCI0.GP17.AZAL, DeviceObj)
External (_SB_.PCI0.GP17.HDAU, DeviceObj)
External (_SB_.PCI0.GP17.VGA_, DeviceObj)
External (_SB_.PCI0.GP17.XHC0, DeviceObj)
External (_SB_.PCI0.GP17.XHC1, DeviceObj)
External (_SB_.PCI0.RPRM, MethodObj) // 2 Arguments
External (_SB_.PCI0.SPCH, MethodObj) // 2 Arguments
External (M000, MethodObj) // 1 Arguments
External (M037, DeviceObj)
External (M046, IntObj)
External (M047, IntObj)
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M082, FieldUnitObj)
External (M083, FieldUnitObj)
External (M084, FieldUnitObj)
External (M085, FieldUnitObj)
External (M086, FieldUnitObj)
External (M087, FieldUnitObj)
External (M088, FieldUnitObj)
External (M089, FieldUnitObj)
External (M090, FieldUnitObj)
External (M091, FieldUnitObj)
External (M092, FieldUnitObj)
External (M093, FieldUnitObj)
External (M094, FieldUnitObj)
External (M095, FieldUnitObj)
External (M096, FieldUnitObj)
External (M097, FieldUnitObj)
External (M098, FieldUnitObj)
External (M099, FieldUnitObj)
External (M100, FieldUnitObj)
External (M101, FieldUnitObj)
External (M102, FieldUnitObj)
External (M103, FieldUnitObj)
External (M104, FieldUnitObj)
External (M105, FieldUnitObj)
External (M106, FieldUnitObj)
External (M107, FieldUnitObj)
External (M108, FieldUnitObj)
External (M109, FieldUnitObj)
External (M110, FieldUnitObj)
External (M115, BuffObj)
External (M116, BuffFieldObj)
External (M117, BuffFieldObj)
External (M118, BuffFieldObj)
External (M119, BuffFieldObj)
External (M120, BuffFieldObj)
External (M122, FieldUnitObj)
External (M127, DeviceObj)
External (M128, FieldUnitObj)
External (M131, FieldUnitObj)
External (M132, FieldUnitObj)
External (M133, FieldUnitObj)
External (M134, FieldUnitObj)
External (M135, FieldUnitObj)
External (M136, FieldUnitObj)
External (M220, FieldUnitObj)
External (M221, FieldUnitObj)
External (M226, FieldUnitObj)
External (M227, DeviceObj)
External (M229, FieldUnitObj)
External (M231, FieldUnitObj)
External (M233, FieldUnitObj)
External (M235, FieldUnitObj)
External (M23A, FieldUnitObj)
External (M251, FieldUnitObj)
External (M280, FieldUnitObj)
External (M290, FieldUnitObj)
External (M29A, FieldUnitObj)
External (M310, FieldUnitObj)
External (M31C, FieldUnitObj)
External (M320, FieldUnitObj)
External (M321, FieldUnitObj)
External (M322, FieldUnitObj)
External (M323, FieldUnitObj)
External (M324, FieldUnitObj)
External (M325, FieldUnitObj)
External (M326, FieldUnitObj)
External (M327, FieldUnitObj)
External (M328, FieldUnitObj)
External (M329, DeviceObj)
External (M32A, DeviceObj)
External (M32B, DeviceObj)
External (M330, DeviceObj)
External (M331, FieldUnitObj)
External (M378, FieldUnitObj)
External (M379, FieldUnitObj)
External (M380, FieldUnitObj)
External (M381, FieldUnitObj)
External (M382, FieldUnitObj)
External (M383, FieldUnitObj)
External (M384, FieldUnitObj)
External (M385, FieldUnitObj)
External (M386, FieldUnitObj)
External (M387, FieldUnitObj)
External (M388, FieldUnitObj)
External (M389, FieldUnitObj)
External (M390, FieldUnitObj)
External (M391, FieldUnitObj)
External (M392, FieldUnitObj)
External (M404, BuffObj)
External (M408, MutexObj)
External (M414, FieldUnitObj)
External (M444, FieldUnitObj)
External (M449, FieldUnitObj)
External (M453, FieldUnitObj)
External (M454, FieldUnitObj)
External (M455, FieldUnitObj)
External (M456, FieldUnitObj)
External (M457, FieldUnitObj)
External (M460, MethodObj) // 7 Arguments
External (M4C0, FieldUnitObj)
External (M4F0, FieldUnitObj)
External (M610, FieldUnitObj)
External (M620, FieldUnitObj)
External (M631, FieldUnitObj)
External (M652, FieldUnitObj)
External (P_OF, MethodObj) // 0 Arguments
External (P_ON, MethodObj) // 0 Arguments
External (PPS0, MethodObj) // 0 Arguments
External (PPS3, MethodObj) // 0 Arguments
External (PSTA, MethodObj) // 0 Arguments
External (SDSW, MethodObj) // 3 Arguments
External (SINI, MethodObj) // 0 Arguments
External (SREG, MethodObj) // 2 Arguments
External (SSTA, MethodObj) // 0 Arguments
Scope (\)
{
Name (P1D3, 0x55)
Name (F0D3, 0x04)
Name (F3D3, 0x04)
Name (F1D3, 0x04)
Name (F5D3, 0x04)
Name (F6D3, 0x04)
Name (F5WV, 0x55)
}
Scope (\_SB.PCI0.GP17)
{
Method (ZS0W, 0, Serialized)
{
Local0 = 0x00
If ((\P1D3 != 0x55))
{
Local0 = \P1D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (ZPRW, 0, Serialized)
{
Return (Package (0x02)
{
0x19,
0x04
})
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP17.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* External reference */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP17.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP17.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
Scope (\_SB.PCI0.GP17.VGA)
{
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
Local0 = 0x00
If ((\F0D3 != 0x55))
{
Local0 = \F0D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP17.VGA_.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* \_SB_.PCI0.GP17.EBUS */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP17.VGA_.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP17.VGA_.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
Scope (\_SB.PCI0.GP17.HDAU)
{
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
Local0 = 0x00
If ((\F1D3 != 0x55))
{
Local0 = \F1D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP17.HDAU.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* \_SB_.PCI0.GP17.EBUS */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP17.HDAU.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP17.HDAU.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
Scope (\_SB.PCI0.GP17.XHC0)
{
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
Local0 = 0x00
If ((\F3D3 != 0x55))
{
Local0 = \F3D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (_PRW, 0, Serialized) // _PRW: Power Resources for Wake
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PRW () Return Package (2) {0x19, 0x04}\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x1A,
0x03
})
}
Method (PPS0, 0, Serialized)
{
M000 (0x3C01)
}
Method (PPS3, 0, Serialized)
{
M000 (0x3C03)
}
Method (PSTA, 0, Serialized)
{
M000 (0x3C05)
}
Method (P_ON, 0, Serialized)
{
M000 (0x3C06)
}
Method (P_OF, 0, Serialized)
{
M000 (0x3C08)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP17.XHC0.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* \_SB_.PCI0.GP17.EBUS */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP17.XHC0.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP17.XHC0.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
Scope (\_SB.PCI0.GP17.XHC1)
{
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
Local0 = 0x00
If ((\F3D3 != 0x55))
{
Local0 = \F3D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (_PRW, 0, Serialized) // _PRW: Power Resources for Wake
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PRW () Return Package (2) {0x19, 0x04}\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Package (0x02)
{
0x19,
0x04
})
}
Method (PPS0, 0, Serialized)
{
M000 (0x3D01)
}
Method (PPS3, 0, Serialized)
{
M000 (0x3D03)
}
Method (PSTA, 0, Serialized)
{
M000 (0x3D05)
}
Method (P_ON, 0, Serialized)
{
M000 (0x3D06)
}
Method (P_OF, 0, Serialized)
{
M000 (0x3D08)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP17.XHC1.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* \_SB_.PCI0.GP17.EBUS */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP17.XHC1.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS0\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS0))
{
PPS0 ()
}
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
M460 (" OEM-ASL-PCIe Address (0x%X)._PS3\n", DADR, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PPS3))
{
PPS3 ()
}
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP17.XHC1.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
Scope (\_SB.PCI0.GP17.ACP)
{
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
Local0 = 0x00
If ((\F5D3 != 0x55))
{
Local0 = \F5D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP17.ACP_.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* \_SB_.PCI0.GP17.EBUS */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP17.ACP_.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP17.ACP_.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
Scope (\_SB.PCI0.GP17.AZAL)
{
Method (_S0W, 0, Serialized) // _S0W: S0 Device Wake State
{
Local0 = 0x00
If ((\F6D3 != 0x55))
{
Local0 = \F6D3
}
M460 (" OEM-ASL-PCIe Address (0x%X)._S0W () Return %d\n", DADR, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Name (DADR, 0xEEEEEEEE)
Name (DSTA, 0xEE)
Name (DBUS, 0xEEEE)
Name (PCSA, 0x00)
Name (PWST, 0xD3)
Name (ESTA, 0xEE)
Name (EBUS, 0xEEEE)
Name (PW3S, 0x00)
Method (RPRM, 2, NotSerialized)
{
Local0 = Arg0
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, AnyAcc, NoLock, Preserve)
{
VARR, 32
}
Local1 = VARR /* \_SB_.PCI0.GP17.AZAL.RPRM.VARR */
If ((Arg1 == 0x01))
{
Local1 &= 0xFF
}
ElseIf ((Arg1 == 0x02))
{
Local1 &= 0xFFFF
}
ElseIf ((Arg1 == 0x03))
{
Local1 &= 0x00FFFFFF
}
M460 (" OEM-ASL-PCIe Address (0x%X).RPRM (0x%X 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local1, 0x00, 0x00)
Return (Local1)
}
Method (WPRM, 3, NotSerialized)
{
Local0 = Arg0
If ((Arg1 == 0x01))
{
OperationRegion (VARA, SystemMemory, Local0, 0x01)
Field (VARA, AnyAcc, NoLock, Preserve)
{
VARE, 8
}
VARE = Arg2
}
ElseIf ((Arg1 == 0x02))
{
OperationRegion (VARB, SystemMemory, Local0, 0x02)
Field (VARB, AnyAcc, NoLock, Preserve)
{
VARF, 16
}
VARF = Arg2
}
ElseIf ((Arg1 == 0x03))
{
OperationRegion (VARC, SystemMemory, Local0, 0x03)
Field (VARC, AnyAcc, NoLock, Preserve)
{
VARG, 24
}
VARG = Arg2
}
Else
{
OperationRegion (VARD, SystemMemory, Local0, 0x04)
Field (VARD, AnyAcc, NoLock, Preserve)
{
VARH, 32
}
VARH = Arg2
}
M460 (" OEM-ASL-PCIe Address (0x%X).WPRM (0x%X 0x%X 0x%X)\n", DADR, Arg0, Arg1, Arg2, 0x00, 0x00)
}
Method (SPDP, 1, NotSerialized)
{
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = 0x00
Local0 = 0x00
While ((Local0 <= 0x1F))
{
Local1 = 0x00
While ((Local1 <= 0x07))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = RPRM ((M083 + Local3), 0x04)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPDP (0x%X) = 0x%X\n", DADR, Arg0, Local2, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (SPCH, 2, NotSerialized)
{
Local0 = 0x00
Local1 = RPRM ((Arg0 + 0x34), 0x01)
While ((Local1 != 0x00))
{
Local2 = RPRM ((DADR + Local1), 0x01)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = RPRM ((DADR + (Local1 + 0x01)), 0x01)
}
M460 (" OEM-ASL-PCIe Address (0x%X).SPCH (0x%X, 0x%X) = 0x%X\n", DADR, Arg0, Arg1, Local0, 0x00, 0x00)
Return (Local0)
}
Method (_STA, 0, Serialized) // _STA: Status
{
If (((DSTA == 0xEE) || (ESTA == 0xEE)))
{
If ((DBUS == 0xEEEE))
{
If (CondRefOf (^^EBUS))
{
DBUS = ^^EBUS /* \_SB_.PCI0.GP17.EBUS */
}
Else
{
DBUS = 0x00
}
}
If ((DBUS != 0xEEEE))
{
If ((DADR == 0xEEEEEEEE))
{
Local0 = (((_ADR << 0x0C) & 0x7000) | ((_ADR >>
0x01) & 0x000F8000))
Local0 |= ((DBUS << 0x14) & 0x0FF00000)
DADR = (M083 + Local0)
}
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
DSTA = 0x00
ESTA = 0x00
If ((DBUS != 0x00))
{
Local2 = ^^SPCH (^^DADR, 0x10)
If (((^^RPRM ((^^DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x40))
{
DSTA = 0x0F
ESTA = 0xEE
}
}
}
ElseIf ((RPRM ((DADR + 0x0A), 0x02) == 0x0604))
{
EBUS = RPRM ((DADR + 0x19), 0x01)
Local2 = SPCH (DADR, 0x10)
If ((((RPRM ((DADR + (Local2 + 0x02)),
0x01) >> 0x04) & 0x0F) == 0x05))
{
If ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
ElseIf ((SPDP (EBUS) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
ElseIf (((RPRM ((DADR + (Local2 + 0x1A)),
0x01) & 0x40) == 0x00))
{
If (((RPRM ((DADR + (Local2 + 0x14)), 0x01) &
0x40) == 0x00))
{
DSTA = 0x00
ESTA = 0x00
}
Else
{
DSTA = 0x0F
ESTA = 0xEE
}
}
ElseIf ((EBUS == 0x00))
{
DSTA = 0x0F
ESTA = 0xEE
}
Else
{
DSTA = 0x0F
ESTA = 0x0F
}
}
Else
{
DSTA = 0x0F
ESTA = 0x00
}
}
Else
{
DSTA = 0x00
ESTA = 0xEE
}
}
If ((((PCSA == 0x01) && (PWST == 0xD3)) && (PW3S == 0x01)))
{
PWST = 0xD0
}
If ((((PCSA == 0x00) && (PWST == 0xD0)) && (PW3S == 0x00)))
{
PWST = 0xD3
}
If (CondRefOf (SSTA))
{
SSTA ()
}
M460 (" OEM-ASL-PCIe Address (0x%X)._STA = 0x%X PWST = 0x%X DBUS = 0x%X ESTA = 0x%X EBUS = 0x%X\n", DADR, DSTA, PWST, DBUS, ESTA, EBUS)
Return (DSTA) /* \_SB_.PCI0.GP17.AZAL.DSTA */
}
Method (_INI, 0, Serialized) // _INI: Initialize
{
Local0 = 0x7FFFFFFF
Local0 |= 0x80000000
Local1 = RPRM ((DADR + 0x00), 0x04)
If (((Local1 == Local0) || (Local1 == 0x00)))
{
PCSA = 0x00
PWST = 0xD3
PW3S = 0x00
}
Else
{
PCSA = 0x01
PWST = 0xD0
PW3S = 0x01
}
M460 (" OEM-ASL-PCIe Address (0x%X)._INI PCSA = 0x%X PWST = 0x%X PW3S = 0x%X\n", DADR, PCSA, PWST, PW3S, 0x00, 0x00)
If (CondRefOf (SINI))
{
SINI ()
}
}
Method (_REG, 2, Serialized) // _REG: Region Availability
{
If (((Arg0 == 0x02) && (Arg1 == 0x01)))
{
If ((DSTA == 0x0F))
{
If (((RPRM ((DADR + 0x04), 0x01) & 0xFC) == 0x04))
{
PCSA = 0x01
}
}
}
If (((Arg0 == 0x02) && (Arg1 == 0x00)))
{
PCSA = 0x00
}
If (CondRefOf (SREG))
{
SREG (Arg0, Arg1)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._REG (%d %d) PCSA = %d\n", DADR, Arg0, Arg1, PCSA, 0x00, 0x00)
}
Method (_DSW, 3, Serialized) // _DSW: Device Sleep Wake
{
If (CondRefOf (SDSW))
{
SDSW (Arg0, Arg1, Arg2)
}
M460 (" OEM-ASL-PCIe Address (0x%X)._DSW (%d %d %d) PCSA = %d\n", DADR, Arg0, Arg1, Arg2, PCSA, 0x00)
}
PowerResource (PWRS, 0x00, 0x0000)
{
Method (_STA, 0, Serialized) // _STA: Status
{
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._STA = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (PSTA))
{
PSTA ()
}
Return (PW3S) /* \_SB_.PCI0.GP17.AZAL.PW3S */
}
Method (_ON, 0, Serialized) // _ON_: Power On
{
If ((PW3S == 0x00))
{
PW3S = 0x01
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._ON = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_ON))
{
P_ON ()
}
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If ((PW3S == 0x01))
{
PW3S = 0x00
M460 (" OEM-ASL-PCIe Address (0x%X).PWRS._OFF = 0x%X\n", DADR, PW3S, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (P_OF))
{
P_OF ()
}
}
}
}
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
PWRS
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
PWRS
})
}
Scope (\_SB)
{
Method (CK17, 0, NotSerialized)
{
Local0 = \_SB.PCI0.GP17.RPRM ((\_SB.PCI0.GP17.DADR + 0x54), 0x02)
\_SB.PCI0.GP17.WPRM ((\_SB.PCI0.GP17.DADR + 0x54), 0x02, (Local0 & 0x7FFC))
Local1 = \_SB.PCI0.GP17.VGA.RPRM ((\_SB.PCI0.GP17.VGA.DADR + 0x54), 0x02)
Local1 = \_SB.PCI0.GP17.HDAU.RPRM ((\_SB.PCI0.GP17.HDAU.DADR + 0x54), 0x02)
Local1 = \_SB.PCI0.GP17.XHC0.RPRM ((\_SB.PCI0.GP17.XHC0.DADR + 0x54), 0x02)
Local1 = \_SB.PCI0.GP17.XHC1.RPRM ((\_SB.PCI0.GP17.XHC1.DADR + 0x54), 0x02)
Local1 = \_SB.PCI0.GP17.ACP.RPRM ((\_SB.PCI0.GP17.ACP.DADR + 0x54), 0x02)
Local1 = \_SB.PCI0.GP17.AZAL.RPRM ((\_SB.PCI0.GP17.AZAL.DADR + 0x54), 0x02)
\_SB.PCI0.GP17.WPRM ((\_SB.PCI0.GP17.DADR + 0x54), 0x02, (Local0 & 0x7FFF))
}
}
Scope (\_GPE)
{
Method (_L19, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
{
M460 (" OEM-ASL-\\_GPE._L19\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (\_SB.PCI0.GP17))
{
M460 (" Notify (\\_SB.PCI0.GP17, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP17, 0x02) // Device Wake
}
If (CondRefOf (\_SB.PCI0.GP17.XHC0))
{
M460 (" Notify (\\_SB.PCI0.GP17.XHC0, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP17.XHC0, 0x02) // Device Wake
}
If (CondRefOf (\_SB.PCI0.GP17.XHC1))
{
M460 (" Notify (\\_SB.PCI0.GP17.XHC1, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP17.XHC1, 0x02) // Device Wake
}
}
}
}
[-- Attachment #18: ssdt16.dsl --]
[-- Type: text/x-dsl, Size: 10603 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt16.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x000006F4 (1780)
* Revision 0x02
* Checksum 0x9E
* OEM ID "LENOVO"
* OEM Table ID "UsbCTabl"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "UsbCTabl", 0x00000001)
{
External (_SB_.PCI0.LPC0.EC0_, DeviceObj)
Scope (\_SB)
{
OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
Field (SUSC, ByteAcc, Lock, Preserve)
{
SCMD, 8,
CCI0, 8,
CCI1, 8,
CCI2, 8,
CCI3, 8,
CTL0, 8,
CTL1, 8,
CTL2, 8,
CTL3, 8,
CTL4, 8,
CTL5, 8,
CTL6, 8,
CTL7, 8,
MGI0, 8,
MGI1, 8,
MGI2, 8,
MGI3, 8,
MGI4, 8,
MGI5, 8,
MGI6, 8,
MGI7, 8,
MGI8, 8,
MGI9, 8,
MGIA, 8,
MGIB, 8,
MGIC, 8,
MGID, 8,
MGIE, 8,
MGIF, 8,
MGO0, 8,
MGO1, 8,
MGO2, 8,
MGO3, 8,
MGO4, 8,
MGO5, 8,
MGO6, 8,
MGO7, 8,
MGO8, 8,
MGO9, 8,
MGOA, 8,
MGOB, 8,
MGOC, 8,
MGOD, 8,
MGOE, 8,
MGOF, 8,
Offset (0x2E),
Offset (0x2F),
Offset (0x30)
}
Device (UBTC)
{
Name (_HID, EisaId ("USBC000")) // _HID: Hardware ID
Name (_CID, EisaId ("PNP0CA0")) // _CID: Compatible ID
Name (_UID, Zero) // _UID: Unique ID
Name (_DDN, "USB Type C") // _DDN: DOS Device Name
Name (_ADR, Zero) // _ADR: Address
Name (_DEP, Package (0x01) // _DEP: Dependencies
{
\_SB.PCI0.LPC0.EC0
})
Device (CR01)
{
Name (_ADR, 0x00) // _ADR: Address
Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
{
Return (Package (0x04)
{
0xFF,
0x09,
0x00,
0x00
})
}
Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
{
Return (Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x08, 0x00, 0x03, 0x00, // ........
/* 0008 */ 0x51, 0x04, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00, // Q.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
}
}
Device (CR02)
{
Name (_ADR, 0x01) // _ADR: Address
Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
{
Return (Package (0x04)
{
0xFF,
0x09,
0x00,
0x00
})
}
Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
{
Return (Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x59, 0x04, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, // Y.......
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
}
}
Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x1BB11000, // Address Base
0x00001000, // Address Length
)
})
Return (RBUF) /* \_SB_.UBTC._CRS.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
OperationRegion (USBC, SystemMemory, 0x1BB11000, 0x30)
Field (USBC, ByteAcc, Lock, Preserve)
{
VER1, 8,
VER2, 8,
RSV1, 8,
RSV2, 8,
CCI0, 8,
CCI1, 8,
CCI2, 8,
CCI3, 8,
CTL0, 8,
CTL1, 8,
CTL2, 8,
CTL3, 8,
CTL4, 8,
CTL5, 8,
CTL6, 8,
CTL7, 8,
MGI0, 8,
MGI1, 8,
MGI2, 8,
MGI3, 8,
MGI4, 8,
MGI5, 8,
MGI6, 8,
MGI7, 8,
MGI8, 8,
MGI9, 8,
MGIA, 8,
MGIB, 8,
MGIC, 8,
MGID, 8,
MGIE, 8,
MGIF, 8,
MGO0, 8,
MGO1, 8,
MGO2, 8,
MGO3, 8,
MGO4, 8,
MGO5, 8,
MGO6, 8,
MGO7, 8,
MGO8, 8,
MGO9, 8,
MGOA, 8,
MGOB, 8,
MGOC, 8,
MGOD, 8,
MGOE, 8,
MGOF, 8
}
Mutex (UBSY, 0x00)
Method (SECM, 1, Serialized)
{
Local0 = 0x64
While (((\_SB.SCMD != 0x00) && (Local0 != 0x00)))
{
Sleep (0x01)
Local0--
}
\_SB.SCMD = Arg0
If ((Arg0 == 0x02))
{
Local0 = 0x64
While (((\_SB.SCMD != 0x00) && (Local0 != 0x00)))
{
Sleep (0x01)
Local0--
}
}
}
Method (ECWR, 0, Serialized)
{
Acquire (UBSY, 0xFFFF)
\_SB.MGO0 = MGO0 /* \_SB_.UBTC.MGO0 */
\_SB.MGO1 = MGO1 /* \_SB_.UBTC.MGO1 */
\_SB.MGO2 = MGO2 /* \_SB_.UBTC.MGO2 */
\_SB.MGO3 = MGO3 /* \_SB_.UBTC.MGO3 */
\_SB.MGO4 = MGO4 /* \_SB_.UBTC.MGO4 */
\_SB.MGO5 = MGO5 /* \_SB_.UBTC.MGO5 */
\_SB.MGO6 = MGO6 /* \_SB_.UBTC.MGO6 */
\_SB.MGO7 = MGO7 /* \_SB_.UBTC.MGO7 */
\_SB.MGO8 = MGO8 /* \_SB_.UBTC.MGO8 */
\_SB.MGO9 = MGO9 /* \_SB_.UBTC.MGO9 */
\_SB.MGOA = MGOA /* \_SB_.UBTC.MGOA */
\_SB.MGOB = MGOB /* \_SB_.UBTC.MGOB */
\_SB.MGOC = MGOC /* \_SB_.UBTC.MGOC */
\_SB.MGOD = MGOD /* \_SB_.UBTC.MGOD */
\_SB.MGOE = MGOE /* \_SB_.UBTC.MGOE */
\_SB.MGOF = MGOF /* \_SB_.UBTC.MGOF */
\_SB.CTL0 = CTL0 /* \_SB_.UBTC.CTL0 */
\_SB.CTL1 = CTL1 /* \_SB_.UBTC.CTL1 */
\_SB.CTL2 = CTL2 /* \_SB_.UBTC.CTL2 */
\_SB.CTL3 = CTL3 /* \_SB_.UBTC.CTL3 */
\_SB.CTL4 = CTL4 /* \_SB_.UBTC.CTL4 */
\_SB.CTL5 = CTL5 /* \_SB_.UBTC.CTL5 */
\_SB.CTL6 = CTL6 /* \_SB_.UBTC.CTL6 */
\_SB.CTL7 = CTL7 /* \_SB_.UBTC.CTL7 */
Sleep (0x19)
SECM (0x01)
Release (UBSY)
}
Method (ECRD, 0, Serialized)
{
Acquire (UBSY, 0xFFFF)
SECM (0x02)
Sleep (0x19)
MGI0 = \_SB.MGI0
MGI1 = \_SB.MGI1
MGI2 = \_SB.MGI2
MGI3 = \_SB.MGI3
MGI4 = \_SB.MGI4
MGI5 = \_SB.MGI5
MGI6 = \_SB.MGI6
MGI7 = \_SB.MGI7
MGI8 = \_SB.MGI8
MGI9 = \_SB.MGI9
MGIA = \_SB.MGIA
MGIB = \_SB.MGIB
MGIC = \_SB.MGIC
MGID = \_SB.MGID
MGIE = \_SB.MGIE
MGIF = \_SB.MGIF
CCI0 = \_SB.CCI0
CCI1 = \_SB.CCI1
CCI2 = \_SB.CCI2
CCI3 = \_SB.CCI3
Release (UBSY)
}
Method (NTFY, 0, Serialized)
{
ECRD ()
Sleep (0x01)
Notify (\_SB.UBTC, 0x80) // Status Change
}
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If ((Arg0 == ToUUID ("6f8398c2-7ca4-11e4-ad36-631042b5008f") /* Unknown UUID */))
{
If ((ToInteger (Arg2) == 0x00))
{
Return (Buffer (0x01)
{
0x0F // .
})
}
ElseIf ((ToInteger (Arg2) == 0x01))
{
ECWR ()
}
ElseIf ((ToInteger (Arg2) == 0x02))
{
ECRD ()
}
}
Return (0x00)
}
}
}
}
[-- Attachment #19: ssdt17.dsl --]
[-- Type: text/x-dsl, Size: 14743 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt17.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00001097 (4247)
* Revision 0x02
* Checksum 0x35
* OEM ID "LENOVO"
* OEM Table ID "GPP_PME_"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "GPP_PME_", 0x00000001)
{
External (_SB_.PCI0.GP11, DeviceObj)
External (_SB_.PCI0.GP12, DeviceObj)
External (_SB_.PCI0.GP17, DeviceObj)
External (_SB_.PCI0.GP18, DeviceObj)
External (_SB_.PCI0.GP19, DeviceObj)
External (_SB_.PCI0.GPP0, DeviceObj)
External (_SB_.PCI0.GPP1, DeviceObj)
External (_SB_.PCI0.GPP2, DeviceObj)
External (_SB_.PCI0.GPP3, DeviceObj)
External (_SB_.PCI0.GPP4, DeviceObj)
External (_SB_.PCI0.GPP5, DeviceObj)
External (_SB_.PCI0.GPP6, DeviceObj)
External (_SB_.PCI0.GPP7, DeviceObj)
External (_SB_.PCI0.GPP8, DeviceObj)
External (_SB_.PCI0.GPP9, DeviceObj)
External (_SB_.PCI0.GPPA, DeviceObj)
External (M017, MethodObj) // 6 Arguments
External (M037, DeviceObj)
External (M046, IntObj)
External (M047, IntObj)
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M082, FieldUnitObj)
External (M083, FieldUnitObj)
External (M084, FieldUnitObj)
External (M085, FieldUnitObj)
External (M086, FieldUnitObj)
External (M087, FieldUnitObj)
External (M088, FieldUnitObj)
External (M089, FieldUnitObj)
External (M090, FieldUnitObj)
External (M091, FieldUnitObj)
External (M092, FieldUnitObj)
External (M093, FieldUnitObj)
External (M094, FieldUnitObj)
External (M095, FieldUnitObj)
External (M096, FieldUnitObj)
External (M097, FieldUnitObj)
External (M098, FieldUnitObj)
External (M099, FieldUnitObj)
External (M100, FieldUnitObj)
External (M101, FieldUnitObj)
External (M102, FieldUnitObj)
External (M103, FieldUnitObj)
External (M104, FieldUnitObj)
External (M105, FieldUnitObj)
External (M106, FieldUnitObj)
External (M107, FieldUnitObj)
External (M108, FieldUnitObj)
External (M109, FieldUnitObj)
External (M110, FieldUnitObj)
External (M115, BuffObj)
External (M116, BuffFieldObj)
External (M117, BuffFieldObj)
External (M118, BuffFieldObj)
External (M119, BuffFieldObj)
External (M120, BuffFieldObj)
External (M122, FieldUnitObj)
External (M127, DeviceObj)
External (M128, FieldUnitObj)
External (M131, FieldUnitObj)
External (M132, FieldUnitObj)
External (M133, FieldUnitObj)
External (M134, FieldUnitObj)
External (M135, FieldUnitObj)
External (M136, FieldUnitObj)
External (M220, FieldUnitObj)
External (M221, FieldUnitObj)
External (M226, FieldUnitObj)
External (M227, DeviceObj)
External (M229, FieldUnitObj)
External (M231, FieldUnitObj)
External (M233, FieldUnitObj)
External (M235, FieldUnitObj)
External (M23A, FieldUnitObj)
External (M251, FieldUnitObj)
External (M280, FieldUnitObj)
External (M290, FieldUnitObj)
External (M29A, FieldUnitObj)
External (M310, FieldUnitObj)
External (M31C, FieldUnitObj)
External (M320, FieldUnitObj)
External (M321, FieldUnitObj)
External (M322, FieldUnitObj)
External (M323, FieldUnitObj)
External (M324, FieldUnitObj)
External (M325, FieldUnitObj)
External (M326, FieldUnitObj)
External (M327, FieldUnitObj)
External (M328, FieldUnitObj)
External (M329, DeviceObj)
External (M32A, DeviceObj)
External (M32B, DeviceObj)
External (M330, DeviceObj)
External (M331, FieldUnitObj)
External (M378, FieldUnitObj)
External (M379, FieldUnitObj)
External (M380, FieldUnitObj)
External (M381, FieldUnitObj)
External (M382, FieldUnitObj)
External (M383, FieldUnitObj)
External (M384, FieldUnitObj)
External (M385, FieldUnitObj)
External (M386, FieldUnitObj)
External (M387, FieldUnitObj)
External (M388, FieldUnitObj)
External (M389, FieldUnitObj)
External (M390, FieldUnitObj)
External (M391, FieldUnitObj)
External (M392, FieldUnitObj)
External (M404, BuffObj)
External (M408, MutexObj)
External (M414, FieldUnitObj)
External (M444, FieldUnitObj)
External (M449, FieldUnitObj)
External (M453, FieldUnitObj)
External (M454, FieldUnitObj)
External (M455, FieldUnitObj)
External (M456, FieldUnitObj)
External (M457, FieldUnitObj)
External (M460, MethodObj) // 7 Arguments
External (M4C0, FieldUnitObj)
External (M4F0, FieldUnitObj)
External (M610, FieldUnitObj)
External (M620, FieldUnitObj)
External (M631, FieldUnitObj)
External (M652, FieldUnitObj)
Scope (\_GPE)
{
Name (ETP0, 0x55)
Name (ETP1, 0x55)
Name (ETP2, 0x55)
Name (ETP3, 0x55)
Name (ETP4, 0x55)
Name (ETP5, 0x55)
Name (ETP6, 0x55)
Name (ETP7, 0x55)
Name (ETP8, 0x55)
Name (ETP9, 0x55)
Name (ETPA, 0x55)
Name (ET11, 0x55)
Name (ET12, 0x55)
Name (ET17, 0x55)
Name (ET18, 0x55)
Name (ET19, 0x55)
Method (_E10, 0, NotSerialized) // _Exx: Edge-Triggered GPE, xx=0x00-0xFF
{
M460 (" OEM-ASL-\\_GPE._E10\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((\_GPE.ETP0 != 0xFF))
{
\_GPE.ETP0 = (M017 (0x00, 0x01, 0x01, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ETP0 == 0x01) || (\_GPE.ETP0 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GPP0))
{
M460 (" Notify (\\_SB.PCI0.GPP0, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPP0, 0x02) // Device Wake
}
}
}
If ((\_GPE.ETP1 != 0xFF))
{
\_GPE.ETP1 = (M017 (0x00, 0x01, 0x02, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ETP1 == 0x01) || (\_GPE.ETP1 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GPP1))
{
M460 (" Notify (\\_SB.PCI0.GPP1, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPP1, 0x02) // Device Wake
}
}
}
If ((\_GPE.ETP2 != 0xFF))
{
\_GPE.ETP2 = (M017 (0x00, 0x01, 0x03, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ETP2 == 0x01) || (\_GPE.ETP2 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GPP2))
{
M460 (" Notify (\\_SB.PCI0.GPP2, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPP2, 0x02) // Device Wake
}
}
}
If ((\_GPE.ETP3 != 0xFF))
{
\_GPE.ETP3 = (M017 (0x00, 0x01, 0x04, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ETP3 == 0x01) || (\_GPE.ETP3 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GPP3))
{
M460 (" Notify (\\_SB.PCI0.GPP3, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPP3, 0x02) // Device Wake
}
}
}
If ((\_GPE.ETP4 != 0xFF))
{
\_GPE.ETP4 = (M017 (0x00, 0x01, 0x05, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ETP4 == 0x01) || (\_GPE.ETP4 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GPP4))
{
M460 (" Notify (\\_SB.PCI0.GPP4, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPP4, 0x02) // Device Wake
}
}
}
If ((\_GPE.ETP5 != 0xFF))
{
\_GPE.ETP5 = (M017 (0x00, 0x02, 0x01, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ETP5 == 0x01) || (\_GPE.ETP5 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GPP5))
{
M460 (" Notify (\\_SB.PCI0.GPP5, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPP5, 0x02) // Device Wake
}
}
}
If ((\_GPE.ETP6 != 0xFF))
{
\_GPE.ETP6 = (M017 (0x00, 0x02, 0x02, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ETP6 == 0x01) || (\_GPE.ETP6 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GPP6))
{
M460 (" Notify (\\_SB.PCI0.GPP6, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPP6, 0x02) // Device Wake
}
}
}
If ((\_GPE.ETP7 != 0xFF))
{
\_GPE.ETP7 = (M017 (0x00, 0x02, 0x03, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ETP7 == 0x01) || (\_GPE.ETP7 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GPP7))
{
M460 (" Notify (\\_SB.PCI0.GPP7, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPP7, 0x02) // Device Wake
}
}
}
If ((\_GPE.ETP8 != 0xFF))
{
\_GPE.ETP8 = (M017 (0x00, 0x02, 0x04, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ETP8 == 0x01) || (\_GPE.ETP8 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GPP8))
{
M460 (" Notify (\\_SB.PCI0.GPP8, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPP8, 0x02) // Device Wake
}
}
}
If ((\_GPE.ETP9 != 0xFF))
{
\_GPE.ETP9 = (M017 (0x00, 0x02, 0x05, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ETP9 == 0x01) || (\_GPE.ETP9 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GPP9))
{
M460 (" Notify (\\_SB.PCI0.GPP9, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPP9, 0x02) // Device Wake
}
}
}
If ((\_GPE.ETPA != 0xFF))
{
\_GPE.ETPA = (M017 (0x00, 0x02, 0x06, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ETPA == 0x01) || (\_GPE.ETPA == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GPPA))
{
M460 (" Notify (\\_SB.PCI0.GPPA, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GPPA, 0x02) // Device Wake
}
}
}
If ((\_GPE.ET11 != 0xFF))
{
\_GPE.ET11 = (M017 (0x00, 0x03, 0x01, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ET11 == 0x01) || (\_GPE.ET11 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GP11))
{
M460 (" Notify (\\_SB.PCI0.GP11, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP11, 0x02) // Device Wake
}
}
}
If ((\_GPE.ET12 != 0xFF))
{
\_GPE.ET12 = (M017 (0x00, 0x04, 0x01, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ET12 == 0x01) || (\_GPE.ET12 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GP12))
{
M460 (" Notify (\\_SB.PCI0.GP12, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP12, 0x02) // Device Wake
}
}
}
If ((\_GPE.ET17 != 0xFF))
{
\_GPE.ET17 = (M017 (0x00, 0x08, 0x01, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ET17 == 0x01) || (\_GPE.ET17 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GP17))
{
M460 (" Notify (\\_SB.PCI0.GP17, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP17, 0x02) // Device Wake
}
}
}
If ((\_GPE.ET18 != 0xFF))
{
\_GPE.ET18 = (M017 (0x00, 0x08, 0x02, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ET18 == 0x01) || (\_GPE.ET18 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GP18))
{
M460 (" Notify (\\_SB.PCI0.GP18, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP18, 0x02) // Device Wake
}
}
}
If ((\_GPE.ET19 != 0xFF))
{
\_GPE.ET19 = (M017 (0x00, 0x08, 0x03, 0x78, 0x00, 0x18) >> 0x10)
If (((\_GPE.ET19 == 0x01) || (\_GPE.ET19 == 0x03)))
{
If (CondRefOf (\_SB.PCI0.GP19))
{
M460 (" Notify (\\_SB.PCI0.GP19, 0x2)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.PCI0.GP19, 0x02) // Device Wake
}
}
}
}
}
}
[-- Attachment #20: ssdt18.dsl --]
[-- Type: text/x-dsl, Size: 833 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt18.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00000058 (88)
* Revision 0x02
* Checksum 0xB3
* OEM ID "LENOVO"
* OEM Table ID "GPP0"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "GPP0", 0x00000001)
{
External (_SB_.PCI0.GPP0, DeviceObj)
Scope (\_SB.PCI0.GPP0)
{
Device (DEV0)
{
Name (_ADR, 0x00) // _ADR: Address
}
}
}
[-- Attachment #21: ssdt19.dsl --]
[-- Type: text/x-dsl, Size: 7803 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt19.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x0000073A (1850)
* Revision 0x02
* Checksum 0x2A
* OEM ID "LENOVO"
* OEM Table ID "OEMPMF"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "OEMPMF", 0x00000001)
{
External (_SB_.PMF_.M480, BuffObj)
External (FLPF, MethodObj) // 1 Arguments
External (M037, DeviceObj)
External (M046, IntObj)
External (M047, IntObj)
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M082, FieldUnitObj)
External (M083, FieldUnitObj)
External (M084, FieldUnitObj)
External (M085, FieldUnitObj)
External (M086, FieldUnitObj)
External (M087, FieldUnitObj)
External (M088, FieldUnitObj)
External (M089, FieldUnitObj)
External (M090, FieldUnitObj)
External (M091, FieldUnitObj)
External (M092, FieldUnitObj)
External (M093, FieldUnitObj)
External (M094, FieldUnitObj)
External (M095, FieldUnitObj)
External (M096, FieldUnitObj)
External (M097, FieldUnitObj)
External (M098, FieldUnitObj)
External (M099, FieldUnitObj)
External (M100, FieldUnitObj)
External (M101, FieldUnitObj)
External (M102, FieldUnitObj)
External (M103, FieldUnitObj)
External (M104, FieldUnitObj)
External (M105, FieldUnitObj)
External (M106, FieldUnitObj)
External (M107, FieldUnitObj)
External (M108, FieldUnitObj)
External (M109, FieldUnitObj)
External (M110, FieldUnitObj)
External (M115, BuffObj)
External (M116, BuffFieldObj)
External (M117, BuffFieldObj)
External (M118, BuffFieldObj)
External (M119, BuffFieldObj)
External (M120, BuffFieldObj)
External (M122, FieldUnitObj)
External (M127, DeviceObj)
External (M128, FieldUnitObj)
External (M131, FieldUnitObj)
External (M132, FieldUnitObj)
External (M133, FieldUnitObj)
External (M134, FieldUnitObj)
External (M135, FieldUnitObj)
External (M136, FieldUnitObj)
External (M220, FieldUnitObj)
External (M221, FieldUnitObj)
External (M226, FieldUnitObj)
External (M227, DeviceObj)
External (M229, FieldUnitObj)
External (M231, FieldUnitObj)
External (M233, FieldUnitObj)
External (M235, FieldUnitObj)
External (M23A, FieldUnitObj)
External (M251, FieldUnitObj)
External (M280, FieldUnitObj)
External (M290, FieldUnitObj)
External (M29A, FieldUnitObj)
External (M310, FieldUnitObj)
External (M31C, FieldUnitObj)
External (M320, FieldUnitObj)
External (M321, FieldUnitObj)
External (M322, FieldUnitObj)
External (M323, FieldUnitObj)
External (M324, FieldUnitObj)
External (M325, FieldUnitObj)
External (M326, FieldUnitObj)
External (M327, FieldUnitObj)
External (M328, FieldUnitObj)
External (M329, DeviceObj)
External (M32A, DeviceObj)
External (M32B, DeviceObj)
External (M330, DeviceObj)
External (M331, FieldUnitObj)
External (M378, FieldUnitObj)
External (M379, FieldUnitObj)
External (M380, FieldUnitObj)
External (M381, FieldUnitObj)
External (M382, FieldUnitObj)
External (M383, FieldUnitObj)
External (M384, FieldUnitObj)
External (M385, FieldUnitObj)
External (M386, FieldUnitObj)
External (M387, FieldUnitObj)
External (M388, FieldUnitObj)
External (M389, FieldUnitObj)
External (M390, FieldUnitObj)
External (M391, FieldUnitObj)
External (M392, FieldUnitObj)
External (M404, BuffObj)
External (M408, MutexObj)
External (M414, FieldUnitObj)
External (M444, FieldUnitObj)
External (M449, FieldUnitObj)
External (M453, FieldUnitObj)
External (M454, FieldUnitObj)
External (M455, FieldUnitObj)
External (M456, FieldUnitObj)
External (M457, FieldUnitObj)
External (M460, MethodObj) // 7 Arguments
External (M4C0, FieldUnitObj)
External (M4F0, FieldUnitObj)
External (M610, FieldUnitObj)
External (M620, FieldUnitObj)
External (M631, FieldUnitObj)
External (M652, FieldUnitObj)
Scope (\_SB)
{
OperationRegion (TP80, SystemIO, 0x80, 0x04)
Field (TP80, DWordAcc, NoLock, Preserve)
{
PMTP, 32
}
Name (DPX4, 0xD6040000)
Method (APX4, 0, Serialized)
{
PMTP = DPX4 /* \_SB_.DPX4 */
DPX4 += 0x01
}
Method (APX7, 2, Serialized)
{
M460 ("FEA-ASL-\\_SB.PMF.PMF7 call APX7\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\FLPF (Arg1)
}
Method (APX8, 1, Serialized)
{
PMTP = (0xD6080000 | Arg0)
}
Method (APXA, 1, Serialized)
{
PMTP = (0xD60A0000 | Arg0)
}
Method (APXE, 3, Serialized)
{
PMTP = (0xD60E0000 | Arg0)
Sleep (0x01)
PMTP = (0xD60E1000 | Arg1)
Sleep (0x01)
PMTP = (0xD60E2000 | Arg2)
}
Method (APXF, 2, Serialized)
{
Local0 = Arg1
Local0 <<= 0x08
Local0 |= Arg0
PMTP = (0xD60F0000 | Local0)
}
Method (APXG, 4, Serialized)
{
Local0 = Arg3
Local0 <<= 0x04
Local0 |= Arg2
Local0 <<= 0x04
Local0 |= Arg1
Local0 <<= 0x04
Local0 |= Arg0
PMTP = (0xD6100000 | Local0)
}
Method (ASI0, 3, Serialized)
{
M460 ("FEA-ASL-\\_SB.PMF.PSI0 call ASI0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
PMTP = (0xD6A00000 | Arg0)
Sleep (0x01)
PMTP = (0xD6A10000 | Arg1)
Sleep (0x01)
PMTP = (0xD6A20000 | Arg2)
}
Method (ASI1, 3, Serialized)
{
M460 ("FEA-ASL-\\_SB.PMF.PSI1 call ASI1\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
PMTP = (0xD6A30000 | Arg0)
Sleep (0x01)
PMTP = (0xD6A40000 | Arg1)
Sleep (0x01)
PMTP = (0xD6A50000 | Arg2)
}
Method (ASI2, 3, Serialized)
{
M460 ("FEA-ASL-\\_SB.PMF.PSI2 call ASI2\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
PMTP = (0xD6A60000 | Arg0)
Sleep (0x01)
PMTP = (0xD6A70000 | Arg1)
Sleep (0x01)
PMTP = (0xD6A80000 | Arg2)
}
Method (ASI3, 3, Serialized)
{
M460 ("FEA-ASL-\\_SB.PMF.PSI3 call ASI3\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
PMTP = (0xD6A90000 | Arg0)
Sleep (0x01)
PMTP = (0xD6AA0000 | Arg1)
Sleep (0x01)
PMTP = (0xD6AB0000 | Arg2)
}
}
}
[-- Attachment #22: ssdt20.dsl --]
[-- Type: text/x-dsl, Size: 1767 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt20.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00000090 (144)
* Revision 0x02
* Checksum 0x83
* OEM ID "LENOVO"
* OEM Table ID "CPMMSLPI"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "CPMMSLPI", 0x00000001)
{
External (_SB_.PLTF, DeviceObj)
Scope (\_SB.PLTF)
{
Name (_LPI, Package (0x04) // _LPI: Low Power Idle States
{
0x00,
0x00,
0x01,
Package (0x0A)
{
0x000F4240,
0xC350,
One,
Zero,
Zero,
Zero,
Zero,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"S0i3"
}
})
}
}
[-- Attachment #23: ssdt21.dsl --]
[-- Type: text/x-dsl, Size: 12608 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt21.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00000CDC (3292)
* Revision 0x02
* Checksum 0x10
* OEM ID "LENOVO"
* OEM Table ID "NVME"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "NVME", 0x00000001)
{
External (_SB_.PCI0.GPP8, DeviceObj)
External (_SB_.PCI0.GPP8._ADR, IntObj)
External (_SB_.PCI0.LPWD, MethodObj) // 1 Arguments
External (_SB_.PCI0.UPWD, MethodObj) // 1 Arguments
External (M000, MethodObj) // 1 Arguments
External (M017, MethodObj) // 6 Arguments
External (M019, MethodObj) // 4 Arguments
External (M020, MethodObj) // 5 Arguments
External (M037, DeviceObj)
External (M046, IntObj)
External (M047, IntObj)
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M082, FieldUnitObj)
External (M083, FieldUnitObj)
External (M084, FieldUnitObj)
External (M085, FieldUnitObj)
External (M086, FieldUnitObj)
External (M087, FieldUnitObj)
External (M088, FieldUnitObj)
External (M089, FieldUnitObj)
External (M090, FieldUnitObj)
External (M091, FieldUnitObj)
External (M092, FieldUnitObj)
External (M093, FieldUnitObj)
External (M094, FieldUnitObj)
External (M095, FieldUnitObj)
External (M096, FieldUnitObj)
External (M097, FieldUnitObj)
External (M098, FieldUnitObj)
External (M099, FieldUnitObj)
External (M100, FieldUnitObj)
External (M101, FieldUnitObj)
External (M102, FieldUnitObj)
External (M103, FieldUnitObj)
External (M104, FieldUnitObj)
External (M105, FieldUnitObj)
External (M106, FieldUnitObj)
External (M107, FieldUnitObj)
External (M108, FieldUnitObj)
External (M109, FieldUnitObj)
External (M110, FieldUnitObj)
External (M115, BuffObj)
External (M116, BuffFieldObj)
External (M117, BuffFieldObj)
External (M118, BuffFieldObj)
External (M119, BuffFieldObj)
External (M120, BuffFieldObj)
External (M122, FieldUnitObj)
External (M127, DeviceObj)
External (M128, FieldUnitObj)
External (M131, FieldUnitObj)
External (M132, FieldUnitObj)
External (M133, FieldUnitObj)
External (M134, FieldUnitObj)
External (M135, FieldUnitObj)
External (M136, FieldUnitObj)
External (M220, FieldUnitObj)
External (M221, FieldUnitObj)
External (M226, FieldUnitObj)
External (M227, DeviceObj)
External (M229, FieldUnitObj)
External (M231, FieldUnitObj)
External (M233, FieldUnitObj)
External (M235, FieldUnitObj)
External (M23A, FieldUnitObj)
External (M251, FieldUnitObj)
External (M280, FieldUnitObj)
External (M290, FieldUnitObj)
External (M29A, FieldUnitObj)
External (M310, FieldUnitObj)
External (M31C, FieldUnitObj)
External (M320, FieldUnitObj)
External (M321, FieldUnitObj)
External (M322, FieldUnitObj)
External (M323, FieldUnitObj)
External (M324, FieldUnitObj)
External (M325, FieldUnitObj)
External (M326, FieldUnitObj)
External (M327, FieldUnitObj)
External (M328, FieldUnitObj)
External (M329, DeviceObj)
External (M32A, DeviceObj)
External (M32B, DeviceObj)
External (M330, DeviceObj)
External (M331, FieldUnitObj)
External (M378, FieldUnitObj)
External (M379, FieldUnitObj)
External (M380, FieldUnitObj)
External (M381, FieldUnitObj)
External (M382, FieldUnitObj)
External (M383, FieldUnitObj)
External (M384, FieldUnitObj)
External (M385, FieldUnitObj)
External (M386, FieldUnitObj)
External (M387, FieldUnitObj)
External (M388, FieldUnitObj)
External (M389, FieldUnitObj)
External (M390, FieldUnitObj)
External (M391, FieldUnitObj)
External (M392, FieldUnitObj)
External (M404, BuffObj)
External (M408, MutexObj)
External (M414, FieldUnitObj)
External (M444, FieldUnitObj)
External (M449, FieldUnitObj)
External (M453, FieldUnitObj)
External (M454, FieldUnitObj)
External (M455, FieldUnitObj)
External (M456, FieldUnitObj)
External (M457, FieldUnitObj)
External (M460, MethodObj) // 7 Arguments
External (M4C0, FieldUnitObj)
External (M4F0, FieldUnitObj)
External (M610, FieldUnitObj)
External (M620, FieldUnitObj)
External (M631, FieldUnitObj)
External (M652, FieldUnitObj)
Scope (\_SB.PCI0.GPP8)
{
Name (WD3C, 0x00)
Name (NBRI, Zero)
Name (NBAR, Zero)
Name (NCMD, Zero)
Name (PXDC, Zero)
Name (PXLC, Zero)
Name (PXD2, Zero)
Name (BRI2, Zero)
Name (BAR2, Zero)
Name (CMD2, Zero)
Name (XDC2, Zero)
Name (XLC2, Zero)
Name (XD22, Zero)
Mutex (MGCC, 0x00)
PowerResource (P0NV, 0x00, 0x0000)
{
Name (D0NV, 0x01)
Method (_STA, 0, NotSerialized) // _STA: Status
{
M000 (0x30AA)
M460 ("PLA-ASL-\\_SB.PCI0.GPP8.P0NV._STA\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (D0NV) /* \_SB_.PCI0.GPP8.P0NV.D0NV */
}
Method (_ON, 0, NotSerialized) // _ON_: Power On
{
M000 (0x30D0)
M460 ("PLA-ASL-\\_SB.PCI0.GPP8.P0NV._ON\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
RPCF (_ADR)
If ((_ADR == 0x00020004))
{
UPWD (NBRI)
}
Else
{
UPWD (BRI2)
}
WD3C = 0x00
D0NV = 0x01
M000 (0x30D1)
}
Method (_OFF, 0, NotSerialized) // _OFF: Power Off
{
M000 (0x30D3)
M460 ("PLA-ASL-\\_SB.PCI0.GPP8.P0NV._OFF\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
SPCF (_ADR)
If ((_ADR == 0x00020004))
{
LPWD (NBRI)
}
Else
{
LPWD (BRI2)
}
D0NV = 0x00
M000 (0x30D5)
}
}
Device (NVME)
{
Name (_ADR, 0x00) // _ADR: Address
Name (_S0W, 0x04) // _S0W: S0 Device Wake State
Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
{
P0NV
})
Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
{
P0NV
})
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
P0NV
})
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
M000 (0x3050)
M460 ("PLA-ASL-\\_SB.PCI0.GPP8.NVME._PS0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
M000 (0x3053)
M460 ("PLA-ASL-\\_SB.PCI0.GPP8.NVME._PS3\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Name (_DSD, Package (0x02) // _DSD: Device-Specific Data
{
ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */,
Package (0x01)
{
Package (0x02)
{
"StorageD3Enable",
0x01
}
}
})
}
Method (SPCF, 1, NotSerialized)
{
M460 ("PLA-ASL-_SB.PCI0.GPP8.SPCF\n", Zero, Zero, Zero, Zero, Zero, Zero)
If ((Arg0 == 0x00020004))
{
M460 ("PLA-ASL-_SB.PCI0.GPP8.SPCF NVME 1\n", Zero, Zero, Zero, Zero, Zero, Zero)
Local0 = M019 (Zero, (Arg0 >> 0x10), (Arg0 & 0xFF),
0x18)
NBRI = ((Local0 & 0xFF00) >> 0x08)
NCMD = M019 (NBRI, Zero, Zero, 0x04)
NBAR = M019 (NBRI, Zero, Zero, 0x10)
Local1 = PXCR (NBRI, Zero, Zero)
PXDC = M019 (NBRI, Zero, Zero, (Local1 + 0x08))
PXLC = M019 (NBRI, Zero, Zero, (Local1 + 0x10))
PXD2 = M019 (NBRI, Zero, Zero, (Local1 + 0x28))
M460 ("PTLMOD Enhance: PLA-ASL-_SB.PCI0.GPP8.SPCF NCMD 0x%x NBAR 0x%x PXDC 0x%x PXLC 0x%x PXD2 0x%x\n", NCMD, NBAR, PXDC, PXLC, PXD2, Zero)
}
Else
{
M460 ("PLA-ASL-_SB.PCI0.GPP8.SPCF NVME 2\n", Zero, Zero, Zero, Zero, Zero, Zero)
Local0 = M019 (Zero, (Arg0 >> 0x10), (Arg0 & 0xFF),
0x18)
BRI2 = ((Local0 & 0xFF00) >> 0x08)
CMD2 = M019 (BRI2, Zero, Zero, 0x04)
BAR2 = M019 (BRI2, Zero, Zero, 0x10)
Local1 = PXCR (BRI2, Zero, Zero)
XDC2 = M019 (BRI2, Zero, Zero, (Local1 + 0x08))
XLC2 = M019 (BRI2, Zero, Zero, (Local1 + 0x10))
XD22 = M019 (BRI2, Zero, Zero, (Local1 + 0x28))
M460 ("PTLMOD Enhance: PLA-ASL-_SB.PCI0.GPP8.SPCF CMD2 0x%x BAR2 0x%x XDC2 0x%x XLC2 0x%x XD22 0x%x\n", CMD2, BAR2, XDC2, XLC2, XD22, Zero)
}
}
Method (RPCF, 1, NotSerialized)
{
M460 ("PLA-ASL-_SB.PCI0.GPP8.RPCF\n", Zero, Zero, Zero, Zero, Zero, Zero)
If ((Arg0 == 0x00020004))
{
M460 ("PLA-ASL-_SB.PCI0.GPP8.RPCF NVME 1\n", Zero, Zero, Zero, Zero, Zero, Zero)
Local1 = PXCR (NBRI, Zero, Zero)
M020 (NBRI, Zero, Zero, (Local1 + 0x08), PXDC)
M020 (NBRI, Zero, Zero, (Local1 + 0x10), (PXLC & 0xFFFFFEFC))
M020 (NBRI, Zero, Zero, (Local1 + 0x28), PXD2)
M020 (NBRI, Zero, Zero, 0x10, NBAR)
M020 (NBRI, Zero, Zero, 0x04, 0x06)
M460 ("PTLMOD Enhance: PLA-ASL-_SB.PCI0.GPP8.RPCF NCMD 0x%x NBAR 0x%x PXDC 0x%x PXLC 0x%x PXD2 0x%x\n", NCMD, NBAR, PXDC, PXLC, PXD2, Zero)
}
Else
{
M460 ("PLA-ASL-_SB.PCI0.GPP8.RPCF NVME 2\n", Zero, Zero, Zero, Zero, Zero, Zero)
Local1 = PXCR (BRI2, Zero, Zero)
M020 (BRI2, Zero, Zero, (Local1 + 0x08), XDC2)
M020 (BRI2, Zero, Zero, (Local1 + 0x10), (XLC2 & 0xFFFFFEFC))
M020 (BRI2, Zero, Zero, (Local1 + 0x28), XD22)
M020 (BRI2, Zero, Zero, 0x10, BAR2)
M020 (BRI2, Zero, Zero, 0x04, 0x06)
M460 ("PTLMOD Enhance: PLA-ASL-_SB.PCI0.GPP8.RPCF CMD2 0x%x BAR2 0x%x XDC2 0x%x XLC2 0x%x XD22 0x%x\n", CMD2, BAR2, XDC2, XLC2, XD22, Zero)
}
}
Method (PXCR, 3, Serialized)
{
M460 ("PLA-ASL-_SB.PCI0.GPP8.PXCR\n", Zero, Zero, Zero, Zero, Zero, Zero)
Local0 = Zero
Local1 = M017 (Arg0, Arg1, Arg2, 0x34, Zero, 0x08)
While ((Local1 != Zero))
{
Local2 = M017 (Arg0, Arg1, Arg2, Local1, Zero, 0x08)
If (((Local2 == Zero) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == 0x10))
{
Local0 = Local1
Break
}
Local1 = M017 (Arg0, Arg1, Arg2, (Local1 + One), Zero, 0x08)
}
Return (Local0)
}
}
}
[-- Attachment #24: ssdt22.dsl --]
[-- Type: text/x-dsl, Size: 257738 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt22.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x0000547E (21630)
* Revision 0x02
* Checksum 0x13
* OEM ID "LENOVO"
* OEM Table ID "AmdTable"
* OEM Revision 0x00000001 (1)
* Compiler ID "AMD "
* Compiler Version 0x00000001 (1)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "AmdTable", 0x00000001)
{
External (_SB_.PLTF.C000, DeviceObj)
External (_SB_.PLTF.C001, DeviceObj)
External (_SB_.PLTF.C002, DeviceObj)
External (_SB_.PLTF.C003, DeviceObj)
External (_SB_.PLTF.C004, DeviceObj)
External (_SB_.PLTF.C005, DeviceObj)
External (_SB_.PLTF.C006, DeviceObj)
External (_SB_.PLTF.C007, DeviceObj)
External (_SB_.PLTF.C008, DeviceObj)
External (_SB_.PLTF.C009, DeviceObj)
External (_SB_.PLTF.C00A, DeviceObj)
External (_SB_.PLTF.C00B, DeviceObj)
External (_SB_.PLTF.C00C, DeviceObj)
External (_SB_.PLTF.C00D, DeviceObj)
External (_SB_.PLTF.C00E, DeviceObj)
External (_SB_.PLTF.C00F, DeviceObj)
Scope (\_SB.PLTF.C000)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000000,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C000.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000000,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C001)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000000,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C001.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000000,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C002)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000001,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C002.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000001,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C003)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000001,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C003.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000001,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C004)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000002,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C004.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000002,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C005)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000002,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C005.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000002,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C006)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000003,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C006.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000003,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C007)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000003,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C007.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000003,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C008)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000004,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C008.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000004,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C009)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000004,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C009.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000004,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C00A)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000005,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C00A.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000005,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C00B)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000005,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C00B.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000005,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C00C)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000006,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C00C.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000006,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C00D)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000006,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C00D.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000006,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C00E)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000007,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C00E.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000007,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Scope (\_SB.PLTF.C00F)
{
Name (_PCT, Package (0x02) // _PCT: Performance Control
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010062, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000C0010063, // Address
,)
}
})
Name (_PSS, Package (0x03) // _PSS: Performance Supported States
{
Package (0x06)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
0x00000000,
0x00000000
},
Package (0x06)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
0x00000001,
0x00000001
},
Package (0x06)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
0x00000002,
0x00000002
}
})
Name (XPSS, Package (0x03)
{
Package (0x08)
{
0x00000CE4,
0x00000F78,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000898,
0x00000974,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
},
Package (0x08)
{
0x00000640,
0x00000640,
0x00000000,
0x00000000,
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
},
Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
}
}
})
Name (_PSD, Package (0x01) // _PSD: Power State Dependencies
{
Package (0x05)
{
0x05,
0x00,
0x00000007,
0x000000FE,
0x00000002
}
})
Name (PPCV, 0x00)
Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
{
Return (PPCV) /* \_SB_.PLTF.C00F.PPCV */
}
Name (_CST, Package (0x04) // _CST: C-States
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x0001,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
0x02,
0x0012,
0x00000000
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
0x03,
0x015E,
0x00000000
}
})
Name (_CSD, Package (0x01) // _CSD: C-State Dependencies
{
Package (0x06)
{
0x06,
0x00,
0x00000007,
0x000000FE,
0x00000002,
0x00000000
}
})
Name (_LPI, Package (0x06) // _LPI: Low Power Idle States
{
0x0000,
0x0000000000000000,
0x0003,
Package (0x0A)
{
0x00000002,
0x00000001,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C1"
},
Package (0x0A)
{
0x00000024,
0x00000012,
0x00000001,
0x00000000,
0x00000000,
0x00000000,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C2"
},
Package (0x0A)
{
0x000002BC,
0x0000015E,
0x00000001,
0x00000000,
0x00000000,
0x00000001,
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
0x01, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
"C3"
}
})
Name (_CPC, Package (0x17) // _CPC: Continuous Performance Control
{
0x17,
0x03,
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B0, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x10, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x08, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E7, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x00000000000000E8, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x02, // Bit Width
0x00, // Bit Offset
0x00000000C00102B4, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x00, // Bit Offset
0x00000000C00102B1, // Address
0x04, // Access Size
)
},
0x00000001,
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x18, // Bit Offset
0x00000000C00102B3, // Address
0x04, // Access Size
)
},
ResourceTemplate ()
{
Register (SystemMemory,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x00000190,
0x00000CE5
})
}
Method (NFPC, 0, NotSerialized)
{
Notify (\_SB.PLTF.C000, 0x85) // Device-Specific
Notify (\_SB.PLTF.C001, 0x85) // Device-Specific
Notify (\_SB.PLTF.C002, 0x85) // Device-Specific
Notify (\_SB.PLTF.C003, 0x85) // Device-Specific
Notify (\_SB.PLTF.C004, 0x85) // Device-Specific
Notify (\_SB.PLTF.C005, 0x85) // Device-Specific
Notify (\_SB.PLTF.C006, 0x85) // Device-Specific
Notify (\_SB.PLTF.C007, 0x85) // Device-Specific
Notify (\_SB.PLTF.C008, 0x85) // Device-Specific
Notify (\_SB.PLTF.C009, 0x85) // Device-Specific
Notify (\_SB.PLTF.C00A, 0x85) // Device-Specific
Notify (\_SB.PLTF.C00B, 0x85) // Device-Specific
Notify (\_SB.PLTF.C00C, 0x85) // Device-Specific
Notify (\_SB.PLTF.C00D, 0x85) // Device-Specific
Notify (\_SB.PLTF.C00E, 0x85) // Device-Specific
Notify (\_SB.PLTF.C00F, 0x85) // Device-Specific
}
}
[-- Attachment #25: ssdt23.dsl --]
[-- Type: text/x-dsl, Size: 960 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt23.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00000052 (82)
* Revision 0x02
* Checksum 0x04
* OEM ID "LENOVO"
* OEM Table ID "DRTM"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "DRTM", 0x00000001)
{
Scope (\_SB)
{
Device (DRTM)
{
Name (_HID, "DRTM0001") // _HID: Hardware ID
Name (_UID, 0x00) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
}
}
}
[-- Attachment #26: ssdt24.dsl --]
[-- Type: text/x-dsl, Size: 184527 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20220331 (64-bit version)
* Copyright (c) 2000 - 2022 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of ssdt24.dat, Tue Jul 9 08:32:00 2024
*
* Original Table Header:
* Signature "SSDT"
* Length 0x0000A07D (41085)
* Revision 0x02
* Checksum 0x57
* OEM ID "LENOVO"
* OEM Table ID "CPMCMN"
* OEM Revision 0x00000001 (1)
* Compiler ID "INTL"
* Compiler Version 0x20180313 (538444563)
*/
DefinitionBlock ("", "SSDT", 2, "LENOVO", "CPMCMN", 0x00000001)
{
External (_GPE, DeviceObj)
External (_GPE.AIE0, MethodObj) // 0 Arguments
External (_GPE.AIE1, MethodObj) // 0 Arguments
External (_GPE.AIE2, MethodObj) // 0 Arguments
External (_GPE.AIE3, MethodObj) // 0 Arguments
External (_GPE.BIE0, MethodObj) // 0 Arguments
External (_GPE.BIE1, MethodObj) // 0 Arguments
External (_GPE.BIE2, MethodObj) // 0 Arguments
External (_GPE.BIE3, MethodObj) // 0 Arguments
External (_GPE.PTS0, MethodObj) // 1 Arguments
External (_GPE.PTS1, MethodObj) // 1 Arguments
External (_GPE.PTS2, MethodObj) // 1 Arguments
External (_GPE.PTS3, MethodObj) // 1 Arguments
External (_GPE.SP00, MethodObj) // 0 Arguments
External (_GPE.SP01, MethodObj) // 0 Arguments
External (_GPE.SP02, MethodObj) // 0 Arguments
External (_GPE.SP03, MethodObj) // 0 Arguments
External (_GPE.SP04, MethodObj) // 0 Arguments
External (_GPE.SP05, MethodObj) // 0 Arguments
External (_GPE.SP06, MethodObj) // 0 Arguments
External (_GPE.SP07, MethodObj) // 0 Arguments
External (_GPE.SP10, MethodObj) // 0 Arguments
External (_GPE.SP11, MethodObj) // 0 Arguments
External (_GPE.SP12, MethodObj) // 0 Arguments
External (_GPE.SP13, MethodObj) // 0 Arguments
External (_GPE.SP14, MethodObj) // 0 Arguments
External (_GPE.SP15, MethodObj) // 0 Arguments
External (_GPE.SP16, MethodObj) // 0 Arguments
External (_GPE.SP17, MethodObj) // 0 Arguments
External (_GPE.SP20, MethodObj) // 0 Arguments
External (_GPE.SP21, MethodObj) // 0 Arguments
External (_GPE.SP22, MethodObj) // 0 Arguments
External (_GPE.SP23, MethodObj) // 0 Arguments
External (_GPE.SP24, MethodObj) // 0 Arguments
External (_GPE.SP25, MethodObj) // 0 Arguments
External (_GPE.SP26, MethodObj) // 0 Arguments
External (_GPE.SP27, MethodObj) // 0 Arguments
External (_GPE.SP30, MethodObj) // 0 Arguments
External (_GPE.SP31, MethodObj) // 0 Arguments
External (_GPE.SP32, MethodObj) // 0 Arguments
External (_GPE.SP33, MethodObj) // 0 Arguments
External (_GPE.SP34, MethodObj) // 0 Arguments
External (_GPE.SP35, MethodObj) // 0 Arguments
External (_GPE.SP36, MethodObj) // 0 Arguments
External (_GPE.SP37, MethodObj) // 0 Arguments
External (_GPE.SP40, MethodObj) // 0 Arguments
External (_GPE.SP41, MethodObj) // 0 Arguments
External (_GPE.SP42, MethodObj) // 0 Arguments
External (_GPE.SP43, MethodObj) // 0 Arguments
External (_GPE.SP44, MethodObj) // 0 Arguments
External (_GPE.SP45, MethodObj) // 0 Arguments
External (_GPE.SP46, MethodObj) // 0 Arguments
External (_GPE.SP47, MethodObj) // 0 Arguments
External (_GPE.SP50, MethodObj) // 0 Arguments
External (_GPE.SP51, MethodObj) // 0 Arguments
External (_GPE.SP52, MethodObj) // 0 Arguments
External (_GPE.SP53, MethodObj) // 0 Arguments
External (_GPE.SP54, MethodObj) // 0 Arguments
External (_GPE.SP55, MethodObj) // 0 Arguments
External (_GPE.SP56, MethodObj) // 0 Arguments
External (_GPE.SP57, MethodObj) // 0 Arguments
External (_GPE.SP60, MethodObj) // 0 Arguments
External (_GPE.SP61, MethodObj) // 0 Arguments
External (_GPE.SP62, MethodObj) // 0 Arguments
External (_GPE.SP63, MethodObj) // 0 Arguments
External (_GPE.SP64, MethodObj) // 0 Arguments
External (_GPE.SP65, MethodObj) // 0 Arguments
External (_GPE.SP66, MethodObj) // 0 Arguments
External (_GPE.SP67, MethodObj) // 0 Arguments
External (_GPE.SP70, MethodObj) // 0 Arguments
External (_GPE.SP71, MethodObj) // 0 Arguments
External (_GPE.SP72, MethodObj) // 0 Arguments
External (_GPE.SP73, MethodObj) // 0 Arguments
External (_GPE.SP74, MethodObj) // 0 Arguments
External (_GPE.SP75, MethodObj) // 0 Arguments
External (_GPE.SP76, MethodObj) // 0 Arguments
External (_GPE.SP77, MethodObj) // 0 Arguments
External (_GPE.WAK0, MethodObj) // 1 Arguments
External (_GPE.WAK1, MethodObj) // 1 Arguments
External (_GPE.WAK2, MethodObj) // 1 Arguments
External (_GPE.WAK3, MethodObj) // 1 Arguments
External (_SB_.ALIB, MethodObj) // 2 Arguments
External (_SB_.AM00, MutexObj)
External (_SB_.BPTS, MethodObj) // 1 Arguments
External (_SB_.BWAK, MethodObj) // 1 Arguments
External (_SB_.GPIO, DeviceObj)
External (_SB_.IPTS, MethodObj) // 1 Arguments
External (_SB_.IWAK, MethodObj) // 1 Arguments
External (_SB_.M263, MethodObj) // 1 Arguments
External (_SB_.M264, MethodObj) // 1 Arguments
External (_SB_.M284, MethodObj) // 1 Arguments
External (_SB_.OPTS, MethodObj) // 1 Arguments
External (_SB_.OWAK, MethodObj) // 1 Arguments
External (_SB_.PCI0.PTBR.PTST.TPTS, MethodObj) // 1 Arguments
External (_SB_.PCI0.PTBR.PTST.TWAK, MethodObj) // 1 Arguments
External (_SB_.PCXX.GPXX.SAXX.TPTS, MethodObj) // 1 Arguments
External (_SB_.PCXX.GPXX.SAXX.TWAK, MethodObj) // 1 Arguments
External (_SB_.PCXX.SAXX.TPTS, MethodObj) // 1 Arguments
External (_SB_.PCXX.SAXX.TWAK, MethodObj) // 1 Arguments
External (M038, MethodObj) // 1 Arguments
External (M039, MethodObj) // 2 Arguments
External (M050, DeviceObj)
External (M051, DeviceObj)
External (M052, DeviceObj)
External (M053, DeviceObj)
External (M054, DeviceObj)
External (M055, DeviceObj)
External (M056, DeviceObj)
External (M057, DeviceObj)
External (M058, DeviceObj)
External (M059, DeviceObj)
External (M062, DeviceObj)
External (M068, DeviceObj)
External (M069, DeviceObj)
External (M070, DeviceObj)
External (M071, DeviceObj)
External (M072, DeviceObj)
External (M074, DeviceObj)
External (M075, DeviceObj)
External (M076, DeviceObj)
External (M077, DeviceObj)
External (M078, DeviceObj)
External (M079, DeviceObj)
External (M080, DeviceObj)
External (M081, DeviceObj)
External (M127, DeviceObj)
External (MOEM, MethodObj) // 3 Arguments
External (NFPC, MethodObj) // 0 Arguments
OperationRegion (CPNV, SystemMemory, 0x1BB12018, 0x00010117)
Field (CPNV, AnyAcc, Lock, Preserve)
{
M082, 32,
M083, 32,
M084, 32,
M085, 8,
M221, 8,
M086, 16,
M229, 8,
M231, 16,
M235, 8,
M233, 32,
, 1,
, 2,
, 1,
, 1,
, 1,
, 1,
Offset (0x19),
M087, 1,
, 1,
Offset (0x1C),
M088, 16,
M089, 16,
M090, 3,
M091, 5,
M092, 8,
M093, 3,
M094, 5,
M095, 8,
M096, 8,
M097, 8,
M098, 32,
M099, 32,
M100, 32,
M101, 32,
M102, 32,
M103, 32,
M104, 224,
M105, 32,
M106, 32768,
M378, 32768,
M379, 32768,
M380, 32768,
M381, 32768,
M382, 32768,
M383, 32768,
M384, 32768,
M385, 32768,
M386, 32768,
M387, 32768,
M388, 32768,
M389, 32768,
M390, 32768,
M391, 32768,
M392, 32768,
M107, 64,
M320, 32,
M321, 32,
M322, 32,
M323, 32,
M324, 32,
M325, 32,
M326, 32,
M327, 16,
M328, 8,
M128, 32,
M108, 32,
M109, 32,
M110, 32,
M122, 32,
M131, 32,
M132, 32,
M133, 32,
M134, 32,
M135, 32,
M136, 32,
M220, 32,
M226, 32,
M251, 32,
M310, 32,
M280, 32,
M290, 32,
M331, 32,
M414, 16,
M444, 72,
M453, 32,
M454, 16,
M455, 8,
M456, 8,
M457, 8,
M449, 72,
M4C0, 32,
M23A, 8,
M31C, 32,
M4F0, 32,
M610, 32,
M620, 32,
M29A, 128,
M631, 32,
M652, 32
}
Name (CTMR, Zero)
Name (M285, Buffer (0x04)
{
0x01, 0x03, 0x80, 0x00 // ....
})
Method (M000, 1, Serialized)
{
CreateByteField (M285, 0x00, M286)
CreateByteField (M285, 0x01, M287)
CreateWordField (M285, 0x02, M288)
Name (M450, Buffer (0x05)
{
0x00, 0x96, 0x05, 0x00, 0x00 // .....
})
CreateDWordField (M450, 0x00, M452)
CreateByteField (M450, 0x04, M451)
Local0 = (Arg0 + 0xB0000000)
If ((ToInteger (M286) == 0x01))
{
Local1 = ToInteger (M288)
If ((ToInteger (M287) == 0x03))
{
OperationRegion (VARM, SystemIO, Local1, 0x04)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VARR, 32
}
VARR = Local0
}
ElseIf ((ToInteger (M287) == 0x02))
{
OperationRegion (VARN, SystemIO, Local1, 0x02)
Field (VARN, WordAcc, NoLock, Preserve)
{
VARS, 16
}
VARS = (Local0 & 0xFFFF)
}
ElseIf ((ToInteger (M287) == 0x01))
{
OperationRegion (VARO, SystemIO, Local1, 0x01)
Field (VARO, ByteAcc, NoLock, Preserve)
{
VART, 8
}
VART = (Local0 & 0xFF)
}
}
If ((ToInteger (M451) == 0x01))
{
Local2 = ToInteger (M452)
M250 (0x00, 0x00, 0x00, Local2, Local0)
}
OperationRegion (VARP, SystemMemory, 0xFED80808, 0x04)
Field (VARP, DWordAcc, NoLock, Preserve)
{
VARU, 32
}
Local1 = VARU /* \M000.VARU */
If ((Local1 >= CTMR))
{
Local2 = (Local1 - CTMR) /* \CTMR */
}
Else
{
Local2 = (Local1 + ((0xFFFFFFFE - CTMR) + 0x01))
}
Divide (Local2, 0x19, Local3, Local2)
Divide ((Local2 * 0x07), 0x03E8, Local3, Local2)
If ((Local3 >= 0x64))
{
M460 (" POST CODE: %X ACPI TIMER: %X TIME: %d.%d ms\n", Local0, Local1, Local2, Local3, 0x00, 0x00)
}
ElseIf ((Local3 >= 0x0A))
{
M460 (" POST CODE: %X ACPI TIMER: %X TIME: %d.0%d ms\n", Local0, Local1, Local2, Local3, 0x00, 0x00)
}
Else
{
M460 (" POST CODE: %X ACPI TIMER: %X TIME: %d.00%d ms\n", Local0, Local1, Local2, Local3, 0x00, 0x00)
}
CTMR = Local1
}
Method (M034, 1, Serialized)
{
Return (M011 ((M084 + 0x0700), Arg0, 0x00, 0x08))
}
Method (M015, 1, Serialized)
{
Return (M011 ((M084 + 0x0400), Arg0, 0x00, 0x08))
}
Method (M016, 2, Serialized)
{
M012 ((M084 + 0x0400), Arg0, 0x00, 0x08, Arg1)
}
Method (M035, 1, Serialized)
{
Return (M011 (M084, Arg0, 0x00, 0x08))
}
Method (M036, 2, Serialized)
{
M012 (M084, Arg0, 0x00, 0x08, Arg1)
}
Method (M001, 2, Serialized)
{
Local0 = 0x00
If ((Arg0 == 0x15))
{
Local0 = 0x01
}
Return (Local0)
}
Method (M003, 3, Serialized)
{
Local0 = (Arg0 << 0x05)
Local1 = (Local0 + Arg1)
Local2 = (Local1 << 0x18)
Local3 = (Local2 + Arg2)
Return (Local3)
}
Method (M004, 1, Serialized)
{
OperationRegion (VARM, SystemIO, 0x0CD8, 0x08)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VAR1, 32
}
BankField (VARM, VAR1, Arg0, DWordAcc, NoLock, Preserve)
{
Offset (0x04),
VAR2, 32
}
Local0 = VAR2 /* \M004.VAR2 */
Return (Local0)
}
Method (M005, 2, Serialized)
{
OperationRegion (VARM, SystemIO, 0x0CD8, 0x08)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VAR1, 32
}
BankField (VARM, VAR1, Arg0, DWordAcc, NoLock, Preserve)
{
Offset (0x04),
VAR2, 32
}
VAR2 = Arg1
}
Method (M006, 3, Serialized)
{
Local0 = (M004 (Arg0) & Arg1)
Local1 = (Local0 | Arg2)
M005 (Arg0, Local1)
}
Method (M002, 2, Serialized)
{
If ((Arg0 == 0x00))
{
If ((Arg1 == 0x00))
{
M006 (M003 (0x06, 0x00, 0xC0), 0xFFFFEFFF, 0x00)
M006 (M003 (0x01, 0x00, 0x65), 0xFFFFFEFE, 0x00)
}
If ((Arg1 == 0x01))
{
M006 (M003 (0x06, 0x00, 0xC0), 0xFFFFDFFF, 0x00)
M006 (M003 (0x01, 0x00, 0x65), 0xFFFFFDFD, 0x00)
}
If ((Arg1 == 0x02))
{
M006 (M003 (0x06, 0x00, 0xC0), 0xFFFFBFFF, 0x00)
M006 (M003 (0x01, 0x00, 0x65), 0xFFFFFBFB, 0x00)
}
If ((Arg1 == 0x03))
{
M006 (M003 (0x06, 0x00, 0xC0), 0xFFFF7FFF, 0x00)
M006 (M003 (0x01, 0x00, 0x65), 0xFFFFF7F7, 0x00)
}
Sleep (0x01)
}
If ((Arg0 == 0x01))
{
If ((Arg1 == 0x00))
{
M006 (M003 (0x06, 0x00, 0xC0), 0xFFFFEFFF, 0x1000)
M006 (M003 (0x01, 0x00, 0x65), 0xFFFFFEFE, 0x0101)
}
If ((Arg1 == 0x01))
{
M006 (M003 (0x06, 0x00, 0xC0), 0xFFFFDFFF, 0x2000)
M006 (M003 (0x01, 0x00, 0x65), 0xFFFFFDFD, 0x0202)
}
If ((Arg1 == 0x02))
{
M006 (M003 (0x06, 0x00, 0xC0), 0xFFFFBFFF, 0x4000)
M006 (M003 (0x01, 0x00, 0x65), 0xFFFFFBFB, 0x0404)
}
If ((Arg1 == 0x03))
{
M006 (M003 (0x06, 0x00, 0xC0), 0xFFFF7FFF, 0x8000)
M006 (M003 (0x01, 0x00, 0x65), 0xFFFFF7F7, 0x0808)
}
Sleep (0x01)
}
If ((Arg0 == 0x00))
{
M008 (Arg1)
Local0 = M004 (M003 (0x03, Arg1, 0xA5))
Local0 &= 0xFF
Local1 = 0x01F4
While (((Local1 > 0x00) && (Local0 != 0x10)))
{
Local0 = M004 (M003 (0x03, Arg1, 0xA5))
Local0 &= 0xFF
Local1--
Sleep (0x01)
}
If ((Local0 != 0x10))
{
M007 (Arg1)
}
}
}
Method (M008, 1, Serialized)
{
Local0 = M019 (0x00, 0x15, Arg0, 0x88)
Local1 = ((Local0 & 0xFFFFFFF0) | 0x02)
M020 (0x00, 0x15, Arg0, 0x88, Local1)
M006 (M003 (0x03, Arg0, 0xA4), 0xFFFFFFFE, 0x01)
M006 (M003 (0x03, Arg0, 0xA2), 0xFFFFDFFF, 0x2000)
M006 (M003 (0x03, Arg0, 0xC0), 0xFFFF7FFF, 0x8000)
M006 (M003 (0x03, Arg0, 0xA4), 0xDFFFFFFF, 0x20000000)
Sleep (0x01)
}
Method (M007, 1, Serialized)
{
Local0 = M019 (0x00, 0x15, Arg0, 0x88)
Local1 = ((Local0 & 0xFFFFFFF0) | 0x01)
M020 (0x00, 0x15, Arg0, 0x88, Local1)
M006 (M003 (0x03, Arg0, 0xA4), 0xFFFFFFFE, 0x00)
M006 (M003 (0x03, Arg0, 0xA2), 0xFFFFDFFF, 0x2000)
Sleep (0x01)
}
Method (M111, 2, Serialized)
{
M460 (" KER-ASL-CpmSetDevicePower (0x%X, 0x%X)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
If ((Arg0 != 0x00))
{
Local0 = M110 /* \M110 */
If (Local0)
{
Local0 += 0x10
Local1 = 0x00
Local2 = 0x01
Local7 = 0x00
While (((Local2 != 0xFF) && (Local2 != 0x00)))
{
Local2 = M013 ((Local0 + Local1), 0x00, 0x00, 0x08)
Local3 = M013 ((Local0 + Local1), 0x01, 0x00, 0x08)
If (((Local2 == Arg0) && (Local3 == (Arg1 & 0x01))))
{
Local3 = M013 ((Local0 + Local1), 0x07, 0x00, 0x08)
If ((Local3 != 0x00))
{
Local4 = M013 ((Local0 + Local1), 0x02, 0x00, 0x08)
If ((Local4 == 0x00))
{
Local5 = M013 ((Local0 + Local1), 0x03, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
M010 ((Local5 & 0xFF00FFFF), Local6)
If (((Arg1 & 0x01) == 0x00))
{
M000 (0x0DD8)
}
Else
{
M000 (0x0DDB)
}
}
If ((Local4 == 0x01))
{
Local5 = M013 ((Local0 + Local1), 0x03, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
While ((M009 ((Local5 & 0xFF00FFFF)) != Local6)) {}
If (((Arg1 & 0x01) == 0x00))
{
M000 (0x0DD9)
}
Else
{
M000 (0x0DDC)
}
}
If ((Local4 == 0x02))
{
Local5 = M013 ((Local0 + Local1), 0x03, 0x00, 0x20)
Sleep (((Local5 + 0x03E7) / 0x03E8))
If (((Arg1 & 0x01) == 0x00))
{
M000 (0x0DDA)
}
Else
{
M000 (0x0DDD)
}
}
}
Local7 = 0x01
}
ElseIf (((Local7 == 0x01) && ((Arg1 & 0x10) == 0x10)))
{
Local2 = 0x00
}
Local1 += 0x08
}
}
}
}
Method (M470, 2, Serialized)
{
Local7 = 0x00
If ((Arg0 != 0x00))
{
Local0 = M110 /* \M110 */
If (Local0)
{
Local0 += 0x10
Local1 = 0x00
Local2 = M013 ((Local0 + Local1), 0x00, 0x00, 0x08)
While (((Local2 != 0xFF) && (Local2 != 0x00)))
{
Local3 = M013 ((Local0 + Local1), 0x01, 0x00, 0x08)
If (((Local2 == Arg0) && (Local3 == Arg1)))
{
Local3 = M013 ((Local0 + Local1), 0x02, 0x00, 0x08)
Local4 = M013 ((Local0 + Local1), 0x07, 0x00, 0x08)
If (((Local3 == 0x00) && (Local4 != 0x00)))
{
Local5 = M013 ((Local0 + Local1), 0x03, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
If ((M009 ((Local5 & 0xFF00FFFF)) == Local6))
{
Local7 = 0x01
}
}
}
Local1 += 0x08
Local2 = M013 ((Local0 + Local1), 0x00, 0x00, 0x08)
}
}
}
M460 (" KER-ASL-CpmCheckDevicePowerState (0x%X, %d) Return (%d)\n", Arg0, Arg1, Local7, 0x00, 0x00, 0x00)
Return (Local7)
}
Method (M228, 1, Serialized)
{
If ((Arg0 > 0x03))
{
Local0 = M110 /* \M110 */
If (Local0)
{
Local0 += 0x10
Local1 = 0x00
Local2 = M013 ((Local0 + Local1), 0x00, 0x00, 0x08)
While (((Local2 != 0xFF) && (Local2 != 0x00)))
{
Local3 = M013 ((Local0 + Local1), 0x07, 0x00, 0x08)
If ((Local3 == Arg0))
{
Local4 = M013 ((Local0 + Local1), 0x02, 0x00, 0x08)
If ((Local4 == 0x00))
{
Local5 = M013 ((Local0 + Local1), 0x03, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
M010 ((Local5 & 0xFF00FFFF), Local6)
}
If ((Local4 == 0x01))
{
Local5 = M013 ((Local0 + Local1), 0x03, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
While ((M009 ((Local5 & 0xFF00FFFF)) != Local6)) {}
}
If ((Local4 == 0x02))
{
Local5 = M013 ((Local0 + Local1), 0x03, 0x00, 0x20)
Sleep (((Local5 + 0x03E7) / 0x03E8))
}
}
Local1 += 0x08
Local2 = M013 ((Local0 + Local1), 0x00, 0x00, 0x08)
}
}
}
}
Method (M219, 2, Serialized)
{
M460 (" KER-ASL-CpmSetDeviceClock (0x%X, %d)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
If ((Arg0 != 0x00))
{
Local0 = M221 /* \M221 */
If ((Local0 & 0x02))
{
Local0 = M220 /* \M220 */
If (Local0)
{
Local0 += 0x10
Local1 = 0x00
Local2 = 0x01
While ((Local2 != 0xFF))
{
Local2 = M013 ((Local0 + Local1), 0x00, 0x00, 0x08)
Local3 = M013 ((Local0 + Local1), 0x01, 0x00, 0x08)
Local4 = M013 ((Local0 + Local1), 0x04, 0x00, 0x08)
Local5 = M013 ((Local0 + Local1), 0x07, 0x00, 0x08)
Local7 = M013 ((Local0 + Local1), 0x08, 0x00, 0x20)
If ((Local4 == Arg0))
{
If (((Local2 < 0x0A) && (Local5 & 0x80)))
{
If ((Arg1 == 0x00))
{
Local3 = 0x00
}
ElseIf ((Local5 & 0x04))
{
If ((Arg1 == 0x01))
{
If ((M085 >= 0x04))
{
Local3 = 0x03
}
Else
{
Local3 = 0x0F
}
}
If ((Arg1 == 0x02))
{
Local6 = M017 (0x00, M013 ((Local0 + Local1), 0x05, 0x00, 0x08),
M013 ((Local0 + Local1), 0x06, 0x00, 0x08), 0x19, 0x00, 0x08)
If ((M265 (Local6, 0x00, 0x00) == 0x01))
{
If ((M085 >= 0x04))
{
Local3 = 0x01
}
}
ElseIf ((M085 >= 0x04))
{
Local3 = 0x03
}
Else
{
Local3 = 0x0F
}
}
}
ElseIf ((M085 >= 0x04))
{
Local3 = 0x03
}
Else
{
Local3 = 0x0F
}
If ((M085 >= 0x04))
{
If ((M085 == 0x08))
{
If (((Local7 & 0x0FF00000) > 0x00))
{
Local6 = M249 (((Local7 >> 0x18) & 0x0F), ((
Local7 >> 0x14) & 0x0F), ((Local7 >> 0x10) & 0x0F), 0x02D01E00)
Local6 &= (0xFFFFFFFF ^ (0x03 << (Local2 << 0x01)))
Local6 |= (Local3 << (Local2 << 0x01))
M250 (((Local7 >> 0x18) & 0x0F), ((Local7 >> 0x14
) & 0x0F), ((Local7 >> 0x10) & 0x0F), 0x02D01E00, Local6)
}
Else
{
M012 ((M084 + 0x0E00), (Local2 >> 0x02), ((Local2 &
0x03) << 0x01), 0x02, Local3)
}
}
ElseIf (((Local7 >> 0x1C) == 0x02))
{
M012 ((M084 + 0x1300), (Local2 >> 0x02), ((Local2 &
0x03) << 0x01), 0x02, Local3)
}
Else
{
M012 ((M084 + 0x0E00), (Local2 >> 0x02), ((Local2 &
0x03) << 0x01), 0x02, Local3)
}
}
Else
{
M012 ((M084 + 0x0E00), (Local2 >> 0x01), ((Local2 &
0x01) << 0x02), 0x04, Local3)
}
If ((Arg1 == 0x00))
{
M000 (0x0DE0)
}
If ((Arg1 == 0x01))
{
M000 (0x0DE1)
}
If ((Arg1 == 0x02))
{
M000 (0x0DE2)
}
Local2 = 0xFF
}
}
Local1 += 0x0C
}
}
}
}
}
Method (M112, 2, Serialized)
{
M460 (" KER-ASL-CpmSetDeviceReset (0x%X, 0x%X)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
If ((Arg0 != 0x00))
{
Local0 = M109 /* \M109 */
If (Local0)
{
Local0 += 0x10
Local1 = 0x00
Local2 = 0x01
Local7 = 0x00
While (((Local2 != 0xFF) && (Local2 != 0x00)))
{
Local2 = M013 ((Local0 + Local1), 0x00, 0x00, 0x08)
Local3 = M013 ((Local0 + Local1), 0x01, 0x00, 0x08)
If (((Local2 == Arg0) && (Local3 == (Arg1 & 0x03))))
{
If ((Local3 < 0x02))
{
Local4 = M013 ((Local0 + Local1), 0x02, 0x00, 0x08)
If ((Local4 == 0x00))
{
Local5 = M013 ((Local0 + Local1), 0x03, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
M010 ((Local5 & 0xFF00FFFF), Local6)
}
If ((Local4 == 0x01))
{
Local5 = M013 ((Local0 + Local1), 0x03, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
M010 ((Local5 & 0xFF00FFFF), Local6)
Local7 = M009 ((Local5 & 0xFF00FFFF))
Local4 = 0x03F2
While (((Local4 > 0x00) && (Local7 != Local6)))
{
Local4 = (Local4 - 0x01)
Stall (0x63)
Local7 = M009 ((Local5 & 0xFF00FFFF))
}
}
If ((Local3 == 0x00))
{
M000 (0x0DD5)
}
If ((Local3 == 0x01))
{
M000 (0x0DD6)
}
}
If ((Local3 == 0x02))
{
Local5 = M013 ((Local0 + Local1), 0x03, 0x00, 0x20)
Sleep (((Local5 + 0x03E7) / 0x03E8))
M000 (0x0DD7)
}
Local7 = 0x01
}
ElseIf (((Local7 == 0x01) && ((Arg1 & 0x10) == 0x10)))
{
Local2 = 0x00
}
Local1 += 0x08
}
}
}
}
Method (M275, 2, Serialized)
{
Local7 = 0x00
If ((Arg0 != 0x00))
{
Local0 = M109 /* \M109 */
If (Local0)
{
Local0 += 0x10
Local1 = 0x00
Local2 = 0x01
While (((Local2 != 0xFF) && (Local2 != 0x00)))
{
Local2 = M013 ((Local0 + Local1), 0x00, 0x00, 0x08)
Local3 = M013 ((Local0 + Local1), 0x01, 0x00, 0x08)
If (((Local2 == Arg0) && (Local3 == Arg1)))
{
If ((Local3 < 0x02))
{
Local5 = M013 ((Local0 + Local1), 0x03, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x03, 0x10, 0x08)
If ((M009 ((Local5 & 0xFF00FFFF)) == Local6))
{
Local7 = 0x01
}
}
}
Local1 += 0x08
}
}
}
M460 (" KER-ASL-CpmCheckDeviceResetState (0x%X, %d) Return (%d)\n", Arg0, Arg1, Local7, 0x00, 0x00, 0x00)
Return (Local7)
}
Method (M113, 1, Serialized)
{
If ((Arg0 != 0x00))
{
Local0 = M108 /* \M108 */
Local7 = 0x01
If (Local0)
{
Local0 += 0x10
Local1 = 0x00
Local2 = 0x01
While (((Local2 != 0xFF) && (Local2 != 0x00)))
{
Local2 = M013 ((Local0 + Local1), 0x00, 0x00, 0x08)
If ((Local2 == Arg0))
{
Local2 = 0xFF
Local3 = M013 ((Local0 + Local1), 0x01, 0x00, 0x08)
If ((Local3 == 0x00))
{
Local5 = M013 ((Local0 + Local1), 0x02, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x04, 0x00, 0x08)
Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
}
If ((Local3 == 0x01))
{
Local5 = M013 ((Local0 + Local1), 0x02, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x04, 0x00, 0x08)
Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
Local5 = M013 ((Local0 + Local1), 0x06, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x08, 0x00, 0x08)
Local7 &= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
}
If ((Local3 == 0x02))
{
Local5 = M013 ((Local0 + Local1), 0x02, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x04, 0x00, 0x08)
Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
Local5 = M013 ((Local0 + Local1), 0x06, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x08, 0x00, 0x08)
Local7 &= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
Local5 = M013 ((Local0 + Local1), 0x0A, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x0C, 0x00, 0x08)
Local7 &= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
}
If ((Local3 == 0x03))
{
Local5 = M013 ((Local0 + Local1), 0x02, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x04, 0x00, 0x08)
Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
Local5 = M013 ((Local0 + Local1), 0x06, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x08, 0x00, 0x08)
Local7 |= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
}
If ((Local3 == 0x04))
{
Local5 = M013 ((Local0 + Local1), 0x02, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x04, 0x00, 0x08)
Local7 = (M009 ((Local5 & 0xFF00FFFF)) == Local6)
Local5 = M013 ((Local0 + Local1), 0x06, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x08, 0x00, 0x08)
Local7 |= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
Local5 = M013 ((Local0 + Local1), 0x0A, 0x00, 0x20)
Local6 = M013 ((Local0 + Local1), 0x0C, 0x00, 0x08)
Local7 |= (M009 ((Local5 & 0xFF00FFFF)) == Local6)
}
}
Else
{
Local1 += 0x0E
}
}
}
}
Else
{
Local7 = 0x00
}
If (Local7)
{
Local7 = 0x01
}
Return (Local7)
}
Name (M046, 0xAA)
Name (M047, 0xAA)
Method (M045, 0, Serialized)
{
Local0 = 0x00
If (((M046 == 0xAA) || (M047 == 0xAA)))
{
M046 = 0x00
If (CondRefOf (\_OSI))
{
If (\_OSI ("DisplayMux"))
{
M047 = 0x01
M460 (" KER-ASL-_OSI = This OS can support DisplayMux\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Else
{
M047 = 0x00
M460 (" KER-ASL-_OSI = This OS cannot support DisplayMux\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
If (\_OSI ("Windows 2022"))
{
M046 = 0x0C
M460 (" KER-ASL-_OSI = Windows 11, version 22H2\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf (\_OSI ("Windows 2021"))
{
M046 = 0x0B
M460 (" KER-ASL-_OSI = Windows 11\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf (\_OSI ("Windows 2020"))
{
M046 = 0x0A
M460 (" KER-ASL-_OSI = Windows 10, version 2004\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf (\_OSI ("Windows 2019"))
{
M046 = 0x09
M460 (" KER-ASL-_OSI = Windows 10, version 1903\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf (\_OSI ("Windows 2018.2"))
{
M046 = 0x08
M460 (" KER-ASL-_OSI = Windows 10, version 1809\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf (\_OSI ("Windows 2018"))
{
M046 = 0x07
M460 (" KER-ASL-_OSI = Windows 10, version 1803\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf (\_OSI ("Windows 2017.2"))
{
M046 = 0x06
M460 (" KER-ASL-_OSI = Windows 10, version 1709\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf (\_OSI ("Windows 2017"))
{
M046 = 0x05
M460 (" KER-ASL-_OSI = Windows 10, version 1703\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf (\_OSI ("Windows 2016"))
{
M046 = 0x04
M460 (" KER-ASL-_OSI = Windows 10, version 1607\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf (\_OSI ("Windows 2015"))
{
M046 = 0x03
M460 (" KER-ASL-_OSI = Windows 10\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf (\_OSI ("Windows 2013"))
{
M046 = 0x02
M460 (" KER-ASL-_OSI = Windows 8.1\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf (\_OSI ("Windows 2012"))
{
M046 = 0x01
M460 (" KER-ASL-_OSI = Windows 8, Win Server 2012\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
}
}
If ((M046 >= 0x01))
{
Local0 = 0x01
}
Return (Local0)
}
Method (M22A, 1, Serialized)
{
M460 (" KER-ASL-CpmTriggerSci (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
OperationRegion (VARP, SystemMemory, 0xFED8020C, 0x14)
Field (VARP, DWordAcc, NoLock, Preserve)
{
VA0C, 32,
Offset (0x0C),
VA18, 32,
VA1C, 32
}
Local0 = (0x01 << Arg0)
Local1 = 0x7FFFFFFF
Local1 |= 0x80000000
Local1 ^= Local0
VA0C &= Local1
VA18 = ((VA18 & Local1) | Local0)
VA1C = ((VA1C & Local1) | Local0)
Sleep (0x01)
VA1C &= Local1
VA18 &= Local1
}
Mutex (M230, 0x00)
Method (M232, 3, Serialized)
{
Local0 = Arg0
Local1 = Arg1
Local2 = Arg2
M460 (" KER-ASL-CpmTriggerSmi (0x%X, 0x%X, %d)\n", Arg0, Arg1, Arg2, 0x00, 0x00, 0x00)
Acquire (M230, 0xFFFF)
Local0 = Arg0
OperationRegion (VARM, SystemIO, M231, 0x02)
Field (VARM, ByteAcc, NoLock, Preserve)
{
VAR1, 8,
VAR2, 8
}
VAR2 = Local1
VAR1 = Local0
If ((Local2 > 0x00))
{
Sleep (Local2)
}
Release (M230)
}
Method (M043, 3, Serialized)
{
If (CondRefOf (MOEM))
{
Return (MOEM (Arg0, Arg1, Arg2))
}
Else
{
Return (0x00)
}
}
Method (MLIB, 2, Serialized)
{
Switch (ToInteger (Arg0))
{
Case (0x00)
{
Local0 = DerefOf (Arg1 [0x02])
Switch (ToInteger (Local0))
{
Case (0x03)
{
M228 (0x04)
M228 (0x05)
}
Case (0x04)
{
M228 (0x04)
M228 (0x06)
}
Case (0x05)
{
M228 (0x04)
M228 (0x07)
}
}
}
}
}
Method (M458, 1, NotSerialized)
{
ToInteger (M453, Local0)
If ((Local0 > 0xFFFF))
{
OperationRegion (VARM, SystemMemory, Local0, 0x20)
Field (VARM, ByteAcc, NoLock, Preserve)
{
THRM, 8,
Offset (0x14),
LSRM, 8,
Offset (0x18),
MSRM, 8
}
Local1 = 0x001E8480
While (((Local1 > 0x00) && ((LSRM & 0x60) != 0x60)))
{
Local1 -= 0x01
}
If ((M457 != 0x00))
{
Local2 = 0x001E8480
While (((Local2 > 0x00) && ((MSRM & 0x10) != 0x10)))
{
Local2 -= 0x01
}
}
If ((Local1 != 0x00))
{
THRM = Arg0
Return (0x00)
}
}
ElseIf ((Local0 > 0x00))
{
CreateWordField (M285, 0x02, M288)
OperationRegion (VARN, SystemIO, Local0, 0x08)
Field (VARN, ByteAcc, NoLock, Preserve)
{
THRI, 8,
Offset (0x05),
LSRI, 8
}
Local1 = 0x001E8480
If ((ToInteger (M288) != Local0))
{
While (((Local1 > 0x00) && ((LSRI & 0xE0) != 0x60)))
{
If ((LSRI == 0xFF))
{
M453 = 0x00
Local1 = 0x01
}
Local1 -= 0x01
}
}
If ((Local1 != 0x00))
{
THRI = Arg0
Return (0x00)
}
}
Return (0xFF)
}
Method (M459, 2, NotSerialized)
{
ToInteger (M453, Local0)
If ((Local0 == 0x00))
{
Return (0xFF)
}
ElseIf ((Local0 > 0xFFFF))
{
OperationRegion (VARM, SystemMemory, Local0, 0x20)
Field (VARM, ByteAcc, NoLock, Preserve)
{
DLLM, 8,
Offset (0x04),
DLHM, 8,
Offset (0x08),
FCRM, 8,
Offset (0x0C),
LCRM, 8,
Offset (0x10),
MCRM, 8
}
If (((LCRM & 0x3F) != M455))
{
LCRM = 0x80
DLHM = (M454 >> 0x08)
DLLM = (M454 & 0xFF)
LCRM = M455 /* \M455 */
FCRM = 0x00
FCRM = M456 /* \M456 */
DLHM = 0x00
MCRM = 0x00
}
}
Local0 = SizeOf (Arg0)
ToInteger (Arg1, Local1)
Local2 = 0x00
ToBuffer (Arg0, Local3)
If ((Local0 != 0x00))
{
While (((Local0 > Local1) && (Local2 == 0x00)))
{
Local2 = M458 (DerefOf (Local3 [Local1]))
Local1 += 0x01
}
}
Return (Local2)
}
Method (M460, 7, Serialized)
{
CreateWordField (M285, 0x02, M288)
ToInteger (M453, Local7)
If ((Local7 == 0x00))
{
Return (0xFF)
}
ElseIf ((Local7 > 0xFFFF))
{
OperationRegion (VARM, SystemMemory, Local7, 0x20)
Field (VARM, ByteAcc, NoLock, Preserve)
{
DLLM, 8,
Offset (0x04),
DLHM, 8,
Offset (0x08),
FCRM, 8,
Offset (0x0C),
LCRM, 8,
Offset (0x10),
MCRM, 8
}
If (((LCRM & 0x3F) != M455))
{
LCRM = 0x80
DLHM = (M454 >> 0x08)
DLLM = (M454 & 0xFF)
LCRM = M455 /* \M455 */
FCRM = 0x00
FCRM = M456 /* \M456 */
DLHM = 0x00
MCRM = 0x00
}
}
ElseIf ((ToInteger (M288) == Local7))
{
OperationRegion (VARS, SystemIO, Local7, 0x04)
Field (VARS, DWordAcc, NoLock, Preserve)
{
VART, 32
}
VART = 0x5F535452
}
Local0 = SizeOf (Arg0)
Local1 = 0x00
Local2 = 0x00
Local5 = 0x01
ToBuffer (Arg0, Local3)
If ((Local0 != 0x00))
{
While (((Local0 > Local1) && (Local2 == 0x00)))
{
Local4 = DerefOf (Local3 [Local1])
If (((Local4 == 0x25) && (0x07 > Local5)))
{
If ((Local5 == 0x01))
{
Local6 = Arg1
}
ElseIf ((Local5 == 0x02))
{
Local6 = Arg2
}
ElseIf ((Local5 == 0x03))
{
Local6 = Arg3
}
ElseIf ((Local5 == 0x04))
{
Local6 = Arg4
}
ElseIf ((Local5 == 0x05))
{
Local6 = Arg5
}
ElseIf ((Local5 == 0x06))
{
Local6 = Arg6
}
Local5 += 0x01
Local1 += 0x01
Local4 = DerefOf (Local3 [Local1])
If (((Local4 == 0x58) || (Local4 == 0x78)))
{
Local2 = M459 (ToHexString (Local6), 0x02)
}
ElseIf (((Local4 == 0x44) || (Local4 == 0x64)))
{
Local2 = M459 (ToDecimalString (Local6), 0x00)
}
ElseIf (((Local4 == 0x53) || (Local4 == 0x73)))
{
Local2 = M459 (Local6, 0x00)
}
Else
{
Local2 = M458 (0x25)
Local5 -= 0x01
Local1 -= 0x01
}
}
ElseIf ((Local4 == 0x0A))
{
Local2 = M458 (0x0D)
Local2 = M458 (0x0A)
}
Else
{
Local2 = M458 (Local4)
}
Local1 += 0x01
}
}
If ((ToInteger (M288) == Local7))
{
OperationRegion (VARU, SystemIO, Local7, 0x04)
Field (VARU, DWordAcc, NoLock, Preserve)
{
VARV, 32
}
VARV = 0x5F454E44
}
Return (Local2)
}
Name (M404, Buffer (0x07)
{
0x00, 0x02, 0x06, 0x08, 0x04, 0x0A, 0x0C // .......
})
Method (M405, 5, Serialized)
{
If ((M085 >= 0x04))
{
If ((M085 == 0x08))
{
Local1 = DerefOf (M404 [Arg4])
If (((Arg0 > 0x00) || (Arg1 > 0x00)))
{
Local0 = M249 (Arg0, Arg1, Arg2, 0x02D01E00)
Local0 >>= Local1
Local0 &= 0x03
}
Else
{
Local0 = M011 ((M084 + 0x0E00), (Local1 >> 0x08), (
Local1 & 0x07), 0x02)
}
}
ElseIf ((Arg3 == 0x02))
{
Local0 = M011 ((M084 + 0x1300), (Local1 >> 0x08), (
Local1 & 0x07), 0x02)
}
Else
{
Local0 = M011 ((M084 + 0x0E00), (Local1 >> 0x08), (
Local1 & 0x07), 0x02)
}
}
Else
{
Local0 = M011 ((M084 + 0x0E00), (Arg4 >> 0x01), (
(Arg4 & 0x01) << 0x02), 0x04)
}
M460 (" KER-ASL-CpmReadClkReq (%d, %d, %d, %d, %d) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Arg4, Local0)
Return (Local0)
}
Method (M406, 6, Serialized)
{
M460 (" KER-ASL-CpmWriteClkReq (%d, %d, %d, %d, %d, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, Arg5)
If ((M085 >= 0x04))
{
If ((M085 == 0x08))
{
Local1 = DerefOf (M404 [Arg4])
If (((Arg0 > 0x00) || (Arg1 > 0x00)))
{
Local0 = M249 (Arg0, Arg1, Arg2, 0x02D01E00)
Local0 &= (0xFFFFFFFF ^ (0x03 << Local1))
Local0 |= (Arg5 << Local1)
M250 (Arg0, Arg1, Arg2, 0x02D01E00, Local0)
}
Else
{
M012 ((M084 + 0x0E00), (Local1 >> 0x08), (Local1 & 0x07
), 0x02, Arg5)
}
}
ElseIf ((Arg3 == 0x02))
{
M012 ((M084 + 0x1300), (Local1 >> 0x08), (Local1 & 0x07
), 0x02, Arg5)
}
Else
{
M012 ((M084 + 0x0E00), (Local1 >> 0x08), (Local1 & 0x07
), 0x02, Arg5)
}
}
Else
{
M012 ((M084 + 0x0E00), (Arg4 >> 0x01), ((Arg4 &
0x01) << 0x02), 0x04, Arg5)
}
}
Method (M600, 2, Serialized)
{
Name (TEMP, Package (0x04)
{
0xFF,
0x09,
Zero,
Zero
})
If ((Arg0 == 0x00))
{
TEMP [0x00] = 0x00
}
If ((Arg1 != 0x09))
{
TEMP [0x01] = Arg1
}
Local0 = DerefOf (TEMP [0x00])
Local1 = DerefOf (TEMP [0x01])
Local2 = DerefOf (TEMP [0x02])
Local3 = DerefOf (TEMP [0x03])
M460 (" KER-ASL-CpmGenerateUPC () Return Package (4) {0x%X, 0x%X, 0x%X, 0x%X}\n", Local0, Local1, Local2, Local3, 0x00, 0x00)
Return (TEMP) /* \M600.TEMP */
}
Method (M601, 6, Serialized)
{
Name (TEMP, Package (0x01)
{
Buffer (0x14)
{
/* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // ....
}
})
CreateField (DerefOf (TEMP [0x00]), 0x20, 0x10, WIDH)
CreateField (DerefOf (TEMP [0x00]), 0x30, 0x10, HIGT)
CreateField (DerefOf (TEMP [0x00]), 0x40, 0x01, VISI)
CreateField (DerefOf (TEMP [0x00]), 0x42, 0x01, FLID)
CreateField (DerefOf (TEMP [0x00]), 0x43, 0x03, PANE)
CreateField (DerefOf (TEMP [0x00]), 0x46, 0x02, VTPS)
CreateField (DerefOf (TEMP [0x00]), 0x48, 0x02, HZPS)
CreateField (DerefOf (TEMP [0x00]), 0x4A, 0x04, SHAP)
CreateField (DerefOf (TEMP [0x00]), 0x4F, 0x08, GPTN)
CreateField (DerefOf (TEMP [0x00]), 0x57, 0x08, GPPS)
CreateField (DerefOf (TEMP [0x00]), 0x60, 0x02, EJTB)
CreateField (DerefOf (TEMP [0x00]), 0x73, 0x04, ROTN)
CreateField (DerefOf (TEMP [0x00]), 0x80, 0x20, OFST)
If (((Arg0 == 0x00) || (Arg0 == 0x02)))
{
SHAP = 0x03
WIDH = 0x08
HIGT = 0x0E
}
ElseIf (((Arg0 == 0x01) || (Arg0 == 0x03)))
{
SHAP = 0x01
WIDH = 0x03
HIGT = 0x08
}
ElseIf ((Arg0 == 0x02))
{
SHAP = 0x02
WIDH = 0x08
HIGT = 0x08
FLID = 0x01
}
If (((Arg0 == 0x02) || (Arg0 == 0x03)))
{
ROTN = 0x02
}
VISI = Arg1
GPTN = ((Arg2 >> 0x08) & 0xFF)
GPPS = (Arg2 & 0xFF)
EJTB = Arg3
PANE = (Arg4 & 0x07)
VTPS = ((Arg4 >> 0x04) & 0x03)
HZPS = ((Arg4 >> 0x08) & 0x03)
If ((Arg5 != 0x00))
{
OFST = Arg5
}
CreateDWordField (DerefOf (TEMP [0x00]), 0x00, DW00)
CreateDWordField (DerefOf (TEMP [0x00]), 0x04, DW01)
CreateDWordField (DerefOf (TEMP [0x00]), 0x08, DW02)
CreateDWordField (DerefOf (TEMP [0x00]), 0x0C, DW03)
CreateDWordField (DerefOf (TEMP [0x00]), 0x10, DW04)
M460 (" KER-ASL-CpmGeneratePLD () Return 0x%X, 0x%X, 0x%X, 0x%X, 0x%X\n", DW00, DW01, DW02, DW03, DW04, 0x00)
Return (TEMP) /* \M601.TEMP */
}
Method (M643, 1, Serialized)
{
ToInteger (Arg0, Local0)
Local1 = 0x00
If ((Local0 != 0x00))
{
While (((Local1 < 0x20) && ((Local0 & 0x01) == 0x00)))
{
Local0 >>= 0x01
Local1 += 0x01
}
}
If ((Local1 >= 0x20))
{
Local1 = 0x00
}
Return (Local1)
}
Method (MPTS, 1, NotSerialized)
{
M460 (" KER-ASL-MPTS (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
M000 (0x0DE7)
Local0 = M049 (M128, 0x67)
If (((Local0 & 0x03) == 0x03))
{
If ((M085 >= 0x08))
{
If (CondRefOf (\_SB.PCXX.GPXX.SAXX.TPTS))
{
M460 (" KER-ASL-Call \\_SB.PCXX.GPXX.SAXX.TPTS (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.PCXX.GPXX.SAXX.TPTS (Arg0)
}
If (CondRefOf (\_SB.PCI0.PTBR.PTST.TPTS))
{
M460 (" KER-ASL-Call ZERO_POWR_ODD_SATA_PATH.TPTS (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.PCI0.PTBR.PTST.TPTS (Arg0)
}
}
ElseIf (CondRefOf (\_SB.PCXX.SAXX.TPTS))
{
M460 (" KER-ASL-Call \\_SB.PCXX.SAXX.TPTS (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.PCXX.SAXX.TPTS (Arg0)
}
}
If ((M226 != 0x00))
{
If (CondRefOf (\_SB.M263))
{
M460 (" KER-ASL-Call \\_SB.CpmOtherHotplugCard_PTS (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.M263 (Arg0)
}
}
If ((M331 != 0x00))
{
Local0 = M049 (M331, 0x10)
Local1 = M049 (M331, 0x21)
If (((Local0 != 0x00) && (Local1 != 0x00)))
{
If (CondRefOf (\_SB.IPTS))
{
M460 (" KER-ASL-Call \\_SB.IPTS (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.IPTS (Arg0)
}
}
}
If ((M620 != 0x00))
{
Local0 = M049 (M620, 0x10)
If ((Local0 != 0x00))
{
If (CondRefOf (\_SB.BPTS))
{
M460 (" KER-ASL-Call \\_SB.BPTS (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.BPTS (Arg0)
}
}
}
If ((M4F0 != 0x00))
{
If (CondRefOf (\_GPE.PTS0))
{
M460 (" KER-ASL-Call \\_GPE.PTS0 (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.PTS0 (Arg0)
}
If (CondRefOf (\_GPE.PTS1))
{
M460 (" KER-ASL-Call \\_GPE.PTS1 (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.PTS1 (Arg0)
}
If (CondRefOf (\_GPE.PTS2))
{
M460 (" KER-ASL-Call \\_GPE.PTS2 (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.PTS2 (Arg0)
}
If (CondRefOf (\_GPE.PTS3))
{
M460 (" KER-ASL-Call \\_GPE.PTS3 (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.PTS3 (Arg0)
}
}
If (CondRefOf (\_SB.OPTS))
{
M460 (" KER-ASL-Call \\_SB.OPTS (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.OPTS (Arg0)
}
M000 (0x0DE8)
}
Method (MWAK, 1, NotSerialized)
{
M460 (" KER-ASL-MWAK (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
M000 (0x0DE9)
Local0 = M049 (M128, 0x67)
If (((Local0 & 0x03) == 0x03))
{
If ((M085 >= 0x08))
{
If (CondRefOf (\_SB.PCXX.GPXX.SAXX.TWAK))
{
M460 (" KER-ASL-Call \\_SB.PCXX.GPXX.SAXX.TWAK (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.PCXX.GPXX.SAXX.TWAK (Arg0)
}
If (CondRefOf (\_SB.PCI0.PTBR.PTST.TWAK))
{
M460 (" KER-ASL-Call ZERO_POWR_ODD_SATA_PATH.TWAK (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.PCI0.PTBR.PTST.TWAK (Arg0)
}
}
ElseIf (CondRefOf (\_SB.PCXX.SAXX.TWAK))
{
M460 (" KER-ASL-Call \\_SB.PCXX.SAXX.TWAK (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.PCXX.SAXX.TWAK (Arg0)
}
}
If ((M226 != 0x00))
{
If (CondRefOf (\_SB.M264))
{
M460 (" KER-ASL-Call \\_SB.CpmOtherHotplugCard_WAK (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.M264 (Arg0)
}
}
If ((M280 != 0x00))
{
If (CondRefOf (\_SB.M284))
{
M460 (" KER-ASL-Call \\_SB.CpmLowPowerEthernet_WAK (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.M284 (Arg0)
}
}
If ((M331 != 0x00))
{
Local0 = M049 (M331, 0x10)
Local1 = M049 (M331, 0x21)
If (((Local0 != 0x00) && (Local1 != 0x00)))
{
If (CondRefOf (\_SB.IWAK))
{
M460 (" KER-ASL-Call \\_SB.IWAK (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.IWAK (Arg0)
}
}
}
If ((M620 != 0x00))
{
Local0 = M049 (M620, 0x10)
If ((Local0 != 0x00))
{
If (CondRefOf (\_SB.BWAK))
{
M460 (" KER-ASL-Call \\_SB.BWAK (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.BWAK (Arg0)
}
}
}
If ((M4F0 != 0x00))
{
If (CondRefOf (\_GPE.WAK0))
{
M460 (" KER-ASL-Call \\_GPE.WAK0 (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.WAK0 (Arg0)
}
If (CondRefOf (\_GPE.WAK1))
{
M460 (" KER-ASL-Call \\_GPE.WAK1 (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.WAK1 (Arg0)
}
If (CondRefOf (\_GPE.WAK2))
{
M460 (" KER-ASL-Call \\_GPE.WAK2 (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.WAK2 (Arg0)
}
If (CondRefOf (\_GPE.WAK3))
{
M460 (" KER-ASL-Call \\_GPE.WAK3 (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.WAK3 (Arg0)
}
}
If (CondRefOf (\_SB.OWAK))
{
M460 (" KER-ASL-Call \\_SB.OWAK (%d)\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.OWAK (Arg0)
}
M000 (0x0DEA)
}
Method (M019, 4, Serialized)
{
Return (M017 (Arg0, Arg1, Arg2, Arg3, 0x00, 0x20))
}
Method (M020, 5, Serialized)
{
M018 (Arg0, Arg1, Arg2, Arg3, 0x00, 0x20, Arg4)
}
Method (M021, 4, Serialized)
{
Local0 = (M083 + (Arg0 << 0x14))
Local0 += (Arg1 << 0x0F)
Local0 += (Arg2 << 0x0C)
Local0 += 0xE0
OperationRegion (VARM, SystemMemory, Local0, 0x08)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VAR1, 32
}
BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
{
Offset (0x04),
VAR2, 32
}
Local0 = VAR2 /* \M021.VAR2 */
M460 (" KER-ASL-CpmReadPcieRegister (0x%X, 0x%X, 0x%X, 0x%X) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local0, 0x00)
Return (Local0)
}
Method (M022, 5, Serialized)
{
M460 (" KER-ASL-CpmWritePcieRegister (0x%X, 0x%X, 0x%X, 0x%X, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, 0x00)
Local0 = (M083 + (Arg0 << 0x14))
Local0 += (Arg1 << 0x0F)
Local0 += (Arg2 << 0x0C)
Local0 += 0xE0
OperationRegion (VARM, SystemMemory, Local0, 0x08)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VAR1, 32
}
BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
{
Offset (0x04),
VAR2, 32
}
VAR2 = Arg4
}
Method (M023, 3, Serialized)
{
M018 (Arg0, Arg1, Arg2, 0x70, 0x03, 0x01, 0x00)
M018 (Arg0, Arg1, Arg2, 0x70, 0x13, 0x01, 0x01)
}
Method (M024, 3, Serialized)
{
Local0 = M019 (Arg0, Arg1, Arg2, 0x0128)
If ((Local0 & 0x00020000))
{
Return (Ones)
}
Else
{
Return (Zero)
}
}
Method (M026, 3, Serialized)
{
Local0 = M021 (Arg0, Arg1, Arg2, 0xA2)
Local0 &= 0xFFFFFFFFFFFFFFF8
Local1 = (Local0 >> 0x04)
Local1 &= 0x07
Local0 |= Local1
Local0 |= 0x0100
M022 (Arg0, Arg1, Arg2, 0xA2, Local0)
}
Method (M025, 4, Serialized)
{
M429 (Arg0, Arg1, Arg2, 0x68, 0x05, 0x01, 0x00)
If (Arg3)
{
M429 (Arg0, Arg1, Arg2, 0x88, 0x00, 0x04, Arg3)
}
M429 (Arg0, Arg1, Arg2, 0x68, 0x05, 0x01, 0x01)
Local1 = 0x64
Local2 = 0x01
While ((Local1 && Local2))
{
Sleep (0x01)
Local3 = M430 (Arg0, Arg1, Arg2)
If ((Local3 & 0x0800))
{
Local1--
}
Else
{
Local2 = 0x00
}
}
M429 (Arg0, Arg1, Arg2, 0x68, 0x05, 0x01, 0x00)
If (!Local2)
{
Return (Ones)
}
Else
{
Return (Zero)
}
}
Method (M430, 3, Serialized)
{
Local0 = M017 (Arg0, Arg1, Arg2, 0x68, 0x10, 0x10)
Return (Local0)
}
Method (M017, 6, Serialized)
{
Local0 = M645 (Arg0, Arg1, Arg2)
If ((Local0 == 0x00))
{
Local3 = 0x7FFFFFFF
Local3 |= 0x80000000
Local1 = ((Local3 >> Arg4) & (Local3 >> (0x20 - Arg5)
))
}
Else
{
Local1 = M013 (Local0, Arg3, Arg4, Arg5)
}
Return (Local1)
}
Method (M018, 7, Serialized)
{
Local0 = M645 (Arg0, Arg1, Arg2)
If ((Local0 != 0x00))
{
Local3 = 0x7FFFFFFF
Local3 |= 0x80000000
If ((M013 (Local0, 0x00, 0x00, 0x20) != Local3))
{
M014 (Local0, Arg3, Arg4, Arg5, Arg6)
}
}
}
Method (M428, 6, Serialized)
{
Local0 = M645 (Arg0, Arg1, Arg2)
If ((Local0 == 0x00))
{
Local3 = 0xFF
Local1 = ((Local3 >> Arg4) & (Local3 >> (0x08 - Arg5)
))
}
Else
{
Local1 = M011 (Local0, Arg3, Arg4, Arg5)
}
Return (Local1)
}
Method (M429, 7, Serialized)
{
Local0 = M645 (Arg0, Arg1, Arg2)
If ((Local0 != 0x00))
{
Local3 = 0x7FFFFFFF
Local3 |= 0x80000000
If ((M013 (Local0, 0x00, 0x00, 0x20) != Local3))
{
M012 (Local0, Arg3, Arg4, Arg5, Arg6)
}
}
}
Method (M265, 3, Serialized)
{
Local0 = 0x00
Local1 = M645 (Arg0, Arg1, Arg2)
Local2 = M646 (Local1, 0x10)
If ((Local2 != 0x00))
{
Local3 = M013 (Local1, (Local2 + 0x0C), 0x12, 0x01)
Local4 = M013 (Local1, (Local2 + 0x10), 0x08, 0x01)
If (((Local3 == 0x01) && (Local4 == 0x01)))
{
Local0 = 0x01
}
}
Return (Local0)
}
Method (M033, 3, Serialized)
{
Local0 = 0x00
Local1 = M645 (Arg0, Arg1, Arg2)
Local2 = M646 (Local1, 0x10)
If ((Local2 != 0x00))
{
Local0 = M013 (Local1, (Local2 + 0x0C), 0x0A, 0x02)
}
Return (Local0)
}
Method (M027, 3, Serialized)
{
Local0 = 0x00
Local1 = M645 (Arg0, Arg1, Arg2)
Local2 = M646 (Local1, 0x10)
If ((Local2 != 0x00))
{
Local0 = M013 (Local1, (Local2 + 0x10), 0x00, 0x02)
}
M460 (" KER-ASL-CpmGetPcieAspm (0x%X, 0x%X, 0x%X) = 0x%X\n", Arg0, Arg1, Arg2, Local0, 0x00, 0x00)
Return (Local0)
}
Method (M028, 4, Serialized)
{
M460 (" KER-ASL-CpmSetPcieAspm (0x%X, 0x%X, 0x%X, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, 0x00, 0x00)
Local1 = M645 (Arg0, Arg1, Arg2)
Local2 = M646 (Local1, 0x10)
If ((Local2 != 0x00))
{
M014 (Local1, (Local2 + 0x10), 0x00, 0x02, (Arg3 & 0x03))
}
}
Method (M114, 4, Serialized)
{
Local7 = 0x00
If (!M001 (Arg0, Arg1))
{
Name (M115, Buffer (0x05) {})
CreateWordField (M115, 0x00, M116)
CreateField (M115, 0x10, 0x03, M117)
CreateField (M115, 0x13, 0x05, M118)
CreateByteField (M115, 0x03, M119)
CreateByteField (M115, 0x04, M120)
M116 = 0x05
M119 = 0x00
M118 = Arg0
M117 = Arg1
If ((Arg2 == 0x00))
{
If ((Arg3 != 0x01))
{
M120 = 0x00
\_SB.ALIB (0x06, M115)
}
}
Else
{
If ((Arg3 != 0x01))
{
M120 = 0x01
\_SB.ALIB (0x06, M115)
}
Local0 = M017 (0x00, Arg0, Arg1, 0x19, 0x00, 0x08)
If (((Local0 != 0x00) && (Local0 != 0xFF)))
{
Local1 = M019 (Local0, 0x00, 0x00, 0x00)
Local2 = 0x7FFFFFFF
Local2 |= 0x80000000
If (((Local1 != 0x00) && (Local1 != Local2)))
{
Local7 = 0x01
}
}
}
}
ElseIf ((Arg2 == 0x00))
{
M002 (0x01, Arg1)
}
Else
{
M002 (0x00, Arg1)
Local0 = M017 (0x00, Arg0, Arg1, 0x19, 0x00, 0x08)
If (((Local0 != 0x00) && (Local0 != 0xFF)))
{
Local1 = M019 (Local0, 0x00, 0x00, 0x00)
Local2 = 0x7FFFFFFF
Local2 |= 0x80000000
If (((Local1 != 0x00) && (Local1 != Local2)))
{
Local7 = 0x01
}
}
}
Return (Local7)
}
Method (M248, 1, Serialized)
{
If ((M085 == 0x08))
{
If ((Arg0 == 0x00))
{
Return (M017 (0x00, 0x07, 0x01, 0x19, 0x00, 0x08))
}
Else
{
Return (M017 (0x00, 0x08, 0x01, 0x19, 0x00, 0x08))
}
}
ElseIf ((M085 >= 0x0B))
{
If ((M085 >= 0x0D))
{
Return (M017 (0x00, 0x08, (Arg0 + 0x01), 0x19, 0x00, 0x08))
}
ElseIf ((Arg0 == 0x00))
{
Return (M017 (0x00, 0x07, 0x01, 0x19, 0x00, 0x08))
}
Else
{
Return (M017 (0x00, 0x08, Arg0, 0x19, 0x00, 0x08))
}
}
ElseIf ((M085 >= 0x09))
{
If ((Arg0 == 0x00))
{
Return (M017 (0x00, 0x08, 0x01, 0x19, 0x00, 0x08))
}
Else
{
Return (M017 (0x00, 0x08, 0x02, 0x19, 0x00, 0x08))
}
}
Else
{
Return (0x00)
}
}
Method (M401, 3, Serialized)
{
Local0 = (M430 (Arg0, Arg1, Arg2) & 0x0F)
If (((Local0 == 0x0F) || (Local0 == 0x00)))
{
Return (0xFF)
}
If (((M085 >= 0x0B) && (M085 <= 0x0C)))
{
If ((Arg0 <= 0x03))
{
Local3 = (0x06 - Arg0)
}
Else
{
Local3 = 0x06
}
}
Else
{
Local3 = 0x03
}
Local3 = (0x14001000 + (Local3 << 0x14))
Local0 = (Arg1 & 0x1F)
Local0 = ((Local0 << 0x03) | (Arg2 & 0x07))
Local1 = 0x00
If (((M085 >= 0x09) && (M085 <= 0x0A)))
{
Local2 = 0x09
}
ElseIf (((M085 >= 0x0B) && (M085 <= 0x0C)))
{
Local2 = 0x16
}
ElseIf ((M085 == 0x0D))
{
Local2 = 0x0D
}
ElseIf ((M085 == 0x0E))
{
Local2 = 0x0A
}
ElseIf ((M085 == 0x0F))
{
Local2 = 0x10
}
ElseIf ((M085 == 0x10))
{
Local2 = 0x15
}
ElseIf ((M085 == 0x12))
{
Local2 = 0x14
}
ElseIf ((M085 == 0x13))
{
Local2 = 0x0D
}
ElseIf ((M085 == 0x14))
{
Local2 = 0x12
}
Else
{
Local2 = 0x12
}
Local4 = M249 (0x00, 0x00, 0x00, ((Local1 * 0x04) + Local3
))
While (((Local1 < Local2) && (Local4 != Local0)))
{
Local1++
Local4 = M249 (0x00, 0x00, 0x00, ((Local1 * 0x04) + Local3
))
}
If ((Local1 <= Local2))
{
Return (Local1)
}
Else
{
Return (0xFF)
}
}
Method (M471, 3, Serialized)
{
If (((M085 >= 0x0B) && (M085 <= 0x0C)))
{
If ((Arg0 <= 0x03))
{
Local5 = (0x04 - Arg0)
}
Else
{
Local5 = 0x04
}
}
Else
{
Local5 = (Arg0 + 0x01)
}
ToInteger (Arg1, Local4)
If (((M085 >= 0x0D) && (M085 <= 0x0E)))
{
If ((Local4 >= 0x03))
{
Local4 -= 0x03
Local5 += 0x01
}
}
ElseIf ((M085 == 0x0F))
{
If ((Local4 >= 0x0C))
{
Local4 -= 0x0C
Local5 += 0x03
}
ElseIf ((Local4 == 0x0B))
{
Local4 -= 0x0B
Local5 += 0x02
}
ElseIf ((Local4 >= 0x05))
{
Local4 -= 0x05
Local5 += 0x01
}
}
ElseIf ((M085 == 0x12))
{
If ((Local4 >= 0x10))
{
Local4 -= 0x10
Local5 += 0x03
}
ElseIf ((Local4 >= 0x0C))
{
Local4 -= 0x0C
Local5 += 0x02
}
ElseIf ((Local4 >= 0x06))
{
Local4 -= 0x06
Local5 += 0x01
}
}
ElseIf ((M085 == 0x10))
{
If ((Local4 >= 0x09))
{
Local4 -= 0x09
Local5 += 0x01
}
}
ElseIf ((M085 == 0x13))
{
If ((Local4 >= 0x05))
{
Local4 -= 0x05
Local5 += 0x01
}
}
ElseIf ((M085 == 0x14))
{
If ((Local4 >= 0x09))
{
Local4 -= 0x09
Local5 += 0x03
}
ElseIf ((Local4 >= 0x03))
{
Local4 -= 0x03
Local5 += 0x01
}
}
ElseIf ((Local4 >= 0x08))
{
Local4 -= 0x08
If (((M085 >= 0x0B) && (M085 <= 0x0C)))
{
Local5 += 0x04
}
Else
{
Local5 += 0x01
}
}
Local6 = (0x11000000 + (Local5 << 0x14))
Local6 += (Arg2 << 0x10)
If (((Arg2 == 0x00) || (Arg2 == 0x04)))
{
Local6 += (Local4 << 0x0C)
}
Return (Local6)
}
Method (M402, 3, Serialized)
{
Local4 = M401 (Arg0, Arg1, Arg2)
If ((Local4 != 0xFF))
{
If (((M085 >= 0x08) && (M085 <= 0x0B)))
{
Local7 = (M471 (Arg0, Local4, 0x08) + 0x0188)
Local0 = M249 (0x00, 0x00, 0x00, Local7)
Local0 &= 0xFFFFDFFF
M250 (0x00, 0x00, 0x00, Local7, (Local0 | 0x2000))
}
Local1 = (M019 (0x00, 0x00, 0x00, 0x84) & 0xFF00FCFF)
Local2 = ((Arg1 << 0x13) | (Arg2 << 0x10))
Local1 |= Local2
M020 (0x00, 0x00, 0x00, 0x84, (Local1 | 0x0100))
M020 (0x00, 0x00, 0x00, 0x84, (Local1 | 0x0300))
If ((M085 >= 0x0C))
{
Local3 = M019 (0x00, 0x00, 0x00, 0x84)
Local5 = 0x4EEA
Local6 = M453 /* \M453 */
M453 = 0x00
While (((Local5 > 0x00) && ((Local3 & 0x0400) != 0x0400)))
{
Local5 = (Local5 - 0x01)
Stall (0x63)
If (((Local5 & 0x03FF) == 0x00))
{
M453 = Local6
}
Local3 = M019 (0x00, 0x00, 0x00, 0x84)
If (((Local5 & 0x03FF) == 0x00))
{
M453 = 0x00
}
}
M453 = Local6
}
Local6 = (M471 (Arg0, Local4, 0x04) + 0x0294)
Local3 = M249 (0x00, 0x00, 0x00, Local6)
Local5 = 0x4EEA
Local4 = M453 /* \M453 */
M453 = 0x00
While (((Local5 > 0x00) && ((Local3 & 0x3F) != 0x1F)))
{
Local5 = (Local5 - 0x01)
Stall (0x63)
If (((Local5 & 0x03FF) == 0x00))
{
M453 = Local4
}
Local3 = M249 (0x00, 0x00, 0x00, Local6)
If (((Local5 & 0x03FF) == 0x00))
{
M453 = 0x00
}
}
M453 = Local4
M020 (0x00, 0x00, 0x00, 0x84, (Local1 | 0x0100))
If (((M085 >= 0x08) && (M085 <= 0x0B)))
{
M250 (0x00, 0x00, 0x00, Local7, Local0)
}
}
}
Method (M403, 4, Serialized)
{
Local4 = M401 (Arg0, Arg1, Arg2)
If ((Local4 != 0xFF))
{
Local2 = (M471 (Arg0, Local4, 0x04) + 0x0280)
Local0 = M249 (0x00, 0x00, 0x00, Local2)
Local0 &= 0xFFBFFFFF
Local1 = Arg3
Local0 |= (Local1 << 0x16)
M250 (0x00, 0x00, 0x00, Local2, Local0)
}
}
Method (M472, 4, Serialized)
{
Local4 = M401 (Arg0, Arg1, Arg2)
If ((Local4 != 0xFF))
{
Local7 = (M471 (Arg0, Local4, 0x08) + 0x0428)
If (((M085 >= 0x0D) && (M085 <= 0x0E)))
{
If ((Local4 >= 0x03))
{
Local4 -= 0x03
}
}
ElseIf ((M085 == 0x0F))
{
If ((Local4 >= 0x05))
{
Local4 -= 0x05
}
}
ElseIf ((M085 == 0x12))
{
If ((Local4 >= 0x06))
{
Local4 -= 0x06
}
}
ElseIf ((M085 == 0x13))
{
If ((Local4 >= 0x05))
{
Local4 -= 0x05
}
}
ElseIf ((M085 == 0x10))
{
If ((Local4 >= 0x09))
{
Local4 -= 0x09
}
}
ElseIf ((M085 == 0x14))
{
If ((Local4 >= 0x09))
{
Local4 -= 0x09
}
ElseIf ((Local4 >= 0x03))
{
Local4 -= 0x03
}
}
ElseIf ((Local4 >= 0x08))
{
Local4 -= 0x08
}
Local0 = M249 (0x00, 0x00, 0x00, Local7)
Local1 = (0x01 << Local4)
Local2 = (Arg3 << Local4)
If (((Local0 & Local1) != Local2))
{
Local3 = (Local0 & (0xFFFFFFFF ^ Local1))
M250 (0x00, 0x00, 0x00, Local7, (Local3 | Local2))
Local0 = M249 (0x00, 0x00, 0x00, Local7)
}
}
}
Method (M645, 3, Serialized)
{
Local3 = 0x00
Local0 = M083 /* \M083 */
Local1 = (M083 >> 0x14)
Local2 = (Local1 & 0x0F00)
Local2 += 0x0100
If (((Local1 + Arg0) >= Local2))
{
Return (Local3)
}
Local0 += (Arg0 << 0x14)
Local0 += (Arg1 << 0x0F)
Local0 += (Arg2 << 0x0C)
Return (Local0)
}
Method (M646, 2, Serialized)
{
Local0 = 0x00
Local1 = M049 (Arg0, 0x34)
While ((Local1 != 0x00))
{
Local2 = M049 (Arg0, Local1)
If (((Local2 == 0x00) || (Local2 == 0xFF)))
{
Break
}
If ((Local2 == Arg1))
{
Local0 = Local1
Break
}
Local1 = M049 (Arg0, (Local1 + 0x01))
}
M460 (" FEA-ASL-CpmSearchPcieCapability (0x%X, 0x%X) = 0x%X\n", Arg0, Arg1, Local0, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (M647, 2, Serialized)
{
M460 (" KER-ASL-CpmDumpPcieRegisters (0x%X, 0x%X)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
If ((Arg0 != 0xEEEEEEEE))
{
Local0 = M04B (Arg0, 0x00)
Local1 = 0x7FFFFFFF
Local1 |= 0x80000000
If (((Local0 != 0x00) && (Local0 != Local1)))
{
M644 (Arg0, 0x04, Arg1)
}
}
}
Method (M648, 3, Serialized)
{
Local2 = 0x00
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local0 = 0x00
While ((Local0 <= Arg1))
{
Local1 = 0x00
While ((Local1 <= Arg2))
{
Local3 = (((Arg0 << 0x14) & 0x0FF00000) | ((Local0 <<
0x0F) & 0x000F8000))
Local3 |= ((Local1 << 0x0C) & 0x7000)
Local4 = M04B (M083, Local3)
If (((Local4 != Local5) && (Local4 != 0x00)))
{
Local2 |= (0x01 << Local0)
}
ElseIf ((Local1 == 0x00))
{
Break
}
Local1++
}
Local0++
}
M460 (" KER-ASL-CpmSearchPcieDevice (Bus 0x%X) = Device 0x%X Exist\n", Arg0, Local2, 0x00, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (M649, 1, Serialized)
{
Local0 = 0x00
If ((Arg0 != 0xEEEEEEEE))
{
Local2 = M646 (Arg0, 0x01)
If ((Local2 != 0x00))
{
Local0 = (M04A (Arg0, (Local2 + 0x04)) & 0x7FFF)
Local1 = (Local0 & 0xFFFC)
Local0 = M04A (Arg0, (Local2 + 0x04))
}
}
M460 (" FEA-ASL-CpmGetPCIePowerState (0x%X) = 0x%X\n", Arg0, Local0, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (M650, 2, Serialized)
{
Local0 = 0x00
If ((Arg0 != 0xEEEEEEEE))
{
Local2 = M646 (Arg0, 0x01)
If ((Local2 != 0x00))
{
Local0 = (M04A (Arg0, (Local2 + 0x04)) & 0x7FFF)
Local1 = (Local0 & 0xFFFC)
M04D (Arg0, (Local2 + 0x04), (Local1 | Arg1))
}
}
M460 (" FEA-ASL-CpmSetPCIePowerState (0x%X, 0x%X) = 0x%X\n", Arg0, Arg1, Local0, 0x00, 0x00, 0x00)
Return (Local0)
}
Method (M651, 4, Serialized)
{
Local0 = M04B (Arg0, 0x00)
Local1 = 0x7FFFFFFF
Local1 |= 0x80000000
If ((((Arg1 != 0x00) && (Arg0 != 0xEEEEEEEE)) && (
(Local0 != 0x00) && (Local0 != Local1))))
{
M04E (Arg1, (Arg2 + 0x00), M04B (Arg0, 0x18))
M04E (Arg1, (Arg2 + 0x04), M04B (Arg0, 0x1C))
M04E (Arg1, (Arg2 + 0x08), M04B (Arg0, 0x20))
M04E (Arg1, (Arg2 + 0x0C), M04B (Arg0, 0x24))
M04E (Arg1, (Arg2 + 0x10), M04B (Arg0, 0x28))
M04E (Arg1, (Arg2 + 0x14), M04B (Arg0, 0x2C))
M04D (Arg1, (Arg2 + 0x18), M04A (Arg0, 0x04))
M04C (Arg1, (Arg2 + 0x1A), M049 (Arg0, 0x0C))
M04C (Arg1, (Arg2 + 0x1B), M049 (Arg0, 0x3C))
Local0 = (Arg0 + M646 (Arg0, 0x01))
If ((Local0 != Arg0))
{
M04D (Arg1, (Arg2 + 0x1C), M04A (Local0, 0x04))
}
Else
{
M04D (Arg1, (Arg2 + 0x1C), 0x00)
}
If ((Arg3 == 0x01))
{
Local0 = (Arg0 + M646 (Arg0, 0x15))
If ((Local0 != Arg0))
{
M04E (Arg1, (Arg2 + 0x20), M04B (Local0, 0x08))
M04E (Arg1, (Arg2 + 0x24), M04B (Local0, 0x0C))
M04E (Arg1, (Arg2 + 0x28), M04B (Local0, 0x10))
M04E (Arg1, (Arg2 + 0x2C), M04B (Local0, 0x14))
M04E (Arg1, (Arg2 + 0x30), M04B (Local0, 0x18))
M04E (Arg1, (Arg2 + 0x34), M04B (Local0, 0x1C))
}
Else
{
M04E (Arg1, (Arg2 + 0x20), 0x00)
M04E (Arg1, (Arg2 + 0x24), 0x00)
M04E (Arg1, (Arg2 + 0x28), 0x00)
M04E (Arg1, (Arg2 + 0x2C), 0x00)
M04E (Arg1, (Arg2 + 0x30), 0x00)
M04E (Arg1, (Arg2 + 0x34), 0x00)
}
}
}
Else
{
M04E (Arg1, (Arg2 + 0x00), 0x00)
M04E (Arg1, (Arg2 + 0x04), 0x00)
M04E (Arg1, (Arg2 + 0x08), 0x00)
M04E (Arg1, (Arg2 + 0x0C), 0x00)
M04E (Arg1, (Arg2 + 0x10), 0x00)
M04E (Arg1, (Arg2 + 0x14), 0x00)
M04E (Arg1, (Arg2 + 0x18), 0x00)
M04E (Arg1, (Arg2 + 0x1C), 0x00)
If ((Arg3 == 0x01))
{
M04E (Arg1, (Arg2 + 0x20), 0x00)
M04E (Arg1, (Arg2 + 0x24), 0x00)
M04E (Arg1, (Arg2 + 0x28), 0x00)
M04E (Arg1, (Arg2 + 0x2C), 0x00)
M04E (Arg1, (Arg2 + 0x30), 0x00)
M04D (Arg1, (Arg2 + 0x34), 0x00)
}
}
M460 (" FEA-ASL-CpmSavePcieBridgeData (0x%X, 0x%X, 0x%X, %d)\n", Arg0, Arg1, Arg2, Arg3, 0x00, 0x00)
}
Mutex (M421, 0x00)
Method (M422, 4, Serialized)
{
Local0 = M049 (M128, 0x81)
If ((Local0 == 0x00))
{
Return (0xFFFFFFFF)
}
Local0 = (M083 + (Local0 << 0x14))
Local0 += 0xE0
Acquire (M421, 0xFFFF)
OperationRegion (VARM, SystemMemory, Local0, 0x08)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VAR1, 32
}
BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
{
Offset (0x04),
VAR2, 32
}
Local1 = VAR1 /* \M422.VAR1 */
Local2 = VAR2 /* \M422.VAR2 */
VAR1 = Local1
Release (M421)
M460 (" KER-ASL-CpmReadBxbSmnRegister (%d, %d, %d, 0x%X) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local2, 0x00)
Return (Local2)
}
Method (M423, 5, Serialized)
{
Local0 = M049 (M128, 0x81)
If ((Local0 != 0x00))
{
M460 (" KER-ASL-CpmWriteBxbSmnRegister (%d, %d, %d, 0x%X, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, 0x00)
Local0 = (M083 + (Local0 << 0x14))
Local0 += 0xE0
Acquire (M421, 0xFFFF)
OperationRegion (VARM, SystemMemory, Local0, 0x08)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VAR1, 32
}
BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
{
Offset (0x04),
VAR2, 32
}
Local1 = VAR1 /* \M423.VAR1 */
VAR2 = Arg4
VAR1 = Local1
Release (M421)
}
}
Mutex (M253, 0x00)
Method (M249, 4, Serialized)
{
If ((((Arg0 + Arg1) + Arg2) == 0x00))
{
Local0 = 0x00
}
Else
{
Local0 = M252 (Arg0, Arg1, Arg2)
}
If ((Local0 == 0xFFFFFFFF))
{
Return (0xFFFFFFFF)
}
Local0 = (M083 + (Local0 << 0x14))
Local0 += 0xB8
If (CondRefOf (\_SB.AM00))
{
Acquire (\_SB.AM00, 0xFFFF)
}
Else
{
Acquire (M253, 0xFFFF)
}
OperationRegion (VARM, SystemMemory, Local0, 0x08)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VAR1, 32
}
BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
{
Offset (0x04),
VAR2, 32
}
Local1 = VAR1 /* \M249.VAR1 */
Local2 = VAR2 /* \M249.VAR2 */
VAR1 = Local1
If (CondRefOf (\_SB.AM00))
{
Release (\_SB.AM00)
}
Else
{
Release (M253)
}
M460 (" KER-ASL-CpmReadSmnRegister (%d, %d, %d, 0x%X) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local2, 0x00)
Return (Local2)
}
Method (M250, 5, Serialized)
{
If ((((Arg0 + Arg1) + Arg2) == 0x00))
{
Local0 = 0x00
}
Else
{
Local0 = M252 (Arg0, Arg1, Arg2)
}
If ((Local0 != 0xFFFFFFFF))
{
M460 (" KER-ASL-CpmWriteSmnRegister (%d, %d, %d, 0x%X, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, 0x00)
Local0 = (M083 + (Local0 << 0x14))
Local0 += 0xB8
If (CondRefOf (\_SB.AM00))
{
Acquire (\_SB.AM00, 0xFFFF)
}
Else
{
Acquire (M253, 0xFFFF)
}
OperationRegion (VARM, SystemMemory, Local0, 0x08)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VAR1, 32
}
BankField (VARM, VAR1, Arg3, DWordAcc, NoLock, Preserve)
{
Offset (0x04),
VAR2, 32
}
Local1 = VAR1 /* \M250.VAR1 */
VAR2 = Arg4
VAR1 = Local1
If (CondRefOf (\_SB.AM00))
{
Release (\_SB.AM00)
}
Else
{
Release (M253)
}
}
}
Method (M013, 4, Serialized)
{
Local1 = M04B (Arg0, Arg1)
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = ((Local1 >> Arg2) & (Local5 >> (0x20 - Arg3)
))
M460 (" KER-ASL-CpmReadMem32 (0x%X, 0x%X, %d, %d) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local2, 0x00)
Return (Local2)
}
Method (M014, 5, Serialized)
{
M460 (" KER-ASL-CpmWriteMem32 (0x%X, 0x%X, %d, %d, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, 0x00)
Local1 = M04B (Arg0, Arg1)
Local5 = 0x7FFFFFFF
Local5 |= 0x80000000
Local2 = (Arg2 + Arg3)
Local2 = (0x20 - Local2)
Local2 = (((Local5 << Local2) & Local5) >> Local2)
Local2 = ((Local2 >> Arg2) << Arg2)
Local3 = (Arg4 << Arg2)
Local4 = ((Local1 & (Local5 ^ Local2)) | Local3)
M04E (Arg0, Arg1, Local4)
}
Method (M011, 4, Serialized)
{
Local1 = M049 (Arg0, Arg1)
Local2 = ((Local1 >> Arg2) & (0xFF >> (0x08 - Arg3)
))
M460 (" KER-ASL-CpmReadMem8 (0x%X, 0x%X, %d, %d) = 0x%X\n", Arg0, Arg1, Arg2, Arg3, Local2, 0x00)
Return (Local2)
}
Method (M012, 5, Serialized)
{
M460 (" KER-ASL-CpmWriteMem8 (0x%X, 0x%X, %d, %d, 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, 0x00)
Local1 = M049 (Arg0, Arg1)
Local2 = (Arg2 + Arg3)
Local2 = (0x08 - Local2)
Local2 = (((0xFF << Local2) & 0xFF) >> Local2)
Local2 = ((Local2 >> Arg2) << Arg2)
Local3 = (Arg4 << Arg2)
Local4 = ((Local1 & (0xFF ^ Local2)) | Local3)
M04C (Arg0, Arg1, Local4)
}
Method (M252, 3, Serialized)
{
If ((M085 >= 0x08))
{
Local0 = M251 /* \M251 */
If (Local0)
{
Local0 += 0x10
Local1 = 0x00
Local2 = 0x00
While ((Local2 != 0xFF))
{
Local2 = M011 ((Local0 + Local1), 0x00, 0x00, 0x08)
Local3 = M011 ((Local0 + Local1), 0x01, 0x00, 0x08)
Local4 = M011 ((Local0 + Local1), 0x02, 0x00, 0x08)
Local5 = M011 ((Local0 + Local1), 0x03, 0x00, 0x08)
If (((Local2 == Arg0) && (Local3 == Arg1)))
{
If ((Local4 == Arg2))
{
Return (Local5)
}
}
Local1 += 0x05
}
}
}
Return (0xFFFFFFFF)
}
Method (M624, 1, Serialized)
{
Local0 = 0x00
If ((M251 != 0x00))
{
Local1 = (0x10 + (Arg0 * 0x05))
Local0 = M049 (M251, Local1)
If ((Local0 == 0xFF))
{
Local0 = 0x00
}
}
Return (Local0)
}
Method (M049, 2, Serialized)
{
Local0 = 0x00
If ((Arg0 != 0x00))
{
Local0 = (Arg0 + Arg1)
OperationRegion (VARM, SystemMemory, Local0, 0x01)
Field (VARM, ByteAcc, NoLock, Preserve)
{
VARR, 8
}
Local0 = VARR /* \M049.VARR */
}
Return (Local0)
}
Method (M04A, 2, Serialized)
{
Local0 = 0x00
If ((Arg0 != 0x00))
{
Local0 = (Arg0 + Arg1)
OperationRegion (VARM, SystemMemory, Local0, 0x02)
Field (VARM, WordAcc, NoLock, Preserve)
{
VARR, 16
}
Local0 = VARR /* \M04A.VARR */
}
Return (Local0)
}
Method (M04B, 2, Serialized)
{
Local0 = 0x00
If ((Arg0 != 0x00))
{
Local0 = (Arg0 + Arg1)
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VARR, 32
}
Local0 = VARR /* \M04B.VARR */
}
Return (Local0)
}
Method (M04C, 3, Serialized)
{
If ((Arg0 != 0x00))
{
Local0 = (Arg0 + Arg1)
OperationRegion (VARM, SystemMemory, Local0, 0x01)
Field (VARM, ByteAcc, NoLock, Preserve)
{
VARR, 8
}
VARR = Arg2
}
}
Method (M04D, 3, Serialized)
{
If ((Arg0 != 0x00))
{
Local0 = (Arg0 + Arg1)
OperationRegion (VARM, SystemMemory, Local0, 0x02)
Field (VARM, WordAcc, NoLock, Preserve)
{
VARR, 16
}
VARR = Arg2
}
}
Method (M04E, 3, Serialized)
{
If ((Arg0 != 0x00))
{
Local0 = (Arg0 + Arg1)
OperationRegion (VARM, SystemMemory, Local0, 0x04)
Field (VARM, DWordAcc, NoLock, Preserve)
{
VARR, 32
}
VARR = Arg2
}
}
Method (M644, 3, Serialized)
{
M460 (" FEA-ASL-CpmDumpData (0x%X, 0x%X, 0x%X)\n", Arg0, Arg1, Arg2, 0x00, 0x00, 0x00)
If (((Arg1 != 0x01) && ((Arg1 != 0x02) &&
(Arg1 != 0x04))))
{
M460 (" Arg1: One Data Width is illegal", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf ((Arg2 > 0x1000))
{
M460 (" Arg2: Total Data Size is illegal", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Else
{
Local0 = 0x00
Local1 = Arg0
M460 (" 0x%X:", Local1, 0x00, 0x00, 0x00, 0x00, 0x00)
While ((Local0 < Arg2))
{
If ((Arg1 == 0x01))
{
M460 (" %X", M049 (Arg0, Local0), 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf ((Arg1 == 0x02))
{
M460 (" %X", M04A (Arg0, Local0), 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf ((Arg1 == 0x04))
{
M460 (" %X", M04B (Arg0, Local0), 0x00, 0x00, 0x00, 0x00, 0x00)
}
Local0 += Arg1
Local1 = (Arg0 + Local0)
If (((Local1 & 0x0F) == 0x00))
{
M460 ("\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((Local0 < Arg2))
{
M460 (" 0x%X:", (Local1 & 0xFFFFFFF0), 0x00, 0x00, 0x00, 0x00, 0x00)
}
}
}
}
M460 ("\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (M412, 1, Serialized)
{
Local0 = (Arg0 >> 0x1F)
Local0 &= 0x01
Local1 = (Arg0 >> 0x18)
Local1 &= 0x7F
Local3 = (Arg0 >> 0x04)
Local3 &= 0x03
Local4 = (Arg0 & 0x07)
Local5 = M409 (Local0, Local1, Local3)
Local5 >>= Local4
Local5 &= 0x01
Return (Local5)
}
Method (M4E3, 1, Serialized)
{
Local0 = (Arg0 >> 0x15)
Local0 &= 0x07
Local1 = (Arg0 >> 0x18)
Local1 &= 0x7F
Local3 = (Arg0 >> 0x04)
Local3 &= 0x03
Local4 = (Arg0 & 0x07)
Local5 = M4E1 (Local0, Local1, Local3)
Local5 >>= Local4
Local5 &= 0x01
Return (Local5)
}
Method (M413, 2, Serialized)
{
Local0 = (Arg0 >> 0x1F)
Local0 &= 0x01
Local1 = (Arg0 >> 0x18)
Local1 &= 0x7F
Local2 = (Arg0 >> 0x06)
Local2 &= 0x03
Local3 = (Arg0 >> 0x04)
Local3 &= 0x03
Local4 = (Arg0 & 0x07)
Local5 = M409 (Local0, Local1, (((Local2 + 0x01) * 0x01
) + Local3))
Local6 = Local5
Local5 &= (0xFFFFFFFF ^ (0x01 << Local4))
Local5 |= ((Arg1 & 0x01) << Local4)
If ((Local5 != Local6))
{
M410 (Local0, Local1, (((Local2 + 0x01) * 0x01) + Local3
), Local5)
}
}
Method (M4E4, 2, Serialized)
{
Local0 = (Arg0 >> 0x15)
Local0 &= 0x07
Local1 = (Arg0 >> 0x18)
Local1 &= 0x7F
Local2 = (Arg0 >> 0x06)
Local2 &= 0x03
Local3 = (Arg0 >> 0x04)
Local3 &= 0x03
Local4 = (Arg0 & 0x07)
Local5 = M4E1 (Local0, Local1, (((Local2 + 0x01) * 0x01
) + Local3))
Local6 = Local5
Local5 &= (0xFFFFFFFF ^ (0x01 << Local4))
Local5 |= ((Arg1 & 0x01) << Local4)
If ((Local5 != Local6))
{
M4E2 (Local0, Local1, (((Local2 + 0x01) * 0x01) + Local3
), Local5)
}
}
Method (M43A, 1, Serialized)
{
Local0 = 0x00
Local1 = M04B (M128, 0x33)
Local2 = M04B (M128, 0x72)
If (((Local1 == 0x00) || (Local2 == 0x00)))
{
M460 (" KER-ASL-CpmGetPtGpioMmioAddress (%d) Local1 = 0x%X Local2 = 0x%X ERROR ERROR ERROR\n", Arg0, Local1, Local2, 0x00, 0x00, 0x00)
Return (Local0)
}
Local3 = M011 (Local2, 0x19, 0x00, 0x08)
If (((Local3 == 0x00) || (Local3 == 0xFF)))
{
M460 (" KER-ASL-CpmGetPtGpioMmioAddress (%d) Local3 = 0x%X ERROR ERROR ERROR - 1\n", Arg0, Local3, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Local2 = (Local1 + (Local3 << 0x14))
Local3 = M013 (Local2, 0x08, 0x08, 0x18)
If ((Local3 != 0x00060400))
{
If ((Arg0 >= 0x08))
{
M460 (" KER-ASL-CpmGetPtGpioMmioAddress (%d >= 8) Not PROM21 ERROR ERROR ERROR\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Local3 = 0x02
Local2 += (Local3 << 0x0C)
}
ElseIf ((Arg0 >= 0x18))
{
Local4 = M049 (M128, 0x93)
If ((Local4 == 0x00))
{
M460 (" KER-ASL-CpmGetPtGpioMmioAddress (%d) Local4 = 0x%X ERROR ERROR ERROR\n", Arg0, Local4, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Else
{
Local4 &= 0x1F
}
Local3 = M011 (Local2, 0x19, 0x00, 0x08)
If (((Local3 == 0x00) || (Local3 == 0xFF)))
{
M460 (" KER-ASL-CpmGetPtGpioMmioAddress (%d) Local3 = 0x%X ERROR ERROR ERROR - 2\n", Arg0, Local3, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Local2 = (Local1 + (Local3 << 0x14))
Local2 += (Local4 << 0x0F)
Local3 = M011 (Local2, 0x19, 0x00, 0x08)
If (((Local3 == 0x00) || (Local3 == 0xFF)))
{
M460 (" KER-ASL-CpmGetPtGpioMmioAddress (%d) Local3 = 0x%X ERROR ERROR ERROR - 3\n", Arg0, Local3, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Local2 = (Local1 + (Local3 << 0x14))
}
Local3 = M011 (Local2, 0x04, 0x00, 0x08)
If (((Local3 == 0x00) || (Local3 == 0xFF)))
{
M460 (" KER-ASL-CpmGetPtGpioMmioAddress (%d) Local3 = 0x%X ERROR ERROR ERROR - 4\n", Arg0, Local3, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
If (((Local3 & 0x02) != 0x02))
{
M460 (" KER-ASL-CpmGetPtGpioMmioAddress (%d) Local3 = 0x%X ERROR ERROR ERROR - 5\n", Arg0, Local3, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Local3 = M013 (Local2, 0x40, 0x00, 0x20)
Local3 &= 0xFFFFFFFB
If (((Local3 == 0x00) || (Local3 == 0xFFFFFFFB)))
{
M460 (" KER-ASL-CpmGetPtGpioMmioAddress (%d) Local3 = 0x%X ERROR ERROR ERROR - 6\n", Arg0, Local3, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
Else
{
M460 (" KER-ASL-CpmGetPtGpioMmioAddress (%d) Local3 = 0x%X\n", Arg0, Local3, 0x00, 0x00, 0x00, 0x00)
Return (Local3)
}
}
Method (M440, 1, Serialized)
{
Local0 = M43A (Arg0)
If ((Local0 == 0x00))
{
M460 (" KER-ASL-CpmPtReadGpio (%d) = %d MMIO = 0x%X ERROR ERROR ERROR\n", Arg0, Local0, Local0, 0x00, 0x00, 0x00)
Return (Local0)
}
If ((Arg0 >= 0x18))
{
Local1 = (Arg0 - 0x18)
}
Else
{
Local1 = Arg0
}
Local2 = M013 (Local0, 0x00, Local1, 0x01)
If ((Local2 == 0x01))
{
M014 (Local0, 0x00, Local1, 0x01, 0x00)
}
Local2 = M013 (Local0, 0x04, Local1, 0x01)
M460 (" KER-ASL-CpmPtReadGpio (%d) = %d MMIO = 0x%X\n", Arg0, Local2, Local0, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (M441, 2, Serialized)
{
Local0 = M43A (Arg0)
If ((Local0 == 0x00))
{
M460 (" KER-ASL-CpmPtWriteGpio (%d, %d) MMIO = 0x%X ERROR ERROR ERROR\n", Arg0, Arg1, Local0, 0x00, 0x00, 0x00)
Return (Local0)
}
If ((Arg0 >= 0x18))
{
Local1 = (Arg0 - 0x18)
}
Else
{
Local1 = Arg0
}
Local2 = M013 (Local0, 0x00, Local1, 0x01)
If ((Local2 != 0x01))
{
M014 (Local0, 0x00, Local1, 0x01, 0x01)
}
M014 (Local0, 0x08, Local1, 0x01, Arg1)
M460 (" KER-ASL-CpmPtWriteGpio (%d, %d) MMIO = 0x%X\n", Arg0, Arg1, Local0, 0x00, 0x00, 0x00)
}
Method (M009, 1, Serialized)
{
Local0 = (Arg0 >> 0x08)
Local0 &= 0x07
Local1 = (Arg0 & 0xFF)
Local2 = 0x00
If (((Local0 == 0x00) || (Local0 == 0x01)))
{
If ((M085 >= 0x02))
{
If (((Arg0 & 0xF8000000) == 0x00))
{
If ((Local0 == 0x00))
{
Local2 = M011 ((M084 + 0x1502), (Local1 * 0x04), 0x00,
0x01)
}
Else
{
Local2 = M011 ((M084 + 0x1202), (Local1 * 0x04), 0x00,
0x01)
}
}
Else
{
Local3 = (Arg0 >> 0x1F)
Local3 &= 0x01
Local4 = (Arg0 >> 0x1D)
Local4 &= 0x03
Local5 = (Arg0 >> 0x1B)
Local5 &= 0x03
If ((Local0 == 0x00))
{
Local6 = (0x02D02500 + (Local1 * 0x04))
}
Else
{
Local6 = (0x02D02200 + (Local1 * 0x04))
}
Local2 = M249 (Local3, Local4, Local5, Local6)
Local2 >>= 0x10
Local2 &= 0x01
}
}
Else
{
Local2 = M011 ((M084 + 0x0100), Local1, 0x07, 0x01)
}
}
ElseIf (((Local0 == 0x04) || (Local0 == 0x05)))
{
Local3 = (Arg0 >> 0x1F)
Local3 &= 0x01
Local4 = (Arg0 >> 0x1D)
Local4 &= 0x03
Local5 = (Arg0 >> 0x1B)
Local5 &= 0x03
If ((Local0 == 0x04))
{
Local6 = (0x02D02500 + (Local1 * 0x04))
}
Else
{
Local6 = (0x02D02200 + (Local1 * 0x04))
}
Local2 = M422 (Local3, Local4, Local5, Local6)
Local2 >>= 0x10
Local2 &= 0x01
}
ElseIf ((Local0 == 0x02))
{
If ((M049 (M128, 0x77) == 0x01))
{
Local2 = M038 ((Local1 + 0x08))
}
Else
{
Local2 = 0xFF
}
}
ElseIf ((Local0 == 0x03))
{
Local2 = M440 (Local1)
}
ElseIf ((Local0 == 0x06))
{
Local2 = M412 (Arg0)
}
ElseIf ((Local0 == 0x07))
{
Local2 = M4E3 (Arg0)
}
M460 (" KER-ASL-CpmReadGpio (0x%X) = 0x%X\n", Arg0, Local2, 0x00, 0x00, 0x00, 0x00)
Return (Local2)
}
Method (M010, 2, Serialized)
{
Local0 = (Arg0 >> 0x08)
Local0 &= 0x07
Local1 = (Arg0 & 0xFF)
M460 (" KER-ASL-CpmWriteGpio (0x%X, 0x%X)\n", Arg0, Arg1, 0x00, 0x00, 0x00, 0x00)
If (((Local0 == 0x00) || (Local0 == 0x01)))
{
If ((M085 >= 0x02))
{
If (((Arg0 & 0xF8000000) == 0x00))
{
If ((Local0 == 0x00))
{
M012 ((M084 + 0x1502), (Local1 * 0x04), 0x06, 0x02, (
0x02 | Arg1))
}
Else
{
M012 ((M084 + 0x1202), (Local1 * 0x04), 0x06, 0x02, (
0x02 | Arg1))
}
}
Else
{
Local3 = (Arg0 >> 0x1F)
Local3 &= 0x01
Local4 = (Arg0 >> 0x1D)
Local4 &= 0x03
Local5 = (Arg0 >> 0x1B)
Local5 &= 0x03
If ((Local0 == 0x00))
{
Local6 = (0x02D02500 + (Local1 * 0x04))
}
Else
{
Local6 = (0x02D02200 + (Local1 * 0x04))
}
Local2 = M249 (Local3, Local4, Local5, Local6)
Local2 &= 0xCF3FFFFF
Local2 |= 0x00800000
Local2 |= (Arg1 << 0x16)
M250 (Local3, Local4, Local5, Local6, Local2)
}
}
Else
{
M012 ((M084 + 0x0100), Local1, 0x06, 0x01, Arg1)
M012 ((M084 + 0x0100), Local1, 0x05, 0x01, 0x00)
}
}
ElseIf (((Local0 == 0x04) || (Local0 == 0x05)))
{
Local3 = (Arg0 >> 0x1F)
Local3 &= 0x01
Local4 = (Arg0 >> 0x1D)
Local4 &= 0x03
Local5 = (Arg0 >> 0x1B)
Local5 &= 0x03
If ((Local0 == 0x04))
{
Local6 = (0x02D02500 + (Local1 * 0x04))
}
Else
{
Local6 = (0x02D02200 + (Local1 * 0x04))
}
Local2 = M422 (Local3, Local4, Local5, Local6)
Local2 &= 0xCF3FFFFF
Local2 |= 0x00800000
Local2 |= (Arg1 << 0x16)
M423 (Local3, Local4, Local5, Local6, Local2)
}
ElseIf ((Local0 == 0x02))
{
If ((M049 (M128, 0x77) == 0x01))
{
M039 ((Local1 + 0x08), Arg1)
}
}
ElseIf ((Local0 == 0x03))
{
M441 (Local1, Arg1)
}
ElseIf ((Local0 == 0x06))
{
M413 (Arg0, Arg1)
}
ElseIf ((Local0 == 0x07))
{
M4E4 (Arg0, Arg1)
}
}
Name (M037, Buffer (0x17)
{
/* 0000 */ 0x7E, 0x81, 0x03, 0x16, 0x04, 0x15, 0x0E, 0x05, // ~.......
/* 0008 */ 0x02, 0x20, 0x06, 0x07, 0x10, 0x11, 0x12, 0x18, // . ......
/* 0010 */ 0x17, 0x19, 0x0B, 0x01, 0x0F, 0x0D, 0x09 // .......
})
Name (M227, Buffer (0x18)
{
/* 0000 */ 0x41, 0x42, 0x03, 0x16, 0x04, 0x15, 0x0E, 0x05, // AB......
/* 0008 */ 0x02, 0x44, 0x06, 0x07, 0x10, 0x11, 0x12, 0x18, // .D......
/* 0010 */ 0x17, 0x45, 0x0B, 0x01, 0x0F, 0x0D, 0x09, 0x08 // .E......
})
Name (M329, Buffer (0x18)
{
/* 0000 */ 0x59, 0x5A, 0x03, 0x16, 0x04, 0x15, 0x5B, 0x05, // YZ....[.
/* 0008 */ 0x02, 0x56, 0x06, 0x4C, 0x10, 0x11, 0x12, 0x18, // .V.L....
/* 0010 */ 0x17, 0x81, 0x54, 0x01, 0x28, 0x00, 0x09, 0x08 // ..T.(...
})
Name (M32A, Buffer (0x18)
{
/* 0000 */ 0x59, 0x5A, 0x03, 0x16, 0x04, 0x15, 0x5B, 0x05, // YZ....[.
/* 0008 */ 0x02, 0x56, 0x06, 0x4C, 0x10, 0x11, 0x1D, 0x1E, // .V.L....
/* 0010 */ 0x17, 0x81, 0x54, 0x01, 0x28, 0x00, 0x09, 0x08 // ..T.(...
})
Name (M330, Buffer (0x18)
{
/* 0000 */ 0x59, 0x5A, 0x03, 0x16, 0x04, 0x15, 0x5B, 0x05, // YZ....[.
/* 0008 */ 0x02, 0x56, 0x06, 0x07, 0x10, 0x11, 0x12, 0x18, // .V......
/* 0010 */ 0x17, 0x81, 0x54, 0x01, 0x28, 0x00, 0x09, 0x08 // ..T.(...
})
Name (M32B, Buffer (0x18)
{
/* 0000 */ 0x59, 0x5A, 0x03, 0x16, 0x04, 0x0B, 0x5B, 0x05, // YZ....[.
/* 0008 */ 0x02, 0x1D, 0x06, 0x07, 0x10, 0x11, 0x12, 0x18, // ........
/* 0010 */ 0x17, 0x20, 0x54, 0x01, 0x28, 0x00, 0x09, 0x08 // . T.(...
})
Name (M32C, Buffer (0x18)
{
/* 0000 */ 0x59, 0x5A, 0x03, 0x16, 0x04, 0x15, 0x5B, 0x05, // YZ....[.
/* 0008 */ 0x02, 0x56, 0x06, 0x4C, 0x10, 0x11, 0x1D, 0x1E, // .V.L....
/* 0010 */ 0x17, 0x81, 0x54, 0x01, 0x28, 0x00, 0x09, 0x08 // ..T.(...
})
Method (M029, 1, Serialized)
{
If ((M085 == 0x02))
{
Return (M011 ((M084 + 0x1502), (DerefOf (M037 [Arg0]) *
0x04), 0x00, 0x01))
}
ElseIf ((M085 < 0x02))
{
Return (M011 ((M084 + 0x0160), Arg0, 0x07, 0x01))
}
ElseIf (((M085 > 0x02) && (M085 < 0x08)))
{
Return (M011 ((M084 + 0x1502), (DerefOf (M227 [Arg0]) *
0x04), 0x00, 0x01))
}
ElseIf ((M085 == 0x08))
{
Return (M011 ((M084 + 0x1502), (DerefOf (M329 [Arg0]) *
0x04), 0x00, 0x01))
}
ElseIf (((M085 == 0x09) || (M085 == 0x0A)))
{
Return (M011 ((M084 + 0x1502), (DerefOf (M330 [Arg0]) *
0x04), 0x00, 0x01))
}
ElseIf (((M085 == 0x0B) || (M085 == 0x0C)))
{
Return (M011 ((M084 + 0x1502), (DerefOf (M32A [Arg0]) *
0x04), 0x00, 0x01))
}
ElseIf (((M085 == 0x0D) || (M085 == 0x0E)))
{
Return (M011 ((M084 + 0x1502), (DerefOf (M330 [Arg0]) *
0x04), 0x00, 0x01))
}
ElseIf ((M085 == 0x0F))
{
Return (M011 ((M084 + 0x1502), (DerefOf (M32B [Arg0]) *
0x04), 0x00, 0x01))
}
ElseIf ((M085 == 0x10))
{
Return (M011 ((M084 + 0x1502), (DerefOf (M32B [Arg0]) *
0x04), 0x00, 0x01))
}
ElseIf ((M085 == 0x12))
{
Return (M011 ((M084 + 0x1502), (DerefOf (M32B [Arg0]) *
0x04), 0x00, 0x01))
}
ElseIf ((M085 == 0x13))
{
Return (M011 ((M084 + 0x1502), (DerefOf (M32B [Arg0]) *
0x04), 0x00, 0x01))
}
ElseIf ((M085 == 0x14))
{
Return (M011 ((M084 + 0x1502), (DerefOf (M32C [Arg0]) *
0x04), 0x00, 0x01))
}
}
Method (M031, 1, Serialized)
{
Local0 = M011 ((M084 + 0x0240), Arg0, 0x00, 0x05)
Return (M011 ((M084 + 0x0208), (Local0 / 0x08), (Local0 &
0x07), 0x01))
}
Method (M032, 2, Serialized)
{
Local0 = M011 ((M084 + 0x0240), Arg0, 0x00, 0x05)
M012 ((M084 + 0x0208), (Local0 / 0x08), (Local0 & 0x07
), 0x01, Arg1)
}
Method (M477, 2, Serialized)
{
If ((Arg1 == 0x00))
{
Return (0x00)
}
OperationRegion (VARM, SystemIO, Arg0, 0x09)
Field (VARM, ByteAcc, NoLock, Preserve)
{
Offset (0x08),
SMB8, 8
}
Local0 = Arg1
While ((Local0 > 0x00))
{
SMB8 |= 0x40
If ((Local0 < 0x00FFFFFF))
{
If ((Local0 > 0x05))
{
Local0 = (Local0 - 0x05)
}
Else
{
Local0 = 0x00
}
}
Stall (0x05)
Local1 = SMB8 /* \M477.SMB8 */
If (((Local1 & 0x50) == 0x40))
{
Return (0x00)
}
}
Return (0x01)
}
Method (M478, 1, Serialized)
{
OperationRegion (VARM, SystemIO, Arg0, 0x09)
Field (VARM, ByteAcc, NoLock, Preserve)
{
Offset (0x08),
SMB8, 8
}
SMB8 |= 0x80
}
Method (M479, 2, Serialized)
{
OperationRegion (VARM, SystemIO, Arg0, 0x03)
Field (VARM, ByteAcc, NoLock, Preserve)
{
SMB0, 8,
SMB1, 8,
SMB2, 8
}
Local0 = Arg1
While ((Local0 > 0x00))
{
Local1 = 0x64
Local2 = 0x01
While (((Local1 > 0x00) && ((Local2 & 0x01) != 0x00)))
{
SMB0 = 0x1F
If ((Local0 < 0x00FFFFFF))
{
If ((Local0 > 0x05))
{
Local0 = (Local0 - 0x05)
}
Else
{
Local0 = 0x00
}
}
Local1--
Stall (0x05)
Local2 = SMB0 /* \M479.SMB0 */
}
If (((Local2 & 0x01) != 0x00))
{
SMB2 = 0x02
}
Else
{
Break
}
}
If (((SMB0 & 0x01) != 0x00))
{
Return (0x01)
}
While ((Local0 > 0x00))
{
Local1 = 0x64
Local2 = 0x01
While (((Local1 > 0x00) && ((Local2 & 0x01) != 0x00)))
{
SMB1 = 0x3F
If ((Local0 < 0x00FFFFFF))
{
If ((Local0 > 0x05))
{
Local0 = (Local0 - 0x05)
}
Else
{
Local0 = 0x00
}
}
Local1--
Stall (0x05)
Local2 = SMB1 /* \M479.SMB1 */
}
If (((Local2 & 0x01) != 0x00))
{
SMB1 = 0x02
}
Else
{
Break
}
}
If (((SMB1 & 0x01) != 0x00))
{
Return (0x01)
}
Return (0x00)
}
Mutex (M408, 0x00)
Method (M47A, 6, Serialized)
{
Local0 = Buffer (0x22) {}
CreateByteField (Local0, 0x00, STAT)
CreateByteField (Local0, 0x01, LEN)
CreateByteField (Local0, 0x02, DATB)
CreateWordField (Local0, 0x02, DATW)
CreateField (Local0, 0x10, 0x0100, DTBF)
STAT = 0xFF
LEN = 0x00
DTBF = 0x00
M000 (0x0DE5)
M460 (" KER-ASL-CpmSmbusExecutor (Port%d, isRead %d, Potcl %d, DevAddr 0x%X, Cmd 0x%X)\n", Arg0, Arg1, Arg2, Arg3, Arg4, 0x00)
Local1 = M049 (M128, 0x94)
If ((((Arg0 != 0x00) && (Arg0 != 0x01)) || (
Local1 == 0x01)))
{
STAT = 0x80
M459 (" KER-ASL-CpmSmbusExecutor return 0x80\n", 0x00)
Return (Local0)
}
If (((Arg1 != 0x00) && (Arg1 != 0x01)))
{
STAT = 0x81
M459 (" KER-ASL-CpmSmbusExecutor return 0x81\n", 0x00)
Return (Local0)
}
Name (VALP, Package (0x05)
{
0x00,
0x01,
0x02,
0x03,
0x05
})
If ((Match (VALP, MEQ, Arg2, MTR, 0x00, 0x00) == Ones))
{
STAT = 0x82
M459 (" KER-ASL-CpmSmbusExecutor return 0x82\n", 0x00)
Return (Local0)
}
If (((Arg1 == 0x00) && (Arg2 == 0x05)))
{
Local7 = Arg5
Local2 = DerefOf (Local7 [0x00])
If (((Local2 < 0x01) || (Local2 > 0x20)))
{
STAT = 0x83
M460 (" KER-ASL-CpmSmbusExecutor return 0x83, Length %d\n", Local2, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
}
Acquire (M408, 0xFFFF)
Local4 = (M414 + (Arg0 << 0x05))
If ((Local4 == 0x00))
{
Release (M408)
STAT = 0x84
M460 (" KER-ASL-CpmSmbusExecutor return 0x84, Local4 %d\n", Local4, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (Local0)
}
OperationRegion (VARM, SystemIO, Local4, 0x09)
Field (VARM, ByteAcc, NoLock, Preserve)
{
SMB0, 8,
SMB1, 8,
SMB2, 8,
SMB3, 8,
SMB4, 8,
SMB5, 8,
SMB6, 8,
SMB7, 8,
SMB8, 8
}
Local5 = M011 ((M084 + 0x0300), 0x02, 0x00, 0x08)
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, (Local5 | 0x01))
}
If ((Arg0 == 0x01))
{
Local6 = SMB2 /* \M47A.SMB2 */
SMB2 = (Local6 & 0x7F)
}
If (M477 (Local4, 0x4E20))
{
If ((Arg0 == 0x01))
{
SMB2 = Local6
}
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, Local5)
}
Release (M408)
STAT = 0x85
M459 (" KER-ASL-CpmSmbusExecutor return 0x85\n", 0x00)
Return (Local0)
}
If (M479 (Local4, 0x4E20))
{
If ((Arg0 == 0x01))
{
SMB2 = Local6
}
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, Local5)
}
M478 (Local4)
Release (M408)
STAT = 0x86
M459 (" KER-ASL-CpmSmbusExecutor return 0x86\n", 0x00)
Return (Local0)
}
Local7 = Arg5
Local3 = 0x03
While ((Local3 > 0x00))
{
SMB0 = 0x1F
SMB4 = ((Arg3 << 0x01) | Arg1)
SMB3 = Arg4
SMB2 = (Arg2 << 0x02)
Local1 = SMB2 /* \M47A.SMB2 */
If ((Arg1 == 0x00))
{
If (((Arg2 == 0x01) || (Arg2 == 0x02)))
{
SMB5 = DerefOf (Local7 [0x01])
}
If ((Arg2 == 0x03))
{
SMB6 = DerefOf (Local7 [0x02])
SMB5 = DerefOf (Local7 [0x01])
}
If ((Arg2 == 0x05))
{
Local2 = DerefOf (Local7 [0x00])
SMB5 = Local2
Local1 = 0x01
While ((Local1 <= Local2))
{
SMB7 = DerefOf (Local7 [Local1])
Local1++
}
}
}
ElseIf ((Arg2 == 0x05))
{
Local2 = DerefOf (Local7 [0x00])
SMB5 = Local2
}
SMB2 = ((Arg2 << 0x02) | 0x40)
If ((Arg2 == 0x05))
{
Local1 = 0x1B58
}
Else
{
Local1 = 0x03E8
}
Local2 = 0x01
While (((Local1 > 0x00) && ((Local2 & 0x0E) == 0x00)))
{
If (((Local2 & 0x01) == 0x00))
{
Break
}
Local1--
Stall (0x05)
Local2 = SMB0 /* \M47A.SMB0 */
}
If (((Local1 == 0x00) && ((Local2 & 0x01) != 0x00)))
{
SMB2 = 0x02
If ((Arg0 == 0x01))
{
SMB2 = Local6
}
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, Local5)
}
M478 (Local4)
Release (M408)
STAT = 0x87
M459 (" KER-ASL-CpmSmbusExecutor return 0x87\n", 0x00)
Return (Local0)
}
If (((Local2 & 0x04) != 0x00))
{
Local3 = 0x00
}
ElseIf (((Local2 & 0x08) != 0x00))
{
SMB0 = 0x08
Local3--
}
Else
{
Local3 = 0x00
STAT = 0x00
If ((Arg1 != 0x00))
{
If (((Arg2 == 0x01) || (Arg2 == 0x02)))
{
DATB = SMB5 /* \M47A.SMB5 */
LEN = 0x01
}
If ((Arg2 == 0x03))
{
Local0 [0x03] = SMB6 /* \M47A.SMB6 */
Local0 [0x02] = SMB5 /* \M47A.SMB5 */
LEN = 0x02
}
If ((Arg2 == 0x05))
{
Local2 = SMB2 /* \M47A.SMB2 */
Local2 = SMB5 /* \M47A.SMB5 */
If ((Local2 > 0x20))
{
Local2 = 0x20
}
LEN = Local2
Local1 = 0x02
Local2 += 0x02
While ((Local1 < Local2))
{
Local0 [Local1] = 0xCC
Local0 [Local1] = SMB7 /* \M47A.SMB7 */
Local1++
}
}
}
}
}
Local1 = (SMB0 & 0x1D)
STAT = Local1
SMB0 = 0x1F
If ((Arg0 == 0x01))
{
SMB2 = Local6
}
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, Local5)
}
M478 (Local4)
Release (M408)
M460 (" KER-ASL-CpmSmbusExecutor return St: 0x%X, Len %d, Data: 0x%X, 0x%X, 0x%X, 0x%X ...\n", STAT, LEN, DerefOf (Local0 [0x02]), DerefOf (Local0 [
0x03]), DerefOf (Local0 [0x04]), DerefOf (Local0 [0x05]))
M000 (0x0DE6)
Return (Local0)
}
Method (M47B, 3, Serialized)
{
Local0 = M47A (Arg0, Arg1, 0x00, Arg2, 0x00, 0x00)
Return (DerefOf (Local0 [0x00]))
}
Method (M47C, 4, Serialized)
{
Local0 = Buffer (0x02) {}
CreateByteField (Local0, 0x00, LEN)
CreateByteField (Local0, 0x01, DATB)
LEN = 0x01
DATB = Arg3
Local1 = M47A (Arg0, Arg1, 0x01, Arg2, 0x00, Local0)
Return (Local1)
}
Method (M47D, 5, Serialized)
{
Local0 = Buffer (0x02) {}
CreateByteField (Local0, 0x00, LEN)
CreateByteField (Local0, 0x01, DATB)
LEN = 0x01
DATB = Arg4
Local1 = M47A (Arg0, Arg1, 0x02, Arg2, Arg3, Local0)
Return (Local1)
}
Method (M47E, 5, Serialized)
{
Local0 = Buffer (0x03) {}
CreateByteField (Local0, 0x00, LEN)
CreateByteField (Local0, 0x01, DATL)
CreateByteField (Local0, 0x02, DATH)
LEN = 0x02
DATL = (Arg4 & 0xFF)
DATH = ((Arg4 >> 0x08) & 0xFF)
Local1 = M47A (Arg0, Arg1, 0x03, Arg2, Arg3, Local0)
Return (Local1)
}
Method (M47F, 5, Serialized)
{
Local1 = M47A (Arg0, Arg1, 0x05, Arg2, Arg3, Arg4)
Return (Local1)
}
Method (M409, 3, Serialized)
{
Local0 = M049 (M128, 0x94)
If ((Local0 == 0x01))
{
M460 (" KER-ASL-CpmReadSmbusByte (%d, 0x%X, 0x%X) = 0 Smbus Access Disable\n", Arg0, Arg1, Arg2, 0x00, 0x00, 0x00)
Return (0x00)
}
Acquire (M408, 0xFFFF)
Local0 = (M414 + (Arg0 << 0x05))
OperationRegion (VARM, SystemIO, Local0, 0x09)
Field (VARM, ByteAcc, NoLock, Preserve)
{
SMB0, 8,
SMB1, 8,
SMB2, 8,
SMB3, 8,
SMB4, 8,
SMB5, 8,
SMB6, 8,
SMB7, 8,
SMB8, 8
}
Local5 = M011 ((M084 + 0x0300), 0x02, 0x00, 0x08)
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, (Local5 | 0x01))
}
If ((Arg0 == 0x01))
{
Local6 = SMB2 /* \M409.SMB2 */
SMB2 = (Local6 & 0x7F)
}
Local1 = 0x00
Local2 = 0x64
While (((Local2 > 0x00) && ((Local1 & 0x10) != 0x10)))
{
SMB8 |= 0x10
Local2 = (Local2 - 0x01)
Stall (0x05)
Local1 = SMB8 /* \M409.SMB8 */
}
Local3 = 0x03
While ((Local3 > 0x00))
{
Local1 = 0x01
Local2 = 0x64
While (((Local2 > 0x00) && ((Local1 & 0x01) != 0x00)))
{
SMB0 = 0x1F
Local2 = (Local2 - 0x01)
Stall (0x05)
Local1 = SMB0 /* \M409.SMB0 */
}
If ((Local2 == 0x00))
{
SMB2 = 0x02
Local3 = (Local3 - 0x01)
}
Else
{
Local3 = 0x00
}
}
If (((Local2 == 0x00) && (Local3 == 0x00)))
{
If ((Arg0 == 0x01))
{
SMB2 = Local6
}
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, Local5)
}
Release (M408)
M460 (" KER-ASL-CpmReadSmbusByte (%d, 0x%X, 0x%X) = 0 ERROR 1\n", Arg0, Arg1, Arg2, 0x00, 0x00, 0x00)
Return (0x00)
}
Local3 = 0x03
While ((Local3 > 0x00))
{
Local1 = 0x01
Local2 = 0x64
While (((Local2 > 0x00) && ((Local1 & 0x01) != 0x00)))
{
SMB1 = 0x3F
Local2 = (Local2 - 0x01)
Stall (0x05)
Local1 = SMB1 /* \M409.SMB1 */
}
If ((Local2 == 0x00))
{
SMB1 = 0x02
Local3 = (Local3 - 0x01)
}
Else
{
Local3 = 0x00
}
}
If (((Local2 == 0x00) && (Local3 == 0x00)))
{
If ((Arg0 == 0x01))
{
SMB2 = Local6
}
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, Local5)
}
Release (M408)
M460 (" KER-ASL-CpmReadSmbusByte (%d, 0x%X, 0x%X) = 0 ERROR 2\n", Arg0, Arg1, Arg2, 0x00, 0x00, 0x00)
Return (0x00)
}
Local3 = 0x03
While ((Local3 > 0x00))
{
SMB0 = 0x1F
SMB4 = ((Arg1 << 0x01) | 0x01)
SMB3 = Arg2
SMB2 = 0x08
Local1 = SMB2 /* \M409.SMB2 */
SMB2 = 0x48
Local1 = 0x01
Local4 = 0x03E8
While (((Local4 > 0x00) && ((Local1 & 0x0E) == 0x00)))
{
Local2 = 0x03E8
While (((Local2 > 0x00) && ((Local1 & 0x01) != 0x00)))
{
Local2 = (Local2 - 0x01)
Stall (0x05)
Local1 = SMB0 /* \M409.SMB0 */
}
If ((Local2 == 0x00))
{
SMB2 = 0x02
If ((Arg0 == 0x01))
{
SMB2 = Local6
}
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, Local5)
}
Release (M408)
M460 (" KER-ASL-CpmReadSmbusByte (%d, 0x%X, 0x%X) = 0 ERROR 3\n", Arg0, Arg1, Arg2, 0x00, 0x00, 0x00)
Return (0x00)
}
Local4 = (Local4 - 0x01)
Stall (0x05)
Local1 = SMB0 /* \M409.SMB0 */
}
If (((Local1 & 0x04) != 0x00))
{
Local3 = 0x00
Local4 = 0x00
}
ElseIf (((Local1 & 0x08) != 0x00))
{
SMB0 = 0x08
Local3 = (Local3 - 0x01)
Local4 = 0x00
}
Else
{
Local3 = 0x00
Local4 = SMB5 /* \M409.SMB5 */
}
}
SMB0 = 0x1F
SMB8 |= 0x20
If ((Arg0 == 0x01))
{
SMB2 = Local6
}
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, Local5)
}
Release (M408)
M460 (" KER-ASL-CpmReadSmbusByte (%d, 0x%X, 0x%X) = 0x%X Success\n", Arg0, Arg1, Arg2, Local4, 0x00, 0x00)
Return (Local4)
}
Method (M410, 4, Serialized)
{
Local0 = M049 (M128, 0x94)
If ((Local0 == 0x01))
{
M460 (" KER-ASL-CpmWriteSmbusByte (%d, 0x%X, 0x%X, 0x%X) = 0 Smbus Access Disable\n", Arg0, Arg1, Arg2, Arg3, 0x00, 0x00)
Return (0x00)
}
Acquire (M408, 0xFFFF)
Local0 = (M414 + (Arg0 << 0x05))
OperationRegion (VARM, SystemIO, Local0, 0x09)
Field (VARM, ByteAcc, NoLock, Preserve)
{
SMB0, 8,
SMB1, 8,
SMB2, 8,
SMB3, 8,
SMB4, 8,
SMB5, 8,
SMB6, 8,
SMB7, 8,
SMB8, 8
}
Local5 = M011 ((M084 + 0x0300), 0x02, 0x00, 0x08)
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, (Local5 | 0x01))
}
If ((Arg0 == 0x01))
{
Local6 = SMB2 /* \M410.SMB2 */
SMB2 = (Local6 & 0x7F)
}
Local1 = 0x00
Local2 = 0x64
While (((Local2 > 0x00) && ((Local1 & 0x10) != 0x10)))
{
SMB8 |= 0x10
Local2 = (Local2 - 0x01)
Stall (0x05)
Local1 = SMB8 /* \M410.SMB8 */
}
Local3 = 0x03
While ((Local3 > 0x00))
{
Local1 = 0x01
Local2 = 0x64
While (((Local2 > 0x00) && ((Local1 & 0x01) != 0x00)))
{
SMB0 = 0x1F
Local2 = (Local2 - 0x01)
Stall (0x05)
Local1 = SMB0 /* \M410.SMB0 */
}
If ((Local2 == 0x00))
{
SMB2 = 0x02
Local3 = (Local3 - 0x01)
}
Else
{
Local3 = 0x00
}
}
If (((Local2 == 0x00) && (Local3 == 0x00)))
{
If ((Arg0 == 0x01))
{
SMB2 = Local6
}
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, Local5)
}
Release (M408)
M460 (" KER-ASL-CpmWriteSmbusByte (%d, 0x%X, 0x%X, 0x%X) = 0 ERROR 1\n", Arg0, Arg1, Arg2, Arg3, 0x00, 0x00)
Return (0x00)
}
Local3 = 0x03
While ((Local3 > 0x00))
{
Local1 = 0x01
Local2 = 0x64
While (((Local2 > 0x00) && ((Local1 & 0x01) != 0x00)))
{
SMB1 = 0x3F
Local2 = (Local2 - 0x01)
Stall (0x05)
Local1 = SMB1 /* \M410.SMB1 */
}
If ((Local2 == 0x00))
{
SMB1 = 0x02
Local3 = (Local3 - 0x01)
}
Else
{
Local3 = 0x00
}
}
If (((Local2 == 0x00) && (Local3 == 0x00)))
{
If ((Arg0 == 0x01))
{
SMB2 = Local6
}
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, Local5)
}
Release (M408)
M460 (" KER-ASL-CpmWriteSmbusByte (%d, 0x%X, 0x%X, 0x%X) = 0 ERROR 2\n", Arg0, Arg1, Arg2, Arg3, 0x00, 0x00)
Return (0x00)
}
Local3 = 0x03
While ((Local3 > 0x00))
{
SMB0 = 0x1F
SMB4 = (Arg1 << 0x01)
SMB3 = Arg2
SMB2 = 0x08
Local1 = SMB2 /* \M410.SMB2 */
SMB5 = Arg3
SMB2 = 0x48
Local1 = 0x01
Local4 = 0x03E8
While (((Local4 > 0x00) && ((Local1 & 0x0E) == 0x00)))
{
Local2 = 0x03E8
While (((Local2 > 0x00) && ((Local1 & 0x01) != 0x00)))
{
Local2 = (Local2 - 0x01)
Stall (0x05)
Local1 = SMB0 /* \M410.SMB0 */
}
If ((Local2 == 0x00))
{
SMB2 = 0x02
If ((Arg0 == 0x01))
{
SMB2 = Local6
}
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, Local5)
}
Release (M408)
M460 (" KER-ASL-CpmWriteSmbusByte (%d, 0x%X, 0x%X, 0x%X) = 0 ERROR 3\n", Arg0, Arg1, Arg2, Arg3, 0x00, 0x00)
Return (0x00)
}
Local4 = (Local4 - 0x01)
Stall (0x05)
Local1 = SMB0 /* \M410.SMB0 */
}
If (((Local1 & 0x04) != 0x00))
{
Local3 = 0x00
Local4 = 0x00
}
ElseIf (((Local1 & 0x08) != 0x00))
{
SMB0 = 0x08
Local3 = (Local3 - 0x01)
Local4 = 0x00
}
Else
{
Local3 = 0x00
Local4 = 0x00
}
}
SMB0 = 0x1F
SMB8 |= 0x20
If ((Arg0 == 0x01))
{
SMB2 = Local6
}
If (((Local5 & 0x01) == 0x00))
{
M012 ((M084 + 0x0300), 0x02, 0x00, 0x08, Local5)
}
Release (M408)
M460 (" KER-ASL-CpmWriteSmbusByte (%d, 0x%X, 0x%X, 0x%X) Success\n", Arg0, Arg1, Arg2, Arg3, 0x00, 0x00)
Return (Local4)
}
Method (M4F1, 1, Serialized)
{
M460 (" KER-ASL-CpmCheckExpanderInputEvent (0x%X) Start\n", Arg0, 0x00, 0x00, 0x00, 0x00, 0x00)
Local5 = 0x00
If (((Arg0 >= 0x00) && (Arg0 <= 0x03)))
{
Local0 = M4F0 /* \M4F0 */
If ((Local0 != 0x00))
{
Local0 += 0x10
Local0 += (Arg0 * 0x26)
If ((M049 (Local0, 0x00) == Arg0))
{
Local1 = M049 (Local0, 0x15)
Local2 = M049 (Local0, 0x16)
Local3 = M049 (Local0, 0x1E)
Local4 = M409 (Local1, Local2, 0x00)
M04C (Local0, 0x1E, Local4)
Local4 ^= Local3
Local4 &= M049 (Local0, 0x1C)
Local4 |= M049 (Local0, 0x1D)
If ((M049 (Local0, 0x17) >= 0x01))
{
Local3 = M049 (Local0, 0x25)
Local5 = M409 (Local1, Local2, 0x01)
M04C (Local0, 0x25, Local5)
Local5 ^= Local3
Local5 &= M049 (Local0, 0x23)
Local5 |= M049 (Local0, 0x24)
Local5 <<= 0x08
}
Local5 |= Local4
}
}
}
M460 (" KER-ASL-CpmCheckExpanderInputEvent (0x%X) = 0x%X End\n", Arg0, Local5, 0x00, 0x00, 0x00, 0x00)
Return (Local5)
}
Mutex (M4E5, 0x00)
Name (M4E7, 0x5A)
Name (M4E8, 0x5A)
Name (M4E9, 0x5A)
Name (M4EA, 0x5A5A5A5A)
Name (M4EB, 0x5A5A5A5A)
Name (M4EC, Package (0x07)
{
0x06,
Package (0x05)
{
0x0F,
Package (0x06)
{
"I2C0",
0x91,
0x92,
0x00,
0xFED81E4A,
0xFEDC2000
},
Package (0x06)
{
"I2C1",
0x93,
0x94,
0x00,
0xFED81E4C,
0xFEDC3000
},
Package (0x06)
{
"I2C2",
0x71,
0x72,
0x01,
0xFED81E4E,
0xFEDC4000
},
Package (0x06)
{
"I2C3",
0x13,
0x14,
0x01,
0xFED81E50,
0xFEDC5000
}
},
Package (0x05)
{
0x13,
Package (0x06)
{
"I2C0",
0x91,
0x92,
0x00,
0xFED81E4A,
0xFEDC2000
},
Package (0x06)
{
"I2C1",
0x93,
0x94,
0x00,
0xFED81E4C,
0xFEDC3000
},
Package (0x06)
{
"I2C2",
0x71,
0x72,
0x01,
0xFED81E4E,
0xFEDC4000
},
Package (0x06)
{
"I2C3",
0x13,
0x14,
0x01,
0xFED81E50,
0xFEDC5000
}
},
Package (0x05)
{
0x10,
Package (0x06)
{
"I2C0",
0x91,
0x92,
0x00,
0xFED81E4A,
0xFEDC2000
},
Package (0x06)
{
"I2C1",
0x93,
0x94,
0x00,
0xFED81E4C,
0xFEDC3000
},
Package (0x06)
{
"I2C2",
0x71,
0x72,
0x01,
0xFED81E4E,
0xFEDC4000
},
Package (0x06)
{
"I2C3",
0x13,
0x14,
0x01,
0xFED81E50,
0xFEDC5000
}
},
Package (0x07)
{
0x11,
Package (0x06)
{
"I2C0",
0x91,
0x92,
0x01,
0xFED81E4A,
0xFEDC2000
},
Package (0x06)
{
"I2C1",
0x93,
0x94,
0x01,
0xFED81E4C,
0xFEDC3000
},
Package (0x06)
{
"I2C2",
0x95,
0x96,
0x01,
0xFED81E4E,
0xFEDC4000
},
Package (0x06)
{
"I2C3",
0x97,
0x98,
0x01,
0xFED81E50,
0xFEDC5000
},
Package (0x06)
{
"I2C4",
0x0D,
0x0E,
0x00,
0xFED81E52,
0xFEDC6000
},
Package (0x06)
{
"I2C5",
0x13,
0x14,
0x00,
0xFED81E54,
0xFEDCB000
}
},
Package (0x05)
{
0x12,
Package (0x06)
{
"I2C0",
0x91,
0x92,
0x00,
0xFED81E4A,
0xFEDC2000
},
Package (0x06)
{
"I2C1",
0x93,
0x94,
0x00,
0xFED81E4C,
0xFEDC3000
},
Package (0x06)
{
"I2C2",
0x71,
0x72,
0x01,
0xFED81E4E,
0xFEDC4000
},
Package (0x06)
{
"I2C3",
0x13,
0x14,
0x01,
0xFED81E50,
0xFEDC5000
}
},
Package (0x05)
{
0x14,
Package (0x06)
{
"I2C0",
0x91,
0x92,
0x00,
0xFED81E4A,
0xFEDC2000
},
Package (0x06)
{
"I2C1",
0x93,
0x94,
0x00,
0xFED81E4C,
0xFEDC3000
},
Package (0x06)
{
"I2C2",
0x71,
0x72,
0x01,
0xFED81E4E,
0xFEDC4000
},
Package (0x06)
{
"I2C3",
0x13,
0x14,
0x01,
0xFED81E50,
0xFEDC5000
}
}
})
Method (M4E6, 1, Serialized)
{
Local0 = M085 /* \M085 */
Local1 = DerefOf (M4EC [0x00])
Local2 = 0x01
While ((Local2 <= Local1))
{
Local3 = DerefOf (M4EC [Local2])
Local4 = DerefOf (Local3 [0x00])
If ((Local4 == Local0))
{
Break
}
Local2++
}
If ((Local2 > Local1))
{
Return (0x00)
}
Local2 = 0x01
Local1 = SizeOf (Local3)
Switch (ToInteger (Arg0))
{
Case (0x00)
{
Local0 = "I2C0"
}
Case (0x01)
{
Local0 = "I2C1"
}
Case (0x02)
{
Local0 = "I2C2"
}
Case (0x03)
{
Local0 = "I2C3"
}
Case (0x04)
{
Local0 = "I2C4"
}
Case (0x05)
{
Local0 = "I2C5"
}
}
While ((Local2 <= Local1))
{
Local4 = DerefOf (Local3 [Local2])
Local5 = DerefOf (Local4 [0x00])
If ((Local5 == Local0))
{
Break
}
Local2++
}
If ((Local2 > Local1))
{
Return (0x00)
}
M4E7 = DerefOf (Local4 [0x01])
M4E8 = DerefOf (Local4 [0x02])
M4E9 = DerefOf (Local4 [0x03])
M4EA = DerefOf (Local4 [0x04])
M4EB = DerefOf (Local4 [0x05])
Return (0x01)
}
Method (M4E0, 5, Serialized)
{
Local0 = M4E6 (Arg0)
If ((Local0 == 0x00))
{
Return (0xFF00)
}
Name (RTFF, Buffer (0x0100)
{
0x00 // .
})
Local0 = M4EA /* \M4EA */
Local1 = M4EB /* \M4EB */
OperationRegion (VAR0, SystemMemory, Local0, 0x02)
Field (VAR0, ByteAcc, NoLock, Preserve)
{
ADTD, 2,
ADPS, 1,
ADPD, 1,
ADSO, 1,
ADSC, 1,
ADSR, 1,
ADIS, 1,
ADDS, 3
}
OperationRegion (VAR1, SystemMemory, Local1, 0x0100)
Field (VAR1, DWordAcc, NoLock, Preserve)
{
IC00, 32,
IC04, 32,
Offset (0x10),
IC10, 32,
IC14, 32,
IC18, 32,
IC1C, 32,
IC20, 32,
Offset (0x30),
IC30, 32,
IC34, 32,
IC38, 32,
IC3C, 32,
IC40, 32,
IC44, 32,
IC48, 32,
Offset (0x54),
IC54, 32,
Offset (0x6C),
IC6C, 32,
IC70, 32,
IC74, 32,
IC78, 32,
IC7C, 32,
IC80, 32,
Offset (0x9C),
IC9C, 32,
Offset (0xF4),
ICF4, 32
}
Name (BUFF, Buffer (0x03)
{
0x00, 0x00, 0x00 // ...
})
CreateByteField (BUFF, 0x00, AOAC)
CreateByteField (BUFF, 0x01, ISCL)
CreateByteField (BUFF, 0x02, ISDA)
Acquire (M4E5, 0xFFFF)
Local1 = 0x000186A0
Local0 = 0x00
AOAC = ADTD /* \M4E0.ADTD */
ISCL = M011 (0xFED80D00, M4E7, 0x00, 0x08)
ISDA = M011 (0xFED80D00, M4E8, 0x00, 0x08)
M012 (0xFED80D00, M4E7, 0x00, 0x08, M4E9)
M012 (0xFED80D00, M4E8, 0x00, 0x08, M4E9)
Local2 = AOAC /* \M4E0.AOAC */
If ((Local2 == 0x03))
{
ADTD = 0x00
ADPD = 0x01
Local3 = ADDS /* \M4E0.ADDS */
While ((Local3 != 0x07))
{
Local1--
Stall (0x0A)
Local3 = ADDS /* \M4E0.ADDS */
If ((Local1 == 0x00))
{
Local0 = 0xFF01
Break
}
}
}
If ((Local0 == 0x00))
{
Local2 = IC70 /* \M4E0.IC70 */
While ((0x20 == (Local2 & 0x20)))
{
If ((Local1 == 0x00))
{
M460 (" I2cTimeout for IDE : (0x%X)\n", Local2, 0x00, 0x00, 0x00, 0x00, 0x00)
Local0 = 0xFF02
Break
}
Local2 = IC70 /* \M4E0.IC70 */
Local1--
Stall (0x0A)
}
}
If ((Local0 == 0x00))
{
IC6C = 0x00
Local2 = IC9C /* \M4E0.IC9C */
While ((0x00 != (Local2 & 0x01)))
{
If ((Local1 == 0x00))
{
M460 (" I2cTimeout for fI2cDisable : (0x%X)\n", Local2, 0x00, 0x00, 0x00, 0x00, 0x00)
Local0 = 0xFF03
Break
}
Local2 = IC9C /* \M4E0.IC9C */
Local1--
Stall (0x0A)
}
}
If ((Local0 == 0x00))
{
IC00 = 0x63
IC04 = Arg1
IC14 = 0x0285
IC18 = 0x0357
IC7C = 0x00400040
IC38 = 0x00
IC34 = 0x00
IC30 = 0x00
Local2 = IC40 /* \M4E0.IC40 */
Local2 = IC54 /* \M4E0.IC54 */
}
If ((Local0 == 0x00))
{
IC6C = 0x01
Local2 = IC9C /* \M4E0.IC9C */
While ((0x00 == (Local2 & 0x01)))
{
If ((Local1 == 0x00))
{
M460 (" I2cTimeout for I2cEnable : (0x%X)\n", Local2, 0x00, 0x00, 0x00, 0x00, 0x00)
Local0 = 0xFF04
Break
}
Local2 = IC9C /* \M4E0.IC9C */
Local1--
Stall (0x0A)
}
}
If ((Local0 == 0x00))
{
Local3 = Arg3
Local4 = Arg2
Local5 = 0x00
Local6 = 0x00
Local7 = 0x02
While (((Local3 + Local4) > 0x00))
{
If ((Local1 == 0x00))
{
M460 (" I2cTimeout for TxRx: (0x%X, 0x%X)\n", Local3, Local4, 0x00, 0x00, 0x00, 0x00)
Local0 = 0xFF06
Break
}
Local2 = IC70 /* \M4E0.IC70 */
If (((Local2 & 0x08) != 0x00))
{
Local2 = IC10 /* \M4E0.IC10 */
Local1--
Stall (0x0A)
Continue
}
Local2 = IC74 /* \M4E0.IC74 */
If ((Local2 != 0x00))
{
Local1--
Stall (0x0A)
Continue
}
If ((Local3 > 0x01))
{
IC10 = (ToInteger (DerefOf (Arg4 [Local5])) & 0xFF)
Local3--
Local5++
}
ElseIf (((Local3 == 0x01) && (Local4 != 0x00)))
{
IC10 = (ToInteger (DerefOf (Arg4 [Local5])) & 0xFF)
Local3--
Local5++
}
ElseIf (((Local3 == 0x01) && (Local4 == 0x00)))
{
IC10 = ((ToInteger (DerefOf (Arg4 [Local5])) & 0xFF
) | 0x0200)
Local3--
Local5++
}
ElseIf (((Local3 == 0x00) && (Local4 > 0x01)))
{
IC10 = 0x0100
Local6 = 0x01
Local4--
}
ElseIf (((Local3 == 0x00) && (Local4 == 0x01)))
{
IC10 = 0x0300
Local6 = 0x01
Local4--
}
Local1--
Stall (0x0A)
Local2 = IC34 /* \M4E0.IC34 */
If ((0x00 != (Local2 & 0x40)))
{
Local7 = IC54 /* \M4E0.IC54 */
Local2 = IC80 /* \M4E0.IC80 */
M460 (" I2cTX Abrt Source: (0x%X)\n", Local2, 0x00, 0x00, 0x00, 0x00, 0x00)
Local0 = 0xFF05
Break
}
If ((Local6 != 0x00))
{
Local2 = IC70 /* \M4E0.IC70 */
While (((Local2 & 0x08) != 0x08))
{
Local2 = IC70 /* \M4E0.IC70 */
If ((Local1 == 0x00))
{
M460 (" I2cTimeout for Rx : (0x%X)\n", Local2, 0x00, 0x00, 0x00, 0x00, 0x00)
Local0 = 0xFF07
Break
}
Local1--
Stall (0x0A)
}
}
If ((Local6 != 0x00))
{
Local2 = IC10 /* \M4E0.IC10 */
RTFF [Local7] = Local2
Local1--
Stall (0x14)
Local6 = 0x00
}
}
}
Release (M4E5)
If ((Local0 == 0x00))
{
Local2 = IC70 /* \M4E0.IC70 */
While ((0x20 == (Local2 & 0x20)))
{
If ((Local1 == 0x00))
{
M460 (" I2cTimeout for IDE2 : (0x%X)\n", Local2, 0x00, 0x00, 0x00, 0x00, 0x00)
Local0 = 0xFF08
Break
}
Local2 = IC70 /* \M4E0.IC70 */
Local1--
Stall (0x0A)
}
}
If (((Local0 > 0xFF04) && (Local0 < 0xFF08)))
{
IC6C = 0x00
Local2 = IC9C /* \M4E0.IC9C */
While ((0x00 != (Local2 & 0x01)))
{
If ((Local1 == 0x00))
{
M460 (" I2cTimeout for fI2cDisable : (0x%X)\n", Local2, 0x00, 0x00, 0x00, 0x00, 0x00)
Local0 = 0xFF09
Break
}
Local2 = IC9C /* \M4E0.IC9C */
Local1--
Stall (0x0A)
}
}
Local3 = AOAC /* \M4E0.AOAC */
If ((Local3 == 0x03))
{
ADPD = 0x00
Local2 = ADDS /* \M4E0.ADDS */
While ((Local2 != 0x00))
{
If ((Local1 == 0x00))
{
M460 (" I2cTimeout for AOAC Off : (0x%X)\n", Local2, 0x00, 0x00, 0x00, 0x00, 0x00)
Local0 = 0xFF10
Break
}
Local1--
Stall (0x0A)
Local2 = ADDS /* \M4E0.ADDS */
}
ADTD = 0x03
}
M012 (0xFED80D00, M4E7, 0x00, 0x08, ISCL)
M012 (0xFED80D00, M4E8, 0x00, 0x08, ISDA)
CreateWordField (RTFF, 0x00, STAT)
STAT = Local0
Return (RTFF) /* \M4E0.RTFF */
}
Method (M4E1, 3, Serialized)
{
Name (RTFF, Buffer (0x0100)
{
0x00 // .
})
Name (WRFF, Buffer (0x01)
{
0x00 // .
})
CreateByteField (WRFF, 0x00, WDAT)
WDAT = Arg2
RTFF = M4E0 (Arg0, Arg1, 0x01, 0x01, WRFF)
CreateWordField (RTFF, 0x00, STAT)
CreateByteField (RTFF, 0x02, RDAT)
Local0 = STAT /* \M4E1.STAT */
Local1 = RDAT /* \M4E1.RDAT */
M460 (" Read I2C Byte (0x%X, 0x%X)\n", Local0, Local1, 0x00, 0x00, 0x00, 0x00)
If ((Local0 == 0x00))
{
Return ((RDAT & 0xFF))
}
Return (0x00)
}
Method (M4E2, 4, Serialized)
{
Name (WRFF, Buffer (0x02)
{
0x00, 0x00 // ..
})
CreateByteField (WRFF, 0x00, WDA1)
CreateByteField (WRFF, 0x01, WDA2)
WDA1 = Arg2
WDA2 = (Arg3 & 0xFF)
Local0 = M4E0 (Arg0, Arg1, 0x00, 0x02, WRFF)
CreateWordField (Local0, 0x00, STAT)
Local1 = STAT /* \M4E2.STAT */
M460 (" Write I2C Byte(0x%X)\n", Local1, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Scope (\_SB.GPIO)
{
Method (XINI, 0, NotSerialized)
{
M460 (" KER-ASL-\\_SB.GPIO._INI Start\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If ((M4F0 != 0x00))
{
Local0 = M4F1 (0x00)
Local0 = M4F1 (0x01)
Local0 = M4F1 (0x02)
Local0 = M4F1 (0x03)
}
M460 (" KER-ASL-\\_SB.GPIO._INI End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
}
Scope (\_GPE)
{
Method (SIE0, 0, Serialized)
{
M460 (" KER-ASL-\\_GPE.SIE0 Start\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (\_GPE.BIE0))
{
M460 (" KER-ASL-Callout \\_GPE.BIE0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.BIE0 ()
}
Local0 = M4F1 (0x00)
If (((Local0 & 0x01) == 0x01))
{
If (CondRefOf (\_GPE.SP00))
{
M460 (" KER-ASL-Callout \\_GPE.SP00\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP00 ()
}
}
If (((Local0 & 0x02) == 0x02))
{
If (CondRefOf (\_GPE.SP01))
{
M460 (" KER-ASL-Callout \\_GPE.SP01\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP01 ()
}
}
If (((Local0 & 0x04) == 0x04))
{
If (CondRefOf (\_GPE.SP02))
{
M460 (" KER-ASL-Callout \\_GPE.SP02\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP02 ()
}
}
If (((Local0 & 0x08) == 0x08))
{
If (CondRefOf (\_GPE.SP03))
{
M460 (" KER-ASL-Callout \\_GPE.SP03\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP03 ()
}
}
If (((Local0 & 0x10) == 0x10))
{
If (CondRefOf (\_GPE.SP04))
{
M460 (" KER-ASL-Callout \\_GPE.SP04\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP04 ()
}
}
If (((Local0 & 0x20) == 0x20))
{
If (CondRefOf (\_GPE.SP05))
{
M460 (" KER-ASL-Callout \\_GPE.SP05\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP05 ()
}
}
If (((Local0 & 0x40) == 0x40))
{
If (CondRefOf (\_GPE.SP06))
{
M460 (" KER-ASL-Callout \\_GPE.SP06\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP06 ()
}
}
If (((Local0 & 0x80) == 0x80))
{
If (CondRefOf (\_GPE.SP07))
{
M460 (" KER-ASL-Callout \\_GPE.SP07\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP07 ()
}
}
If (((Local0 & 0x0100) == 0x0100))
{
If (CondRefOf (\_GPE.SP10))
{
M460 (" KER-ASL-Callout \\_GPE.SP10\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP10 ()
}
}
If (((Local0 & 0x0200) == 0x0200))
{
If (CondRefOf (\_GPE.SP11))
{
M460 (" KER-ASL-Callout \\_GPE.SP11\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP11 ()
}
}
If (((Local0 & 0x0400) == 0x0400))
{
If (CondRefOf (\_GPE.SP12))
{
M460 (" KER-ASL-Callout \\_GPE.SP12\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP12 ()
}
}
If (((Local0 & 0x0800) == 0x0800))
{
If (CondRefOf (\_GPE.SP13))
{
M460 (" KER-ASL-Callout \\_GPE.SP13\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP13 ()
}
}
If (((Local0 & 0x1000) == 0x1000))
{
If (CondRefOf (\_GPE.SP14))
{
M460 (" KER-ASL-Callout \\_GPE.SP14\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP14 ()
}
}
If (((Local0 & 0x2000) == 0x2000))
{
If (CondRefOf (\_GPE.SP15))
{
M460 (" KER-ASL-Callout \\_GPE.SP15\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP15 ()
}
}
If (((Local0 & 0x4000) == 0x4000))
{
If (CondRefOf (\_GPE.SP16))
{
M460 (" KER-ASL-Callout \\_GPE.SP16\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP16 ()
}
}
If (((Local0 & 0x8000) == 0x8000))
{
If (CondRefOf (\_GPE.SP17))
{
M460 (" KER-ASL-Callout \\_GPE.SP17\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP17 ()
}
}
If (CondRefOf (\_GPE.AIE0))
{
M460 (" KER-ASL-Callout \\_GPE.AIE0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.AIE0 ()
}
M460 (" KER-ASL-\\_GPE.SIE0 End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (SIE1, 0, Serialized)
{
M460 (" KER-ASL-\\_GPE.SIE1 Start\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (\_GPE.BIE1))
{
M460 (" KER-ASL-Callout \\_GPE.BIE1\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.BIE1 ()
}
Local0 = M4F1 (0x01)
If (((Local0 & 0x01) == 0x01))
{
If (CondRefOf (\_GPE.SP20))
{
M460 (" KER-ASL-Callout \\_GPE.SP20\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP20 ()
}
}
If (((Local0 & 0x02) == 0x02))
{
If (CondRefOf (\_GPE.SP21))
{
M460 (" KER-ASL-Callout \\_GPE.SP21\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP21 ()
}
}
If (((Local0 & 0x04) == 0x04))
{
If (CondRefOf (\_GPE.SP22))
{
M460 (" KER-ASL-Callout \\_GPE.SP22\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP22 ()
}
}
If (((Local0 & 0x08) == 0x08))
{
If (CondRefOf (\_GPE.SP23))
{
M460 (" KER-ASL-Callout \\_GPE.SP23\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP23 ()
}
}
If (((Local0 & 0x10) == 0x10))
{
If (CondRefOf (\_GPE.SP24))
{
M460 (" KER-ASL-Callout \\_GPE.SP24\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP24 ()
}
}
If (((Local0 & 0x20) == 0x20))
{
If (CondRefOf (\_GPE.SP25))
{
M460 (" KER-ASL-Callout \\_GPE.SP25\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP25 ()
}
}
If (((Local0 & 0x40) == 0x40))
{
If (CondRefOf (\_GPE.SP26))
{
M460 (" KER-ASL-Callout \\_GPE.SP26\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP26 ()
}
}
If (((Local0 & 0x80) == 0x80))
{
If (CondRefOf (\_GPE.SP27))
{
M460 (" KER-ASL-Callout \\_GPE.SP27\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP27 ()
}
}
If (((Local0 & 0x0100) == 0x0100))
{
If (CondRefOf (\_GPE.SP30))
{
M460 (" KER-ASL-Callout \\_GPE.SP30\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP30 ()
}
}
If (((Local0 & 0x0200) == 0x0200))
{
If (CondRefOf (\_GPE.SP31))
{
M460 (" KER-ASL-Callout \\_GPE.SP31\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP31 ()
}
}
If (((Local0 & 0x0400) == 0x0400))
{
If (CondRefOf (\_GPE.SP32))
{
M460 (" KER-ASL-Callout \\_GPE.SP32\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP32 ()
}
}
If (((Local0 & 0x0800) == 0x0800))
{
If (CondRefOf (\_GPE.SP33))
{
M460 (" KER-ASL-Callout \\_GPE.SP33\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP33 ()
}
}
If (((Local0 & 0x1000) == 0x1000))
{
If (CondRefOf (\_GPE.SP34))
{
M460 (" KER-ASL-Callout \\_GPE.SP34\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP34 ()
}
}
If (((Local0 & 0x2000) == 0x2000))
{
If (CondRefOf (\_GPE.SP35))
{
M460 (" KER-ASL-Callout \\_GPE.SP35\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP35 ()
}
}
If (((Local0 & 0x4000) == 0x4000))
{
If (CondRefOf (\_GPE.SP36))
{
M460 (" KER-ASL-Callout \\_GPE.SP36\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP36 ()
}
}
If (((Local0 & 0x8000) == 0x8000))
{
If (CondRefOf (\_GPE.SP37))
{
M460 (" KER-ASL-Callout \\_GPE.SP37\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP37 ()
}
}
If (CondRefOf (\_GPE.AIE1))
{
M460 (" KER-ASL-Callout \\_GPE.AIE1\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.AIE1 ()
}
M460 (" KER-ASL-\\_GPE.SIE1 End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (SIE2, 0, Serialized)
{
M460 (" KER-ASL-\\_GPE.SIE2 Start\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (\_GPE.BIE2))
{
M460 (" KER-ASL-Callout \\_GPE.BIE2\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.BIE2 ()
}
Local0 = M4F1 (0x02)
If (((Local0 & 0x01) == 0x01))
{
If (CondRefOf (\_GPE.SP40))
{
M460 (" KER-ASL-Callout \\_GPE.SP40\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP40 ()
}
}
If (((Local0 & 0x02) == 0x02))
{
If (CondRefOf (\_GPE.SP41))
{
M460 (" KER-ASL-Callout \\_GPE.SP41\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP41 ()
}
}
If (((Local0 & 0x04) == 0x04))
{
If (CondRefOf (\_GPE.SP42))
{
M460 (" KER-ASL-Callout \\_GPE.SP42\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP42 ()
}
}
If (((Local0 & 0x08) == 0x08))
{
If (CondRefOf (\_GPE.SP43))
{
M460 (" KER-ASL-Callout \\_GPE.SP43\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP43 ()
}
}
If (((Local0 & 0x10) == 0x10))
{
If (CondRefOf (\_GPE.SP44))
{
M460 (" KER-ASL-Callout \\_GPE.SP44\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP44 ()
}
}
If (((Local0 & 0x20) == 0x20))
{
If (CondRefOf (\_GPE.SP45))
{
M460 (" KER-ASL-Callout \\_GPE.SP45\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP45 ()
}
}
If (((Local0 & 0x40) == 0x40))
{
If (CondRefOf (\_GPE.SP46))
{
M460 (" KER-ASL-Callout \\_GPE.SP46\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP46 ()
}
}
If (((Local0 & 0x80) == 0x80))
{
If (CondRefOf (\_GPE.SP47))
{
M460 (" KER-ASL-Callout \\_GPE.SP47\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP47 ()
}
}
If (((Local0 & 0x0100) == 0x0100))
{
If (CondRefOf (\_GPE.SP50))
{
M460 (" KER-ASL-Callout \\_GPE.SP50\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP50 ()
}
}
If (((Local0 & 0x0200) == 0x0200))
{
If (CondRefOf (\_GPE.SP51))
{
M460 (" KER-ASL-Callout \\_GPE.SP51\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP51 ()
}
}
If (((Local0 & 0x0400) == 0x0400))
{
If (CondRefOf (\_GPE.SP52))
{
M460 (" KER-ASL-Callout \\_GPE.SP52\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP52 ()
}
}
If (((Local0 & 0x0800) == 0x0800))
{
If (CondRefOf (\_GPE.SP53))
{
M460 (" KER-ASL-Callout \\_GPE.SP53\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP53 ()
}
}
If (((Local0 & 0x1000) == 0x1000))
{
If (CondRefOf (\_GPE.SP54))
{
M460 (" KER-ASL-Callout \\_GPE.SP54\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP54 ()
}
}
If (((Local0 & 0x2000) == 0x2000))
{
If (CondRefOf (\_GPE.SP55))
{
M460 (" KER-ASL-Callout \\_GPE.SP55\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP55 ()
}
}
If (((Local0 & 0x4000) == 0x4000))
{
If (CondRefOf (\_GPE.SP56))
{
M460 (" KER-ASL-Callout \\_GPE.SP56\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP56 ()
}
}
If (((Local0 & 0x8000) == 0x8000))
{
If (CondRefOf (\_GPE.SP57))
{
M460 (" KER-ASL-Callout \\_GPE.SP57\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP57 ()
}
}
If (CondRefOf (\_GPE.AIE2))
{
M460 (" KER-ASL-Callout \\_GPE.AIE2\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.AIE2 ()
}
M460 (" KER-ASL-\\_GPE.SIE2 End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Method (SIE3, 0, Serialized)
{
M460 (" KER-ASL-\\_GPE.SIE3 Start\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (\_GPE.BIE3))
{
M460 (" KER-ASL-Callout \\_GPE.BIE3\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.BIE3 ()
}
Local0 = M4F1 (0x03)
If (((Local0 & 0x01) == 0x01))
{
If (CondRefOf (\_GPE.SP60))
{
M460 (" KER-ASL-Callout \\_GPE.SP60\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP60 ()
}
}
If (((Local0 & 0x02) == 0x02))
{
If (CondRefOf (\_GPE.SP61))
{
M460 (" KER-ASL-Callout \\_GPE.SP61\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP61 ()
}
}
If (((Local0 & 0x04) == 0x04))
{
If (CondRefOf (\_GPE.SP62))
{
M460 (" KER-ASL-Callout \\_GPE.SP62\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP62 ()
}
}
If (((Local0 & 0x08) == 0x08))
{
If (CondRefOf (\_GPE.SP63))
{
M460 (" KER-ASL-Callout \\_GPE.SP63\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP63 ()
}
}
If (((Local0 & 0x10) == 0x10))
{
If (CondRefOf (\_GPE.SP64))
{
M460 (" KER-ASL-Callout \\_GPE.SP64\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP64 ()
}
}
If (((Local0 & 0x20) == 0x20))
{
If (CondRefOf (\_GPE.SP65))
{
M460 (" KER-ASL-Callout \\_GPE.SP65\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP65 ()
}
}
If (((Local0 & 0x40) == 0x40))
{
If (CondRefOf (\_GPE.SP66))
{
M460 (" KER-ASL-Callout \\_GPE.SP66\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP66 ()
}
}
If (((Local0 & 0x80) == 0x80))
{
If (CondRefOf (\_GPE.SP67))
{
M460 (" KER-ASL-Callout \\_GPE.SP67\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP67 ()
}
}
If (((Local0 & 0x0100) == 0x0100))
{
If (CondRefOf (\_GPE.SP70))
{
M460 (" KER-ASL-Callout \\_GPE.SP70\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP70 ()
}
}
If (((Local0 & 0x0200) == 0x0200))
{
If (CondRefOf (\_GPE.SP71))
{
M460 (" KER-ASL-Callout \\_GPE.SP71\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP71 ()
}
}
If (((Local0 & 0x0400) == 0x0400))
{
If (CondRefOf (\_GPE.SP72))
{
M460 (" KER-ASL-Callout \\_GPE.SP72\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP72 ()
}
}
If (((Local0 & 0x0800) == 0x0800))
{
If (CondRefOf (\_GPE.SP73))
{
M460 (" KER-ASL-Callout \\_GPE.SP73\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP73 ()
}
}
If (((Local0 & 0x1000) == 0x1000))
{
If (CondRefOf (\_GPE.SP74))
{
M460 (" KER-ASL-Callout \\_GPE.SP74\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP74 ()
}
}
If (((Local0 & 0x2000) == 0x2000))
{
If (CondRefOf (\_GPE.SP75))
{
M460 (" KER-ASL-Callout \\_GPE.SP75\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP75 ()
}
}
If (((Local0 & 0x4000) == 0x4000))
{
If (CondRefOf (\_GPE.SP76))
{
M460 (" KER-ASL-Callout \\_GPE.SP76\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP76 ()
}
}
If (((Local0 & 0x8000) == 0x8000))
{
If (CondRefOf (\_GPE.SP77))
{
M460 (" KER-ASL-Callout \\_GPE.SP77\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.SP77 ()
}
}
If (CondRefOf (\_GPE.AIE3))
{
M460 (" KER-ASL-Callout \\_GPE.AIE3\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
\_GPE.AIE3 ()
}
M460 (" KER-ASL-\\_GPE.SIE3 End\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
Name (M4D2, Buffer (0x08) {})
Method (XL0B, 0, Serialized)
{
Local3 = Buffer (0x08) {}
CreateWordField (Local3, 0x00, M254)
CreateByteField (Local3, 0x02, M255)
CreateDWordField (Local3, 0x03, M256)
M256 = 0x00
M254 = 0x07
M255 = 0x30
If (CondRefOf (\_SB.ALIB))
{
M460 (" KER-ASL-Call \\_SB.ALIB (0x0C, 0x%X)\n", Local3, 0x00, 0x00, 0x00, 0x00, 0x00)
Local4 = \_SB.ALIB (0x0C, Local3)
M4D2 = Local4
CreateDWordField (M4D2, 0x00, M4D0)
CreateDWordField (M4D2, 0x04, M4D1)
ToInteger (M4D0, Local0)
ToInteger (M4D1, Local1)
M460 (" KER-ASL-ALIB Return Data (0x%X, 0x%X)\n", Local0, Local1, 0x00, 0x00, 0x00, 0x00)
If ((Local0 == 0x00))
{
If (CondRefOf (\_SB.APAD))
{
\_SB.APAD.M446 [0x01] = Local1
M460 (" KER-ASL-Notify \\_SB.APAD 0x80\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Notify (\_SB.APAD, 0x80) // Status Change
}
}
ElseIf ((Local0 == 0x01))
{
M460 (" KER-ASL-Notify \\_SB.APAD 0x84\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
}
ElseIf ((Local0 == 0x02))
{
M460 (" KER-ASL-Notify \\_SB.APAD 0x85\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
If (CondRefOf (NFPC))
{
NFPC ()
}
}
}
}
}
Scope (\_SB)
{
Name (MACO, 0x00)
Device (APAD)
{
Name (_HID, "ACPI000C" /* Processor Aggregator Device */) // _HID: Hardware ID
Name (M446, Package (0x02)
{
0x01,
0x00
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (\_OSI ("Processor Aggregator Device"))
{
Local0 = M04A (M128, 0x91)
If (((Local0 & 0x80) == 0x80))
{
M460 (" KER-ASL-\\_SB.APAD._STA = 0xF\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x0F)
}
Else
{
M460 (" KER-ASL-\\_SB.APAD._STA = 0x0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x00)
}
}
Else
{
M460 (" KER-ASL-1-\\_SB.APAD._STA = 0x0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Return (0x00)
}
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
M460 (" KER-ASL-\\_SB.APAD._INI\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
Local0 = M04A (M128, 0x91)
If ((((Local0 & 0xC0) == 0xC0) && ((Local0 &
0xFF00) != 0xFF00)))
{
Local3 = Buffer (0x08) {}
CreateWordField (Local3, 0x00, M254)
CreateByteField (Local3, 0x02, M255)
CreateDWordField (Local3, 0x03, M256)
M256 = (Local0 >> 0x08)
M254 = 0x07
M255 = 0x31
If (CondRefOf (\_SB.ALIB))
{
M460 (" KER-ASL-Call \\_SB.ALIB (0x0C, 0x%X)\n", Local3, 0x00, 0x00, 0x00, 0x00, 0x00)
\_SB.ALIB (0x0C, Local3)
}
}
}
Method (_PUR, 0, NotSerialized) // _PUR: Processor Utilization Request
{
ToInteger (DerefOf (M446 [0x00]), Local0)
ToInteger (DerefOf (M446 [0x01]), Local1)
M460 (" KER-ASL-\\_SB.APAD._PUR Return Package (2) (0x%X, 0x%X) to OSPM\n", Local0, Local1, 0x00, 0x00, 0x00, 0x00)
Return (M446) /* \_SB_.APAD.M446 */
}
}
}
}
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-09 13:08 ` Jason Andryuk
2024-07-12 10:35 ` Jürgen Groß
@ 2024-07-16 14:43 ` Jan Beulich
2024-07-16 14:21 ` Jason Andryuk
2025-01-17 10:40 ` Roger Pau Monné
2 siblings, 1 reply; 22+ messages in thread
From: Jan Beulich @ 2024-07-16 14:43 UTC (permalink / raw)
To: Jason Andryuk
Cc: xen-devel@lists.xenproject.org, Roger Pau Monné,
Jürgen Groß
On 09.07.2024 15:08, Jason Andryuk wrote:
> On 2024-07-09 06:56, Jürgen Groß wrote:
>> On 09.07.24 09:01, Jan Beulich wrote:
>>> On 09.07.2024 08:36, Jürgen Groß wrote:
>>>> On 09.07.24 08:24, Jan Beulich wrote:
>>>>> On 08.07.2024 23:30, Jason Andryuk wrote:
>>>>>> From the backtrace, it looks like the immediate case is just
>>>>>> trying to
>>>>>> read a 4-byte version:
>>>>>>
>>>>>> >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>>>>> >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>>>>> >>>> [ 44.575550] ucsi_register+0x24/0xa0
>>>>>> >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>>>>
>>>>>> int ucsi_register(struct ucsi *ucsi)
>>>>>> {
>>>>>> int ret;
>>>>>>
>>>>>> ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
>>>>>> sizeof(ucsi->version));
>>>>>>
>>>>>> ->read being ucsi_acpi_read()
>>>>>>
>>>>>> However, the driver also appears write to adjacent addresses.
>>>>>
>>>>> There are also corresponding write functions in the driver, yes, but
>>>>> ucsi_acpi_async_write() (used directly or indirectly) similarly calls
>>>>> ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
>>>>> ACPI object evaluation, which isn't obvious without seeing the
>>>>> involved AML whether it might write said memory region.
>>>>
>>>> I guess an ACPI dump would help here?
>>>
>>> Perhaps, yes.
>>
>> It is available in the bug report:
>>
>> https://bugzilla.opensuse.org/show_bug.cgi?id=1227301
>
> After acpixtract & iasl:
>
> $ grep -ir FEEC *
> dsdt.dsl: OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
> ssdt16.dsl: OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
As I look to have only flawed variants of acpixtract to hand, any chance
you could supply me with dsdt.dsl and all ssdt*.dsl that you successfully
extracted / disassembled?
Thanks, Jan
> from the DSDT:
> Scope (\_SB.PCI0.LPC0.EC0)
> {
> OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
> Field (ECMM, AnyAcc, Lock, Preserve)
> {
> TWBT, 2048
> }
>
> Name (BTBF, Buffer (0x0100)
> {
> 0x00 // .
> })
> Method (BTIF, 0, NotSerialized)
> {
> BTBF = TWBT /* \_SB_.PCI0.LPC0.EC0_.TWBT */
> Return (BTBF) /* \_SB_.PCI0.LPC0.EC0_.BTBF */
> }
> }
>
> From SSDT16:
> DefinitionBlock ("", "SSDT", 2, "LENOVO", "UsbCTabl", 0x00000001)
> {
> External (_SB_.PCI0.LPC0.EC0_, DeviceObj)
>
> Scope (\_SB)
> {
> OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
> Field (SUSC, ByteAcc, Lock, Preserve)
> {
>
>
> This embedded controller (?) seems to live at 0xfeec2xxx.
>
> Regards,
> Jason
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-09 10:56 ` Jürgen Groß
2024-07-09 13:08 ` Jason Andryuk
@ 2024-07-16 15:46 ` Jan Beulich
1 sibling, 0 replies; 22+ messages in thread
From: Jan Beulich @ 2024-07-16 15:46 UTC (permalink / raw)
To: Jürgen Groß
Cc: xen-devel@lists.xenproject.org, Roger Pau Monné,
Jason Andryuk
On 09.07.2024 12:56, Jürgen Groß wrote:
> On 09.07.24 09:01, Jan Beulich wrote:
>> On 09.07.2024 08:36, Jürgen Groß wrote:
>>> On 09.07.24 08:24, Jan Beulich wrote:
>>>> On 08.07.2024 23:30, Jason Andryuk wrote:
>>>>> From the backtrace, it looks like the immediate case is just trying to
>>>>> read a 4-byte version:
>>>>>
>>>>> >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
>>>>> >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
>>>>> >>>> [ 44.575550] ucsi_register+0x24/0xa0
>>>>> >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
>>>>>
>>>>> int ucsi_register(struct ucsi *ucsi)
>>>>> {
>>>>> int ret;
>>>>>
>>>>> ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
>>>>> sizeof(ucsi->version));
>>>>>
>>>>> ->read being ucsi_acpi_read()
>>>>>
>>>>> However, the driver also appears write to adjacent addresses.
>>>>
>>>> There are also corresponding write functions in the driver, yes, but
>>>> ucsi_acpi_async_write() (used directly or indirectly) similarly calls
>>>> ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
>>>> ACPI object evaluation, which isn't obvious without seeing the
>>>> involved AML whether it might write said memory region.
>>>
>>> I guess an ACPI dump would help here?
>>
>> Perhaps, yes.
>
> It is available in the bug report:
>
> https://bugzilla.opensuse.org/show_bug.cgi?id=1227301
With
OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
Field (SUSC, ByteAcc, Lock, Preserve)
{
SCMD, 8,
...
and
Method (SECM, 1, Serialized)
{
Local0 = 0x64
While (((\_SB.SCMD != 0x00) && (Local0 != 0x00)))
{
Sleep (0x01)
Local0--
}
\_SB.SCMD = Arg0
...
it is clear that granting read access isn't going to be enough.
From /proc/iomem I also can't see that Linux would have marked as reserved
that region in any way. I'm really uncertain as to whether what Lenovo are
doing here is actually legitimate. If it was, I currently have no good
idea what to do about it.
Jan
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Problems in PV dom0 on recent x86 hardware
2024-07-09 13:08 ` Jason Andryuk
2024-07-12 10:35 ` Jürgen Groß
2024-07-16 14:43 ` Jan Beulich
@ 2025-01-17 10:40 ` Roger Pau Monné
2 siblings, 0 replies; 22+ messages in thread
From: Roger Pau Monné @ 2025-01-17 10:40 UTC (permalink / raw)
To: Jason Andryuk
Cc: Jürgen Groß, Jan Beulich,
xen-devel@lists.xenproject.org
On Tue, Jul 09, 2024 at 09:08:11AM -0400, Jason Andryuk wrote:
> On 2024-07-09 06:56, Jürgen Groß wrote:
> > On 09.07.24 09:01, Jan Beulich wrote:
> > > On 09.07.2024 08:36, Jürgen Groß wrote:
> > > > On 09.07.24 08:24, Jan Beulich wrote:
> > > > > On 08.07.2024 23:30, Jason Andryuk wrote:
> > > > > > From the backtrace, it looks like the immediate case
> > > > > > is just trying to
> > > > > > read a 4-byte version:
> > > > > >
> > > > > > >>>> [ 44.575541] ucsi_acpi_dsm+0x53/0x80
> > > > > > >>>> [ 44.575546] ucsi_acpi_read+0x2e/0x60
> > > > > > >>>> [ 44.575550] ucsi_register+0x24/0xa0
> > > > > > >>>> [ 44.575555] ucsi_acpi_probe+0x162/0x1e3
> > > > > >
> > > > > > int ucsi_register(struct ucsi *ucsi)
> > > > > > {
> > > > > > int ret;
> > > > > >
> > > > > > ret = ucsi->ops->read(ucsi, UCSI_VERSION, &ucsi->version,
> > > > > > sizeof(ucsi->version));
> > > > > >
> > > > > > ->read being ucsi_acpi_read()
> > > > > >
> > > > > > However, the driver also appears write to adjacent addresses.
> > > > >
> > > > > There are also corresponding write functions in the driver, yes, but
> > > > > ucsi_acpi_async_write() (used directly or indirectly) similarly calls
> > > > > ucsi_acpi_dsm(), which wires through to acpi_evaluate_dsm(). That's
> > > > > ACPI object evaluation, which isn't obvious without seeing the
> > > > > involved AML whether it might write said memory region.
> > > >
> > > > I guess an ACPI dump would help here?
> > >
> > > Perhaps, yes.
> >
> > It is available in the bug report:
> >
> > https://bugzilla.opensuse.org/show_bug.cgi?id=1227301
>
> After acpixtract & iasl:
>
> $ grep -ir FEEC *
> dsdt.dsl: OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
> ssdt16.dsl: OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
>
>
> from the DSDT:
> Scope (\_SB.PCI0.LPC0.EC0)
> {
> OperationRegion (ECMM, SystemMemory, 0xFEEC2000, 0x0100)
> Field (ECMM, AnyAcc, Lock, Preserve)
> {
> TWBT, 2048
> }
>
> Name (BTBF, Buffer (0x0100)
> {
> 0x00 // .
> })
> Method (BTIF, 0, NotSerialized)
> {
> BTBF = TWBT /* \_SB_.PCI0.LPC0.EC0_.TWBT */
> Return (BTBF) /* \_SB_.PCI0.LPC0.EC0_.BTBF */
> }
> }
>
> From SSDT16:
> DefinitionBlock ("", "SSDT", 2, "LENOVO", "UsbCTabl", 0x00000001)
> {
> External (_SB_.PCI0.LPC0.EC0_, DeviceObj)
>
> Scope (\_SB)
> {
> OperationRegion (SUSC, SystemMemory, 0xFEEC2100, 0x30)
> Field (SUSC, ByteAcc, Lock, Preserve)
> {
>
>
> This embedded controller (?) seems to live at 0xfeec2xxx.
I've done some further research on this, and my current hypothesis is
that the region defined in 0xfeec2xxx contains at least the UCSI
shared mailbox, used for communication between ACPI and the OSPM.
This is a regular RAM region (iow: not MMIO), that's used to send and
receive UCSI commands with the mediation of ACPI.
The specification that defines the interface can be found at:
https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/bios-implementation-of-ucsi.pdf
If my suspicion is correct, this is a purely software defined
interface, and hence not related to the chipset or the CPU in any way.
I will attempt to contact Lenovo to figure out which of their systems
place the mailbox in the 0xfeecxxxx range, and how we can detect
this.
I think such memory range should likely be defined in the memory map
with type EfiACPIMemoryNVS, so that we know it's presence and can map
it into the guest. Otherwise this won't work with PVH dom0.
Regards, Roger.
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2025-01-17 10:40 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-08 8:15 Problems in PV dom0 on recent x86 hardware Jürgen Groß
2024-07-08 8:32 ` Andrew Cooper
2024-07-08 8:48 ` Jürgen Groß
2024-07-08 8:37 ` Jan Beulich
2024-07-08 9:08 ` Roger Pau Monné
2024-07-08 9:12 ` Jan Beulich
2024-07-08 21:30 ` Jason Andryuk
2024-07-09 6:24 ` Jan Beulich
2024-07-09 6:36 ` Jürgen Groß
2024-07-09 7:01 ` Jan Beulich
2024-07-09 10:56 ` Jürgen Groß
2024-07-09 13:08 ` Jason Andryuk
2024-07-12 10:35 ` Jürgen Groß
2024-07-12 13:46 ` Juergen Gross
2024-07-12 14:00 ` Andrew Cooper
2024-07-12 14:09 ` Jan Beulich
2024-07-16 14:43 ` Jan Beulich
2024-07-16 14:21 ` Jason Andryuk
2025-01-17 10:40 ` Roger Pau Monné
2024-07-16 15:46 ` Jan Beulich
2024-07-09 7:13 ` Roger Pau Monné
2024-07-09 7:35 ` Jan Beulich
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.