Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / sam / system / blaze / include / system_impl.h
CommitLineData
920dae64
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: system_impl.h
5* Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
6* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
7*
8* The above named program is free software; you can redistribute it and/or
9* modify it under the terms of the GNU General Public
10* License version 2 as published by the Free Software Foundation.
11*
12* The above named program is distributed in the hope that it will be
13* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15* General Public License for more details.
16*
17* You should have received a copy of the GNU General Public
18* License along with this work; if not, write to the Free Software
19* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
20*
21* ========== Copyright Header End ============================================
22*/
23/*
24 * Copyright (C) 2001, Sun Microsystems, Inc.
25 * All rights reserved.
26 */
27#ifndef _SYSTEM_IMPL_H
28#define _SYSTEM_IMPL_H
29
30#pragma ident "@(#)1.14 06/05/12 system_impl.h"
31
32
33typedef struct ss_entry_t
34{
35 ss_action stop_action;
36 ss_action start_action;
37 void * client_data;
38 struct ss_entry_t *next;
39
40} SS_entry;
41
42typedef uint32_t (*scsi_get_32) ();
43
44typedef struct system_t
45{
46 SS_entry *ss_head;
47
48 bool_t ready_to_go;
49 scsi_get_32 fn_diskdelay, fn_diskwrdelay;
50 volatile bool_t mp_sync_mode;
51 mutex_t mp_sync_lock;
52 cond_t mp_sync_cond;
53 bool_t mp_sync_th_up;
54
55} SystemT;
56
57struct cpu_thr_arg {
58 int cpu_indx;
59 int cpu_num;
60};
61
62struct cmp_thr_arg {
63 int core_id;
64 int64_t ninsts; // 0 for indefinite; non-zero for step
65};
66
67
68
69
70void SYSTEM_preinit ();
71void start_mp_sync_threads ();
72
73#endif /* _SYSTEM_IMPL_H */
74
75
76