Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / legion / src / simcore / main.c
CommitLineData
920dae64
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: main.c
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 2006 Sun Microsystems, Inc. All rights reserved.
25 * Use is subject to license terms.
26 */
27#pragma ident "@(#)main.c 1.16 06/09/24 SMI"
28
29#include <stdio.h>
30#include <stdlib.h>
31#include "basics.h"
32#include "options.h"
33#include "parser.h"
34
35extern void init_simstatus(void);
36extern void init_config(void);
37extern void init_threads(void);
38extern void init_signals(void);
39extern void init_target_config(void);
40extern void simcore_start(void);
41extern void interface_wait(void);
42
43
44
45int
46main(int argc, char ** argv)
47{
48
49 init_signals();
50
51 init_simstatus();
52
53 init_target_config();
54
55 (void) process_opts(argc, argv);
56
57 banner_print();
58
59 consolidate();
60
61 LOG_INIT();
62
63 if (options.config_filep != (char *)0)
64 parse_config_file();
65
66 init_config();
67 init_threads();
68
69 /*
70 * Simulator configured by this point
71 * simulation can proceed from here on.
72 */
73
74 if (options.flag_auto_start)
75 simcore_start();
76
77 interface_wait();
78
79 return (0); /* compiler joy */
80}