xref: /qemu/include/hw/acpi/pc-hotplug.h (revision ddf1ec2ffe30bd6bb34acc020622741eafc16b79)
181cea5e7SIgor Mammedov /*
281cea5e7SIgor Mammedov  * QEMU ACPI hotplug utilities shared defines
381cea5e7SIgor Mammedov  *
47e629d1dSIgor Mammedov  * Copyright (C) 2014 Red Hat Inc
581cea5e7SIgor Mammedov  *
681cea5e7SIgor Mammedov  * Authors:
781cea5e7SIgor Mammedov  *   Igor Mammedov <imammedo@redhat.com>
881cea5e7SIgor Mammedov  *
981cea5e7SIgor Mammedov  * This work is licensed under the terms of the GNU GPL, version 2 or later.
1081cea5e7SIgor Mammedov  * See the COPYING file in the top-level directory.
1181cea5e7SIgor Mammedov  */
127e629d1dSIgor Mammedov #ifndef PC_HOTPLUG_H
137e629d1dSIgor Mammedov #define PC_HOTPLUG_H
1481cea5e7SIgor Mammedov 
1581cea5e7SIgor Mammedov /*
1681cea5e7SIgor Mammedov  * ONLY DEFINEs are permited in this file since it's shared
1781cea5e7SIgor Mammedov  * between C and ASL code.
1881cea5e7SIgor Mammedov  */
1981cea5e7SIgor Mammedov #define ACPI_CPU_HOTPLUG_STATUS 4
201d14ac5aSEduardo Habkost 
211d14ac5aSEduardo Habkost /* Limit for CPU arch IDs for CPU hotplug. All hotpluggable CPUs should
221d14ac5aSEduardo Habkost  * have CPUClass.get_arch_id() < ACPI_CPU_HOTPLUG_ID_LIMIT.
231d14ac5aSEduardo Habkost  */
241d14ac5aSEduardo Habkost #define ACPI_CPU_HOTPLUG_ID_LIMIT 256
251d14ac5aSEduardo Habkost 
261d14ac5aSEduardo Habkost /* 256 CPU IDs, 8 bits per entry: */
2781cea5e7SIgor Mammedov #define ACPI_GPE_PROC_LEN 32
281d14ac5aSEduardo Habkost 
29d6610bc2SIgor Mammedov #define ICH9_CPU_HOTPLUG_IO_BASE 0x0CD8
30e4cf8ed0SIgor Mammedov #define PIIX4_CPU_HOTPLUG_IO_BASE 0xaf00
31*ddf1ec2fSIgor Mammedov #define CPU_HOTPLUG_RESOURCE_DEVICE PRES
3281cea5e7SIgor 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 
5781cea5e7SIgor Mammedov #endif
58