Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / obp / obp / arch / sun4v / ds-h.fth
CommitLineData
920dae64
AT
1\ ========== Copyright Header Begin ==========================================
2\
3\ Hypervisor Software File: ds-h.fth
4\
5\ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
6\
7\ - Do no alter or remove copyright notices
8\
9\ - Redistribution and use of this software in source and binary forms, with
10\ or without modification, are permitted provided that the following
11\ conditions are met:
12\
13\ - Redistribution of source code must retain the above copyright notice,
14\ this list of conditions and the following disclaimer.
15\
16\ - Redistribution in binary form must reproduce the above copyright notice,
17\ this list of conditions and the following disclaimer in the
18\ documentation and/or other materials provided with the distribution.
19\
20\ Neither the name of Sun Microsystems, Inc. or the names of contributors
21\ may be used to endorse or promote products derived from this software
22\ without specific prior written permission.
23\
24\ This software is provided "AS IS," without a warranty of any kind.
25\ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
26\ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
27\ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
28\ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
29\ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
30\ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
31\ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
32\ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
33\ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
34\ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
35\ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
36\
37\ You acknowledge that this software is not designed, licensed or
38\ intended for use in the design, construction, operation or maintenance of
39\ any nuclear facility.
40\
41\ ========== Copyright Header End ============================================
42id: @(#)ds-h.fth 1.2 07/02/12
43purpose:
44copyright: Copyright 2007 Sun Microsystems, Inc. All Rights Reserved
45copyright: Use is subject to license terms.
46
47\ FWARC 2006/055
48
49headerless
50
511 value ds-major \ these should probably be words backed by
520 value ds-minor \ buffer: (vectors)
53
540 value svc-handle
55
560 value ds-debug?
57
58\ message header
59struct
60 /l field >msg-type
61 /l field >payload-len
62constant /ds-hdr
63
64\ Openboot is not always able to dynamically allocate packets to match the
65\ data being transmitted. (For example if Solaris has taken control), so we
66\ allocate a large buffer
67
68h# 2000 dup /ds-hdr + buffer: ds-pkt-buffer
69constant MAX-DS-PAYLOAD
70
71: >payload ( pkt -- payload-start ) /ds-hdr + ;
72: payload>pkt ( payload-start -- pkt ) /ds-hdr - ;
73: payload-len@ ( size pkt -- ) >payload-len l@ ;
74: payload-len! ( size pkt -- ) >payload-len l! ;
75: msg-type@ ( type pkt -- ) >msg-type l@ ;
76: msg-type! ( type pkt -- ) >msg-type l! ;
77: pkt-size@ ( pkt -- pkt-size ) >payload-len l@ /ds-hdr + ;
78
79\ Initiate Connection request
80struct
81 /w field >init-major-ver
82 /w field >init-minor-ver
83constant /ds-init-req
84
85\ Initition Acknowlegment
86struct
87 /w field >init-ack-minor-vers
88constant /ds-init-ack
89
90\ Initiation Negative Acknowledgment
91struct
92 /w field >init-nack-major-vers
93constant /ds-init-nack
94
95\ Register Service payload
96struct
97 /x field >reg-svc-handle
98 /w field >reg-major-ver
99 /w field >reg-minor-ver
100 0 field >reg-svc-id \ actually a variable string with max len 1024
101constant /ds-reg-req
102
103\ Regiser Acknowledgment
104struct
105 /x field >regack-svc-handle
106 /w field >regack-minor-vers
107constant /ds-reg-ack
108
109\ Register Negative Acknowledgment
110struct
111 /x field >regnack-svc-handle
112 /x field >regnack-status
113 /w field >regnack-major-vers
114constant /ds-reg-nack
115
116\ Unregister request
117struct
118 /x field >unreg-svc-handle
119constant /ds-unreg-req
120
121\ Data packet
122struct
123 /x field >data-svc-handle
124constant /ds-data
125
126\ Data Error
127struct
128 /x field >dsnack-svc-handle
129 /x field >dsnack-status
130constant /ds-nack
131
132\ dsnack-status values
1331 constant DS-INV-HDL
1342 constant DS-TYPE-UNKOWN
135
136\ message types
1370 constant DS-INIT-REQ
1381 constant DS-INIT-ACK
1392 constant DS-INIT-NACK
1403 constant DS-REG-REQ
1414 constant DS-REG-ACK
1425 constant DS-REG-NACK
1436 constant DS-UNREG
1447 constant DS-UNREG-ACK
1458 constant DS-UNREG-NACK
1469 constant DS-DATA
147
1480 constant DS-CLOSED
1491 constant DS-OPEN
1502 constant DS-ERROR
151
152DS-CLOSED value domain-service-state