Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / legion / src / simcore / main.c
/*
* ========== Copyright Header Begin ==========================================
*
* OpenSPARC T2 Processor File: main.c
* Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
*
* The above named program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License version 2 as published by the Free Software Foundation.
*
* The above named program is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this work; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
*
* ========== Copyright Header End ============================================
*/
/*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "@(#)main.c 1.16 06/09/24 SMI"
#include <stdio.h>
#include <stdlib.h>
#include "basics.h"
#include "options.h"
#include "parser.h"
extern void init_simstatus(void);
extern void init_config(void);
extern void init_threads(void);
extern void init_signals(void);
extern void init_target_config(void);
extern void simcore_start(void);
extern void interface_wait(void);
int
main(int argc, char ** argv)
{
init_signals();
init_simstatus();
init_target_config();
(void) process_opts(argc, argv);
banner_print();
consolidate();
LOG_INIT();
if (options.config_filep != (char *)0)
parse_config_file();
init_config();
init_threads();
/*
* Simulator configured by this point
* simulation can proceed from here on.
*/
if (options.flag_auto_start)
simcore_start();
interface_wait();
return (0); /* compiler joy */
}