xref: /netbsd-src/sys/external/bsd/acpica/dist/include/platform/acintel.h (revision 046a29855e04359424fd074e8313af6b6be8cfb6)
128c506b8Sjruoho /******************************************************************************
228c506b8Sjruoho  *
328c506b8Sjruoho  * Name: acintel.h - VC specific defines, etc.
428c506b8Sjruoho  *
528c506b8Sjruoho  *****************************************************************************/
628c506b8Sjruoho 
7124f4c82Sjruoho /*
8*046a2985Schristos  * Copyright (C) 2000 - 2023, Intel Corp.
928c506b8Sjruoho  * All rights reserved.
1028c506b8Sjruoho  *
11124f4c82Sjruoho  * Redistribution and use in source and binary forms, with or without
12124f4c82Sjruoho  * modification, are permitted provided that the following conditions
13124f4c82Sjruoho  * are met:
14124f4c82Sjruoho  * 1. Redistributions of source code must retain the above copyright
15124f4c82Sjruoho  *    notice, this list of conditions, and the following disclaimer,
16124f4c82Sjruoho  *    without modification.
17124f4c82Sjruoho  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18124f4c82Sjruoho  *    substantially similar to the "NO WARRANTY" disclaimer below
19124f4c82Sjruoho  *    ("Disclaimer") and any redistribution must be conditioned upon
20124f4c82Sjruoho  *    including a substantially similar Disclaimer requirement for further
21124f4c82Sjruoho  *    binary redistribution.
22124f4c82Sjruoho  * 3. Neither the names of the above-listed copyright holders nor the names
23124f4c82Sjruoho  *    of any contributors may be used to endorse or promote products derived
24124f4c82Sjruoho  *    from this software without specific prior written permission.
2528c506b8Sjruoho  *
26124f4c82Sjruoho  * Alternatively, this software may be distributed under the terms of the
27124f4c82Sjruoho  * GNU General Public License ("GPL") version 2 as published by the Free
28124f4c82Sjruoho  * Software Foundation.
2928c506b8Sjruoho  *
30124f4c82Sjruoho  * NO WARRANTY
31124f4c82Sjruoho  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32124f4c82Sjruoho  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
3346a330b4Schristos  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
34124f4c82Sjruoho  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35124f4c82Sjruoho  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36124f4c82Sjruoho  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37124f4c82Sjruoho  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38124f4c82Sjruoho  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39124f4c82Sjruoho  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40124f4c82Sjruoho  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41124f4c82Sjruoho  * POSSIBILITY OF SUCH DAMAGES.
42124f4c82Sjruoho  */
4328c506b8Sjruoho 
4428c506b8Sjruoho #ifndef __ACINTEL_H__
4528c506b8Sjruoho #define __ACINTEL_H__
4628c506b8Sjruoho 
47d0e1da26Schristos /*
48d0e1da26Schristos  * Use compiler specific <stdarg.h> is a good practice for even when
49d0e1da26Schristos  * -nostdinc is specified (i.e., ACPI_USE_STANDARD_HEADERS undefined.
50d0e1da26Schristos  */
5189b8eb6cSchristos #ifndef va_arg
52d0e1da26Schristos #include <stdarg.h>
5389b8eb6cSchristos #endif
54d0e1da26Schristos 
55124f4c82Sjruoho /* Configuration specific to Intel 64-bit C compiler */
5628c506b8Sjruoho 
5728c506b8Sjruoho #define COMPILER_DEPENDENT_INT64    __int64
5828c506b8Sjruoho #define COMPILER_DEPENDENT_UINT64   unsigned __int64
59124f4c82Sjruoho #define ACPI_INLINE                 __inline
6028c506b8Sjruoho 
6128c506b8Sjruoho /*
6228c506b8Sjruoho  * Calling conventions:
6328c506b8Sjruoho  *
6428c506b8Sjruoho  * ACPI_SYSTEM_XFACE        - Interfaces to host OS (handlers, threads)
6528c506b8Sjruoho  * ACPI_EXTERNAL_XFACE      - External ACPI interfaces
6628c506b8Sjruoho  * ACPI_INTERNAL_XFACE      - Internal ACPI interfaces
6728c506b8Sjruoho  * ACPI_INTERNAL_VAR_XFACE  - Internal variable-parameter list interfaces
6828c506b8Sjruoho  */
6928c506b8Sjruoho #define ACPI_SYSTEM_XFACE
7028c506b8Sjruoho #define ACPI_EXTERNAL_XFACE
7128c506b8Sjruoho #define ACPI_INTERNAL_XFACE
7228c506b8Sjruoho #define ACPI_INTERNAL_VAR_XFACE
7328c506b8Sjruoho 
7428c506b8Sjruoho /* remark 981 - operands evaluated in no particular order */
7528c506b8Sjruoho #pragma warning(disable:981)
7628c506b8Sjruoho 
7728c506b8Sjruoho /* warn C4100: unreferenced formal parameter */
7828c506b8Sjruoho #pragma warning(disable:4100)
7928c506b8Sjruoho 
8028c506b8Sjruoho /* warn C4127: conditional expression is constant */
8128c506b8Sjruoho #pragma warning(disable:4127)
8228c506b8Sjruoho 
8328c506b8Sjruoho /* warn C4706: assignment within conditional expression */
8428c506b8Sjruoho #pragma warning(disable:4706)
8528c506b8Sjruoho 
8628c506b8Sjruoho /* warn C4214: bit field types other than int */
8728c506b8Sjruoho #pragma warning(disable:4214)
8828c506b8Sjruoho 
8928c506b8Sjruoho 
9028c506b8Sjruoho #endif /* __ACINTEL_H__ */
91