#include <asm/hypercall.h>
static int xen_processor_pmbits;
-static int __init set_xen_processor_pmbits(char *str)
-{
- get_option(&str, &xen_processor_pmbits);
-
- return 1;
-}
-__setup("xen_processor_pmbits=", set_xen_processor_pmbits);
static int xen_cx_notifier(struct acpi_processor *pr, int action)
{
void arch_acpi_processor_init_extcntl(const struct processor_extcntl_ops **ops)
{
+ xen_processor_pmbits = (xen_start_info->flags & SIF_PM_MASK) >> 8;
+
if (xen_processor_pmbits & XEN_PROCESSOR_PM_CX)
xen_extcntl_ops.pm_ops[PM_TYPE_IDLE] = xen_cx_notifier;
if (xen_processor_pmbits & XEN_PROCESSOR_PM_PX)
/* These flags are passed in the 'flags' field of start_info_t. */
#define SIF_PRIVILEGED (1<<0) /* Is the domain privileged? */
#define SIF_INITDOMAIN (1<<1) /* Is this the initial control domain? */
+#define SIF_PM_MASK (0xFF<<8) /* reserve 1 byte for xen-pm options */
typedef struct dom0_vga_console_info {
uint8_t video_type; /* DOM0_VGA_CONSOLE_??? */