xref: /openbmc/qemu/include/hw/acpi/pc-hotplug.h (revision ddf1ec2f)
17e629d1dSIgor Mammedov /*
27e629d1dSIgor Mammedov  * QEMU ACPI hotplug utilities shared defines
37e629d1dSIgor Mammedov  *
47e629d1dSIgor Mammedov  * Copyright (C) 2014 Red Hat Inc
57e629d1dSIgor Mammedov  *
67e629d1dSIgor Mammedov  * Authors:
77e629d1dSIgor Mammedov  *   Igor Mammedov <imammedo@redhat.com>
87e629d1dSIgor Mammedov  *
97e629d1dSIgor Mammedov  * This work is licensed under the terms of the GNU GPL, version 2 or later.
107e629d1dSIgor Mammedov  * See the COPYING file in the top-level directory.
117e629d1dSIgor Mammedov  */
127e629d1dSIgor Mammedov #ifndef PC_HOTPLUG_H
137e629d1dSIgor Mammedov #define PC_HOTPLUG_H
147e629d1dSIgor Mammedov 
157e629d1dSIgor Mammedov /*
167e629d1dSIgor Mammedov  * ONLY DEFINEs are permited in this file since it's shared
177e629d1dSIgor Mammedov  * between C and ASL code.
187e629d1dSIgor Mammedov  */
197e629d1dSIgor Mammedov #define ACPI_CPU_HOTPLUG_STATUS 4
207e629d1dSIgor Mammedov 
217e629d1dSIgor Mammedov /* Limit for CPU arch IDs for CPU hotplug. All hotpluggable CPUs should
227e629d1dSIgor Mammedov  * have CPUClass.get_arch_id() < ACPI_CPU_HOTPLUG_ID_LIMIT.
237e629d1dSIgor Mammedov  */
247e629d1dSIgor Mammedov #define ACPI_CPU_HOTPLUG_ID_LIMIT 256
257e629d1dSIgor Mammedov 
267e629d1dSIgor Mammedov /* 256 CPU IDs, 8 bits per entry: */
277e629d1dSIgor Mammedov #define ACPI_GPE_PROC_LEN 32
287e629d1dSIgor Mammedov 
297e629d1dSIgor Mammedov #define ICH9_CPU_HOTPLUG_IO_BASE 0x0CD8
307e629d1dSIgor Mammedov #define PIIX4_CPU_HOTPLUG_IO_BASE 0xaf00
31*ddf1ec2fSIgor Mammedov #define CPU_HOTPLUG_RESOURCE_DEVICE PRES
327e629d1dSIgor Mammedov 
333ef77acaSIgor Mammedov #define ACPI_MEMORY_HOTPLUG_IO_LEN 24
343ef77acaSIgor Mammedov #define ACPI_MEMORY_HOTPLUG_BASE 0x0a00
353ef77acaSIgor Mammedov 
3641d2f713SHu Tao #define MEMORY_HOTPLUG_DEVICE        MHPD
37bef3492dSIgor Mammedov #define MEMORY_SLOTS_NUMBER          MDNR
38bef3492dSIgor Mammedov #define MEMORY_HOTPLUG_IO_REGION     HPMR
39bef3492dSIgor Mammedov #define MEMORY_SLOT_ADDR_LOW         MRBL
40bef3492dSIgor Mammedov #define MEMORY_SLOT_ADDR_HIGH        MRBH
41bef3492dSIgor Mammedov #define MEMORY_SLOT_SIZE_LOW         MRLL
42bef3492dSIgor Mammedov #define MEMORY_SLOT_SIZE_HIGH        MRLH
43bef3492dSIgor Mammedov #define MEMORY_SLOT_PROXIMITY        MPX
44bef3492dSIgor Mammedov #define MEMORY_SLOT_ENABLED          MES
45bef3492dSIgor Mammedov #define MEMORY_SLOT_INSERT_EVENT     MINS
46bef3492dSIgor Mammedov #define MEMORY_SLOT_SLECTOR          MSEL
47bef3492dSIgor Mammedov #define MEMORY_SLOT_OST_EVENT        MOEV
48bef3492dSIgor Mammedov #define MEMORY_SLOT_OST_STATUS       MOSC
49bef3492dSIgor Mammedov #define MEMORY_SLOT_LOCK             MLCK
50bef3492dSIgor Mammedov #define MEMORY_SLOT_STATUS_METHOD    MRST
51bef3492dSIgor Mammedov #define MEMORY_SLOT_CRS_METHOD       MCRS
52bef3492dSIgor Mammedov #define MEMORY_SLOT_OST_METHOD       MOST
53bef3492dSIgor Mammedov #define MEMORY_SLOT_PROXIMITY_METHOD MPXM
54bef3492dSIgor Mammedov #define MEMORY_SLOT_NOTIFY_METHOD    MTFY
55bef3492dSIgor Mammedov #define MEMORY_SLOT_SCAN_METHOD      MSCN
56bef3492dSIgor Mammedov 
577e629d1dSIgor Mammedov #endif
58