]> git.proxmox.com Git - mirror_edk2.git/blame - StdLib/Include/Ipf/machine/pal.h
SourceLevelDebugPkg: Removing ipf from edk2.
[mirror_edk2.git] / StdLib / Include / Ipf / machine / pal.h
CommitLineData
2aa62f2b 1/* $NetBSD: pal.h,v 1.1 2006/04/07 14:21:18 cherry Exp $ */\r
2\r
3/*-\r
4 * Copyright (c) 2000 Doug Rabson\r
5 * All rights reserved.\r
6 *\r
7 * Redistribution and use in source and binary forms, with or without\r
8 * modification, are permitted provided that the following conditions\r
9 * are met:\r
10 * 1. Redistributions of source code must retain the above copyright\r
11 * notice, this list of conditions and the following disclaimer.\r
12 * 2. Redistributions in binary form must reproduce the above copyright\r
13 * notice, this list of conditions and the following disclaimer in the\r
14 * documentation and/or other materials provided with the distribution.\r
15 *\r
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\r
17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\r
20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
26 * SUCH DAMAGE.\r
27 *\r
28 * $FreeBSD$\r
29 */\r
30\r
31#ifndef _MACHINE_PAL_H_\r
32#define _MACHINE_PAL_H_\r
33\r
34/*\r
35 * Architected static calling convention procedures.\r
36 */\r
37#define PAL_CACHE_FLUSH 1\r
38#define PAL_CACHE_INFO 2\r
39#define PAL_CACHE_INIT 3\r
40#define PAL_CACHE_SUMMARY 4\r
41#define PAL_MEM_ATTRIB 5\r
42#define PAL_PTCE_INFO 6\r
43#define PAL_VM_INFO 7\r
44#define PAL_VM_SUMMARY 8\r
45#define PAL_BUS_GET_FEATURES 9\r
46#define PAL_BUS_SET_FEATURES 10\r
47#define PAL_DEBUG_INFO 11\r
48#define PAL_FIXED_ADDR 12\r
49#define PAL_FREQ_BASE 13\r
50#define PAL_FREQ_RATIOS 14\r
51#define PAL_PERF_MON_INFO 15\r
52#define PAL_PLATFORM_ADDR 16\r
53#define PAL_PROC_GET_FEATURE 17\r
54#define PAL_PROC_SET_FEATURE 18\r
55#define PAL_RSE_INFO 19\r
56#define PAL_VERSION 20\r
57#define PAL_MC_CLEAR_LOG 21\r
58#define PAL_MC_DRAIN 22\r
59#define PAL_MC_DYNAMIC_STATE 24\r
60#define PAL_MC_ERROR_INFO 25\r
61#define PAL_MC_EXPECTED 23\r
62#define PAL_MC_REGISTER_MEM 27\r
63#define PAL_MC_RESUME 26\r
64#define PAL_HALT 28\r
65#define PAL_HALT_LIGHT 29\r
66#define PAL_COPY_INFO 30\r
67#define PAL_CACHE_LINE_INIT 31\r
68#define PAL_PMI_ENTRYPOINT 32\r
69#define PAL_ENTER_IA_32_ENV 33\r
70#define PAL_VM_PAGE_SIZE 34\r
71#define PAL_MEM_FOR_TEST 37\r
72#define PAL_CACHE_PROT_INFO 38\r
73#define PAL_REGISTER_INFO 39\r
74#define PAL_SHUTDOWN 40\r
75#define PAL_PREFETCH_VISIBILITY 41\r
76\r
77/*\r
78 * Architected stacked calling convention procedures.\r
79 */\r
80#define PAL_COPY_PAL 256\r
81#define PAL_HALT_INFO 257\r
82#define PAL_TEST_PROC 258\r
83#define PAL_CACHE_READ 259\r
84#define PAL_CACHE_WRITE 260\r
85#define PAL_VM_TR_READ 261\r
86\r
87/*\r
88 * Default physical address of the Processor Interrupt Block (PIB).\r
89 * See also: IA-64 SDM, rev 1.1, volume 2, page 5-31.\r
90 */\r
91#define PAL_PIB_DEFAULT_ADDR 0x00000000FEE00000L\r
92\r
93struct ia64_pal_result {\r
94 int64_t pal_status;\r
95 u_int64_t pal_result[3];\r
96};\r
97\r
98extern struct ia64_pal_result\r
99 ia64_call_pal_static(u_int64_t proc, u_int64_t arg1,\r
100 u_int64_t arg2, u_int64_t arg3);\r
101extern struct ia64_pal_result\r
102 ia64_call_pal_static_physical(u_int64_t proc, u_int64_t arg1,\r
103 u_int64_t arg2, u_int64_t arg3);\r
104extern struct ia64_pal_result\r
105 ia64_call_pal_stacked(u_int64_t proc, u_int64_t arg1,\r
106 u_int64_t arg2, u_int64_t arg3);\r
107extern struct ia64_pal_result\r
108 ia64_call_pal_stacked_physical(u_int64_t proc, u_int64_t arg1,\r
109 u_int64_t arg2, u_int64_t arg3);\r
110\r
111#endif /* _MACHINE_PAL_H_ */\r