acpica_machdep.h revision 254305
1210753Srpaulo/*- 2210753Srpaulo * Copyright (c) 2002 Mitsuru IWASAKI 3210753Srpaulo * All rights reserved. 4210753Srpaulo * 5210753Srpaulo * Redistribution and use in source and binary forms, with or without 6210753Srpaulo * modification, are permitted provided that the following conditions 7210753Srpaulo * are met: 8210753Srpaulo * 1. Redistributions of source code must retain the above copyright 9210753Srpaulo * notice, this list of conditions and the following disclaimer. 10210753Srpaulo * 2. Redistributions in binary form must reproduce the above copyright 11210753Srpaulo * notice, this list of conditions and the following disclaimer in the 12210753Srpaulo * documentation and/or other materials provided with the distribution. 13210753Srpaulo * 14210753Srpaulo * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15210753Srpaulo * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16210753Srpaulo * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17210753Srpaulo * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18210753Srpaulo * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19210753Srpaulo * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20210753Srpaulo * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21210753Srpaulo * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22210753Srpaulo * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23210753Srpaulo * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24210753Srpaulo * SUCH DAMAGE. 25210753Srpaulo * 26210753Srpaulo * $FreeBSD: head/sys/x86/include/acpica_machdep.h 254305 2013-08-13 22:05:10Z jkim $ 27210753Srpaulo */ 28210753Srpaulo 29210753Srpaulo/****************************************************************************** 30210753Srpaulo * 31210753Srpaulo * Name: acpica_machdep.h - arch-specific defines, etc. 32210753Srpaulo * $Revision$ 33210753Srpaulo * 34210753Srpaulo *****************************************************************************/ 35210753Srpaulo 36210753Srpaulo#ifndef __ACPICA_MACHDEP_H__ 37210753Srpaulo#define __ACPICA_MACHDEP_H__ 38210753Srpaulo 39210753Srpaulo#ifdef _KERNEL 40210753Srpaulo/* 41210753Srpaulo * Calling conventions: 42210753Srpaulo * 43210753Srpaulo * ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads) 44210753Srpaulo * ACPI_EXTERNAL_XFACE - External ACPI interfaces 45210753Srpaulo * ACPI_INTERNAL_XFACE - Internal ACPI interfaces 46210753Srpaulo * ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces 47210753Srpaulo */ 48210753Srpaulo#define ACPI_SYSTEM_XFACE 49210753Srpaulo#define ACPI_EXTERNAL_XFACE 50210753Srpaulo#define ACPI_INTERNAL_XFACE 51210753Srpaulo#define ACPI_INTERNAL_VAR_XFACE 52210753Srpaulo 53210753Srpaulo/* Asm macros */ 54210753Srpaulo 55210753Srpaulo#define ACPI_ASM_MACROS 56210753Srpaulo#define BREAKPOINT3 57210753Srpaulo#define ACPI_DISABLE_IRQS() disable_intr() 58210753Srpaulo#define ACPI_ENABLE_IRQS() enable_intr() 59210753Srpaulo 60210753Srpaulo#define ACPI_FLUSH_CPU_CACHE() wbinvd() 61210753Srpaulo 62210753Srpaulo/* Section 5.2.10.1: global lock acquire/release functions */ 63210753Srpauloint acpi_acquire_global_lock(volatile uint32_t *); 64210753Srpauloint acpi_release_global_lock(volatile uint32_t *); 65210753Srpaulo#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) do { \ 66210753Srpaulo (Acq) = acpi_acquire_global_lock(&((GLptr)->GlobalLock)); \ 67210753Srpaulo} while (0) 68210753Srpaulo#define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Acq) do { \ 69210753Srpaulo (Acq) = acpi_release_global_lock(&((GLptr)->GlobalLock)); \ 70210753Srpaulo} while (0) 71210753Srpaulo 72210753Srpaulovoid acpi_SetDefaultIntrModel(int model); 73210753Srpaulovoid acpi_cpu_c1(void); 74210753Srpaulovoid *acpi_map_table(vm_paddr_t pa, const char *sig); 75210753Srpaulovoid acpi_unmap_table(void *table); 76210753Srpaulovm_paddr_t acpi_find_table(const char *sig); 77210753Srpaulo 78210753Srpaulo#endif /* _KERNEL */ 79210753Srpaulo 80210753Srpaulo#endif /* __ACPICA_MACHDEP_H__ */ 81210753Srpaulo