summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/build_winkle_images/proc_slw_build/p8_pore_api_const.h
blob: 43a2a3e5c614d1f8c0b9fdcda0a87b11b7146cff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/*  IBM_PROLOG_BEGIN_TAG
 *  This is an automatically generated prolog.
 *
 *  $Source: src/usr/hwpf/hwp/build_winkle_images/proc_slw_build/p8_pore_api_const.h $
 *
 *  IBM CONFIDENTIAL
 *
 *  COPYRIGHT International Business Machines Corp. 2012
 *
 *  p1
 *
 *  Object Code Only (OCO) source materials
 *  Licensed Internal Code Source Materials
 *  IBM HostBoot Licensed Internal Code
 *
 *  The source code for this program is not published or other-
 *  wise divested of its trade secrets, irrespective of what has
 *  been deposited with the U.S. Copyright Office.
 *
 *  Origin: 30
 *
 *  IBM_PROLOG_END_TAG
 */
/* $Id: p8_pore_api_const.h,v 1.1 2011/08/25 12:32:33 yjkim Exp $ */
/* $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/utils/p8_pore_api_const.h,v $ */

/**
  * Contains any constants uses as inputs or outputs to the p7p_pore functions
  */


/****************************/
/*****  SCOM Operators  *****/
/****************************/
#define P8_PORE_SCOM_APPEND  0  /* add scom instructions to the end of the existing image */
#define P8_PORE_SCOM_REPLACE 1  /* replace existing instructions with new data */
#define P8_PORE_SCOM_OR      2  /* overlay scom data onto existing instruction by bitwise OR */
#define P8_PORE_SCOM_AND     3  /* overlay scom data onto existing instruction by bitwise AND */
#define P8_PORE_SCOM_NOOP    4  /* replace existing instructions with NOP */
#define P8_PORE_SCOM_LAST_OP 4  /* keep track of the last op for checking correctness of op input */


/***************************/
/*****  CPU Registers  *****/
/***************************/
#define P8_PORE_HSPRG0  304
#define P8_PORE_HRMOR   313
#define P8_PORE_LPCR    318
#define P8_PORE_HMEER   337
#define P8_PORE_HID0   1008
#define P8_PORE_HID1   1009
#define P8_PORE_HID4   1012
#define P8_PORE_HID5   1014
#define P8_PORE_MSR    2000


/****************************/
/*****  Branch Types    *****/
/****************************/
#define P8_PORE_BRA_REL  0  /* generate relative branch instruction */
#define P8_PORE_BRA_SUB  1  /* generate branch to subroutine instruction */


/**************************/
/*****  Return Codes  *****/
/**************************/
#define P8_PORE_SUCCESS_RC          0x00000000  /* Success, no errors */
#define P8_PORE_IMAGE_TOO_BIG_RC    0x00000001  /* size of PORE image exceeded allowed space */
#define P8_PORE_BAD_ARG_RC          0x00000002  /* some input argument is nonsensical */
#define P8_PORE_NO_ADDR_FOUND_RC    0x00000003  /* address to overlay not found */
#define P8_PORE_MULT_ADDR_FOUND_RC  0x00000004  /* address to replace/overlay found multiple times */
#define P8_PORE_MULT_SPR_FOUND_RC   0x00000005  /* spr to add/replace found multiple times*/
#define P8_PORE_BAD_RING_ADDR_RC    0x00000006  /* don't recognize the ring addr*/


/* may need to include errors for 128byte_bound check and cpureg_status check */
/*...etc...*/

/*
*************** Do not edit this area ***************
This section is automatically updated by CVS when you check in this file.
Be sure to create CVS comments when you commit so that they can be included here.

$Log: p8_pore_api_const.h,v $
Revision 1.1  2011/08/25 12:32:33  yjkim
initial checkin

Revision 1.7  2010/11/03 19:13:16  schwartz
Added code to gen_cpureg to handle changes to MSR

Revision 1.6  2010/08/30 23:27:16  schwartz
Added TRACE statements to include specified number of arguments
Defined branch type constants
Added constant for last scom op used to check if operation input to gen_scan is valid
Added mult spr error constant
Added p7p_pore_gen_wait API
Changed additional C++ style comments to C style
Initialized all variables to 0
Removed FTRACE statements
Added additional information to trace statements
Updated gen_scom to use the defined operation constants
Updated branch gen_relbranch to use defined branch type constants
Added rc check for calls to p7p_pore_gen_cpureg_status and p7p_pore_span_128byte_boundary subroutines

Revision 1.5  2010/08/26 15:13:34  schwartz
Fixed more C++ style comments to C style comments

Revision 1.4  2010/08/26 03:57:02  schwartz
Changed comments to C-style
Changed "" to <> for #includes
Moved RINGINFO struct and RINGINDEX constant into separate object file, includes created static_data.h file
Put p7p_pore in front of #defines
Removed ring length from ringInfoStruct
Renamed scom operators to have SCOM in the name
Fixed gen_scan to use SCANRD and SCANWR pore instructions
Fixed compiler warnings

Revision 1.3  2010/06/23 23:07:40  schwartz
Updated define statements for SPRs, constant values are actual SPR values from Book IV

Revision 1.2  2010/05/24 02:33:14  schwartz
Fixed errors that appear when using -Werrors flag
Added in cvs logging (hopefully)


*/

OpenPOWER on IntegriCloud