Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at c9a28fa7b9ac19b676deefa0a171ce7df8755c08 134 lines 4.1 kB view raw
1/* 2 * asm-ia64/acpi.h 3 * 4 * Copyright (C) 1999 VA Linux Systems 5 * Copyright (C) 1999 Walt Drummond <drummond@valinux.com> 6 * Copyright (C) 2000,2001 J.I. Lee <jung-ik.lee@intel.com> 7 * Copyright (C) 2001,2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> 8 * 9 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10 * 11 * This program is free software; you can redistribute it and/or modify 12 * it under the terms of the GNU General Public License as published by 13 * the Free Software Foundation; either version 2 of the License, or 14 * (at your option) any later version. 15 * 16 * This program is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * You should have received a copy of the GNU General Public License 22 * along with this program; if not, write to the Free Software 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24 * 25 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 26 */ 27 28#ifndef _ASM_ACPI_H 29#define _ASM_ACPI_H 30 31#ifdef __KERNEL__ 32 33#include <acpi/pdc_intel.h> 34 35#include <linux/init.h> 36#include <linux/numa.h> 37#include <asm/system.h> 38 39#define COMPILER_DEPENDENT_INT64 long 40#define COMPILER_DEPENDENT_UINT64 unsigned long 41 42/* 43 * Calling conventions: 44 * 45 * ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads) 46 * ACPI_EXTERNAL_XFACE - External ACPI interfaces 47 * ACPI_INTERNAL_XFACE - Internal ACPI interfaces 48 * ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces 49 */ 50#define ACPI_SYSTEM_XFACE 51#define ACPI_EXTERNAL_XFACE 52#define ACPI_INTERNAL_XFACE 53#define ACPI_INTERNAL_VAR_XFACE 54 55/* Asm macros */ 56 57#define ACPI_ASM_MACROS 58#define BREAKPOINT3 59#define ACPI_DISABLE_IRQS() local_irq_disable() 60#define ACPI_ENABLE_IRQS() local_irq_enable() 61#define ACPI_FLUSH_CPU_CACHE() 62 63static inline int 64ia64_acpi_acquire_global_lock (unsigned int *lock) 65{ 66 unsigned int old, new, val; 67 do { 68 old = *lock; 69 new = (((old & ~0x3) + 2) + ((old >> 1) & 0x1)); 70 val = ia64_cmpxchg4_acq(lock, new, old); 71 } while (unlikely (val != old)); 72 return (new < 3) ? -1 : 0; 73} 74 75static inline int 76ia64_acpi_release_global_lock (unsigned int *lock) 77{ 78 unsigned int old, new, val; 79 do { 80 old = *lock; 81 new = old & ~0x3; 82 val = ia64_cmpxchg4_acq(lock, new, old); 83 } while (unlikely (val != old)); 84 return old & 0x1; 85} 86 87#define ACPI_ACQUIRE_GLOBAL_LOCK(facs, Acq) \ 88 ((Acq) = ia64_acpi_acquire_global_lock(&facs->global_lock)) 89 90#define ACPI_RELEASE_GLOBAL_LOCK(facs, Acq) \ 91 ((Acq) = ia64_acpi_release_global_lock(&facs->global_lock)) 92 93#define acpi_disabled 0 /* ACPI always enabled on IA64 */ 94#define acpi_noirq 0 /* ACPI always enabled on IA64 */ 95#define acpi_pci_disabled 0 /* ACPI PCI always enabled on IA64 */ 96#define acpi_strict 1 /* no ACPI spec workarounds on IA64 */ 97#define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */ 98static inline void disable_acpi(void) { } 99 100const char *acpi_get_sysname (void); 101int acpi_request_vector (u32 int_type); 102int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); 103 104/* routines for saving/restoring kernel state */ 105extern int acpi_save_state_mem(void); 106extern void acpi_restore_state_mem(void); 107extern unsigned long acpi_wakeup_address; 108 109/* 110 * Record the cpei override flag and current logical cpu. This is 111 * useful for CPU removal. 112 */ 113extern unsigned int can_cpei_retarget(void); 114extern unsigned int is_cpu_cpei_target(unsigned int cpu); 115extern void set_cpei_target_cpu(unsigned int cpu); 116extern unsigned int get_cpei_target_cpu(void); 117extern void prefill_possible_map(void); 118extern int additional_cpus; 119 120#ifdef CONFIG_ACPI_NUMA 121#if MAX_NUMNODES > 256 122#define MAX_PXM_DOMAINS MAX_NUMNODES 123#else 124#define MAX_PXM_DOMAINS (256) 125#endif 126extern int __devinitdata pxm_to_nid_map[MAX_PXM_DOMAINS]; 127extern int __initdata nid_to_pxm_map[MAX_NUMNODES]; 128#endif 129 130#define acpi_unlazy_tlb(x) 131 132#endif /*__KERNEL__*/ 133 134#endif /*_ASM_ACPI_H*/