/*
 * QEMU ACPI hotplug utilities shared defines
 *
 * Copyright (C) 2014 Red Hat Inc
 *
 * Authors:
 *   Igor Mammedov <imammedo@redhat.com>
 *
 * This work is licensed under the terms of the GNU GPL, version 2 or later.
 * See the COPYING file in the top-level directory.
 */
#ifndef PC_HOTPLUG_H
#define PC_HOTPLUG_H

/*
 * ONLY DEFINEs are permited in this file since it's shared
 * between C and ASL code.
 */
#define ACPI_CPU_HOTPLUG_STATUS 4

/* Limit for CPU arch IDs for CPU hotplug. All hotpluggable CPUs should
 * have CPUClass.get_arch_id() < ACPI_CPU_HOTPLUG_ID_LIMIT.
 */
#define ACPI_CPU_HOTPLUG_ID_LIMIT 256

/* 256 CPU IDs, 8 bits per entry: */
#define ACPI_GPE_PROC_LEN 32

#define ICH9_CPU_HOTPLUG_IO_BASE 0x0CD8
#define PIIX4_CPU_HOTPLUG_IO_BASE 0xaf00

#define ACPI_MEMORY_HOTPLUG_IO_LEN 24
#define ACPI_MEMORY_HOTPLUG_BASE 0x0a00

#define MEMORY_HOTPLUG_DEVICE        MHPD
#define MEMORY_SLOTS_NUMBER          MDNR
#define MEMORY_HOTPLUG_IO_REGION     HPMR
#define MEMORY_SLOT_ADDR_LOW         MRBL
#define MEMORY_SLOT_ADDR_HIGH        MRBH
#define MEMORY_SLOT_SIZE_LOW         MRLL
#define MEMORY_SLOT_SIZE_HIGH        MRLH
#define MEMORY_SLOT_PROXIMITY        MPX
#define MEMORY_SLOT_ENABLED          MES
#define MEMORY_SLOT_INSERT_EVENT     MINS
#define MEMORY_SLOT_SLECTOR          MSEL
#define MEMORY_SLOT_OST_EVENT        MOEV
#define MEMORY_SLOT_OST_STATUS       MOSC
#define MEMORY_SLOT_LOCK             MLCK
#define MEMORY_SLOT_STATUS_METHOD    MRST
#define MEMORY_SLOT_CRS_METHOD       MCRS
#define MEMORY_SLOT_OST_METHOD       MOST
#define MEMORY_SLOT_PROXIMITY_METHOD MPXM
#define MEMORY_SLOT_NOTIFY_METHOD    MTFY
#define MEMORY_SLOT_SCAN_METHOD      MSCN

#endif
