~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/xen/acpi.h

Version: ~ [ linux-5.3 ] ~ [ linux-5.2.15 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.73 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.144 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.193 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.193 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.73 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-3.9.11 ] ~ [ linux-3.8.13 ] ~ [ linux-3.7.10 ] ~ [ linux-3.6.11 ] ~ [ linux-3.5.7 ] ~ [ linux-3.4.113 ] ~ [ linux-3.3.8 ] ~ [ linux-3.2.102 ] ~ [ linux-3.1.10 ] ~ [ linux-3.0.101 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /******************************************************************************
  2  * acpi.h
  3  * acpi file for domain 0 kernel
  4  *
  5  * Copyright (c) 2011 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  6  * Copyright (c) 2011 Yu Ke <ke.yu@intel.com>
  7  *
  8  * This program is free software; you can redistribute it and/or
  9  * modify it under the terms of the GNU General Public License version 2
 10  * as published by the Free Software Foundation; or, when distributed
 11  * separately from the Linux kernel or incorporated into other
 12  * software packages, subject to the following license:
 13  *
 14  * Permission is hereby granted, free of charge, to any person obtaining a copy
 15  * of this source file (the "Software"), to deal in the Software without
 16  * restriction, including without limitation the rights to use, copy, modify,
 17  * merge, publish, distribute, sublicense, and/or sell copies of the Software,
 18  * and to permit persons to whom the Software is furnished to do so, subject to
 19  * the following conditions:
 20  *
 21  * The above copyright notice and this permission notice shall be included in
 22  * all copies or substantial portions of the Software.
 23  *
 24  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 25  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 26  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 27  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 28  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 29  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 30  * IN THE SOFTWARE.
 31  */
 32 
 33 #ifndef _XEN_ACPI_H
 34 #define _XEN_ACPI_H
 35 
 36 #include <linux/types.h>
 37 
 38 #ifdef CONFIG_XEN_DOM0
 39 #include <asm/xen/hypervisor.h>
 40 #include <xen/xen.h>
 41 #include <linux/acpi.h>
 42 
 43 #define ACPI_MEMORY_DEVICE_CLASS        "memory"
 44 #define ACPI_MEMORY_DEVICE_HID          "PNP0C80"
 45 #define ACPI_MEMORY_DEVICE_NAME         "Hotplug Mem Device"
 46 
 47 int xen_stub_memory_device_init(void);
 48 void xen_stub_memory_device_exit(void);
 49 
 50 #define ACPI_PROCESSOR_CLASS            "processor"
 51 #define ACPI_PROCESSOR_DEVICE_HID       "ACPI0007"
 52 #define ACPI_PROCESSOR_DEVICE_NAME      "Processor"
 53 
 54 int xen_stub_processor_init(void);
 55 void xen_stub_processor_exit(void);
 56 
 57 void xen_pcpu_hotplug_sync(void);
 58 int xen_pcpu_id(uint32_t acpi_id);
 59 
 60 static inline int xen_acpi_get_pxm(acpi_handle h)
 61 {
 62         unsigned long long pxm;
 63         acpi_status status;
 64         acpi_handle handle;
 65         acpi_handle phandle = h;
 66 
 67         do {
 68                 handle = phandle;
 69                 status = acpi_evaluate_integer(handle, "_PXM", NULL, &pxm);
 70                 if (ACPI_SUCCESS(status))
 71                         return pxm;
 72                 status = acpi_get_parent(handle, &phandle);
 73         } while (ACPI_SUCCESS(status));
 74 
 75         return -ENXIO;
 76 }
 77 
 78 int xen_acpi_notify_hypervisor_sleep(u8 sleep_state,
 79                                      u32 pm1a_cnt, u32 pm1b_cnd);
 80 int xen_acpi_notify_hypervisor_extended_sleep(u8 sleep_state,
 81                                      u32 val_a, u32 val_b);
 82 
 83 static inline int xen_acpi_suspend_lowlevel(void)
 84 {
 85         /*
 86         * Xen will save and restore CPU context, so
 87         * we can skip that and just go straight to
 88         * the suspend.
 89         */
 90         acpi_enter_sleep_state(ACPI_STATE_S3);
 91         return 0;
 92 }
 93 
 94 static inline void xen_acpi_sleep_register(void)
 95 {
 96         if (xen_initial_domain()) {
 97                 acpi_os_set_prepare_sleep(
 98                         &xen_acpi_notify_hypervisor_sleep);
 99                 acpi_os_set_prepare_extended_sleep(
100                         &xen_acpi_notify_hypervisor_extended_sleep);
101 
102                 acpi_suspend_lowlevel = xen_acpi_suspend_lowlevel;
103         }
104 }
105 #else
106 static inline void xen_acpi_sleep_register(void)
107 {
108 }
109 #endif
110 
111 #endif  /* _XEN_ACPI_H */
112 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp