| 
									
										
										
										
											2019-08-17 11:40:51 +04:00
										 |  |  | acpi_ss = ss.source_set()
 | 
					
						
							|  |  |  | acpi_ss.add(files(
 | 
					
						
							|  |  |  |   'acpi_interface.c',
 | 
					
						
							|  |  |  |   'aml-build.c',
 | 
					
						
							|  |  |  |   'bios-linker-loader.c',
 | 
					
						
							| 
									
										
										
										
											2021-05-21 16:01:36 +02:00
										 |  |  |   'core.c',
 | 
					
						
							| 
									
										
										
										
											2019-08-17 11:40:51 +04:00
										 |  |  |   'utils.c',
 | 
					
						
							|  |  |  | ))
 | 
					
						
							| 
									
										
										
										
											2021-08-12 12:44:09 +05:30
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_CPU_HOTPLUG', if_true: files('cpu.c', 'cpu_hotplug.c'))
 | 
					
						
							|  |  |  | acpi_ss.add(when: 'CONFIG_ACPI_CPU_HOTPLUG', if_false: files('acpi-cpu-hotplug-stub.c'))
 | 
					
						
							| 
									
										
										
										
											2019-08-17 11:40:51 +04:00
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_MEMORY_HOTPLUG', if_true: files('memory_hotplug.c'))
 | 
					
						
							| 
									
										
										
										
											2021-08-12 12:44:09 +05:30
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_MEMORY_HOTPLUG', if_false: files('acpi-mem-hotplug-stub.c'))
 | 
					
						
							| 
									
										
										
										
											2019-08-17 11:40:51 +04:00
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_NVDIMM', if_true: files('nvdimm.c'))
 | 
					
						
							| 
									
										
										
										
											2021-08-12 12:44:09 +05:30
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_NVDIMM', if_false: files('acpi-nvdimm-stub.c'))
 | 
					
						
							| 
									
										
										
										
											2019-08-17 11:40:51 +04:00
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_PCI', if_true: files('pci.c'))
 | 
					
						
							| 
									
										
											  
											
												acpi/cxl: Add _OSC implementation (9.14.2)
CXL 2.0 specification adds 2 new dwords to the existing _OSC definition
from PCIe. The new dwords are accessed with a new uuid. This
implementation supports what is in the specification.
iasl -d decodes the result of this patch as:
Name (SUPP, Zero)
Name (CTRL, Zero)
Name (SUPC, Zero)
Name (CTRC, Zero)
Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
{
    CreateDWordField (Arg3, Zero, CDW1)
    If (((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */) || (Arg0 == ToUUID ("68f2d50b-c469-4d8a-bd3d-941a103fd3fc") /* Unknown UUID */)))
    {
        CreateDWordField (Arg3, 0x04, CDW2)
        CreateDWordField (Arg3, 0x08, CDW3)
        Local0 = CDW3 /* \_SB_.PC0C._OSC.CDW3 */
        Local0 &= 0x1F
        If ((Arg1 != One))
        {
            CDW1 |= 0x08
        }
        If ((CDW3 != Local0))
        {
            CDW1 |= 0x10
        }
        SUPP = CDW2 /* \_SB_.PC0C._OSC.CDW2 */
        CTRL = CDW3 /* \_SB_.PC0C._OSC.CDW3 */
        CDW3 = Local0
        If ((Arg0 == ToUUID ("68f2d50b-c469-4d8a-bd3d-941a103fd3fc") /* Unknown UUID */))
        {
            CreateDWordField (Arg3, 0x0C, CDW4)
            CreateDWordField (Arg3, 0x10, CDW5)
            SUPC = CDW4 /* \_SB_.PC0C._OSC.CDW4 */
            CTRC = CDW5 /* \_SB_.PC0C._OSC.CDW5 */
            CDW5 |= One
        }
        Return (Arg3)
    }
    Else
    {
        CDW1 |= 0x04
        Return (Arg3)
    }
Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20220429144110.25167-25-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
											
										 
											2022-04-29 15:40:49 +01:00
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_CXL', if_true: files('cxl.c'), if_false: files('cxl-stub.c'))
 | 
					
						
							| 
									
										
										
										
											2019-08-17 11:40:51 +04:00
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_VMGENID', if_true: files('vmgenid.c'))
 | 
					
						
							|  |  |  | acpi_ss.add(when: 'CONFIG_ACPI_HW_REDUCED', if_true: files('generic_event_device.c'))
 | 
					
						
							|  |  |  | acpi_ss.add(when: 'CONFIG_ACPI_HMAT', if_true: files('hmat.c'))
 | 
					
						
							| 
									
										
										
										
											2021-06-03 18:12:57 +01:00
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_APEI', if_true: files('ghes.c'), if_false: files('ghes-stub.c'))
 | 
					
						
							| 
									
										
										
										
											2021-08-12 12:44:09 +05:30
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_PIIX4', if_true: files('piix4.c'))
 | 
					
						
							| 
									
										
										
										
											2023-01-12 15:03:01 +01:00
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_PCI_BRIDGE', if_true: files('pci-bridge.c'))
 | 
					
						
							| 
									
										
										
										
											2021-08-12 12:44:09 +05:30
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_PCIHP', if_true: files('pcihp.c'))
 | 
					
						
							|  |  |  | acpi_ss.add(when: 'CONFIG_ACPI_PCIHP', if_false: files('acpi-pci-hotplug-stub.c'))
 | 
					
						
							| 
									
										
										
										
											2021-10-26 19:20:20 +01:00
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_VIOT', if_true: files('viot.c'))
 | 
					
						
							| 
									
										
										
										
											2022-12-16 14:03:49 +01:00
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_ICH9', if_true: files('ich9.c', 'ich9_tco.c'))
 | 
					
						
							| 
									
										
										
										
											2022-01-28 15:38:04 -05:00
										 |  |  | acpi_ss.add(when: 'CONFIG_ACPI_ERST', if_true: files('erst.c'))
 | 
					
						
							| 
									
										
										
										
											2019-08-17 11:40:51 +04:00
										 |  |  | acpi_ss.add(when: 'CONFIG_IPMI', if_true: files('ipmi.c'), if_false: files('ipmi-stub.c'))
 | 
					
						
							|  |  |  | acpi_ss.add(when: 'CONFIG_PC', if_false: files('acpi-x86-stub.c'))
 | 
					
						
							| 
									
										
										
										
											2021-12-21 12:38:27 +01:00
										 |  |  | if have_tpm
 | 
					
						
							|  |  |  |   acpi_ss.add(files('tpm.c'))
 | 
					
						
							|  |  |  | endif
 | 
					
						
							| 
									
										
										
										
											2022-06-08 09:53:06 -04:00
										 |  |  | softmmu_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', 'aml-build-stub.c', 'ghes-stub.c', 'acpi_interface.c'))
 | 
					
						
							| 
									
										
										
										
											2023-01-12 15:03:01 +01:00
										 |  |  | softmmu_ss.add(when: 'CONFIG_ACPI_PCI_BRIDGE', if_false: files('pci-bridge-stub.c'))
 | 
					
						
							| 
									
										
										
										
											2019-08-17 11:40:51 +04:00
										 |  |  | softmmu_ss.add_all(when: 'CONFIG_ACPI', if_true: acpi_ss)
 | 
					
						
							|  |  |  | softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-stub.c', 'aml-build-stub.c',
 | 
					
						
							| 
									
										
										
										
											2021-08-12 12:44:09 +05:30
										 |  |  |                                                   'acpi-x86-stub.c', 'ipmi-stub.c', 'ghes-stub.c',
 | 
					
						
							|  |  |  |                                                   'acpi-mem-hotplug-stub.c', 'acpi-cpu-hotplug-stub.c',
 | 
					
						
							| 
									
										
											  
											
												acpi/cxl: Add _OSC implementation (9.14.2)
CXL 2.0 specification adds 2 new dwords to the existing _OSC definition
from PCIe. The new dwords are accessed with a new uuid. This
implementation supports what is in the specification.
iasl -d decodes the result of this patch as:
Name (SUPP, Zero)
Name (CTRL, Zero)
Name (SUPC, Zero)
Name (CTRC, Zero)
Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
{
    CreateDWordField (Arg3, Zero, CDW1)
    If (((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */) || (Arg0 == ToUUID ("68f2d50b-c469-4d8a-bd3d-941a103fd3fc") /* Unknown UUID */)))
    {
        CreateDWordField (Arg3, 0x04, CDW2)
        CreateDWordField (Arg3, 0x08, CDW3)
        Local0 = CDW3 /* \_SB_.PC0C._OSC.CDW3 */
        Local0 &= 0x1F
        If ((Arg1 != One))
        {
            CDW1 |= 0x08
        }
        If ((CDW3 != Local0))
        {
            CDW1 |= 0x10
        }
        SUPP = CDW2 /* \_SB_.PC0C._OSC.CDW2 */
        CTRL = CDW3 /* \_SB_.PC0C._OSC.CDW3 */
        CDW3 = Local0
        If ((Arg0 == ToUUID ("68f2d50b-c469-4d8a-bd3d-941a103fd3fc") /* Unknown UUID */))
        {
            CreateDWordField (Arg3, 0x0C, CDW4)
            CreateDWordField (Arg3, 0x10, CDW5)
            SUPC = CDW4 /* \_SB_.PC0C._OSC.CDW4 */
            CTRC = CDW5 /* \_SB_.PC0C._OSC.CDW5 */
            CDW5 |= One
        }
        Return (Arg3)
    }
    Else
    {
        CDW1 |= 0x04
        Return (Arg3)
    }
Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20220429144110.25167-25-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
											
										 
											2022-04-29 15:40:49 +01:00
										 |  |  |                                                   'acpi-pci-hotplug-stub.c', 'acpi-nvdimm-stub.c',
 | 
					
						
							| 
									
										
										
										
											2023-01-12 15:03:01 +01:00
										 |  |  |                                                   'cxl-stub.c', 'pci-bridge-stub.c'))
 | 
					
						
							| 
									
										
										
										
											2023-01-24 13:19:38 +01:00
										 |  |  | softmmu_ss.add(files('acpi-qmp-cmds.c'))
 |