1 /******************************************************************************
2 * Copyright 1991 Advanced Micro Devices, Inc.
4 * This software is the property of Advanced Micro Devices, Inc (AMD) which
5 * specifically grants the user the right to modify, use and distribute this
6 * software provided this notice is not removed or altered. All other rights
9 * AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
10 * SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
11 * DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
12 * USE OF THIS SOFTWARE.
14 * Comments about this software should be directed to udi@amd.com. If access
15 * to electronic mail isn't available, send mail to:
17 * Advanced Micro Devices, Inc.
18 * 29K Support Products
20 * 5900 E. Ben White Blvd.
22 *****************************************************************************
24 * $Id: @(#)udipt29k.h 2.5, AMD
27 /* This file is to be used to reconfigure the UDI Procedural interface
28 for a given target. This file should be placed so that it will be
29 included from udiproc.h. Everything in here will probably need to
30 be changed when you change the target processor. Nothing in here
31 should need to change when you change hosts or compilers.
34 /* Select a target CPU Family */
35 #define TargetCPUFamily Am29K
37 /* Enumerate the processor specific values for Space in a resource */
38 #define UDI29KDRAMSpace 0
39 #define UDI29KIOSpace 1
40 #define UDI29KCPSpace0 2
41 #define UDI29KCPSpace1 3
42 #define UDI29KIROMSpace 4
43 #define UDI29KIRAMSpace 5
44 #define UDI29KLocalRegs 8
45 #define UDI29KGlobalRegs 9
46 #define UDI29KRealRegs 10
47 #define UDI29KSpecialRegs 11
48 #define UDI29KTLBRegs 12 /* Not Am29005 */
49 #define UDI29KACCRegs 13 /* Am29050 only */
50 #define UDI29KICacheSpace 14 /* Am2903x only */
51 #define UDI29KAm29027Regs 15 /* When available */
53 #define UDI29KDCacheSpace 17 /* When available */
55 /* Enumerate the Co-processor registers */
57 #define UDI29KCP_Flag 8
59 #define UDI29KCP_ITmp 16
62 #define UDI29KCP_RTmp 36
63 #define UDI29KCP_STmp 44
64 #define UDI29KCP_Stat 52
65 #define UDI29KCP_Prec 56
66 #define UDI29KCP_Reg0 60
67 #define UDI29KCP_Reg1 68
68 #define UDI29KCP_Reg2 76
69 #define UDI29KCP_Reg3 84
70 #define UDI29KCP_Reg4 92
71 #define UDI29KCP_Reg5 100
72 #define UDI29KCP_Reg6 108
73 #define UDI29KCP_Reg7 116
74 #define UDI29KCP_Mode 124
76 /* Enumerate the stacks in StackSizes array */
77 #define UDI29KMemoryStack 0
78 #define UDI29KRegisterStack 1
80 /* Enumerate the chips for ChipVersions array */
81 #define UDI29K29KVersion 0
82 #define UDI29K29027Version 1
84 /* Define special value for elements of ChipVersions array for
85 * chips not present */
86 #define UDI29KChipNotPresent -1
88 typedef UDIInt32 UDICount;
89 typedef UDIUInt32 UDISize;
91 typedef UDIInt CPUSpace;
92 typedef UDIUInt32 CPUOffset;
93 typedef UDIUInt32 CPUSizeT;