acpica_machdep.h revision 197439
1104862Sru/*- 2104862Sru * Copyright (c) 2002 Mitsuru IWASAKI 3104862Sru * All rights reserved. 4104862Sru * 5104862Sru * Redistribution and use in source and binary forms, with or without 6104862Sru * modification, are permitted provided that the following conditions 7104862Sru * are met: 8104862Sru * 1. Redistributions of source code must retain the above copyright 9104862Sru * notice, this list of conditions and the following disclaimer. 10104862Sru * 2. Redistributions in binary form must reproduce the above copyright 11104862Sru * notice, this list of conditions and the following disclaimer in the 12104862Sru * documentation and/or other materials provided with the distribution. 13104862Sru * 14104862Sru * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15104862Sru * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16104862Sru * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17104862Sru * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18104862Sru * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19104862Sru * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20104862Sru * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21104862Sru * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22104862Sru * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23104862Sru * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24104862Sru * SUCH DAMAGE. 25104862Sru * 26104862Sru * $FreeBSD: head/sys/amd64/include/acpica_machdep.h 197439 2009-09-23 15:42:35Z jhb $ 27104862Sru */ 28104862Sru 29104862Sru/****************************************************************************** 30104862Sru * 31104862Sru * Name: acpica_machdep.h - arch-specific defines, etc. 32104862Sru * $Revision$ 33114402Sru * 34104862Sru *****************************************************************************/ 35104862Sru 36104862Sru#ifndef __ACPICA_MACHDEP_H__ 37114402Sru#define __ACPICA_MACHDEP_H__ 38104862Sru 39104862Sru#ifdef _KERNEL 40104862Sru/* 41104862Sru * Calling conventions: 42104862Sru * 43104862Sru * ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads) 44104862Sru * ACPI_EXTERNAL_XFACE - External ACPI interfaces 45104862Sru * ACPI_INTERNAL_XFACE - Internal ACPI interfaces 46104862Sru * ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces 47104862Sru */ 48104862Sru#define ACPI_SYSTEM_XFACE 49104862Sru#define ACPI_EXTERNAL_XFACE 50104862Sru#define ACPI_INTERNAL_XFACE 51104862Sru#define ACPI_INTERNAL_VAR_XFACE 52104862Sru 53114402Sru/* Asm macros */ 54104862Sru 55114402Sru#define ACPI_ASM_MACROS 56104862Sru#define BREAKPOINT3 57114402Sru#define ACPI_DISABLE_IRQS() disable_intr() 58114402Sru#define ACPI_ENABLE_IRQS() enable_intr() 59114402Sru 60104862Sru#define ACPI_FLUSH_CPU_CACHE() wbinvd() 61104862Sru 62104862Sru/* Section 5.2.9.1: global lock acquire/release functions */ 63104862Sruextern int acpi_acquire_global_lock(uint32_t *lock); 64104862Sruextern int acpi_release_global_lock(uint32_t *lock); 65104862Sru#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) do { \ 66104862Sru (Acq) = acpi_acquire_global_lock(&((GLptr)->GlobalLock)); \ 67104862Sru} while (0) 68114402Sru#define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Acq) do { \ 69104862Sru (Acq) = acpi_release_global_lock(&((GLptr)->GlobalLock)); \ 70104862Sru} while (0) 71104862Sru 72104862Sru#endif /* _KERNEL */ 73104862Sru 74104862Sru#define ACPI_MACHINE_WIDTH 64 75104862Sru#define COMPILER_DEPENDENT_INT64 long 76104862Sru#define COMPILER_DEPENDENT_UINT64 unsigned long 77104862Sru 78114402Sruvoid acpi_SetDefaultIntrModel(int model); 79114402Sruvoid acpi_cpu_c1(void); 80104862Sruvoid *acpi_map_table(vm_paddr_t pa, const char *sig); 81114402Sruvoid acpi_unmap_table(void *table); 82104862Sruvm_paddr_t acpi_find_table(const char *sig); 83104862Sru 84104862Sru#endif /* __ACPICA_MACHDEP_H__ */ 85114402Sru